diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java index 24873457f0..4d1524fdad 100644 --- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java @@ -11,10 +11,10 @@ import com.gh.common.util.RunningUtils; import static com.gh.common.util.EntranceUtils.ENTRANCE_BROWSER; import static com.gh.common.util.EntranceUtils.HOST_ARTICLE; +import static com.gh.common.util.EntranceUtils.HOST_COLUMN; import static com.gh.common.util.EntranceUtils.HOST_DOWNLOAD; import static com.gh.common.util.EntranceUtils.HOST_GAME; import static com.gh.common.util.EntranceUtils.HOST_SUGGESTION; -import static com.gh.common.util.EntranceUtils.HOST_COLUMN; import static com.gh.common.util.EntranceUtils.KEY_CONTENT; import static com.gh.common.util.EntranceUtils.KEY_ENTRANCE; import static com.gh.common.util.EntranceUtils.KEY_GAMEID; diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.java b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.java index e2629df673..010e7495de 100644 --- a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.java @@ -17,8 +17,10 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBDownloadChanged; import com.gh.gamecenter.eventbus.EBMiPush; import com.gh.gamecenter.eventbus.EBSkip; +import com.gh.gamecenter.eventbus.EBUISwitch; import com.gh.gamecenter.manager.PackageManager; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -47,7 +49,7 @@ public class DownloadFragment extends BaseFragment_ViewPager_Checkable { private Runnable mRunnable = new Runnable() { @Override public void run() { - checkIndex(DownloadManagerActivity.INDEX_DOWNLOAD); + mViewPager.setCurrentItem(DownloadManagerActivity.INDEX_DOWNLOAD); } }; @@ -132,10 +134,16 @@ public class DownloadFragment extends BaseFragment_ViewPager_Checkable { } } + @Override + protected void onPageChanged(int index) { + super.onPageChanged(index); + EventBus.getDefault().post(new EBUISwitch(DownloadManagerActivity.TAG, index)); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(EBMiPush mipush) { if ("plugin_install".equals(mipush.getFrom())) { - checkIndex(DownloadManagerActivity.INDEX_DOWNLOAD); + mViewPager.setCurrentItem(DownloadManagerActivity.INDEX_DOWNLOAD); } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java index f36aa86354..2a3539f587 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java @@ -98,7 +98,6 @@ public class GameUpdateFragment extends BaseFragment { } } else if ("update".equals(status.getStatus()) || "plugin".equals(status.getStatus())) { adapter.init(); - adapter.notifyDataSetChanged(); } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java index 5e7fa02462..d1ec3ef3db 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -66,7 +66,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { private List updateList; - private String packageName; + private String mPackageName; // 预备更新的包名,自动点击更新 private String entrance; GameUpdateFragmentAdapter(Activity activity, LinearLayout loading, LinearLayout none, String packageName, @@ -75,16 +75,14 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { gameupdate_ll_loading = loading; gameupdate_tv_none = none; - this.packageName = packageName; + this.mPackageName = packageName; this.entrance = entrance; locationMap = new ArrayMap<>(); updateList = new ArrayList<>(); - if (packageName != null) { - getUpdateByPackageName(packageName); - } else if (isUpdate) { + if (isUpdate) { getUpdateListFromServer(); } else { init(); @@ -115,11 +113,11 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { public void onResponse(GameUpdateEntity response) { if (PackageUtils.isCanUpdate(mContext, response)) { updateList.add(response); - notifyItemRangeInserted(0, 2); PackageManager.addUpdate(response); EventBus.getDefault().post(new EBDownloadChanged("update", View.VISIBLE, updateList.size())); initLocationMap(); + notifyDataSetChanged(); } if (updateList.isEmpty()) { @@ -134,6 +132,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { @Override public void onFailure(HttpException e) { gameupdate_ll_loading.setVisibility(View.GONE); + mPackageName = null; } }); } @@ -191,6 +190,17 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { EventBus.getDefault().post( new EBDownloadChanged("update", View.VISIBLE, updateList.size())); } + + if (mPackageName != null) { + boolean isExist = false; + for (GameUpdateEntity gameUpdateEntity : updateList) { + if (mPackageName.equals(gameUpdateEntity.getPackageName())) isExist = true; + } + if (!isExist) { + getUpdateByPackageName(mPackageName); + } + } + notifyDataSetChanged(); } // 初始化map @@ -249,7 +259,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { Comparator comparator = new Comparator() { @Override public int compare(GameUpdateEntity lhs, GameUpdateEntity rhs) { - if (rhs.getName().contains("光环助手")) { + if ("光环助手".equals(rhs.getName())) { return 1; } else if (lhs.getName().contains("光环助手")) { return -1; @@ -299,9 +309,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { } } } -// CardRelativeLayout cardRelativeLayout = (CardRelativeLayout) viewHolder.itemView; -// cardRelativeLayout.setmBottom(DisplayUtils.dip2px(mContext, 8)); -// cardRelativeLayout.setmTop(0); + viewHolder.dm_item_head_tv_task.setText(updateList.size() + "个游戏可更新,共" + getSize(size)); if (done == updateList.size()) { @@ -362,24 +370,9 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { final GameUpdateEntity updateEntity = updateList.get(position - 1); -// // 第一个 -// if (position == 1) { -// ((CardLinearLayout) holder.itemView).setmTop(DisplayUtils.dip2px(mContext, 8)); -// } else { -// ((CardLinearLayout) holder.itemView).setmTop(0); -// } - -// // 最后一个 -// if (position == updateList.size()) { -// ((CardLinearLayout) holder.itemView).setBottom(true); -// } else { -// ((CardLinearLayout) holder.itemView).setBottom(false); -// } - if (updateEntity.getName().contains("光环助手")) { viewHolder.guIcon.setImageURI(Uri.parse("res:///" + R.drawable.logo)); } else { -// viewHolder.guIcon.setImageURI(updateEntity.getIcon()); ImageUtils.Companion.display(viewHolder.guIcon, updateEntity.getIcon()); } @@ -492,7 +485,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { } } - if (packageName != null) { + if (mPackageName != null && mPackageName.equals(updateEntity.getPackageName())) { // 插件跳转游戏更新页面造成闪退,可能是页面未绘制完成点击造成的闪退 viewHolder.guUpdate.post(new Runnable() { @Override @@ -500,7 +493,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { viewHolder.guUpdate.performClick(); } }); - packageName = null; + mPackageName = null; } } } diff --git a/gradle.properties b/gradle.properties index 7193a425f5..9d0b118ffd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -64,5 +64,5 @@ USERSEA_HOST=https\://usersea.ghzs.com/v1d0/ # 请不要手动改动下面的值,除非你明确需要以某个apk作为基准包,需要打包请以scripts/tinker*.sh为准 TINKER_ENABLE= -TINKER_ID=f6e1c557 -TINKER_BASE_APK_DIR=app-1010-09-56-36_f6e1c557 +TINKER_ID=3199bc61 +TINKER_BASE_APK_DIR=app-1012-09-58-13_3199bc61