diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 8af956dbaa..02213d3363 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -170,7 +170,7 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity implemen } } - ShareUtils.getInstance(this).showShareWindows(new View(this), url, gameName, icon, newsTitle, isPlugin, true); + ShareUtils.getInstance(this).showShareWindows(getWindow().getDecorView(), url, gameName, icon, newsTitle, isPlugin, true); if (newsTitle == null) { DataUtils.onEvent(this, "内容分享", gameName); diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index 90ab36a25c..a64056de7f 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -49,13 +49,13 @@ public class MessageShareUtils { private Context mContext; //TODO 干掉activity,将context变成applicationcontext - private Activity activity; // 用来关闭分享页面 +// private Activity activity; // 用来关闭分享页面 //QQ或者QQ空间分享回调处理 public IUiListener QqShareListener = new IUiListener() { @Override public void onComplete(Object o) { - activity.finish(); - activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 +// activity.finish(); +// activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 Utils.toast(mContext, "分享成功"); } @@ -66,8 +66,8 @@ public class MessageShareUtils { @Override public void onCancel() { - activity.finish(); - activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 +// activity.finish(); +// activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 Utils.toast(mContext, "分享已取消"); } }; @@ -129,7 +129,7 @@ public class MessageShareUtils { this.shareBm = bitmap; this.picName = picName; this.shareType = shareType; - this.activity = (Activity) mContext; +// this.activity = (Activity) mContext; if (shareType == 2) { contentSize = 75; @@ -415,13 +415,13 @@ public class MessageShareUtils { case 0: wechatSahre(); if (shareType != 2) { - activity.finish(); +// activity.finish(); } break; case 1: wechatMomentsSahre(); if (shareType != 2) { - activity.finish(); +// activity.finish(); } break; case 2: @@ -436,7 +436,7 @@ public class MessageShareUtils { if (mPopupWindow == null) return; mPopupWindow.dismiss(); - activity.finish(); +// activity.finish(); break; } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 6132e0fe8a..16b83e9068 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -516,36 +516,18 @@ public class MainActivity extends BaseActivity implements OnClickListener { .getSuggestionType() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Response() { + .subscribe(new Response() { @Override - public void onResponse(SuggestionTypeEntity response) { + public void onResponse(ResponseBody response) { super.onResponse(response); - Set suggestionGame = response.getGame(); - Set suggestionLibao = response.getLibao(); - Set suggestionPlugin = response.getPlugin(); - Set suggestionService = response.getService(); - SharedPreferences.Editor edit = sp.edit(); - if (suggestionGame.size() != 0) { - edit.putStringSet("suggestionGame", suggestionGame); - } else { - edit.remove("suggestionGame"); + try { + String string = response.string(); + SharedPreferences.Editor edit = sp.edit(); + edit.putString("SuggestionType", string); + edit.apply(); + } catch (IOException e) { + e.printStackTrace(); } - if (suggestionLibao.size() != 0) { - edit.putStringSet("suggestionLibao", suggestionLibao); - } else { - edit.remove("suggestionLibao"); - } - if (suggestionPlugin.size() != 0) { - edit.putStringSet("suggestionPlugin", suggestionPlugin); - } else { - edit.remove("suggestionPlugin"); - } - if (suggestionService.size() != 0) { - edit.putStringSet("suggestionService", suggestionService); - } else { - edit.remove("suggestionService"); - } - edit.apply(); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java b/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java index a0f4f0e853..a3a1f3d869 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java @@ -8,6 +8,7 @@ import android.widget.*; import butterknife.*; import com.gh.base.BaseActivity; import com.gh.common.util.*; +import com.tencent.tauth.Tencent; /** * Created by khy on 2017/2/6. @@ -30,6 +31,15 @@ public class ShareGhActivity extends BaseActivity { return R.layout.activity_share_gh; } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE + || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) { + Tencent.onActivityResultData(requestCode, resultCode, data, MessageShareUtils.getInstance(this).QqShareListener); + } + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 5f42403fc6..81d06b7ada 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -21,9 +21,12 @@ import com.gh.base.BaseActivity; import com.gh.common.constant.Config; import com.gh.common.util.*; import com.gh.gamecenter.entity.InstallGameEntity; +import com.gh.gamecenter.entity.SuggestionTypeEntity; import com.gh.gamecenter.retrofit.JSONObjectResponse; import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.suggest.*; +import com.google.gson.Gson; + import okhttp3.*; import org.json.*; import retrofit2.HttpException; @@ -180,37 +183,42 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt mSuggestContentEt.setVisibility(View.VISIBLE); } - if (!TextUtils.isEmpty(suggestHintType)) { - switch (suggestHintType) { - case "plugin": - Set plugin = sp.getStringSet("suggestionPlugin", null); - if (plugin != null) { - showHintDialog(plugin); - } - break; - case "game": - Set game = sp.getStringSet("suggestionGame", null); - if (game != null) { - showHintDialog(game); - } - break; - case "libao": - Set libao = sp.getStringSet("suggestionLibao", null); - if (libao != null) { - showHintDialog(libao); - } - break; - case "service": - Set service = sp.getStringSet("suggestionService", null); - if (service != null) { - showHintDialog(service); - } - break; + String suggestionType = sp.getString("SuggestionType", null); + if (!TextUtils.isEmpty(suggestHintType) && !TextUtils.isEmpty(suggestionType)) { + Gson gson = new Gson(); + SuggestionTypeEntity typeEntity = gson.fromJson(suggestionType, SuggestionTypeEntity.class); + if (typeEntity != null) { + switch (suggestHintType) { + case "plugin": + List plugin = typeEntity.getPlugin(); + if (plugin != null && plugin.size() > 0) { + showHintDialog(plugin); + } + break; + case "game": + List game = typeEntity.getGame(); + if (game != null && game.size() > 0) { + showHintDialog(game); + } + break; + case "libao": + List libao = typeEntity.getLibao(); + if (libao != null && libao.size() > 0) { + showHintDialog(libao); + } + break; + case "service": + List service = typeEntity.getService(); + if (service != null && service.size() > 0) { + showHintDialog(service); + } + break; + } } } } - private void showHintDialog(Set dialogType) { + private void showHintDialog(List dialogType) { final Dialog dialog = new Dialog(SuggestionActivity.this); LinearLayout container = new LinearLayout(SuggestionActivity.this); diff --git a/app/src/main/java/com/gh/gamecenter/entity/SuggestionTypeEntity.java b/app/src/main/java/com/gh/gamecenter/entity/SuggestionTypeEntity.java index 80da2e8551..cffd6050a6 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/SuggestionTypeEntity.java +++ b/app/src/main/java/com/gh/gamecenter/entity/SuggestionTypeEntity.java @@ -1,5 +1,6 @@ package com.gh.gamecenter.entity; +import java.util.List; import java.util.Set; /** @@ -7,43 +8,43 @@ import java.util.Set; */ public class SuggestionTypeEntity { - private Set game; + private List game; - private Set libao; + private List libao; - private Set plugin; + private List plugin; - private Set service; + private List service; - public Set getGame() { + public List getGame() { return game; } - public void setGame(Set game) { + public void setGame(List game) { this.game = game; } - public Set getLibao() { + public List getLibao() { return libao; } - public void setLibao(Set libao) { + public void setLibao(List libao) { this.libao = libao; } - public Set getPlugin() { + public List getPlugin() { return plugin; } - public void setPlugin(Set plugin) { + public void setPlugin(List plugin) { this.plugin = plugin; } - public Set getService() { + public List getService() { return service; } - public void setService(Set service) { + public void setService(List service) { this.service = service; } } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java index e5f261b046..93a9c3f401 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java @@ -184,7 +184,7 @@ public interface ApiService { Observable> getGameArticleType(@Path("game_id") String gameId); // 获取游戏新闻类型 @GET("support/setting/suggestion") - Observable getSuggestionType(); // 获取意见反馈的问题选项 + Observable getSuggestionType(); // 获取意见反馈的问题选项 @GET("game/{game_id}/version/request") Observable> getVersionVote(@Path("game_id") String gameId, @Query("offset") int offset, @Query("limit") int limit); //获取投票 游戏求版本列表