diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 9198848f30..3f7c17538d 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -170,8 +170,6 @@ public abstract class BaseActivity extends BaseToolBarActivity implements EasyPe } catch (JSONException e) { e.printStackTrace(); } - - } else if ("notfound".equals(showDialog.getType())) { DialogUtils.showAlertDialog(this, "下载失败", "下载链接已失效,建议提交反馈" , "立即反馈", "取消" diff --git a/app/src/main/java/com/gh/common/view/WelcomeDialog.kt b/app/src/main/java/com/gh/common/view/WelcomeDialog.kt index 52b12cd683..e420044d5a 100644 --- a/app/src/main/java/com/gh/common/view/WelcomeDialog.kt +++ b/app/src/main/java/com/gh/common/view/WelcomeDialog.kt @@ -100,7 +100,7 @@ class WelcomeDialog : BaseDialogFragment() { DataUtils.trackTimeEvent(context, "启动弹窗", mTimeHelper?.elapsedTime!!, - type, "") + type, "No parameter.") PreferenceManager.getDefaultSharedPreferences(context?.applicationContext).edit { putString(SP_LAST_OPENING_ID, mWelcomeEntity?.id) diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 3185182e26..11566f3b64 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -202,6 +202,15 @@ public class MainActivity extends BaseActivity { toast("该链接已失效!请联系管理员。"); EventBus.getDefault().post(new EBShowDialog("notfound", downloadEntity.getName())); + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载失败弹窗", + "游戏", downloadEntity.getName(), + "平台", downloadEntity.getPlatform(), + "光环版本", BuildConfig.VERSION_NAME, + "网络状态", DeviceUtils.getNetwork(getApplication()), + "IMEI", Util_System_Phone_State.getDeviceId(getApplication()), + "机型", Build.MODEL, + "厂商", Build.MANUFACTURER, + "Android版本", Build.VERSION.RELEASE); return; } else if (DownloadStatus.neterror.equals(downloadEntity.getStatus()) || DownloadStatus.timeout.equals(downloadEntity.getStatus())) { diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt index 6e55df3b21..c0013ae995 100644 --- a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt @@ -6,6 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.widget.TextView import com.gh.base.fragment.BaseFragment_TabLayout +import com.gh.common.util.DataUtils import com.gh.download.DownloadManager import com.gh.gamecenter.DownloadManagerActivity import com.gh.gamecenter.R @@ -14,6 +15,7 @@ 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 com.halo.assistant.HaloApp import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -83,6 +85,14 @@ class DownloadFragment : BaseFragment_TabLayout() { override fun onPageSelected(index: Int) { EventBus.getDefault().post(EBUISwitch(DownloadManagerActivity.TAG, index)) + + val tabName = when (index) { + INDEX_DOWNLOAD -> "游戏下载" + INDEX_UPDATE -> "游戏更新" + else -> "免流量传送" + } + + DataUtils.onMtaEvent(HaloApp.getInstance().application, "下载管理", "Tab", tabName) } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java b/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java index af73fbe5e9..ffff7a5b36 100644 --- a/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java @@ -8,12 +8,14 @@ import android.view.View; import android.widget.TextView; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; import com.gh.gamecenter.CleanApkActivity; import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.ReceiverWaitingActivity; import com.gh.gamecenter.ShareGhActivity; +import com.halo.assistant.HaloApp; /** * Created by khy on 2017/1/20. @@ -24,7 +26,6 @@ public class FileSendFragment extends BaseFragment { public final static int KC_REQUEST = 2; // 快传传输完成成绩单 - @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -42,39 +43,36 @@ public class FileSendFragment extends BaseFragment { @Override protected void initView(View view) { super.initView(view); - view.findViewById(R.id.file_send_btn).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) {// TODO 需要申请权限 获取WiFi列表需要定位权限(暂时没有任何提示) - startActivityForResult(KcSelectGameActivity.getIntent(getContext(), false), KC_REQUEST); - } + view.findViewById(R.id.file_send_btn).setOnClickListener(v -> { + // TODO 需要申请权限 获取WiFi列表需要定位权限(暂时没有任何提示) + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "免流量传送", "我要发送"); + startActivityForResult(KcSelectGameActivity.getIntent(getContext(), false), KC_REQUEST); }); - view.findViewById(R.id.file_receiver_btn).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) {// TODO 需要申请权限 - startActivityForResult(ReceiverWaitingActivity.getIntent(getContext()), KC_REQUEST); - } + view.findViewById(R.id.file_receiver_btn).setOnClickListener(v -> { + // TODO 需要申请权限 + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "免流量传送", "我要接收"); + startActivityForResult(ReceiverWaitingActivity.getIntent(getContext()), KC_REQUEST); }); - TextView shareGh = (TextView) view.findViewById(R.id.share_gh); + TextView shareGh = view.findViewById(R.id.share_gh); shareGh.setText(Html.fromHtml(getString(R.string.kc_share_gh_hint))); - shareGh.setOnClickListener(new View.OnClickListener() { // TODO 需要申请权限 - @Override - public void onClick(View v) { - Intent intent = ShareGhActivity.getIntent(getContext()); - getActivity().startActivity(intent); - } + // / TODO 需要申请权限 + shareGh.setOnClickListener(v -> { + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "免流量传送", "好友还没安装光环助手"); + + Intent intent = ShareGhActivity.getIntent(getContext()); + getActivity().startActivity(intent); }); - TextView cleanApk = (TextView) view.findViewById(R.id.clean_apk_tv); + TextView cleanApk = view.findViewById(R.id.clean_apk_tv); cleanApk.setText(Html.fromHtml(getString(R.string.kc_clean_apk_hint))); - cleanApk.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent = CleanApkActivity.getIntent(getContext()); - getActivity().startActivity(intent); - } + cleanApk.setOnClickListener(v -> { + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "免流量传送", "安装包清理"); + + Intent intent = CleanApkActivity.getIntent(getContext()); + getActivity().startActivity(intent); }); } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java index 49e854fec6..7b2f8d6634 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java @@ -15,6 +15,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.NetworkUtils; @@ -29,6 +30,7 @@ import com.gh.gamecenter.eventbus.EBMiPush; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBSkip; import com.gh.gamecenter.eventbus.EBUISwitch; +import com.halo.assistant.HaloApp; import com.lightgame.download.DataWatcher; import com.lightgame.download.DownloadConfig; import com.lightgame.download.DownloadEntity; @@ -201,20 +203,14 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi mNoDataSkip.setVisibility(View.GONE); mNoDataSkipHintTv.setText("暂无下载"); mNoDataSkipBtn.setText("去首页看看"); - mNoDataSkipBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent = new Intent(getActivity(), MainActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - getActivity().startActivity(intent); + mNoDataSkipBtn.setOnClickListener(v -> { + Intent intent = new Intent(getActivity(), MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + getActivity().startActivity(intent); - mNoDataSkipBtn.postDelayed(new Runnable() { - @Override - public void run() { - EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); - } - }, 300); - } + mNoDataSkipBtn.postDelayed(() -> + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)), + 300); }); mDownloadmanagerRv.setHasFixedSize(true); @@ -265,13 +261,10 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi } } }); - mDownloadmanagerRv.setOnDispatchTouchListener(new RecyclerViewExtended.OnDispatchTouchListener() { - @Override - public void onDispatch(View v, MotionEvent event) { - if (url != null && event.getAction() == MotionEvent.ACTION_DOWN) { - url = null; - adapter.setUrl(null); - } + mDownloadmanagerRv.setOnDispatchTouchListener((v, event) -> { + if (url != null && event.getAction() == MotionEvent.ACTION_DOWN) { + url = null; + adapter.setUrl(null); } }); @@ -387,16 +380,13 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi if (NetworkUtils.isWifiConnected(getActivity())) { startAll(); } else { - DialogUtils.showDownloadDialog(getActivity(), new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - startAll(); - } - }); + DialogUtils.showDownloadDialog(getActivity(), () -> startAll()); } } else { pauseAll(); } + + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "游戏下载", str); adapter.notifyItemChanged(adapter.getBase()); } } @@ -432,7 +422,6 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi // DownloadManager.getInstance(getContext()).startAll(); mDownloadmanagerAllstartTv.setText("全部暂停"); mDownloadmanagerAllstartTv.setTextColor(ContextCompat.getColor(getContext(), R.color.btn_gray)); - } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java index 6b53b73550..a1f55c3a2d 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java @@ -30,6 +30,7 @@ import com.gh.gamecenter.adapter.viewholder.DownloadHeadViewHolder; import com.gh.gamecenter.adapter.viewholder.GameDownloadViewHolder; import com.gh.gamecenter.eventbus.EBDownloadChanged; import com.gh.gamecenter.manager.PackageManager; +import com.halo.assistant.HaloApp; import com.lightgame.adapter.BaseRecyclerAdapter; import com.lightgame.download.DownloadConfig; import com.lightgame.download.DownloadEntity; @@ -232,16 +233,39 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { viewHolder.dmProgressbar.setProgress((int) (downloadEntity.getPercent() * 10)); - viewHolder.dmStartorpause.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String str = ((TextView) v).getText().toString(); - final String url = downloadEntity.getUrl(); - DownloadManager.getInstance(mContext).put(url, System.currentTimeMillis()); - switch (str) { - case "继续": - case "下载": - if (NetworkUtils.isWifiConnected(mContext)) { + viewHolder.dmStartorpause.setOnClickListener(v -> { + String str = ((TextView) v).getText().toString(); + final String url = downloadEntity.getUrl(); + DownloadManager.getInstance(mContext).put(url, System.currentTimeMillis()); + switch (str) { + case "继续": + case "下载": + if (NetworkUtils.isWifiConnected(mContext)) { + LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( + 0, LinearLayout.LayoutParams.WRAP_CONTENT); + lparams.weight = 4; + viewHolder.dmDownloads.setLayoutParams(lparams); + viewHolder.dmDownloads.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); + viewHolder.dmDownloads.setText(String.format("%s(剩%s)", + SpeedUtils.getSpeed(downloadEntity.getSpeed()), + SpeedUtils.getRemainTime(downloadEntity.getSize(), + downloadEntity.getProgress(), downloadEntity.getSpeed() * 1024))); + viewHolder.dmDelete.setVisibility(View.GONE); + + viewHolder.dmStartorpause.setBackgroundResource(R.drawable.game_item_btn_downloading_bg); + viewHolder.dmStartorpause.setText("暂停"); + viewHolder.dmStartorpause.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); + + statusMap.put(url, "downloading"); + notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); + + Message msg = Message.obtain(); + msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; + msg.obj = url; + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); +// DownloadManager.getInstance(mContext).add(downloadEntity); + } else { + DialogUtils.showDownloadDialog(mContext, () -> { LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( 0, LinearLayout.LayoutParams.WRAP_CONTENT); lparams.weight = 4; @@ -256,7 +280,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { viewHolder.dmStartorpause.setBackgroundResource(R.drawable.game_item_btn_downloading_bg); viewHolder.dmStartorpause.setText("暂停"); viewHolder.dmStartorpause.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); - statusMap.put(url, "downloading"); notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); @@ -264,104 +287,72 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; msg.obj = url; DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); -// DownloadManager.getInstance(mContext).add(downloadEntity); - } else { - DialogUtils.showDownloadDialog(mContext, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( - 0, LinearLayout.LayoutParams.WRAP_CONTENT); - lparams.weight = 4; - viewHolder.dmDownloads.setLayoutParams(lparams); - viewHolder.dmDownloads.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); - viewHolder.dmDownloads.setText(String.format("%s(剩%s)", - SpeedUtils.getSpeed(downloadEntity.getSpeed()), - SpeedUtils.getRemainTime(downloadEntity.getSize(), - downloadEntity.getProgress(), downloadEntity.getSpeed() * 1024))); - viewHolder.dmDelete.setVisibility(View.GONE); - - viewHolder.dmStartorpause.setBackgroundResource(R.drawable.game_item_btn_downloading_bg); - viewHolder.dmStartorpause.setText("暂停"); - viewHolder.dmStartorpause.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); - statusMap.put(url, "downloading"); - notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); - - Message msg = Message.obtain(); - msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; - msg.obj = url; - DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); // DownloadManager.getInstance(mContext).add(downloadEntity); - } - }); - } - break; - case "安装": - final String path = downloadEntity.getPath(); - if (downloadEntity.isPluggable() - && PackageManager.INSTANCE.isInstalled(downloadEntity.getPackageName())) { - showPluginDialog(downloadEntity.getPath()); + }); + } + break; + case "安装": + final String path = downloadEntity.getPath(); + if (downloadEntity.isPluggable() + && PackageManager.INSTANCE.isInstalled(downloadEntity.getPackageName())) { + showPluginDialog(downloadEntity.getPath()); + } else { + if (FileUtils.isEmptyFile(path)) { + Utils.toast(mContext, R.string.install_failure_hint); + removeDownload(downloadEntity); } else { - if (FileUtils.isEmptyFile(path)) { - Utils.toast(mContext, R.string.install_failure_hint); - removeDownload(downloadEntity); + if (downloadEntity.getName().contains("光环助手")) { + mContext.startActivity(PackageUtils.getInstallIntent(mContext, path)); } else { - if (downloadEntity.getName().contains("光环助手")) { - mContext.startActivity(PackageUtils.getInstallIntent(mContext, path)); - } else { - PackageUtils.launchSetup(mContext, path); - } + PackageUtils.launchSetup(mContext, path); } } - break; - case "暂停": - viewHolder.dmStartorpause.setBackgroundResource(R.drawable.game_item_btn_download_style); - viewHolder.dmStartorpause.setText("继续"); - viewHolder.dmStartorpause.setTextColor(Color.WHITE); - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( - LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); - viewHolder.dmDownloads.setLayoutParams(lparams); - viewHolder.dmDownloads.setTextColor(0xFF9A9A9A); - viewHolder.dmDownloads.setText("已暂停"); - viewHolder.dmDelete.setVisibility(View.VISIBLE); - statusMap.put(url, "pause"); - notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); - Message msg = Message.obtain(); - msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; - msg.obj = url; - DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); + } + break; + case "暂停": + viewHolder.dmStartorpause.setBackgroundResource(R.drawable.game_item_btn_download_style); + viewHolder.dmStartorpause.setText("继续"); + viewHolder.dmStartorpause.setTextColor(Color.WHITE); + LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); + viewHolder.dmDownloads.setLayoutParams(lparams); + viewHolder.dmDownloads.setTextColor(0xFF9A9A9A); + viewHolder.dmDownloads.setText("已暂停"); + viewHolder.dmDelete.setVisibility(View.VISIBLE); + statusMap.put(url, "pause"); + notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); + Message msg = Message.obtain(); + msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; + msg.obj = url; + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); // DownloadManager.getInstance(mContext).pause(downloadEntity); - break; - case "等待": - Utils.toast(mContext, "最多只能同时启动3个下载任务"); - break; - case "启动": - Map kv = new HashMap<>(); - kv.put("版本", downloadEntity.getPlatform()); - DataUtils.onEvent(mContext, "游戏启动", downloadEntity.getName(), kv); + break; + case "等待": + Utils.toast(mContext, "最多只能同时启动3个下载任务"); + break; + case "启动": + Map kv = new HashMap<>(); + kv.put("版本", downloadEntity.getPlatform()); + DataUtils.onEvent(mContext, "游戏启动", downloadEntity.getName(), kv); - PackageUtils.launchApplicationByPackageName(mContext, downloadEntity.getPackageName()); - break; - } + PackageUtils.launchApplicationByPackageName(mContext, downloadEntity.getPackageName()); + break; + } + + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "游戏下载", str); + }); + + viewHolder.dmDownloads.setOnClickListener(v -> { + if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { + showDeleteDialog(downloadEntity, viewHolder.getPosition()); } }); - viewHolder.dmDownloads.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { - showDeleteDialog(downloadEntity, viewHolder.getPosition()); - } - } - }); - - viewHolder.dmDelete.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { - showDeleteDialog(downloadEntity, viewHolder.getPosition()); - } + viewHolder.dmDelete.setOnClickListener(v -> { + if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { + showDeleteDialog(downloadEntity, viewHolder.getPosition()); } }); @@ -370,15 +361,12 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { } else { viewHolder.itemView.setBackgroundResource(R.drawable.reuse_listview_item_style); } - viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { - showDeleteDialog(downloadEntity, viewHolder.getPosition()); - return true; - } - return false; + viewHolder.itemView.setOnLongClickListener(v -> { + if (viewHolder.dmDelete.getVisibility() == View.VISIBLE) { + showDeleteDialog(downloadEntity, viewHolder.getPosition()); + return true; } + return false; }); } else if (holder instanceof DownloadHeadViewHolder) { @@ -407,24 +395,16 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { viewHolder.dm_item_head_tv_allstart.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); } - viewHolder.dm_item_head_tv_allstart.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String str = ((TextView) v).getText().toString(); - if (mContext.getString(R.string.download_all_start).equals(str)) { - if (NetworkUtils.isWifiConnected(mContext)) { - startAll(viewHolder); - } else { - DialogUtils.showDownloadDialog(mContext, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - startAll(viewHolder); - } - }); - } + viewHolder.dm_item_head_tv_allstart.setOnClickListener(v -> { + String str = ((TextView) v).getText().toString(); + if (mContext.getString(R.string.download_all_start).equals(str)) { + if (NetworkUtils.isWifiConnected(mContext)) { + startAll(viewHolder); } else { - pauseAll(viewHolder); + DialogUtils.showDownloadDialog(mContext, () -> startAll(viewHolder)); } + } else { + pauseAll(viewHolder); } }); } @@ -491,24 +471,21 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { // 显示插件化 void showPluginDialog(final String path) { - DialogUtils.showPluginDialog(mContext, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - for (DownloadEntity downloadEntity : DownloadManager.getInstance(mContext).getAll()) { - if (downloadEntity.isPluggable() - && downloadEntity.getPath().equals(path)) { - Map kv6 = new HashMap<>(); - kv6.put("操作", "点击插件化安装完成"); - DataUtils.onEvent(mContext, "插件化", downloadEntity.getName(), kv6); - break; - } + DialogUtils.showPluginDialog(mContext, () -> { + for (DownloadEntity downloadEntity : DownloadManager.getInstance(mContext).getAll()) { + if (downloadEntity.isPluggable() + && downloadEntity.getPath().equals(path)) { + Map kv6 = new HashMap<>(); + kv6.put("操作", "点击插件化安装完成"); + DataUtils.onEvent(mContext, "插件化", downloadEntity.getName(), kv6); + break; } + } - if (FileUtils.isEmptyFile(path)) { - Utils.toast(mContext, R.string.install_failure_hint); - } else { - mContext.startActivity(PackageUtils.getUninstallIntent(mContext, path)); - } + if (FileUtils.isEmptyFile(path)) { + Utils.toast(mContext, R.string.install_failure_hint); + } else { + mContext.startActivity(PackageUtils.getUninstallIntent(mContext, path)); } }); } @@ -587,12 +564,7 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { } else { msg = "游戏还没下载完,确定删除?"; } - DialogUtils.showWarningDialog(mContext, "删除下载", msg, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - removeDownload(entry); - } - }); + DialogUtils.showWarningDialog(mContext, "删除下载", msg, () -> removeDownload(entry)); } public void initLocationMap() { @@ -657,30 +629,24 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { } } // 排序 - Comparator comparator = new Comparator() { - @Override - public int compare(DownloadEntity lhs, DownloadEntity rhs) { - if (rhs.getStart() > lhs.getStart()) { - return 1; - } else if (rhs.getStart() < lhs.getStart()) { - return -1; - } else { - return 0; - } + Comparator comparator = (lhs, rhs) -> { + if (rhs.getStart() > lhs.getStart()) { + return 1; + } else if (rhs.getStart() < lhs.getStart()) { + return -1; + } else { + return 0; } }; Collections.sort(downloadingList, comparator); - comparator = new Comparator() { - @Override - public int compare(DownloadEntity lhs, DownloadEntity rhs) { - if (rhs.getEnd() > lhs.getEnd()) { - return 1; - } else if (rhs.getEnd() < lhs.getEnd()) { - return -1; - } else { - return 0; - } + comparator = (lhs, rhs) -> { + if (rhs.getEnd() > lhs.getEnd()) { + return 1; + } else if (rhs.getEnd() < lhs.getEnd()) { + return -1; + } else { + return 0; } }; Collections.sort(doneList, comparator); 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 664c41ba7a..878a6aeb17 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java @@ -44,7 +44,6 @@ public class GameUpdateFragment extends BaseFragment { @BindView(R.id.reuse_nodata_skip_tv_btn) TextView mNoDataHintBtn; - private GameUpdateFragmentAdapter mAdapter; @Override @@ -72,7 +71,6 @@ public class GameUpdateFragment extends BaseFragment { }, 300); }); - mGameUpdateRv.setHasFixedSize(true); mGameUpdateRv.setLayoutManager(new LinearLayoutManager(getActivity())); mAdapter = new GameUpdateFragmentAdapter(getActivity(), mGameUpdateLoading, 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 f59777a01b..b616a3eb62 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -38,6 +38,7 @@ import com.gh.gamecenter.manager.InstallManager; import com.gh.gamecenter.manager.PackageManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; +import com.halo.assistant.HaloApp; import com.lightgame.adapter.BaseRecyclerAdapter; import com.lightgame.download.DownloadEntity; import com.lightgame.download.DownloadStatus; @@ -264,21 +265,18 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { // 对更新列表进行排序 private void sortUpdateList(List list) { - Comparator comparator = new Comparator() { - @Override - public int compare(GameUpdateEntity lhs, GameUpdateEntity rhs) { - if ("光环助手".equals(rhs.getName())) { - return 1; - } else if (lhs.getName().contains("光环助手")) { - return -1; - } - if (!lhs.isPluggable() && rhs.isPluggable()) { - return -1; - } else if (lhs.isPluggable() && !rhs.isPluggable()) { - return 1; - } else { - return 0; - } + Comparator comparator = (lhs, rhs) -> { + if ("光环助手".equals(rhs.getName())) { + return 1; + } else if (lhs.getName().contains("光环助手")) { + return -1; + } + if (!lhs.isPluggable() && rhs.isPluggable()) { + return -1; + } else if (lhs.isPluggable() && !rhs.isPluggable()) { + return 1; + } else { + return 0; } }; Collections.sort(list, comparator); @@ -330,45 +328,34 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { } } - viewHolder.dm_item_head_tv_allstart.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String str = viewHolder.dm_item_head_tv_allstart.getText().toString(); - if ("全部更新".equals(str)) { - if (NetworkUtils.isWifiConnected(mContext)) { + viewHolder.dm_item_head_tv_allstart.setOnClickListener(v -> { + String str = viewHolder.dm_item_head_tv_allstart.getText().toString(); + if ("全部更新".equals(str)) { + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "游戏更新", str); + if (NetworkUtils.isWifiConnected(mContext)) { + viewHolder.dm_item_head_tv_allstart.setText(R.string.updating); + for (int i = 0; i < updateList.size(); i++) { + if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) { + addUpdateDownload(i); +// notifyItemChanged(i + 1); + } + } + viewHolder.dm_item_head_tv_allstart.postDelayed(() -> + notifyItemRangeChanged(0, getItemCount()), + 1000); + } else { + DialogUtils.showDownloadDialog(mContext, () -> { viewHolder.dm_item_head_tv_allstart.setText(R.string.updating); for (int i = 0; i < updateList.size(); i++) { if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) { addUpdateDownload(i); -// notifyItemChanged(i + 1); +// notifyItemChanged(i + 1); } } - viewHolder.dm_item_head_tv_allstart.postDelayed(new Runnable() { - @Override - public void run() { - notifyItemRangeChanged(0, getItemCount()); - } - }, 1000); - } else { - DialogUtils.showDownloadDialog(mContext, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - viewHolder.dm_item_head_tv_allstart.setText(R.string.updating); - for (int i = 0; i < updateList.size(); i++) { - if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) { - addUpdateDownload(i); -// notifyItemChanged(i + 1); - } - } - viewHolder.dm_item_head_tv_allstart.postDelayed(new Runnable() { - @Override - public void run() { - notifyItemRangeChanged(0, getItemCount()); - } - }, 1000); - } - }); - } + viewHolder.dm_item_head_tv_allstart.postDelayed(() -> + notifyItemRangeChanged(0, getItemCount()), + 1000); + }); } } }); @@ -411,57 +398,53 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { viewHolder.guNew.setText(StringUtils.buildString("新版:V", updateEntity.getVersion(), " | ", updateEntity.getSize())); - viewHolder.guUpdate.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final String str = viewHolder.guUpdate.getText().toString(); - if ("更新".equals(str) || "插件化".equals(str)) { - if (NetworkUtils.isWifiConnected(mContext)) { + viewHolder.guUpdate.setOnClickListener(v -> { + final String str = viewHolder.guUpdate.getText().toString(); + if ("更新".equals(str) || "插件化".equals(str)) { + if (NetworkUtils.isWifiConnected(mContext)) { + if ("插件化".equals(str)) { + viewHolder.guUpdate.setText("插件化中"); + viewHolder.guUpdate.setTextColor(ContextCompat.getColorStateList(mContext, R.color.text_plugining_style)); + viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_plugining_style); + } else { + viewHolder.guUpdate.setText(R.string.updating); + viewHolder.guUpdate.setTextColor(ContextCompat.getColorStateList(mContext, R.color.text_downloading_style)); + viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_downloading_style); + } + + addUpdateDownload(viewHolder.getPosition() - 1); + + notifyItemChanged(0); + } else { + DialogUtils.showDownloadDialog(mContext, () -> { if ("插件化".equals(str)) { viewHolder.guUpdate.setText("插件化中"); - viewHolder.guUpdate.setTextColor(ContextCompat.getColorStateList(mContext, R.color.text_plugining_style)); + viewHolder.guUpdate.setTextColor(0xFF06D0A8); viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_plugining_style); } else { viewHolder.guUpdate.setText(R.string.updating); - viewHolder.guUpdate.setTextColor(ContextCompat.getColorStateList(mContext, R.color.text_downloading_style)); + viewHolder.guUpdate.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_downloading_style); } addUpdateDownload(viewHolder.getPosition() - 1); notifyItemChanged(0); - } else { - DialogUtils.showDownloadDialog(mContext, new DialogUtils.ConfirmListener() { - @Override - public void onConfirm() { - if ("插件化".equals(str)) { - viewHolder.guUpdate.setText("插件化中"); - viewHolder.guUpdate.setTextColor(0xFF06D0A8); - viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_plugining_style); - } else { - viewHolder.guUpdate.setText(R.string.updating); - viewHolder.guUpdate.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); - viewHolder.guUpdate.setBackgroundResource(R.drawable.game_item_btn_downloading_style); - } - - addUpdateDownload(viewHolder.getPosition() - 1); - - notifyItemChanged(0); - } - }); - } - } else if (mContext.getString(R.string.launch).equals(str)) { - Map kv = new HashMap<>(); - kv.put("版本", updateEntity.getPlatform()); - DataUtils.onEvent(mContext, "游戏启动", updateEntity.getName(), kv); - - PackageUtils.launchApplicationByPackageName(mContext, - updateEntity.getPackageName()); - } else if (mContext.getString(R.string.updating).equals(str) || "插件化中".equals(str)) { - notifyItemChanged(0); - EventBus.getDefault().post(new EBSkip(DownloadManagerActivity.TAG, DownloadManagerActivity.INDEX_UPDATE)); + }); } + } else if (mContext.getString(R.string.launch).equals(str)) { + Map kv = new HashMap<>(); + kv.put("版本", updateEntity.getPlatform()); + DataUtils.onEvent(mContext, "游戏启动", updateEntity.getName(), kv); + + PackageUtils.launchApplicationByPackageName(mContext, + updateEntity.getPackageName()); + } else if (mContext.getString(R.string.updating).equals(str) || "插件化中".equals(str)) { + notifyItemChanged(0); + EventBus.getDefault().post(new EBSkip(DownloadManagerActivity.TAG, DownloadManagerActivity.INDEX_UPDATE)); } + + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "下载管理", "游戏更新", str); }); DownloadEntity downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateEntity.getUrl()); @@ -504,12 +487,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { if (mPackageName != null && mPackageName.equals(updateEntity.getPackageName())) { // 插件跳转游戏更新页面造成闪退,可能是页面未绘制完成点击造成的闪退 - viewHolder.guUpdate.post(new Runnable() { - @Override - public void run() { - viewHolder.guUpdate.performClick(); - } - }); + viewHolder.guUpdate.post(() -> viewHolder.guUpdate.performClick()); mPackageName = null; } }