From f668d6492aed0b6e19000a31ae2085ac2afe54e3 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 27 Sep 2017 17:44:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E9=83=A8=E5=88=86=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=BF=AB=E9=80=9F=E5=BC=84=E5=A5=BD=E7=9A=84todo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/ChooseReceiverActivity.java | 2 +- .../com/gh/gamecenter/FileSenderActivity.java | 2 +- .../gh/gamecenter/SplashScreenActivity.java | 2 +- .../gamecenter/adapter/ImagePagerAdapter.java | 6 +- .../adapter/viewholder/DetailViewHolder.java | 2 +- .../gamecenter/game/GameFragmentAdapter.java | 8 +- .../gh/gamecenter/geetest/GeetestUtils.java | 14 +- .../gh/gamecenter/kaifu/KaiFuVpAdapter.java | 3 - .../gh/gamecenter/kuaichuan/FileReceiver.java | 2 +- .../gamecenter/kuaichuan/HtmlUriHandler.java | 2 +- .../statistics/AppStaticService.java | 284 ++++++++-------- .../statistics/AppTrafficUtils.java | 310 +++++++++--------- .../statistics/StatisticsUtils.java | 42 +-- .../gamecenter/statistics/TrafficUtils.java | 60 ++-- .../statistics/UnlockScreenReceiver.java | 42 +-- .../gh/gamecenter/subject/SubjectAdapter.java | 6 +- 16 files changed, 386 insertions(+), 401 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java index 87b920ca33..445ed975c7 100644 --- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java @@ -327,7 +327,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick // "\n2.点击首页左上角,进入下载管理 \n3.点击“零流量传送”,再点击“我要接收”", // "确定"); - // TODO 关闭扫描?? + // TODO 是否需要关闭扫描?? startActivity(ShareGhActivity.getIntent(this)); } //1.连接网络 diff --git a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java index d415bdce2e..fc8c6e36ea 100644 --- a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java @@ -262,7 +262,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte Utils.log("====FileSenderActivity传送个数::" + mFileInfos.size()); - // TODO: 发送的首个游戏 socket被拒绝的概率较大 延迟0.5秒发送试试 + //发送的首个游戏 socket被拒绝的概率较大 延迟0.5秒发送试试 Thread.sleep(500); //test for (final FileInfo fileInfo : mFileInfos) { diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index a72b401dc6..8444bbdbfa 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -215,7 +215,7 @@ public class SplashScreenActivity extends BaseActivity { // 更新本地时间 TokenUtils.getTime(this); -// // 上传数据 TODO 基于上报信息涉及用户权限 防止由于未授予权限导致的闪退 移动MainActivity上报 +// // 上传数据---基于上报信息涉及用户权限 防止由于未授予权限导致的闪退 移动MainActivity上报 // DataCollectionManager.getInstance(getApplicationContext()).upload(); // 解决助手奔溃后导致的下载状态保留问题 diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java index 5a8bc57dd2..ea2d4eb3c2 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java @@ -13,7 +13,6 @@ import android.view.ViewGroup; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.common.util.DataLogUtils; import com.gh.common.util.DataUtils; -import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; import com.gh.common.util.StringUtils; @@ -97,13 +96,10 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter { GameDetailActivity.startGameDetailActivity(mContext, slideEntity.getLink(), entrance); break; case "news": - //TODO 统一startNewsDetailActivity // 统计阅读量 NewsUtils.statNewsViews(mContext, slideEntity.getLink()); - Intent intent = new Intent(mContext, NewsDetailActivity.class); - intent.putExtra("newsId", slideEntity.getLink()); - intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + Intent intent = NewsDetailActivity.getIntentById(mContext, slideEntity.getLink(), entrance); mContext.startActivity(intent); break; case "column": diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 104126ce15..75d4831fb5 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -32,7 +32,7 @@ public class DetailViewHolder { public ProgressBar downloadPb; public TextView downloadPer; - // TODO 注意View的命名 + // 注意View的命名 public DetailViewHolder(View view, GameEntity gameEntity, DownloadEntity downloadEntity, String downloadOffText, String downloadAddWord, boolean isNewsDetail, String entrance, String name, String title) { downloadBottom = view.findViewById(R.id.detail_ll_bottom); diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java index fcdd5f1a7a..b8d2a355b8 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java @@ -30,7 +30,6 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.EntranceUtils; import com.gh.common.util.GameUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -574,7 +573,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { mPluginAdapter = new GamePluginAdapter(mContext, mPluginList); mPluginAdapter.openList(isOpenPluginList); holder.mPluginRv.setAdapter(mPluginAdapter); -// } else { // TODO 复用旧的adapter 数据变化无法刷新界面 点解??? +// } else { // 复用旧的adapter 数据变化无法刷新界面 点解??? // mPluginAdapter.openList(isOpenPluginList); // mPluginAdapter.notifyDataSetChanged(); // } @@ -900,13 +899,10 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { GameDetailActivity.startGameDetailActivity(mContext, entity.getLink(), "(游戏-专题:" + name + "-大图)"); break; case "news": - //TODO 统一startNewsDetailActivity // 统计阅读量 NewsUtils.statNewsViews(mContext, entity.getLink()); - Intent intent = new Intent(mContext, NewsDetailActivity.class); - intent.putExtra("newsId", entity.getLink()); - intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:" + name + "-大图)"); + Intent intent = NewsDetailActivity.getIntentById(mContext, entity.getLink(), "(游戏-专题:" + name + "-大图)"); mContext.startActivity(intent); break; case "column": diff --git a/app/src/main/java/com/gh/gamecenter/geetest/GeetestUtils.java b/app/src/main/java/com/gh/gamecenter/geetest/GeetestUtils.java index 3d2a859c6d..597164a35a 100644 --- a/app/src/main/java/com/gh/gamecenter/geetest/GeetestUtils.java +++ b/app/src/main/java/com/gh/gamecenter/geetest/GeetestUtils.java @@ -58,7 +58,7 @@ public class GeetestUtils { // @Override // public void onCancel(DialogInterface dialog) { //// toastMsg("user cancel progress dialog"); -// //TODO 用户主动退出验证 +// // 用户主动退出验证 // } // }); } @@ -83,7 +83,7 @@ public class GeetestUtils { if (info.getInt("success") == 1) { openGtTest(context, info); } else { - // TODO 从API_1获得极验服务宕机或不可用通知, 使用备用验证或静态验证 + // 从API_1获得极验服务宕机或不可用通知, 使用备用验证或静态验证 if (mProgressDialog.isShowing()) { mProgressDialog.dismiss(); } @@ -128,7 +128,7 @@ public class GeetestUtils { // dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // @Override // public void onCancel(DialogInterface dialog) { -// //TODO 用户取消验证 +// // 用户取消验证 //// toastMsg("user close the geetest."); // } // }); @@ -150,7 +150,7 @@ public class GeetestUtils { mProgressDialog.dismiss(); if (status) { - //TODO 验证加载完成 + // 验证加载完成 RuntimeUtils.getInstance().runOnUiThread(new Runnable() { @Override @@ -162,7 +162,7 @@ public class GeetestUtils { }); } else { - //TODO 验证加载超时,未准备完成 + // 验证加载超时,未准备完成 toastMsg(context, "验证加载超时,请重新尝试"); } } @@ -211,7 +211,7 @@ public class GeetestUtils { // toastMsg("client captcha succeed:" + result); Utils.log("client captcha succeed:" + result); } else { - //TODO 验证失败 + // 验证失败 // toastMsg("client captcha failed:" + result); Utils.log("client captcha failed:" + result); } @@ -223,7 +223,7 @@ public class GeetestUtils { dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { - //TODO 需要重新get challenge + // 需要重新get challenge if (AppDebugConfig.IS_DEBUG) { AppDebugConfig.logMethodWithParams(this); } diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpAdapter.java b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpAdapter.java index b4b33f5a24..5651508b34 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpAdapter.java @@ -92,9 +92,6 @@ public class KaiFuVpAdapter extends BaseRecyclerAdapter { super.onResponse(response); mDataCount += response.size(); - if (mEntityList.size() == 0) { // TODO 获取开服表当前整点时间位置 - - } GameManager manager = new GameManager(mContext); for (int i = 0; i < response.size(); i++) { // 初始化游戏状态 diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java index fc3b829e96..d0c399aa4f 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java @@ -168,7 +168,7 @@ public class FileReceiver extends BaseTransfer implements Runnable { //写入文件 long fileSize = mFileInfo.getSize(); - //TODO 快传存储路径 + // 快传存储路径 String path = Environment.getExternalStorageDirectory() + "/GH-KC"; File dirFile = new File(path); diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/HtmlUriHandler.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/HtmlUriHandler.java index 332d1bfe7e..65f3fe0aee 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/HtmlUriHandler.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/HtmlUriHandler.java @@ -34,7 +34,7 @@ public class HtmlUriHandler implements KcUriHandler { public void handler(KcWebRequestEntity request) { String homeHtml = null; try { - InputStream is = this.mActivity.getAssets().open("Home.html"); //TODO + InputStream is = this.mActivity.getAssets().open("Home.html"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int len = 0; byte[] bytes = new byte[2048]; diff --git a/app/src/main/java/com/gh/gamecenter/statistics/AppStaticService.java b/app/src/main/java/com/gh/gamecenter/statistics/AppStaticService.java index 998202b473..8ccc347efa 100644 --- a/app/src/main/java/com/gh/gamecenter/statistics/AppStaticService.java +++ b/app/src/main/java/com/gh/gamecenter/statistics/AppStaticService.java @@ -1,142 +1,142 @@ -package com.gh.gamecenter.statistics; - -import android.app.ActivityManager; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.os.IBinder; -import android.os.PowerManager; -import android.support.annotation.Nullable; - -import com.lightgame.utils.Utils; -import com.gh.gamecenter.db.AppRunTimeDao; - -import java.util.ArrayList; -import java.util.List; - -import static java.lang.Thread.sleep; - -/** - * Created by khy on 2016/12/30. - * 统计用户App运行时长服务 - */ -public class AppStaticService extends Service { - - AppRunTimeDao runTimeDao; - private List mTaskInfo; - private ActivityManager.RunningTaskInfo mTopTaskInfo; - private ActivityManager mActivityManager; - private String mPrePackageName; // 切换app前的应用包名 - - // private String homePackage = "com.huawei.android.launcher"; //桌面包名 以华为为例 - private String mNextPackageName; // 切换app后的应用包名 - private ArrayList homePackage; - private int mRunTime; - - @Override - public void onCreate() { - super.onCreate(); - mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); - mPrePackageName = getPackageName(); - mNextPackageName = getPackageName(); - runTimeDao = new AppRunTimeDao(getApplicationContext()); - - homePackage = new ArrayList<>(); - - List packages = getPackageManager() - .getInstalledPackages(0); - - for (PackageInfo aPackage : packages) { - if ((aPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0) { - Utils.log("============系统应用" + aPackage.packageName); - homePackage.add(aPackage.packageName); - } - } -// PackageManager packageManager = getApplication().getPackageManager(); -// Intent intent = new Intent(Intent.ACTION_MAIN); -// intent.addCategory(Intent.CATEGORY_HOME); -// List resolveInfos = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); - - new Thread(new Runnable() { - @Override - public void run() { - PowerManager mPowerManager = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); - boolean isScreenOn; - int i = 0; - while (true) { - try { - isScreenOn = mPowerManager.isScreenOn(); //判断屏幕状态(屏幕亮起/屏幕熄灭) - if (isScreenOn) { - //TODO remove this -// // 获取当前正在运行的任务 - mTaskInfo = mActivityManager.getRunningTasks(1); - - mTopTaskInfo = mTaskInfo.get(0); - mNextPackageName = mTopTaskInfo.topActivity.getPackageName(); - - if (homePackage.contains(mNextPackageName)) { // 跳转至桌面 - if (homePackage.contains(mPrePackageName)) { // 桌面跳转至桌面 不统计 - Utils.log("============ 桌面跳转至桌面 不统计" + mNextPackageName); - } else { // 非桌面跳转至桌面 - // TODO 计时结束 存储数据 - writeToStorage(); - Utils.log("============ 非桌面跳转至桌面 计时结束 存储数据" + mRunTime); - } - - } else { // 跳转至非桌面 - if (homePackage.contains(mPrePackageName)) { - // mNextPackageName不是桌面 mPrePackageName是桌面,从桌面到非桌面,计时开始 - // TODO 计时开始 - mRunTime = mRunTime + 1; - mPrePackageName = mNextPackageName; //身份转换 - Utils.log("============ 跳转至非桌面 计时开始"); - } else { - - if (mPrePackageName.equals(mNextPackageName)) { - //如果mNextPackageName和mPrePackageName相同(无跳转操作),那么计时增加 - mRunTime = mRunTime + 1; - Utils.log("============ 无跳转操作"); - } else { - // TODO 计时结束 存储数据 - // 非桌面跳转至非桌面 mPrePackageName的计时结束,mNextPackageName的计时开始 - Utils.log("============ 非桌面跳转至非桌面 计时结束 存储数据22" + mRunTime); - writeToStorage(); - } - } - } - } else { - if (mRunTime != 0) { - // TODO 计时结束 存储数据 - writeToStorage(); - } - Utils.log("======屏幕变暗 停止统计服务" + mRunTime); - stopSelf(); // 屏幕变暗 停止统计服务 - break; // 结束服务之后跳出循环 - } - i = i + 1; - sleep(1000); - Utils.log("============" + isScreenOn + "==" + mPrePackageName + "::" + mRunTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - }).start(); - } - - @Nullable - @Override - public IBinder onBind(Intent intent) { - return null; - } - - private void writeToStorage() { - if (mRunTime != 0) { - StatisticsUtils.saveRunTime(mPrePackageName, mRunTime, runTimeDao); - } - mRunTime = 0; - mPrePackageName = mNextPackageName; - } -} +//package com.gh.gamecenter.statistics; +// +//import android.app.ActivityManager; +//import android.app.Service; +//import android.content.Context; +//import android.content.Intent; +//import android.content.pm.ApplicationInfo; +//import android.content.pm.PackageInfo; +//import android.os.IBinder; +//import android.os.PowerManager; +//import android.support.annotation.Nullable; +// +//import com.lightgame.utils.Utils; +//import com.gh.gamecenter.db.AppRunTimeDao; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import static java.lang.Thread.sleep; +// +///** +// * Created by khy on 2016/12/30. +// * 统计用户App运行时长服务 +// */ +//public class AppStaticService extends Service { +// +// AppRunTimeDao runTimeDao; +// private List mTaskInfo; +// private ActivityManager.RunningTaskInfo mTopTaskInfo; +// private ActivityManager mActivityManager; +// private String mPrePackageName; // 切换app前的应用包名 +// +// // private String homePackage = "com.huawei.android.launcher"; //桌面包名 以华为为例 +// private String mNextPackageName; // 切换app后的应用包名 +// private ArrayList homePackage; +// private int mRunTime; +// +// @Override +// public void onCreate() { +// super.onCreate(); +// mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); +// mPrePackageName = getPackageName(); +// mNextPackageName = getPackageName(); +// runTimeDao = new AppRunTimeDao(getApplicationContext()); +// +// homePackage = new ArrayList<>(); +// +// List packages = getPackageManager() +// .getInstalledPackages(0); +// +// for (PackageInfo aPackage : packages) { +// if ((aPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0) { +// Utils.log("============系统应用" + aPackage.packageName); +// homePackage.add(aPackage.packageName); +// } +// } +//// PackageManager packageManager = getApplication().getPackageManager(); +//// Intent intent = new Intent(Intent.ACTION_MAIN); +//// intent.addCategory(Intent.CATEGORY_HOME); +//// List resolveInfos = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); +// +// new Thread(new Runnable() { +// @Override +// public void run() { +// PowerManager mPowerManager = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); +// boolean isScreenOn; +// int i = 0; +// while (true) { +// try { +// isScreenOn = mPowerManager.isScreenOn(); //判断屏幕状态(屏幕亮起/屏幕熄灭) +// if (isScreenOn) { +// //TODO remove this +//// // 获取当前正在运行的任务 +// mTaskInfo = mActivityManager.getRunningTasks(1); +// +// mTopTaskInfo = mTaskInfo.get(0); +// mNextPackageName = mTopTaskInfo.topActivity.getPackageName(); +// +// if (homePackage.contains(mNextPackageName)) { // 跳转至桌面 +// if (homePackage.contains(mPrePackageName)) { // 桌面跳转至桌面 不统计 +// Utils.log("============ 桌面跳转至桌面 不统计" + mNextPackageName); +// } else { // 非桌面跳转至桌面 +// // 计时结束 存储数据 +// writeToStorage(); +// Utils.log("============ 非桌面跳转至桌面 计时结束 存储数据" + mRunTime); +// } +// +// } else { // 跳转至非桌面 +// if (homePackage.contains(mPrePackageName)) { +// // mNextPackageName不是桌面 mPrePackageName是桌面,从桌面到非桌面,计时开始 +// // 计时开始 +// mRunTime = mRunTime + 1; +// mPrePackageName = mNextPackageName; //身份转换 +// Utils.log("============ 跳转至非桌面 计时开始"); +// } else { +// +// if (mPrePackageName.equals(mNextPackageName)) { +// //如果mNextPackageName和mPrePackageName相同(无跳转操作),那么计时增加 +// mRunTime = mRunTime + 1; +// Utils.log("============ 无跳转操作"); +// } else { +// // 计时结束 存储数据 +// // 非桌面跳转至非桌面 mPrePackageName的计时结束,mNextPackageName的计时开始 +// Utils.log("============ 非桌面跳转至非桌面 计时结束 存储数据22" + mRunTime); +// writeToStorage(); +// } +// } +// } +// } else { +// if (mRunTime != 0) { +// // 计时结束 存储数据 +// writeToStorage(); +// } +// Utils.log("======屏幕变暗 停止统计服务" + mRunTime); +// stopSelf(); // 屏幕变暗 停止统计服务 +// break; // 结束服务之后跳出循环 +// } +// i = i + 1; +// sleep(1000); +// Utils.log("============" + isScreenOn + "==" + mPrePackageName + "::" + mRunTime); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } +// } +// } +// }).start(); +// } +// +// @Nullable +// @Override +// public IBinder onBind(Intent intent) { +// return null; +// } +// +// private void writeToStorage() { +// if (mRunTime != 0) { +// StatisticsUtils.saveRunTime(mPrePackageName, mRunTime, runTimeDao); +// } +// mRunTime = 0; +// mPrePackageName = mNextPackageName; +// } +//} diff --git a/app/src/main/java/com/gh/gamecenter/statistics/AppTrafficUtils.java b/app/src/main/java/com/gh/gamecenter/statistics/AppTrafficUtils.java index 9d06ca482a..d9235b7ca8 100644 --- a/app/src/main/java/com/gh/gamecenter/statistics/AppTrafficUtils.java +++ b/app/src/main/java/com/gh/gamecenter/statistics/AppTrafficUtils.java @@ -1,161 +1,161 @@ -package com.gh.gamecenter.statistics; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.net.TrafficStats; - -import com.gh.gamecenter.db.AppTrafficDao; -import com.gh.gamecenter.db.info.AppTrafficInfo; -import com.lightgame.utils.Utils; - -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; - -/** - * Created by khy on 23/07/17. - * - * 流量统计 - */ - -public class AppTrafficUtils { - - public static void appTraffic(Context context) { - try { -// ConcernManager cManager = new ConcernManager(context); -// List runnableGame = cManager.getInstalledGame(); -// if (runnableGame.size() == 0) return; // 没有安装光环助手已有的游戏 - - - AppTrafficDao trafficDao = new AppTrafficDao(context); - long lastTime = trafficDao.getLastTime(); - long curTime = Utils.getTime(context) * 1000; - int offsetDay = 1; // 默认 - if (lastTime != 0) { - - Calendar calendar = Calendar.getInstance(); - Date lastDate = new Date(lastTime); - calendar.setTime(lastDate); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.MILLISECOND, 0); - long lastTimeZero = calendar.getTimeInMillis(); // 最后一次保存零点 - - Date curDate = new Date(curTime); - calendar.setTime(curDate); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.MILLISECOND, 0); - long curTimeZero = calendar.getTimeInMillis(); // 当前时间零点 - - long zeroOffset = curTimeZero - lastTimeZero; - - offsetDay = (int) (zeroOffset / (86400 * 1000)); - } - - Utils.log("=======偏移天数" + offsetDay); - - if (offsetDay == 0) return; - - HashMap mapByDay = new HashMap<>(); // 记录一天的流量 - HashMap mapByAll = new HashMap<>(); // 记录总的流量 - AppTrafficInfo lastTraffic = trafficDao.getLastTraffic(); - HashMap lastMapByAll = null; - if (lastTraffic != null) { - lastMapByAll = lastTraffic.getTrafficByAll(); - } - - PackageManager pm = context.getPackageManager(); - -// for (ConcernInfo concernInfo : runnableGame) { // 记录光环助手包含的已安装的游戏流量使用情况 -// String pkgName = concernInfo.getPackageNames().keySet().iterator().next(); -// ApplicationInfo applicationInfo = pm.getApplicationInfo(pkgName, PackageManager.GET_META_DATA); -// int uid = applicationInfo.uid; +//package com.gh.gamecenter.statistics; // -// long uidRxBytes = TrafficStats.getUidRxBytes(uid); -// long KB = uidRxBytes / 1024; -// Utils.log(pkgName + "==总流量::" + KB + "KB"); +//import android.content.Context; +//import android.content.pm.ApplicationInfo; +//import android.content.pm.PackageInfo; +//import android.content.pm.PackageManager; +//import android.net.TrafficStats; // -// if (lastTraffic != null) { +//import com.gh.gamecenter.db.AppTrafficDao; +//import com.gh.gamecenter.db.info.AppTrafficInfo; +//import com.lightgame.utils.Utils; // -// long trafficByDay; // 统计某段时间流量使用情况 -// Long lastTrafficByAll = lastMapByAll.get(pkgName); // 最后一次记录的流量使用总数 -// if (lastTrafficByAll != null && lastMapByAll.get(pkgName) > KB) { // 特殊情况,本次总的流量比上次记录的小(有可能是手机重启,导致流量表被清空) -// trafficByDay = KB; -// } else if (lastTrafficByAll != null) { // 正常情况,上次有记录,本次总数减去最后一次记录总数得出某段时间使用值 -// trafficByDay = KB - lastTrafficByAll; -// } else { // 没有流量记录(并不是所有记录为空,而是默认APP没有记录,有可能是新安装的),默认为零 -// trafficByDay = 0; -// } +//import java.util.Calendar; +//import java.util.Date; +//import java.util.HashMap; +//import java.util.List; // -// Utils.log(pkgName + "==当天流量::" + trafficByDay + "KB"); -// mapByDay.put(pkgName, trafficByDay); // 如果上一次没有记录 trafficByDay 为-1 +///** +// * Created by khy on 23/07/17. +// * +// * 流量统计 +// */ // -// } -// mapByAll.put(pkgName, KB); +//public class AppTrafficUtils { +// +// public static void appTraffic(Context context) { +// try { +//// ConcernManager cManager = new ConcernManager(context); +//// List runnableGame = cManager.getInstalledGame(); +//// if (runnableGame.size() == 0) return; // 没有安装光环助手已有的游戏 +// +// +// AppTrafficDao trafficDao = new AppTrafficDao(context); +// long lastTime = trafficDao.getLastTime(); +// long curTime = Utils.getTime(context) * 1000; +// int offsetDay = 1; // 默认 +// if (lastTime != 0) { +// +// Calendar calendar = Calendar.getInstance(); +// Date lastDate = new Date(lastTime); +// calendar.setTime(lastDate); +// calendar.set(Calendar.HOUR_OF_DAY, 0); +// calendar.set(Calendar.SECOND, 0); +// calendar.set(Calendar.MINUTE, 0); +// calendar.set(Calendar.MILLISECOND, 0); +// long lastTimeZero = calendar.getTimeInMillis(); // 最后一次保存零点 +// +// Date curDate = new Date(curTime); +// calendar.setTime(curDate); +// calendar.set(Calendar.HOUR_OF_DAY, 0); +// calendar.set(Calendar.SECOND, 0); +// calendar.set(Calendar.MINUTE, 0); +// calendar.set(Calendar.MILLISECOND, 0); +// long curTimeZero = calendar.getTimeInMillis(); // 当前时间零点 +// +// long zeroOffset = curTimeZero - lastTimeZero; +// +// offsetDay = (int) (zeroOffset / (86400 * 1000)); // } - - List installedPackages = pm.getInstalledPackages(0); - for (PackageInfo installedPackage : installedPackages) { // 获取第三方应用流量使用情况 - if ((installedPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { - String pkgName = installedPackage.applicationInfo.packageName; - int uid = installedPackage.applicationInfo.uid; - - long uidRxBytes = TrafficStats.getUidRxBytes(uid); - long KB = uidRxBytes / 1024; - Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "==总流量::" + KB + "KB"); - - if (lastTraffic != null) { - - long trafficByDay; // 统计某段时间流量使用情况 - Long lastTrafficByAll = lastMapByAll.get(pkgName); // 最后一次记录的流量使用总数 - if (lastTrafficByAll != null && lastMapByAll.get(pkgName) > KB) { // 特殊情况,本次总的流量比上次记录的小(有可能是手机重启,导致流量表被清空) - trafficByDay = KB; - } else if (lastTrafficByAll != null) { // 正常情况,上次有记录,本次总数减去最后一次记录总数得出某段时间使用值 - trafficByDay = KB - lastTrafficByAll; - } else { // 没有流量记录(并不是所有记录为空,而是默认APP没有记录,有可能是新安装的),默认为零 - trafficByDay = 0; - } - - Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "==当天流量::" + trafficByDay + "KB"); - mapByDay.put(pkgName, trafficByDay); // 如果上一次没有记录 trafficByDay 为-1 - - } - mapByAll.put(pkgName, KB); - } - } - - if (offsetDay == 1) { // 一天统计一次 - AppTrafficInfo entity = new AppTrafficInfo(); - entity.setTime(curTime); - entity.setTrafficByAll(mapByAll); - entity.setTrafficByDay(mapByDay); - trafficDao.add(entity); - return; - } - - if (offsetDay > 1) { // 过程由于种种原因无法一天统计一次, 存储的流量按每天平均存储 - for (String s : mapByDay.keySet()) { - mapByDay.put(s, mapByDay.get(s) / offsetDay); - } - - for (int i = 0; i < offsetDay; i++) { - AppTrafficInfo entity = new AppTrafficInfo(); - long targetTime = curTime - (86400 * 1000) * i; - entity.setTime(targetTime); - entity.setTrafficByAll(mapByAll); - entity.setTrafficByDay(mapByDay); - trafficDao.add(entity); - } - } - - } catch (Exception e) { - e.printStackTrace(); - } - } -} +// +// Utils.log("=======偏移天数" + offsetDay); +// +// if (offsetDay == 0) return; +// +// HashMap mapByDay = new HashMap<>(); // 记录一天的流量 +// HashMap mapByAll = new HashMap<>(); // 记录总的流量 +// AppTrafficInfo lastTraffic = trafficDao.getLastTraffic(); +// HashMap lastMapByAll = null; +// if (lastTraffic != null) { +// lastMapByAll = lastTraffic.getTrafficByAll(); +// } +// +// PackageManager pm = context.getPackageManager(); +// +//// for (ConcernInfo concernInfo : runnableGame) { // 记录光环助手包含的已安装的游戏流量使用情况 +//// String pkgName = concernInfo.getPackageNames().keySet().iterator().next(); +//// ApplicationInfo applicationInfo = pm.getApplicationInfo(pkgName, PackageManager.GET_META_DATA); +//// int uid = applicationInfo.uid; +//// +//// long uidRxBytes = TrafficStats.getUidRxBytes(uid); +//// long KB = uidRxBytes / 1024; +//// Utils.log(pkgName + "==总流量::" + KB + "KB"); +//// +//// if (lastTraffic != null) { +//// +//// long trafficByDay; // 统计某段时间流量使用情况 +//// Long lastTrafficByAll = lastMapByAll.get(pkgName); // 最后一次记录的流量使用总数 +//// if (lastTrafficByAll != null && lastMapByAll.get(pkgName) > KB) { // 特殊情况,本次总的流量比上次记录的小(有可能是手机重启,导致流量表被清空) +//// trafficByDay = KB; +//// } else if (lastTrafficByAll != null) { // 正常情况,上次有记录,本次总数减去最后一次记录总数得出某段时间使用值 +//// trafficByDay = KB - lastTrafficByAll; +//// } else { // 没有流量记录(并不是所有记录为空,而是默认APP没有记录,有可能是新安装的),默认为零 +//// trafficByDay = 0; +//// } +//// +//// Utils.log(pkgName + "==当天流量::" + trafficByDay + "KB"); +//// mapByDay.put(pkgName, trafficByDay); // 如果上一次没有记录 trafficByDay 为-1 +//// +//// } +//// mapByAll.put(pkgName, KB); +//// } +// +// List installedPackages = pm.getInstalledPackages(0); +// for (PackageInfo installedPackage : installedPackages) { // 获取第三方应用流量使用情况 +// if ((installedPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { +// String pkgName = installedPackage.applicationInfo.packageName; +// int uid = installedPackage.applicationInfo.uid; +// +// long uidRxBytes = TrafficStats.getUidRxBytes(uid); +// long KB = uidRxBytes / 1024; +// Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "==总流量::" + KB + "KB"); +// +// if (lastTraffic != null) { +// +// long trafficByDay; // 统计某段时间流量使用情况 +// Long lastTrafficByAll = lastMapByAll.get(pkgName); // 最后一次记录的流量使用总数 +// if (lastTrafficByAll != null && lastMapByAll.get(pkgName) > KB) { // 特殊情况,本次总的流量比上次记录的小(有可能是手机重启,导致流量表被清空) +// trafficByDay = KB; +// } else if (lastTrafficByAll != null) { // 正常情况,上次有记录,本次总数减去最后一次记录总数得出某段时间使用值 +// trafficByDay = KB - lastTrafficByAll; +// } else { // 没有流量记录(并不是所有记录为空,而是默认APP没有记录,有可能是新安装的),默认为零 +// trafficByDay = 0; +// } +// +// Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "==当天流量::" + trafficByDay + "KB"); +// mapByDay.put(pkgName, trafficByDay); // 如果上一次没有记录 trafficByDay 为-1 +// +// } +// mapByAll.put(pkgName, KB); +// } +// } +// +// if (offsetDay == 1) { // 一天统计一次 +// AppTrafficInfo entity = new AppTrafficInfo(); +// entity.setTime(curTime); +// entity.setTrafficByAll(mapByAll); +// entity.setTrafficByDay(mapByDay); +// trafficDao.add(entity); +// return; +// } +// +// if (offsetDay > 1) { // 过程由于种种原因无法一天统计一次, 存储的流量按每天平均存储 +// for (String s : mapByDay.keySet()) { +// mapByDay.put(s, mapByDay.get(s) / offsetDay); +// } +// +// for (int i = 0; i < offsetDay; i++) { +// AppTrafficInfo entity = new AppTrafficInfo(); +// long targetTime = curTime - (86400 * 1000) * i; +// entity.setTime(targetTime); +// entity.setTrafficByAll(mapByAll); +// entity.setTrafficByDay(mapByDay); +// trafficDao.add(entity); +// } +// } +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +//} diff --git a/app/src/main/java/com/gh/gamecenter/statistics/StatisticsUtils.java b/app/src/main/java/com/gh/gamecenter/statistics/StatisticsUtils.java index 88a73a106c..1bacb9fc28 100644 --- a/app/src/main/java/com/gh/gamecenter/statistics/StatisticsUtils.java +++ b/app/src/main/java/com/gh/gamecenter/statistics/StatisticsUtils.java @@ -1,21 +1,21 @@ -package com.gh.gamecenter.statistics; - -import com.gh.gamecenter.db.AppRunTimeDao; -import com.gh.gamecenter.db.info.AppRunTimeInfo; - -/** - * Created by khy on 2017/1/3. - */ -public class StatisticsUtils { - - public static void saveRunTime(String packageName, int runTimeCount, AppRunTimeDao runTimeDao) { - - - if (runTimeDao.isExist(packageName)) { - runTimeDao.update(new AppRunTimeInfo(packageName, (runTimeCount + runTimeDao.getRunTimeCount(packageName)))); - } else { - runTimeDao.add(new AppRunTimeInfo(packageName, runTimeCount)); - } - } - -} +//package com.gh.gamecenter.statistics; +// +//import com.gh.gamecenter.db.AppRunTimeDao; +//import com.gh.gamecenter.db.info.AppRunTimeInfo; +// +///** +// * Created by khy on 2017/1/3. +// */ +//public class StatisticsUtils { +// +// public static void saveRunTime(String packageName, int runTimeCount, AppRunTimeDao runTimeDao) { +// +// +// if (runTimeDao.isExist(packageName)) { +// runTimeDao.update(new AppRunTimeInfo(packageName, (runTimeCount + runTimeDao.getRunTimeCount(packageName)))); +// } else { +// runTimeDao.add(new AppRunTimeInfo(packageName, runTimeCount)); +// } +// } +// +//} diff --git a/app/src/main/java/com/gh/gamecenter/statistics/TrafficUtils.java b/app/src/main/java/com/gh/gamecenter/statistics/TrafficUtils.java index f5254673c4..76a3067e27 100644 --- a/app/src/main/java/com/gh/gamecenter/statistics/TrafficUtils.java +++ b/app/src/main/java/com/gh/gamecenter/statistics/TrafficUtils.java @@ -1,30 +1,30 @@ -package com.gh.gamecenter.statistics; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.net.TrafficStats; - -import com.lightgame.utils.Utils; - -import java.util.List; - -/** - * Created by khy on 2017/1/3. - */ -public class TrafficUtils { - public static void getAppTraffic(Context context) { - PackageManager pm = context.getPackageManager(); - List installedPackages = pm.getInstalledPackages(0); - TrafficStats trafficStats = new TrafficStats(); - for (PackageInfo installedPackage : installedPackages) { - if ((installedPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { - int uid = installedPackage.applicationInfo.uid; - long uidRxBytes = trafficStats.getUidRxBytes(uid); - long KB = uidRxBytes / 1024; - Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "=====" + uid + "===========" + KB); - } - } - } -} +//package com.gh.gamecenter.statistics; +// +//import android.content.Context; +//import android.content.pm.ApplicationInfo; +//import android.content.pm.PackageInfo; +//import android.content.pm.PackageManager; +//import android.net.TrafficStats; +// +//import com.lightgame.utils.Utils; +// +//import java.util.List; +// +///** +// * Created by khy on 2017/1/3. +// */ +//public class TrafficUtils { +// public static void getAppTraffic(Context context) { +// PackageManager pm = context.getPackageManager(); +// List installedPackages = pm.getInstalledPackages(0); +// TrafficStats trafficStats = new TrafficStats(); +// for (PackageInfo installedPackage : installedPackages) { +// if ((installedPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { +// int uid = installedPackage.applicationInfo.uid; +// long uidRxBytes = trafficStats.getUidRxBytes(uid); +// long KB = uidRxBytes / 1024; +// Utils.log(installedPackage.applicationInfo.loadLabel(pm).toString() + "=====" + uid + "===========" + KB); +// } +// } +// } +//} diff --git a/app/src/main/java/com/gh/gamecenter/statistics/UnlockScreenReceiver.java b/app/src/main/java/com/gh/gamecenter/statistics/UnlockScreenReceiver.java index ca76e9da13..0fb2ef4a52 100644 --- a/app/src/main/java/com/gh/gamecenter/statistics/UnlockScreenReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/statistics/UnlockScreenReceiver.java @@ -1,21 +1,21 @@ -package com.gh.gamecenter.statistics; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; - -import com.lightgame.utils.Utils; - -/** - * Created by khy on 2016/12/31. - */ -public class UnlockScreenReceiver extends BroadcastReceiver { - - @Override - public void onReceive(Context context, Intent intent) { - Utils.log("================屏幕状态切换" + intent.getAction()); - - Intent staticIntent = new Intent(context, AppStaticService.class); - context.startService(staticIntent); - } -} +//package com.gh.gamecenter.statistics; +// +//import android.content.BroadcastReceiver; +//import android.content.Context; +//import android.content.Intent; +// +//import com.lightgame.utils.Utils; +// +///** +// * Created by khy on 2016/12/31. +// */ +//public class UnlockScreenReceiver extends BroadcastReceiver { +// +// @Override +// public void onReceive(Context context, Intent intent) { +// Utils.log("================屏幕状态切换" + intent.getAction()); +// +// Intent staticIntent = new Intent(context, AppStaticService.class); +// context.startService(staticIntent); +// } +//} diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java index 1ae7ef86c7..efc5e32441 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java @@ -17,7 +17,6 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.EntranceUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.KaiFuUtils; @@ -246,13 +245,10 @@ public class SubjectAdapter extends BaseRecyclerAdapter { GameDetailActivity.startGameDetailActivity(mContext, gameEntity.getLink(), mEntrance + "(" + mName + ":大图)"); break; case "news": - //TODO 统一startNewsDetailActivity // 统计阅读量 NewsUtils.statNewsViews(mContext, gameEntity.getLink()); + Intent intent = NewsDetailActivity.getIntentById(mContext, gameEntity.getLink(), mEntrance + "(" + mName + ":大图)"); - Intent intent = new Intent(mContext, NewsDetailActivity.class); - intent.putExtra("newsId", gameEntity.getLink()); - intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "(" + mName + ":大图)"); mContext.startActivity(intent); break; case "column":