diff --git a/app/build.gradle b/app/build.gradle index d994b4fb22..7fb8560b6c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,8 +38,23 @@ android { applicationId "com.gh.gamecenter" minSdkVersion 14 targetSdkVersion 19 - versionCode 10 - versionName "1.45" + versionCode 11 + versionName "1.451" + + // 默认的渠道 +// manifestPlaceholders = [CHANNEL_VALUE: "GH_TEST"] + } + + /** + * 签名设置 + */ + signingConfigs { + release { + storeFile file("gh.keystore") + keyAlias "gh.keystore" + keyPassword "20150318" + storePassword "20150318" + } } buildTypes { @@ -50,12 +65,28 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' +// signingConfig signingConfigs.release } } applicationVariants.all { variant -> variant.dex.dependsOn << processWithJavassist //在执行dx命令之前将代码打入到class中 } + + /** + * 渠道打包 + */ +// productFlavors { +// "GH_200"{ +// manifestPlaceholders = [CHANNEL_VALUE: "GH_200"] +// } +// } +// productFlavors { +// GH_200 {} +// } +// productFlavors.all { flavor -> +// flavor.manifestPlaceholders = [CHANNEL_VALUE: name]//命令 gradlew assembleRelease +// } } dependencies { diff --git a/app/gh.keystore b/app/gh.keystore new file mode 100644 index 0000000000..e6e3ffd39a Binary files /dev/null and b/app/gh.keystore differ diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index bd1cca34c0..230ee3671d 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -352,13 +352,11 @@ public class DownloadItemUtils { TextView downloadBtn, TextView download_speed, TextView download_percentage, GameEntity entity, int position, RecyclerView.Adapter adapter, - Handler handler, ArrayMap lastTimeMap, ArrayMap statusMap, ArrayMap> platformMap, String entrance, DismissEntity dismissEntity, String location) { setOnClickListener(context, downloadBtn, download_speed, - download_percentage, entity, position, adapter, handler, - lastTimeMap, statusMap, platformMap, entrance, true, + download_percentage, entity, position, adapter, statusMap, platformMap, entrance, true, dismissEntity, location); } @@ -367,7 +365,6 @@ public class DownloadItemUtils { final TextView download_percentage, final GameEntity entity, final int position, final RecyclerView.Adapter adapter, - final Handler handler, final ArrayMap lastTimeMap, final ArrayMap statusMap, final ArrayMap> platformMap, final String entrance, final boolean isShowPlatform, @@ -468,8 +465,7 @@ public class DownloadItemUtils { dismissEntity.setShow(true); DownloadDialog.getInstance(context) .showPopupWindow(viewBtn, entity, - entrance, handler, - lastTimeMap, statusMap, + entrance, statusMap, download_speed, download_percentage, location); @@ -598,8 +594,6 @@ public class DownloadItemUtils { viewBtn, entity, entrance, - handler, - lastTimeMap, statusMap, download_speed, download_percentage, @@ -658,9 +652,9 @@ public class DownloadItemUtils { Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = entity.getApk().get(0).getUrl(); - lastTimeMap.put(entity.getApk().get(0).getUrl(), + DownloadManager.getInstance(context).put(entity.getApk().get(0).getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(context).sendMessageDelayed(msg, 1000); } else if ("继续".equals(str)) { ArrayMap entryMap = entity .getEntryMap(); @@ -730,9 +724,9 @@ public class DownloadItemUtils { Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = entity.getApk().get(0).getUrl(); - lastTimeMap.put(entity.getApk().get(0).getUrl(), + DownloadManager.getInstance(context).put(entity.getApk().get(0).getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(context).sendMessageDelayed(msg, 1000); } else if ("安装".equals(str)) { String path = entity.getEntryMap() .get(entity.getEntryMap().keyAt(0)).getPath(); diff --git a/app/src/main/java/com/gh/common/util/TimestampUtils.java b/app/src/main/java/com/gh/common/util/TimestampUtils.java index 5ecd7ffbd5..88754cc92f 100644 --- a/app/src/main/java/com/gh/common/util/TimestampUtils.java +++ b/app/src/main/java/com/gh/common/util/TimestampUtils.java @@ -1,16 +1,60 @@ package com.gh.common.util; +import android.net.Uri; +import android.support.v4.util.ArrayMap; + +import com.gh.common.constant.Config; + +import java.util.regex.Pattern; + public class TimestampUtils { // 基准时间 private static final long BASE = 1426608000000L; + private static ArrayMap map; + /* * 根据CD获取时间戳 */ - public static long getTimestamp(int cd) { + public static long getTimestamp(String url, int cd) { + if (map == null){ + map = new ArrayMap(); + map.put("^" + Config.HOST + "v1d45/index/kapaitoutiao" + "$", 5); + map.put("^" + Config.HOST + "v1d45/index/remenkapai" + "$", 10); + map.put("^" + Config.HOST + "v1d45/index/xincekapai" + "$", 15); + map.put("^" + Config.HOST + "v1d45/index/yuedujingxuan" + "$", 20); + map.put("^" + Config.HOST + "v1d45/index/zuixinchajian" + "$", 25); + map.put("^" + Config.HOST + "v1d45/search/game\\?keyword=.+" + "$", 30); + map.put("^" + Config.HOST + "v1d45/plugin/slide" + "$", 40); + map.put("^" + Config.HOST + "v1d45/plugin/jingpin\\?limit=20\\&offset=.+" + "$", 35); + map.put("^" + Config.HOST + "v1d45/plugin/zuixin\\?limit=20\\&offset=.+" + "$", 45); + map.put("^" + Config.HOST + "v1d45/plugin/danji\\?limit=20\\&offset=.+" + "$", 50); + map.put("^" + Config.HOST + "v1d45/game/remenkapai" + "$", 60); + map.put("^" + Config.HOST + "v1d45/game/youxituijian" + "$", 85); + map.put("^" + Config.HOST + "v1d45/game/xincekapai\\?limit=10\\&offset=.+" + "$", 90); + map.put("^" + Config.HOST + "v1d45/game/.+/digest" + "$", 55); + map.put("^" + Config.HOST + "v1d45/game/.+/digest" + "$", 65); + map.put("^" + Config.HOST + "v1d45/game/.+/news_digest" + "$", 70); + map.put("^" + Config.HOST + "v1d45/game/.+/news\\?limit=3\\&offset=0\\&type_group=.+" + "$", 75); + map.put("^" + Config.HOST + "v1d45/game/.+/news\\?limit=5\\&offset=0\\&type_group=.+" + "$", 80); + map.put("^" + Config.HOST + "v1d45/news/.+/suggestion" + "$", 95); + map.put("^" + Config.HOST + "v1d45/news\\?type_group=.+\\&offset=.+\\&limit=20" + "$", 100); + map.put("^" + Config.HOST + "v1d45/support/setting/platform" + "$", 105); + map.put("^" + Config.HOST + "v1d45/support/package/.+/game/digest" + "$", 110); + map.put("^" + Config.HOST + "v1d45/support/package/update\\?package=.+" + "$", 115); + } + long base = BASE; + for (String key : map.keySet()){ + if (Pattern.matches(key, url)) { + Utils.log("url add base = " + url); + base += map.get(key); + break; + } + } long now = System.currentTimeMillis(); - return (long) (Math.ceil((now - BASE) / cd) * cd + BASE); + Utils.log("url now timestamp = " + now); + return (long) (Math.ceil((now - base) / cd) * cd + base); } /* @@ -18,9 +62,13 @@ public class TimestampUtils { */ public static String addTimestamp(String url, int cd) { if (url.contains("?")) { - return url + "×tamp=" + getTimestamp(cd); + String u = url + "×tamp=" + getTimestamp(url, cd); + Utils.log("url = " + u); + return u; } else { - return url + "?timestamp=" + getTimestamp(cd); + String u = url + "?timestamp=" + getTimestamp(url, cd); + Utils.log("url = " + u); + return u; } } diff --git a/app/src/main/java/com/gh/common/view/AutoScrollViewPager.java b/app/src/main/java/com/gh/common/view/AutoScrollViewPager.java index 3bbfab0623..21b1849b31 100644 --- a/app/src/main/java/com/gh/common/view/AutoScrollViewPager.java +++ b/app/src/main/java/com/gh/common/view/AutoScrollViewPager.java @@ -242,7 +242,8 @@ public class AutoScrollViewPager extends ViewPager { return super.dispatchTouchEvent(ev); } } - getParent().requestDisallowInterceptTouchEvent(true); + //防止viewpager拿到焦点不干活 +// getParent().requestDisallowInterceptTouchEvent(true); return super.dispatchTouchEvent(ev); } diff --git a/app/src/main/java/com/gh/common/view/DownloadDialog.java b/app/src/main/java/com/gh/common/view/DownloadDialog.java index 29b6f0d44e..25a099e6f2 100644 --- a/app/src/main/java/com/gh/common/view/DownloadDialog.java +++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java @@ -142,7 +142,6 @@ public class DownloadDialog { private String gameType; private String entrance; private String mlocation; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private TextView download_speed; private TextView download_percentage; @@ -152,41 +151,18 @@ public class DownloadDialog { private int row; private int column; - private Handler handler; - public void showPopupWindow(View view, GameEntity game, String entrance, String location) { - ArrayMap mLastTimeMap = new ArrayMap(); ArrayMap mStatusMap = new ArrayMap(); - Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(context).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(context).pause(url); - } - } - } - }; - showPopupWindow(view, game, entrance, mHandler, mLastTimeMap, - mStatusMap, location); + showPopupWindow(view, game, entrance, mStatusMap, location); } public void showPopupWindow(View view, GameEntity game, String entrance, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, String location) { - showPopupWindow(view, game, entrance, hdler, ltMap, sMap, null, null, - location); + showPopupWindow(view, game, entrance, sMap, null, null, location); } public void showPopupWindow(View view, GameEntity game, String eStr, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, TextView dSpeed, TextView dPercentage, String lstr) { @@ -197,8 +173,6 @@ public class DownloadDialog { mlocation = lstr; entrance = eStr; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; download_speed = dSpeed; download_percentage = dPercentage; @@ -759,9 +733,9 @@ public class DownloadDialog { Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = apkEntity.getUrl(); - lastTimeMap.put(apkEntity.getUrl(), + DownloadManager.getInstance(context).put(apkEntity.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(context).sendMessageDelayed(msg, 1000); EventBus.getDefault().post(new EBRedDot(0)); } else if ("启动".equals(status)) { Map kv = new HashMap(); @@ -942,9 +916,9 @@ public class DownloadDialog { Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = apkEntity.getUrl(); - lastTimeMap.put(apkEntity.getUrl(), + DownloadManager.getInstance(context).put(apkEntity.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(context).sendMessageDelayed(msg, 1000); } } } diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index 95e5249071..5c31d96470 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -2,6 +2,9 @@ package com.gh.download; import android.content.Context; import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import android.support.v4.util.ArrayMap; import android.widget.Toast; import com.gh.common.constant.Constants; @@ -16,16 +19,43 @@ public class DownloadManager { private static DownloadManager mInstance; private Context context; + private Handler handler; + private ArrayMap lastTimeMap; + private DownloadManager(Context context) { this.context = context; + lastTimeMap = new ArrayMap(); + handler = new Handler(context.getMainLooper()){ + @Override + public void handleMessage(Message msg) { + if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { + String url = (String) msg.obj; + if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { + resume(url); + } + } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { + String url = (String) msg.obj; + if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { + pause(url); + } + } + } + }; context.startService(new Intent(context, DownloadService.class)); } + public void put(String url, long time) { + lastTimeMap.put(url, time); + } + + public void sendMessageDelayed(Message msg, long delayMillis) { + handler.sendMessageDelayed(msg, delayMillis); + } + public static DownloadManager getInstance(Context context) { if (mInstance == null) { mInstance = new DownloadManager(context.getApplicationContext()); } - return mInstance; } diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java index b3a9750229..5c6bcb85ed 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java @@ -119,29 +119,9 @@ public class GameDetailsActivity extends BaseFragmentActivity implements private boolean isShowPluginDialog = false; private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; - private Handler handler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (!isDestroy) { - if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(GameDetailsActivity.this) - .resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(GameDetailsActivity.this) - .pause(url); - } - } - } - } - }; + private Handler handler = new Handler(); private DataWatcher dataWatcher = new DataWatcher() { @Override @@ -215,7 +195,6 @@ public class GameDetailsActivity extends BaseFragmentActivity implements entity = (GameEntity) AppController.get("GameEntity", true); } - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); concernManager = new ConcernManager(getApplicationContext()); @@ -293,7 +272,11 @@ public class GameDetailsActivity extends BaseFragmentActivity implements gamedetails_ll_loading.setVisibility(View.GONE); gamedetails_vp_show.setVisibility(View.VISIBLE); gamedetails_ll_top.setVisibility(View.VISIBLE); - gamedetails_ll_bottom.setVisibility(View.VISIBLE); + if (Config.isShow) { + gamedetails_ll_bottom.setVisibility(View.VISIBLE); + } else { + gamedetails_ll_bottom.setVisibility(View.GONE); + } init(); } }, new Response.ErrorListener() { @@ -564,8 +547,7 @@ public class GameDetailsActivity extends BaseFragmentActivity implements DownloadDialog .getInstance(GameDetailsActivity.this) .showPopupWindow(v, entity, - entrance + "-游戏详情", handler, - lastTimeMap, statusMap, + entrance + "-游戏详情", statusMap, "游戏详情:" + entity.getName()); } } @@ -717,7 +699,6 @@ public class GameDetailsActivity extends BaseFragmentActivity implements GameDetailsActivity.this) .showPopupWindow(v, entity, entrance + "-游戏详情", - handler, lastTimeMap, statusMap, "游戏详情:" + entity.getName()); } @@ -758,9 +739,9 @@ public class GameDetailsActivity extends BaseFragmentActivity implements Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = downloadEntry.getUrl(); - lastTimeMap.put(downloadEntry.getUrl(), + DownloadManager.getInstance(getApplicationContext()).put(downloadEntry.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000); } else if ("安装".equals(str)) { String path = downloadEntry.getPath(); PackageManager manager = new PackageManager( @@ -770,15 +751,17 @@ public class GameDetailsActivity extends BaseFragmentActivity implements } else { DialogUtils.showDialog(GameDetailsActivity.this, path); } + } else if("等待".equals(str)){ + } else { statusMap.put(downloadEntry.getUrl(), "pause"); gamedetails_tv_per.setText("继续"); Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = downloadEntry.getUrl(); - lastTimeMap.put(downloadEntry.getUrl(), + DownloadManager.getInstance(getApplicationContext()).put(downloadEntry.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000); } break; case R.id.reuse_no_connection: @@ -1091,6 +1074,9 @@ public class GameDetailsActivity extends BaseFragmentActivity implements case neterror: gamedetails_tv_per.setText("继续"); break; + case waiting: + gamedetails_tv_per.setText("等待"); + break; case done: EventBus.getDefault().post( new EBPutUrl(entity.getApk().get(0).getPackageName(), @@ -1306,7 +1292,6 @@ public class GameDetailsActivity extends BaseFragmentActivity implements gameId = null; entrance = null; dismissEntity = null; - lastTimeMap = null; statusMap = null; handler = null; dataWatcher = null; diff --git a/app/src/main/java/com/gh/gamecenter/HotCardActivity.java b/app/src/main/java/com/gh/gamecenter/HotCardActivity.java index a87d1572aa..1cf16ee96b 100644 --- a/app/src/main/java/com/gh/gamecenter/HotCardActivity.java +++ b/app/src/main/java/com/gh/gamecenter/HotCardActivity.java @@ -58,7 +58,6 @@ public class HotCardActivity extends BaseActivity { private boolean isEverpause = false; private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -80,18 +79,6 @@ public class HotCardActivity extends BaseActivity { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(HotCardActivity.this) - .resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(HotCardActivity.this) - .pause(url); - } } } } @@ -135,7 +122,6 @@ public class HotCardActivity extends BaseActivity { dismissEntity = new DismissEntity(false); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -149,8 +135,7 @@ public class HotCardActivity extends BaseActivity { DownloadItemUtils.initializeGameMap(this, gameMap); // 黄壮华 传递引用 修改2015/8/15 - adapter = new HotCardAdapter(this, platformMap, handler, lastTimeMap, - statusMap, dismissEntity); + adapter = new HotCardAdapter(this, platformMap, statusMap, dismissEntity); hotcard_list.setAdapter(adapter); hotcard_list.addItemDecoration(new VerticalItemDecoration(this, 1)); @@ -282,7 +267,6 @@ public class HotCardActivity extends BaseActivity { gameMap = null; platformMap = null; nameMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index f6ee9674f5..8e1abedcf0 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -86,6 +86,7 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Random; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -439,6 +440,8 @@ public class MainActivity extends BaseFragmentActivity implements //检查是否存在更新的dex包 checkHotfix(); + + Utils.log("TD_CHANNEL_ID = " + (String) PackageUtils.getMetaData(this, getPackageName(), "TD_CHANNEL_ID")); } private void checkHotfix() { @@ -645,14 +648,18 @@ public class MainActivity extends BaseFragmentActivity implements @Override public void onResponse(JSONArray response) { if (!isDestroy) { - Type listType = new TypeToken>() { - }.getType(); + Type listType = new TypeToken>() {}.getType(); Gson gson = new Gson(); List searchHintList = gson.fromJson( response.toString(), listType); - if (searchHintList != null - && !searchHintList.isEmpty()) { - searchHint = searchHintList.get(0); + if (searchHintList != null && !searchHintList.isEmpty()) { + if (searchHintList.size() == 1) { + searchHint = searchHintList.get(0); + } else { + Random random = new Random(System.currentTimeMillis()); + int index = random.nextInt(searchHintList.size()); + searchHint = searchHintList.get(index); + } EventBus.getDefault().post( new EBTopState("搜索", searchHintList .get(0))); diff --git a/app/src/main/java/com/gh/gamecenter/NewsActivity.java b/app/src/main/java/com/gh/gamecenter/NewsActivity.java index 7f47ec7c68..0206a74dda 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsActivity.java @@ -117,35 +117,14 @@ public class NewsActivity extends BaseActivity implements OnClickListener { private boolean isSentReport = false; private boolean isDestroy = false; - private boolean isShowBottom = false; private DismissEntity dismissEntity; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private ConcernManager concernManager; - private Handler handler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (!isDestroy) { - if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(NewsActivity.this).resume( - url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(NewsActivity.this).pause( - url); - } - } - } - } - }; + private Handler handler = new Handler(); private DataWatcher dataWatcher = new DataWatcher() { @Override @@ -191,7 +170,6 @@ public class NewsActivity extends BaseActivity implements OnClickListener { actionbar_tv_title.setText(entity.getType()); } - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); WebView essaydetails_webView = (WebView) findViewById(R.id.essaydetails_webView); @@ -232,8 +210,10 @@ public class NewsActivity extends BaseActivity implements OnClickListener { start = Calendar.getInstance().getTimeInMillis(); - if (isShowBottom) { + if (Config.isShow) { essaydetails_ll_bottom.setVisibility(View.VISIBLE); + } else { + essaydetails_ll_bottom.setVisibility(View.GONE); } View view = getWindow().findViewById(Window.ID_ANDROID_CONTENT); @@ -397,8 +377,7 @@ public class NewsActivity extends BaseActivity implements OnClickListener { dismissEntity.setShow(true); DownloadDialog.getInstance(NewsActivity.this) .showPopupWindow(v, gameEntity, - entrance + "-文章详情", handler, - lastTimeMap, statusMap, + entrance + "-文章详情", statusMap, "新闻详情:" + entity.getTitle()); } } @@ -543,8 +522,7 @@ public class NewsActivity extends BaseActivity implements OnClickListener { DownloadDialog.getInstance( NewsActivity.this).showPopupWindow( v, gameEntity, entrance + "-文章详情", - handler, lastTimeMap, statusMap, - "新闻详情:" + entity.getTitle()); + statusMap, "新闻详情:" + entity.getTitle()); } } } @@ -576,9 +554,9 @@ public class NewsActivity extends BaseActivity implements OnClickListener { Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = downloadEntry.getUrl(); - lastTimeMap.put(downloadEntry.getUrl(), + DownloadManager.getInstance(getApplicationContext()).put(downloadEntry.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000); } else if ("安装".equals(str)) { String path = downloadEntry.getPath(); PackageManager manager = new PackageManager( @@ -588,15 +566,17 @@ public class NewsActivity extends BaseActivity implements OnClickListener { } else { DialogUtils.showDialog(NewsActivity.this, path); } + } else if("等待".equals(str)){ + } else { statusMap.put(downloadEntry.getUrl(), "pause"); essaydetails_tv_per.setText("继续"); Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = downloadEntry.getUrl(); - lastTimeMap.put(downloadEntry.getUrl(), + DownloadManager.getInstance(getApplicationContext()).put(downloadEntry.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000); } } else if (v == reuse_no_connection) { essaydetails_rv_show.setVisibility(View.VISIBLE); @@ -784,10 +764,19 @@ public class NewsActivity extends BaseActivity implements OnClickListener { } if (gameEntity.getApk() == null) { essaydetails_ll_bottom.setVisibility(View.GONE); - isShowBottom = false; - } else { + } else if (Config.isShow) { essaydetails_ll_bottom.setVisibility(View.VISIBLE); - isShowBottom = false; + String url = gameEntity.getApk().get(0).getUrl(); + for (DownloadEntry entry : DownloadManager.getInstance(getApplicationContext()).getAll()) { + if (url.equals(entry.getUrl())) { + downloadEntry = entry; + essaydetails_tv_download.setVisibility(View.GONE); + essaydetails_progressbar.setVisibility(View.VISIBLE); + essaydetails_tv_per.setVisibility(View.VISIBLE); + invalidate(); + break; + } + } } adapter.notifyItemChanged(0); } @@ -1004,6 +993,9 @@ public class NewsActivity extends BaseActivity implements OnClickListener { RelativeLayout relativeLayout = new RelativeLayout(NewsActivity.this); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( LayoutParams.MATCH_PARENT, DisplayUtils.dip2px(getApplicationContext(), 48)); + if (!Config.isShow) { + params.height = 0; + } relativeLayout.setLayoutParams(params); view = relativeLayout; } @@ -1199,6 +1191,9 @@ public class NewsActivity extends BaseActivity implements OnClickListener { case neterror: essaydetails_tv_per.setText("继续"); break; + case waiting: + essaydetails_tv_per.setText("等待"); + break; case done: EventBus.getDefault().post( new EBPutUrl(gameEntity.getApk().get(0).getPackageName(), @@ -1352,7 +1347,6 @@ public class NewsActivity extends BaseActivity implements OnClickListener { linearLayoutManager = null; entrance = null; dismissEntity = null; - lastTimeMap = null; statusMap = null; handler = null; dataWatcher = null; diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 89450fa54c..c228ee6878 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -188,13 +188,13 @@ public class SplashScreenActivity extends BaseActivity { if (hasFocus && isFirst) { // 第一次启动,把package.txt文件内容加载进数据库 - if (sp.getBoolean("isFirstLaunch", true)) { + if (!sp.getBoolean("isLoadFilter", false)) { try { List list = new ArrayList(); BufferedReader reader = new BufferedReader( new InputStreamReader(getAssets().open( "package.txt"))); - String line = null; + String line; while ((line = reader.readLine()) != null) { list.add(new FilterInfo(line)); } @@ -202,8 +202,8 @@ public class SplashScreenActivity extends BaseActivity { FilterManager filterManager = new FilterManager( getApplicationContext()); filterManager.addAllFilter(list); + sp.edit().putBoolean("isLoadFilter", true).apply(); } catch (IOException e1) { - e1.printStackTrace(); } } @@ -297,7 +297,8 @@ public class SplashScreenActivity extends BaseActivity { getPackageName(), "TD_CHANNEL_ID"); JsonObjectExtendedRequest request = new JsonObjectExtendedRequest( Config.HOST + "v1d45/support/setting/download/" + TD_CHANNEL_ID - + "/switch", new Response.Listener() { + + "/switch2?version=" + + PackageUtils.getVersion(getApplicationContext()), new Response.Listener() { @Override public void onResponse(JSONObject response) { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/HotCardAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/HotCardAdapter.java index d00cb8fead..330ab6b9c8 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/HotCardAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/HotCardAdapter.java @@ -44,22 +44,17 @@ public class HotCardAdapter extends // 黄壮华 获取引用 修改2015/8/15 private ArrayMap> platformMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; // 黄壮华 获取引用 修改2015/8/15 public HotCardAdapter(Context context, - ArrayMap> pMap, Handler hdler, - ArrayMap ltMap, ArrayMap sMap, - DismissEntity dEntity) { + ArrayMap> pMap, + ArrayMap sMap, DismissEntity dEntity) { // 黄壮华 获取引用 修改2015/8/15 platformMap = pMap; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; dismissEntity = dEntity; @@ -122,7 +117,7 @@ public class HotCardAdapter extends DownloadItemUtils.setOnClickListener(context, holder.downloadBtn, holder.downloadSpeed, holder.downloadPercentage, - entity, position, this, handler, lastTimeMap, + entity, position, this, statusMap, platformMap, "热门卡牌", dismissEntity, "hotcard:" + entity.getName()); DownloadItemUtils.updateItem(context, holder.labelList, diff --git a/app/src/main/java/com/gh/gamecenter/download/DownLoadManagerFragment.java b/app/src/main/java/com/gh/gamecenter/download/DownLoadManagerFragment.java index 617605bb54..e1f39443c2 100644 --- a/app/src/main/java/com/gh/gamecenter/download/DownLoadManagerFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/DownLoadManagerFragment.java @@ -73,7 +73,6 @@ public class DownLoadManagerFragment extends Fragment { private TextView downloadmanager_tv_none; - private ArrayMap lastTimeMap; private ArrayMap locationMap; private ArrayMap statusMap; private ArrayMap urlMap; @@ -88,25 +87,6 @@ public class DownLoadManagerFragment extends Fragment { private boolean isDestroy = false; - private Handler handler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (!isDestroy) { - if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } - } - } - } - }; - private DataWatcher dataWatcher = new DataWatcher() { @Override public void onDataChanged( @@ -189,7 +169,6 @@ public class DownLoadManagerFragment extends Fragment { view = View.inflate(getActivity(), R.layout.downloadmanager, null); list = new ArrayList(); - lastTimeMap = new ArrayMap(); locationMap = new ArrayMap(); statusMap = new ArrayMap(); urlMap = new ArrayMap(); @@ -328,7 +307,7 @@ public class DownLoadManagerFragment extends Fragment { } else if (v == dm_item_tv_startorpause) { String str = dm_item_tv_startorpause.getText().toString(); String url = list.get(getPosition() - 1).getUrl(); - lastTimeMap.put(url, System.currentTimeMillis()); + DownloadManager.getInstance(getActivity()).put(url, System.currentTimeMillis()); if ("继续".equals(str) || "下载".equals(str)) { dm_item_tv_startorpause .setBackgroundResource(R.drawable.textview_gray_style); @@ -351,7 +330,7 @@ public class DownLoadManagerFragment extends Fragment { Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = url; - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); } else if ("安装".equals(str)) { DownloadEntry downloadEntry = list.get(getPosition() - 1); String path = downloadEntry.getPath(); @@ -395,7 +374,7 @@ public class DownLoadManagerFragment extends Fragment { Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = url; - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); } else if ("等待".equals(str)) { Toast.makeText(getActivity(), "最多同时有3个下载任务", Toast.LENGTH_SHORT).show(); @@ -428,12 +407,12 @@ public class DownLoadManagerFragment extends Fragment { tv.performClick(); } } else { - lastTimeMap.put(list.get(i).getUrl(), + DownloadManager.getInstance(getActivity()).put(list.get(i).getUrl(), System.currentTimeMillis()); Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = list.get(i).getUrl(); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); statusMap.put(list.get(i).getUrl(), "downloading"); statusList.set(i, DownloadStatus.downloading); @@ -459,12 +438,12 @@ public class DownLoadManagerFragment extends Fragment { statusList.set(i, DownloadStatus.pause); } } else { - lastTimeMap.put(list.get(i).getUrl(), + DownloadManager.getInstance(getActivity()).put(list.get(i).getUrl(), System.currentTimeMillis()); Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = list.get(i).getUrl(); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); statusList.set(i, DownloadStatus.pause); } } @@ -474,7 +453,7 @@ public class DownLoadManagerFragment extends Fragment { } } else if (v == dm_item_ll_delete) { final int position = getPosition(); - if (position - 1 < list.size()) { + if (position - 1 >= 0 && position - 1 < list.size()) { DownloadEntry entry = list.remove(position - 1); deleteList.add(entry.getUrl()); isShowMap.put(entry.getUrl(), false); @@ -851,7 +830,6 @@ public class DownLoadManagerFragment extends Fragment { downloadmanager_rv_show = null; linearLayoutManager = null; downloadmanager_tv_none = null; - lastTimeMap = null; locationMap = null; statusMap = null; urlMap = null; @@ -860,7 +838,6 @@ public class DownLoadManagerFragment extends Fragment { isShowMap = null; deleteList = null; path = null; - handler = null; dataWatcher = null; } } diff --git a/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java b/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java index dcce9d7e48..cd58d76354 100644 --- a/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java @@ -62,7 +62,6 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { private boolean isEverpause = false; private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -84,16 +83,6 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } } } } @@ -139,7 +128,6 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { dismissEntity = new DismissEntity(false); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -174,7 +162,7 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { // 黄壮华 传递引用 修改2015/8/15 adapter = new Game1FragmentAdapter(Game1Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, lastTimeMap, + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() { @@ -287,7 +275,7 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { adapter = new Game1FragmentAdapter(Game1Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, game_swipe_refresh, reuse_no_connection, - handler, lastTimeMap, statusMap, dismissEntity); + statusMap, dismissEntity); recyclerview.setAdapter(adapter); } } @@ -315,7 +303,6 @@ public class Game1Fragment extends Fragment implements OnRefreshListener { gameMap = null; platformMap = null; nameMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java index 249e435a2f..079d8571c2 100644 --- a/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java @@ -79,8 +79,6 @@ public class Game1FragmentAdapter extends private ArrayMap> platformMap; private ArrayMap nameMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -92,7 +90,6 @@ public class Game1FragmentAdapter extends ArrayMap> pMap, ArrayMap nMap, RecyclerView rView, SwipeRefreshLayout swipeRefreshLayout, LinearLayout linearLayout, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, DismissEntity dEntity) { // 黄壮华 获取引用 修改2015/8/15 @@ -104,8 +101,6 @@ public class Game1FragmentAdapter extends game_swipe_refresh = swipeRefreshLayout; reuse_no_connection = linearLayout; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; dismissEntity = dEntity; @@ -276,7 +271,7 @@ public class Game1FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, holder.downloadBtn, holder.downloadSpeed, holder.downloadPercentage, - detailedEntity, position, this, handler, lastTimeMap, + detailedEntity, position, this, statusMap, platformMap, "游戏-游戏推荐", dismissEntity, "游戏:" + detailedEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/game/Game2Fragment.java b/app/src/main/java/com/gh/gamecenter/game/Game2Fragment.java index 8dec8b4f62..bf2b6599a4 100644 --- a/app/src/main/java/com/gh/gamecenter/game/Game2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/game/Game2Fragment.java @@ -62,11 +62,12 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; + private Handler handler = new Handler(); + // 黄壮华 添加观察者 修改2015/8/15 private DataWatcher dataWatcher = new DataWatcher() { @Override @@ -111,25 +112,6 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { } }; - private Handler handler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (!isDestroy) { - if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } - } - } - } - }; - @Override public void onCreate(@Nullable Bundle savedInstanceState) { @@ -140,7 +122,6 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { dismissEntity = new DismissEntity(false); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -179,7 +160,7 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { recyclerview.setLayoutManager(layoutManager); adapter = new Game2FragmentAdapter(getActivity(), locationMap, gameMap, nameMap, platformMap, game_tv_label, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, lastTimeMap, + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() { @@ -432,7 +413,7 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { adapter = new Game2FragmentAdapter(getActivity(), locationMap, gameMap, nameMap, platformMap, game_tv_label, recyclerview, game_swipe_refresh, reuse_no_connection, - handler, lastTimeMap, statusMap, dismissEntity); + statusMap, dismissEntity); recyclerview.setAdapter(adapter); } } @@ -503,7 +484,6 @@ public class Game2Fragment extends Fragment implements OnRefreshListener { gameMap = null; nameMap = null; platformMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/game/Game2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/Game2FragmentAdapter.java index 94359db880..f8c45bf838 100644 --- a/app/src/main/java/com/gh/gamecenter/game/Game2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/Game2FragmentAdapter.java @@ -91,8 +91,6 @@ public class Game2FragmentAdapter extends private ArrayMap nameMap; private ArrayMap> platformMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -103,7 +101,6 @@ public class Game2FragmentAdapter extends ArrayMap> pMap, TextView textView, RecyclerView rView, SwipeRefreshLayout swipeRefreshLayout, LinearLayout linearLayout, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, DismissEntity dEntity) { locationMap = lMap; @@ -115,8 +112,6 @@ public class Game2FragmentAdapter extends game_swipe_refresh = swipeRefreshLayout; reuse_no_connection = linearLayout; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; dismissEntity = dEntity; @@ -653,8 +648,7 @@ public class Game2FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, downloadBtn, download_speed, download_percentage, entity, position, - Game2FragmentAdapter.this, handler, - lastTimeMap, statusMap, platformMap, "游戏-新测卡牌", + Game2FragmentAdapter.this, statusMap, platformMap, "游戏-新测卡牌", dismissEntity, "新游:" + entity.getName()); } else { long endTime = Long.valueOf(entity.getTest().getEnd() @@ -670,8 +664,7 @@ public class Game2FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, downloadBtn, download_speed, download_percentage, entity, position, - Game2FragmentAdapter.this, handler, - lastTimeMap, statusMap, platformMap, + Game2FragmentAdapter.this, statusMap, platformMap, "游戏-新测卡牌", dismissEntity, "新游:" + entity.getName()); } diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeFragment.java b/app/src/main/java/com/gh/gamecenter/home/HomeFragment.java index d4bf795f26..588ec87aac 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeFragment.java +++ b/app/src/main/java/com/gh/gamecenter/home/HomeFragment.java @@ -91,7 +91,6 @@ public class HomeFragment extends Fragment implements OnClickListener { private String hint; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -115,16 +114,6 @@ public class HomeFragment extends Fragment implements OnClickListener { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } } } } @@ -183,7 +172,6 @@ public class HomeFragment extends Fragment implements OnClickListener { initActionBar(); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -209,7 +197,7 @@ public class HomeFragment extends Fragment implements OnClickListener { adapter = new HomeFragmentAdapter(getActivity(), gameMap, locationMap, nameMap, platformMap, reuse_no_connection, recyclerview, - handler, lastTimeMap, statusMap, dismissEntity); + statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.addItemDecoration(new VerticalItemDecoration( @@ -353,7 +341,7 @@ public class HomeFragment extends Fragment implements OnClickListener { recyclerview.setVisibility(View.VISIBLE); adapter = new HomeFragmentAdapter(getActivity(), gameMap, locationMap, nameMap, platformMap, reuse_no_connection, - recyclerview, handler, lastTimeMap, statusMap, + recyclerview, statusMap, dismissEntity); recyclerview.setAdapter(adapter); } @@ -503,7 +491,7 @@ public class HomeFragment extends Fragment implements OnClickListener { recyclerview.setVisibility(View.VISIBLE); adapter = new HomeFragmentAdapter(getActivity(), gameMap, locationMap, nameMap, platformMap, reuse_no_connection, - recyclerview, handler, lastTimeMap, statusMap, + recyclerview, statusMap, dismissEntity); recyclerview.setAdapter(adapter); } @@ -631,7 +619,6 @@ public class HomeFragment extends Fragment implements OnClickListener { platformMap = null; nameMap = null; hint = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; popWindow = null; diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/home/HomeFragmentAdapter.java index 21a13f1455..29434bdd5a 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/home/HomeFragmentAdapter.java @@ -143,8 +143,6 @@ public class HomeFragmentAdapter extends private boolean isRemove; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -154,7 +152,6 @@ public class HomeFragmentAdapter extends ArrayMap lMap, ArrayMap nMap, ArrayMap> pMap, LinearLayout linearLayout, RecyclerView recyclerview, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, DismissEntity dEntity) { flag = 6; @@ -169,8 +166,6 @@ public class HomeFragmentAdapter extends xincekapaiList = new ArrayList(); // 黄壮华 获取引用 修改2015/8/19 - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; gameMap = gMap; locationMap = lMap; @@ -2177,7 +2172,7 @@ public class HomeFragmentAdapter extends DownloadItemUtils.setOnClickListener(context, downloadBtn, download_speed, download_percentage, entity, position, - HomeFragmentAdapter.this, handler, lastTimeMap, + HomeFragmentAdapter.this, statusMap, platformMap, "主页-" + entrance, dismissEntity, "主页:" + entity.getName()); @@ -2293,7 +2288,7 @@ public class HomeFragmentAdapter extends DownloadItemUtils.setOnClickListener(context, downloadBtn, download_speed, download_percentage, entity, position, - HomeFragmentAdapter.this, handler, lastTimeMap, + HomeFragmentAdapter.this, statusMap, platformMap, "主页-新测卡牌", dismissEntity, "主页:" + entity.getName()); } else { @@ -2309,8 +2304,7 @@ public class HomeFragmentAdapter extends DownloadItemUtils.setOnClickListener(context, downloadBtn, download_speed, download_percentage, entity, position, - HomeFragmentAdapter.this, handler, - lastTimeMap, statusMap, platformMap, + HomeFragmentAdapter.this, statusMap, platformMap, "主页-新测卡牌", dismissEntity, "主页:" + entity.getName()); } diff --git a/app/src/main/java/com/gh/gamecenter/manager/DataCollectionManager.java b/app/src/main/java/com/gh/gamecenter/manager/DataCollectionManager.java index c9c611775f..f600bc33e3 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/DataCollectionManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/DataCollectionManager.java @@ -195,7 +195,7 @@ public class DataCollectionManager { ids.add(dataCollectionEntity.getId()); } - if (ids.size() > 20) { + if (ids.size() < 20) { return; } diff --git a/app/src/main/java/com/gh/gamecenter/manager/FilterManager.java b/app/src/main/java/com/gh/gamecenter/manager/FilterManager.java index 939a7924a0..f1af031602 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/FilterManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/FilterManager.java @@ -69,6 +69,9 @@ public class FilterManager { } dao.addAll(list); sp.edit().putString("filter_time", today).apply(); + if (list.size() == 500){ + getFilterFromServer(today); + } } catch (JSONException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragmentAdapter.java index a39f08c79e..74996c892a 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragmentAdapter.java @@ -140,7 +140,6 @@ public class PersonalFragmentAdapter extends private boolean isLoading; private boolean isNetworkError; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private Handler handler = new Handler() { @@ -166,18 +165,6 @@ public class PersonalFragmentAdapter extends String password = sp.getString("password", null); login(username, password); } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - Log.e("result", "resume"); - DownloadManager.getInstance(fragmentActivity).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - Log.e("result", "pause"); - DownloadManager.getInstance(fragmentActivity).pause(url); - } } } }; @@ -195,7 +182,6 @@ public class PersonalFragmentAdapter extends locationMap = new ArrayMap(); recyclerViewMap = new SparseArray(); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); new Thread(runnable).start(); @@ -2866,9 +2852,9 @@ public class PersonalFragmentAdapter extends Message msg = Message.obtain(); msg.what = Constants.PAUSE_DOWNLOAD_TASK; msg.obj = apkEntity.getUrl(); - lastTimeMap.put(apkEntity.getUrl(), + DownloadManager.getInstance(fragmentActivity).put(apkEntity.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(fragmentActivity).sendMessageDelayed(msg, 1000); } else if ("插件化安装".equals(str)) { // 安装插件 showPluginDialog(apkEntity, gEntity.getName(), @@ -2887,9 +2873,9 @@ public class PersonalFragmentAdapter extends Message msg = Message.obtain(); msg.what = Constants.CONTINUE_DOWNLOAD_TASK; msg.obj = apkEntity.getUrl(); - lastTimeMap.put(apkEntity.getUrl(), + DownloadManager.getInstance(fragmentActivity).put(apkEntity.getUrl(), System.currentTimeMillis()); - handler.sendMessageDelayed(msg, 1000); + DownloadManager.getInstance(fragmentActivity).sendMessageDelayed(msg, 1000); } } } diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin1Fragment.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin1Fragment.java index 5fbcdc145d..85580b8545 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin1Fragment.java @@ -66,7 +66,6 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { private int currentItem = 0; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -88,16 +87,6 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } } } } @@ -139,7 +128,6 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { view = View.inflate(getActivity(), R.layout.plugin1_fragment, null); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -176,7 +164,7 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { // 黄壮华 传递引用 修改2015/8/15 adapter = new Plugin1FragmentAdapter(Plugin1Fragment.this, locationMap, gameMap, platformMap, nameMap, game_swipe_refresh, - reuse_no_connection, recyclerview, handler, lastTimeMap, + reuse_no_connection, recyclerview, statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() { @@ -328,7 +316,7 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { adapter = new Plugin1FragmentAdapter(Plugin1Fragment.this, locationMap, gameMap, platformMap, nameMap, game_swipe_refresh, reuse_no_connection, recyclerview, - handler, lastTimeMap, statusMap, dismissEntity); + statusMap, dismissEntity); recyclerview.setAdapter(adapter); } }; @@ -354,7 +342,6 @@ public class Plugin1Fragment extends Fragment implements OnRefreshListener { gameMap = null; platformMap = null; nameMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin1FragmentAdapter.java index c96b867dcd..e9ee6d9ff8 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin1FragmentAdapter.java @@ -90,8 +90,6 @@ public class Plugin1FragmentAdapter extends private ArrayMap> platformMap; private ArrayMap nameMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -103,8 +101,7 @@ public class Plugin1FragmentAdapter extends ArrayMap> pMap, ArrayMap nMap, SwipeRefreshLayout swipeRefreshLayout, LinearLayout linearLayout, - RecyclerView rView, Handler hdler, ArrayMap ltMap, - ArrayMap sMap, DismissEntity dEntity) { + RecyclerView rView, ArrayMap sMap, DismissEntity dEntity) { fragment = fment; context = fment.getActivity(); @@ -116,8 +113,6 @@ public class Plugin1FragmentAdapter extends reuse_no_connection = linearLayout; recyclerview = rView; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; dismissEntity = dEntity; @@ -410,7 +405,7 @@ public class Plugin1FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, holder.downloadBtn, holder.downloadSpeed, holder.downloadPercentage, - detailedEntity, position, this, handler, lastTimeMap, + detailedEntity, position, this, statusMap, platformMap, "插件-精品", dismissEntity, "精品:" + detailedEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin2Fragment.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin2Fragment.java index 56eeaf633a..ad47caabf1 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin2Fragment.java @@ -66,7 +66,6 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { private boolean isEverpause = false; private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -88,16 +87,6 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } } } } @@ -139,7 +128,6 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { view = View.inflate(getActivity(), R.layout.plugin1_fragment, null); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -176,7 +164,7 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { // 黄壮华 传递引用 修改2015/8/15 adapter = new Plugin2FragmentAdapter(Plugin2Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, lastTimeMap, + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() { @@ -313,8 +301,7 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { public void run() { adapter = new Plugin2FragmentAdapter(Plugin2Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, - lastTimeMap, statusMap, dismissEntity); + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); } }; @@ -340,7 +327,6 @@ public class Plugin2Fragment extends Fragment implements OnRefreshListener { gameMap = null; platformMap = null; nameMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin2FragmentAdapter.java index 158c3ae34a..77d7597b38 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin2FragmentAdapter.java @@ -79,8 +79,6 @@ public class Plugin2FragmentAdapter extends private ArrayMap> platformMap; private ArrayMap nameMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -92,7 +90,6 @@ public class Plugin2FragmentAdapter extends ArrayMap> pMap, ArrayMap nMap, RecyclerView rView, SwipeRefreshLayout refreshLayout, LinearLayout linearLayout, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, DismissEntity dEntity) { // 黄壮华 获取引用 修改2015/8/15 @@ -104,8 +101,6 @@ public class Plugin2FragmentAdapter extends game_swipe_refresh = refreshLayout; reuse_no_connection = linearLayout; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; dismissEntity = dEntity; @@ -287,7 +282,7 @@ public class Plugin2FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, holder.downloadBtn, holder.downloadSpeed, holder.downloadPercentage, - detailedEntity, position, this, handler, lastTimeMap, + detailedEntity, position, this, statusMap, platformMap, "插件-最新", dismissEntity, "最新:" + detailedEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin3Fragment.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin3Fragment.java index 79cdfc569a..777b6d13fc 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin3Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin3Fragment.java @@ -66,7 +66,6 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { private boolean isEverpause = false; private boolean isDestroy = false; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -88,16 +87,6 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { sendMessageDelayed(msg2, 3000); } } - } else if (msg.what == Constants.CONTINUE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).resume(url); - } - } else if (msg.what == Constants.PAUSE_DOWNLOAD_TASK) { - String url = (String) msg.obj; - if (System.currentTimeMillis() - lastTimeMap.get(url) >= 1000) { - DownloadManager.getInstance(getActivity()).pause(url); - } } } } @@ -139,7 +128,6 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { view = View.inflate(getActivity(), R.layout.plugin1_fragment, null); - lastTimeMap = new ArrayMap(); statusMap = new ArrayMap(); locationMap = new ArrayMap(); gameMap = new ArrayMap>(); @@ -176,7 +164,7 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { // 黄壮华 传递引用 修改2015/8/15 adapter = new Plugin3FragmentAdapter(Plugin3Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, lastTimeMap, + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() { @@ -313,8 +301,7 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { public void run() { adapter = new Plugin3FragmentAdapter(Plugin3Fragment.this, locationMap, gameMap, platformMap, nameMap, recyclerview, - game_swipe_refresh, reuse_no_connection, handler, - lastTimeMap, statusMap, dismissEntity); + game_swipe_refresh, reuse_no_connection, statusMap, dismissEntity); recyclerview.setAdapter(adapter); } }; @@ -339,7 +326,6 @@ public class Plugin3Fragment extends Fragment implements OnRefreshListener { gameMap = null; platformMap = null; nameMap = null; - lastTimeMap = null; statusMap = null; dismissEntity = null; handler = null; diff --git a/app/src/main/java/com/gh/gamecenter/plugin/Plugin3FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/plugin/Plugin3FragmentAdapter.java index 11d730a76a..bee63712b6 100644 --- a/app/src/main/java/com/gh/gamecenter/plugin/Plugin3FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/plugin/Plugin3FragmentAdapter.java @@ -88,8 +88,6 @@ public class Plugin3FragmentAdapter extends private ArrayMap> platformMap; private ArrayMap nameMap; - private Handler handler; - private ArrayMap lastTimeMap; private ArrayMap statusMap; private DismissEntity dismissEntity; @@ -101,7 +99,6 @@ public class Plugin3FragmentAdapter extends ArrayMap> pMap, ArrayMap nMap, RecyclerView rView, SwipeRefreshLayout swipeRefreshLayout, LinearLayout linearLayout, - Handler hdler, ArrayMap ltMap, ArrayMap sMap, DismissEntity dEntity) { // 黄壮华 获取引用 修改2015/8/15 @@ -110,8 +107,6 @@ public class Plugin3FragmentAdapter extends platformMap = pMap; nameMap = nMap; - handler = hdler; - lastTimeMap = ltMap; statusMap = sMap; recyclerView = rView; @@ -302,7 +297,7 @@ public class Plugin3FragmentAdapter extends DownloadItemUtils.setOnClickListener(context, holder.downloadBtn, holder.downloadSpeed, holder.downloadPercentage, - detailedEntity, position, this, handler, lastTimeMap, + detailedEntity, position, this, statusMap, platformMap, "插件-单机", false, dismissEntity, "单机:" + detailedEntity.getName());