From a31d2cd28bc3cdeb694d7a598359d0a16ed36c7d Mon Sep 17 00:00:00 2001
From: huangzhuanghua <401742778@qq.com>
Date: Tue, 29 Nov 2016 10:49:45 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4volley=20=E4=B8=ADTAG?=
=?UTF-8?q?=E7=9A=84=E6=BB=A5=E7=94=A8=E5=AF=BC=E8=87=B4=E6=97=A0=E6=B3=95?=
=?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=8A=A0=E8=BD=BD=E5=90=8C=E4=B8=80url?=
=?UTF-8?q?=EF=BC=8C=E9=A1=B9=E7=9B=AE=E6=95=B4=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 3 +-
.../java/com/android/volley/RequestQueue.java | 5 -
.../main/java/com/gh/base/AppController.java | 8 --
...lActivity.java => BaseDetailActivity.java} | 15 +--
.../gh/common/util/ConcernContentUtils.java | 2 +-
.../java/com/gh/common/util/HttpsUtils.java | 37 +++++-
.../java/com/gh/common/util/PackageUtils.java | 22 +---
.../com/gh/common/util/PostCommentUtils.java | 24 ++--
.../java/com/gh/common/util/RunningUtils.java | 4 +-
.../com/gh/common/util/TimestampUtils.java | 4 +
.../java/com/gh/download/DownloadTask.java | 3 +
.../java/com/gh/download/DownloadThread.java | 2 +-
.../com/gh/gamecenter/ConcernActivity.java | 4 -
.../com/gh/gamecenter/GameDetailActivity.java | 18 +--
.../com/gh/gamecenter/GameNewsActivity.java | 9 --
.../java/com/gh/gamecenter/MainActivity.java | 10 +-
.../gh/gamecenter/MessageDetailActivity.java | 18 ++-
.../com/gh/gamecenter/NewsDetailActivity.java | 16 +--
.../com/gh/gamecenter/NewsSearchActivity.java | 11 +-
.../com/gh/gamecenter/PluginActivity.java | 9 +-
.../com/gh/gamecenter/SettingActivity.java | 20 +---
.../java/com/gh/gamecenter/SkipActivity.java | 8 +-
.../com/gh/gamecenter/SubjectActivity.java | 1 -
.../com/gh/gamecenter/SuggestionActivity.java | 10 +-
.../gh/gamecenter/adapter/ConcernAdapter.java | 2 +-
.../adapter/ConcernRecommendAdapter.java | 4 +-
.../gamecenter/adapter/GameNewsAdapter.java | 3 +-
.../adapter/MessageDetailAdapter.java | 17 +--
.../gh/gamecenter/adapter/SubjectAdapter.java | 2 +-
...ngeSkinUtils.java => ChangeSkinUtils.java} | 71 ++++--------
.../gamecenter/changeskin/DownloadUtils.java | 108 +++++++-----------
...GetFileMD5Utils.java => FileMD5Utils.java} | 73 ++++++------
.../gh/gamecenter/changeskin/NetSpeed.java | 4 +-
.../{PatchData.java => PatchEntity.java} | 7 +-
.../gh/gamecenter/changeskin/SkinConfig.java | 12 +-
.../download/GameDownLoadFragment.java | 7 --
.../download/GameUpdateFragment.java | 4 -
.../download/GameUpdateFragmentAdapter.java | 4 +-
.../com/gh/gamecenter/entity/AppEntity.java | 11 +-
.../entity/GameCollectionEntity.java | 4 +
.../gamecenter/entity/GameDetailEntity.java | 6 +-
.../com/gh/gamecenter/entity/GameEntity.java | 8 +-
.../gh/gamecenter/entity/GameInfoEntity.java | 12 --
.../gamecenter/entity/GameUpdateEntity.java | 24 ----
.../gamecenter/entity/NewsDetailEntity.java | 5 +
.../com/gh/gamecenter/entity/NewsEntity.java | 1 +
.../gh/gamecenter/entity/SubjectEntity.java | 1 -
.../com/gh/gamecenter/entity/TagEntity.java | 6 -
.../gh/gamecenter/entity/ThumbnailEntity.java | 1 +
.../com/gh/gamecenter/entity/UserEntity.java | 2 +
.../com/gh/gamecenter/eventbus/EBPackage.java | 1 -
.../com/gh/gamecenter/eventbus/EBSearch.java | 1 +
.../gh/gamecenter/eventbus/EBTypeChange.java | 1 +
.../gh/gamecenter/eventbus/EBUISwitch.java | 1 -
.../com/gh/gamecenter/game/Game1Fragment.java | 9 --
.../gamecenter/game/Game1FragmentAdapter.java | 4 +-
.../com/gh/gamecenter/game/Game2Fragment.java | 23 +---
.../gamecenter/game/Game2FragmentAdapter.java | 2 +-
.../com/gh/gamecenter/game/Game3Fragment.java | 24 +---
.../gamecenter/game/Game3FragmentAdapter.java | 2 +-
.../com/gh/gamecenter/game/GameFragment.java | 3 +-
.../gamedetail/GameDetailAdapter.java | 10 +-
.../com/gh/gamecenter/news/News1Fragment.java | 4 +-
.../com/gh/gamecenter/news/NewsFragment.java | 3 +-
.../newsdetail/NewsDetailAdapter.java | 5 +-
.../gamecenter/personal/ConcernFragment.java | 18 +--
.../personal/ConcernFragmentAdapter.java | 3 +-
.../gamecenter/personal/InstallFragment.java | 17 +--
.../personal/InstallFragmentAdapter.java | 4 +-
.../gamecenter/personal/PersonalFragment.java | 72 ++++++------
.../receiver/ActivitySkipReceiver.java | 1 +
.../gamecenter/receiver/DownloadReceiver.java | 1 +
.../receiver/InstallAndUninstallReceiver.java | 2 -
.../gamecenter/receiver/InstallReceiver.java | 1 +
.../receiver/NetworkStateReceiver.java | 5 +-
.../search/SearchGameDetailFragment.java | 38 ++++--
.../SearchGameDetailFragmentAdapter.java | 53 +++------
.../search/SearchGameListFragment.java | 48 ++++++--
.../search/SearchGameListFragmentAdapter.java | 52 +++------
app/src/main/res/layout/fm_search.xml | 1 +
80 files changed, 461 insertions(+), 610 deletions(-)
rename app/src/main/java/com/gh/base/{DetailActivity.java => BaseDetailActivity.java} (96%)
rename app/src/main/java/com/gh/gamecenter/changeskin/{InitChangeSkinUtils.java => ChangeSkinUtils.java} (85%)
rename app/src/main/java/com/gh/gamecenter/changeskin/{GetFileMD5Utils.java => FileMD5Utils.java} (54%)
rename app/src/main/java/com/gh/gamecenter/changeskin/{PatchData.java => PatchEntity.java} (62%)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a41b9fb41c..9e54d7f04c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -143,7 +143,8 @@
-
+
diff --git a/app/src/main/java/com/android/volley/RequestQueue.java b/app/src/main/java/com/android/volley/RequestQueue.java
index 57a427528f..bcd86f6726 100644
--- a/app/src/main/java/com/android/volley/RequestQueue.java
+++ b/app/src/main/java/com/android/volley/RequestQueue.java
@@ -19,8 +19,6 @@ package com.android.volley;
import android.os.Handler;
import android.os.Looper;
-import com.gh.common.util.Utils;
-
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
@@ -206,9 +204,6 @@ public class RequestQueue {
cancelAll(new RequestFilter() {
@Override
public boolean apply(Request> request) {
- Utils.log("111" + request.getTag().toString());
- Utils.log("111" + tag);
- Utils.log("111" + (request.getTag() == tag));
return request.getTag() == tag;
}
});
diff --git a/app/src/main/java/com/gh/base/AppController.java b/app/src/main/java/com/gh/base/AppController.java
index e79757ec85..b6efa14434 100644
--- a/app/src/main/java/com/gh/base/AppController.java
+++ b/app/src/main/java/com/gh/base/AppController.java
@@ -162,14 +162,6 @@ public class AppController extends Application {
getInstance().addRequest(request);
}
- public static void addToRequestQueue(Request request, String tag) {
- if (TextUtils.isEmpty(tag)) {
- tag = TAG;
- }
- request.setTag(tag);
- getInstance().addRequest(request);
- }
-
public static void canclePendingRequests(String tag) {
if (TextUtils.isEmpty(tag)) {
tag = TAG;
diff --git a/app/src/main/java/com/gh/base/DetailActivity.java b/app/src/main/java/com/gh/base/BaseDetailActivity.java
similarity index 96%
rename from app/src/main/java/com/gh/base/DetailActivity.java
rename to app/src/main/java/com/gh/base/BaseDetailActivity.java
index 1142d7ceba..e67eb06624 100644
--- a/app/src/main/java/com/gh/base/DetailActivity.java
+++ b/app/src/main/java/com/gh/base/BaseDetailActivity.java
@@ -41,8 +41,9 @@ import java.util.Map;
/**
* Created by Administrator on 2016/9/19.
+ * 游戏详情、新闻详情基类(控制底部下载栏)
*/
-public abstract class DetailActivity extends BaseActivity implements View.OnClickListener {
+public abstract class BaseDetailActivity extends BaseActivity implements View.OnClickListener {
protected TextView actionbar_tv_title;
protected RecyclerView detail_rv_show;
@@ -71,7 +72,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic
if (gameEntity != null && gameEntity.getApk().size() == 1) {
String url = gameEntity.getApk().get(0).getUrl();
if (url.equals(downloadEntity.getUrl())) {
- if (!"pause".equals(DownloadManager.getInstance(DetailActivity.this).
+ if (!"pause".equals(DownloadManager.getInstance(BaseDetailActivity.this).
getStatus(downloadEntity.getUrl()))) {
mDownloadEntity = downloadEntity;
invalidate();
@@ -393,7 +394,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic
Map kv = new HashMap<>();
kv.put("版本", gameEntity.getApk().get(0).getPlatform());
kv.put("页面", name);
- DataUtils.onEvent(DetailActivity.this, "游戏启动", gameEntity.getName(), kv);
+ DataUtils.onEvent(BaseDetailActivity.this, "游戏启动", gameEntity.getName(), kv);
PackageUtils.launchApplicationByPackageName(this, gameEntity.getApk().get(0).getPackageName());
} else {
@@ -411,19 +412,19 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic
Map kv = new HashMap<>();
kv.put("版本", apkEntity.getPlatform());
kv.put("状态", "下载开始");
- DataUtils.onEvent(DetailActivity.this, "游戏下载", gameEntity.getName(), kv);
+ DataUtils.onEvent(BaseDetailActivity.this, "游戏下载", gameEntity.getName(), kv);
Map kv2 = new HashMap<>();
kv2.put("版本", apkEntity.getPlatform());
kv2.put("状态", "下载开始");
kv2.put("页面", name);
kv2.put("位置", entrance);
- DataUtils.onEvent(DetailActivity.this, "游戏下载位置", gameEntity.getName(), kv2);
+ DataUtils.onEvent(BaseDetailActivity.this, "游戏下载位置", gameEntity.getName(), kv2);
Map kv3 = new HashMap<>();
kv3.put(entrance, "下载数");
kv3.put(entrance, "下载开始");
- DataUtils.onEvent(DetailActivity.this, "应用数据", gameEntity.getName(), kv3);
+ DataUtils.onEvent(BaseDetailActivity.this, "应用数据", gameEntity.getName(), kv3);
Map map = new HashMap<>();
map.put("game", gameEntity.getName());
@@ -446,7 +447,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic
detail_pb_progressbar.setProgress(0);
detail_tv_per.setText("0.0%");
- DownloadManager.getInstance(DetailActivity.this).putStatus(apkEntity.getUrl(), "downloading");
+ DownloadManager.getInstance(BaseDetailActivity.this).putStatus(apkEntity.getUrl(), "downloading");
} else {
toast(msg);
}
diff --git a/app/src/main/java/com/gh/common/util/ConcernContentUtils.java b/app/src/main/java/com/gh/common/util/ConcernContentUtils.java
index 19bbf63523..9420398a89 100644
--- a/app/src/main/java/com/gh/common/util/ConcernContentUtils.java
+++ b/app/src/main/java/com/gh/common/util/ConcernContentUtils.java
@@ -15,7 +15,7 @@ import java.util.List;
/**
* Created by khy on 2016/11/8.
*
- * 初始化z资讯关注-内容图片
+ * 初始化资讯关注-内容图片
*
**/
public class ConcernContentUtils {
diff --git a/app/src/main/java/com/gh/common/util/HttpsUtils.java b/app/src/main/java/com/gh/common/util/HttpsUtils.java
index 0158283113..288bbde2d3 100644
--- a/app/src/main/java/com/gh/common/util/HttpsUtils.java
+++ b/app/src/main/java/com/gh/common/util/HttpsUtils.java
@@ -1,8 +1,12 @@
package com.gh.common.util;
+import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
+import java.security.KeyStore;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
@@ -11,6 +15,7 @@ import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
/**
@@ -26,7 +31,6 @@ public class HttpsUtils {
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
-
throws CertificateException {
}
@@ -42,7 +46,6 @@ public class HttpsUtils {
public boolean verify(String hostname, SSLSession session) {
return true;
}
-
}
private static SSLSocketFactory mSSLSocketFactory;
@@ -53,8 +56,12 @@ public class HttpsUtils {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, new TrustManager[]{new MyTrustManager()}, new SecureRandom());
mSSLSocketFactory = sc.getSocketFactory();
+// SSLContext sslContext = SSLContext.getInstance("TLS");
+// sslContext.init(null, null, null);
+// mSSLSocketFactory = sslContext.getSocketFactory();
mHostnameVerifier = new MyHostnameVerifier();
+// mHostnameVerifier = OkHostnameVerifier.INSTANCE;
HttpsURLConnection.setDefaultSSLSocketFactory(mSSLSocketFactory);
HttpsURLConnection.setDefaultHostnameVerifier(mHostnameVerifier);
@@ -62,4 +69,30 @@ public class HttpsUtils {
return (HttpsURLConnection) url.openConnection();
}
+ public SSLSocketFactory setCertificates(InputStream is) {
+ try {
+ CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
+ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+ keyStore.load(null);
+ keyStore.setCertificateEntry("0", certificateFactory.generateCertificate(is));
+ SSLContext sslContext = SSLContext.getInstance("TLS");
+ TrustManagerFactory trustManagerFactory =
+ TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init(keyStore);
+ sslContext.init(null, trustManagerFactory.getTrustManagers(), new SecureRandom());
+ return sslContext.getSocketFactory();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
+
}
diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java
index 91bfb7407b..443dff2c61 100644
--- a/app/src/main/java/com/gh/common/util/PackageUtils.java
+++ b/app/src/main/java/com/gh/common/util/PackageUtils.java
@@ -73,28 +73,19 @@ public class PackageUtils {
}
/*
- * 判断是否可以更新
+ * 判断是否可以更新,只判断gh_version的大小
*/
public static boolean isCanUpdate(Context context, GameUpdateEntity gameUpdateEntity) {
- // 判断是否gh_version是否相同
+ // 判断是否gh_version是否存在
String gh_version = (String) PackageUtils.getMetaData(
context, gameUpdateEntity.getPackageName(), "gh_version");
if (gh_version != null) {
gh_version = gh_version.substring(2);
- // 判断gh_version是否相同
- if (gh_version.equals(gameUpdateEntity.getGhVersion())) {
- // 判断version是否相同
- String version = PackageUtils.getVersionByPackage(
- context, gameUpdateEntity.getPackageName());
- if (version != null && version.equals(gameUpdateEntity.getVersion())) {
- // 版本相同,无需显示插件更新,继续查看是否有可更新的游戏包
- return false;
- }
- }
+ // 判断gh_version的大小
+ return Long.parseLong(gh_version) < Long.parseLong(gameUpdateEntity.getGhVersion());
} else {
return false;
}
- return true;
}
/*
@@ -102,10 +93,7 @@ public class PackageUtils {
*/
public static boolean isSignature(Context context, String packageName) {
String signature = getApkSignatureByPackageName(context, packageName);
- if (publicKey.equals(signature)) {
- return true;
- }
- return false;
+ return publicKey.equals(signature);
}
/*
diff --git a/app/src/main/java/com/gh/common/util/PostCommentUtils.java b/app/src/main/java/com/gh/common/util/PostCommentUtils.java
index 8e9730c3b9..00b999ab3d 100644
--- a/app/src/main/java/com/gh/common/util/PostCommentUtils.java
+++ b/app/src/main/java/com/gh/common/util/PostCommentUtils.java
@@ -18,8 +18,12 @@ import org.json.JSONObject;
*/
public class PostCommentUtils {
- public static void addCommentData(final String url, final String content, final Context context,
- final PostCommentListener listener) {
+ public static void addCommentData(Context context, String url, String content, PostCommentListener listener) {
+ addCommentData(context, url, content, true, listener);
+ }
+
+ public static void addCommentData(final Context context, final String url, final String content,
+ final boolean isCheck, final PostCommentListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
@@ -36,8 +40,7 @@ public class PostCommentUtils {
@Override
public void onErrorResponse(VolleyError error) {
if (error.networkResponse != null && error.networkResponse.statusCode == 401) {
- TokenUtils.getToken(context, false);
- addCommentData(url, content, context, listener);
+ addCommentData(context, url, content, false, listener);
return;
}
if (listener != null){
@@ -46,13 +49,17 @@ public class PostCommentUtils {
}
});
request.setShouldCache(false);
- request.addHeader("TOKEN", TokenUtils.getToken(context));
+ request.addHeader("TOKEN", TokenUtils.getToken(context, isCheck));
AppController.addToRequestQueue(request);
}
}).start();
}
- public static void addCommentVoto(final String newsId, final Context context) {
+ public static void addCommentVoto(final Context context, final String newsId) {
+ addCommentVoto(context, newsId, true);
+ }
+
+ public static void addCommentVoto(final Context context, final String newsId, final boolean isCheck) {
new Thread(new Runnable() {
@Override
public void run() {
@@ -63,13 +70,12 @@ public class PostCommentUtils {
@Override
public void onErrorResponse(VolleyError error) {
if (error.networkResponse != null && error.networkResponse.statusCode == 401) {
- TokenUtils.getToken(context, false);
- addCommentVoto(newsId, context);
+ addCommentVoto(context, newsId, false);
}
}
});
request.setShouldCache(false);
- request.addHeader("TOKEN", TokenUtils.getToken(context));
+ request.addHeader("TOKEN", TokenUtils.getToken(context, isCheck));
AppController.addToRequestQueue(request);
}
}).start();
diff --git a/app/src/main/java/com/gh/common/util/RunningUtils.java b/app/src/main/java/com/gh/common/util/RunningUtils.java
index 2ce68b4fe5..917b70ad3a 100644
--- a/app/src/main/java/com/gh/common/util/RunningUtils.java
+++ b/app/src/main/java/com/gh/common/util/RunningUtils.java
@@ -85,8 +85,8 @@ public class RunningUtils {
.getSystemService(Context.ACTIVITY_SERVICE);
List infos = activityManager.getRunningTasks(100);
for (RunningTaskInfo info : infos) {
- if (info.topActivity.getPackageName().equals(
- context.getPackageName())) {
+ if (info.topActivity.getPackageName().equals(context.getPackageName())
+ && info.baseActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
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 a84ef4905b..05149b749d 100644
--- a/app/src/main/java/com/gh/common/util/TimestampUtils.java
+++ b/app/src/main/java/com/gh/common/util/TimestampUtils.java
@@ -49,6 +49,8 @@ public class TimestampUtils {
intervalMap.put("^" + Config.HOST + "support/setting/platform" + "$", 120);
intervalMap.put("^" + Config.HOST + "update/package/.+" + "$", 125);
intervalMap.put("^" + Config.HOST + "update/game/.+/package/.+" + "$", 130);
+ intervalMap.put("^" + Config.COMMENT_HOST + "article/.+/comment\\?limit=10\\&offset=.+" + "$", 135);
+ intervalMap.put("^" + Config.COMMENT_HOST + "article/.+/comment\\?order=hot\\&limit=10\\&offset=.+" + "$", 140);
}
private static void initCDMap() {
@@ -79,6 +81,8 @@ public class TimestampUtils {
cdMap.put("^" + Config.HOST + "support/setting/platform" + "$", Constants.PLATFORM_CD);
cdMap.put("^" + Config.HOST + "update/package/.+" + "$", Constants.UPDATE_CD);
cdMap.put("^" + Config.HOST + "update/game/.+/package/.+" + "$", Constants.UPDATE_CD);
+ cdMap.put("^" + Config.COMMENT_HOST + "article/.+/comment\\?limit=10\\&offset=.+" + "$", Constants.COMMENT_CD);
+ cdMap.put("^" + Config.COMMENT_HOST + "article/.+/comment\\?order=hot\\&limit=10\\&offset=.+" + "$", Constants.COMMENT_CD);
cdMap.put("^" + Config.HOST + "device/.+/concern" + "$", 0);
cdMap.put("^" + Config.HOST + "device/.+/concern/.+" + "$", 0);
cdMap.put("^" + Config.HOST + "stat/download" + "$", 0);
diff --git a/app/src/main/java/com/gh/download/DownloadTask.java b/app/src/main/java/com/gh/download/DownloadTask.java
index cd287ba6dc..6d073e7698 100644
--- a/app/src/main/java/com/gh/download/DownloadTask.java
+++ b/app/src/main/java/com/gh/download/DownloadTask.java
@@ -123,6 +123,9 @@ public class DownloadTask implements DownloadListener {
|| status == DownloadStatus.notfound) {
entry.setProgress(0);
entry.setPercent(0);
+ if (status == DownloadStatus.hijack) {
+ entry.setError(error);
+ }
FileUtils.deleteFile(entry.getPath());
DownloadDao.getInstance(context).delete(entry.getUrl());
Utils.log(DownloadTask.class.getSimpleName(),
diff --git a/app/src/main/java/com/gh/download/DownloadThread.java b/app/src/main/java/com/gh/download/DownloadThread.java
index 2b71b6f80b..7d16f06fe2 100644
--- a/app/src/main/java/com/gh/download/DownloadThread.java
+++ b/app/src/main/java/com/gh/download/DownloadThread.java
@@ -86,7 +86,7 @@ public class DownloadThread extends Thread {
//链接被劫持,抛出异常
Utils.log("eTag = " + eTag);
Utils.log("eTag2 = " + eTag2);
- listener.onStatusChanged(DownloadStatus.hijack);
+ listener.onStatusChanged(DownloadStatus.hijack, connection.getURL().toString());
Utils.log(DownloadThread.class.getSimpleName(), "error-->链接被劫持");
return;
}
diff --git a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
index 1c14ad8f3f..58575ab9f9 100644
--- a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
@@ -8,7 +8,6 @@ import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
-import com.gh.base.AppController;
import com.gh.base.BaseActivity;
import com.gh.common.constant.Config;
import com.gh.common.util.ConcernUtils;
@@ -28,8 +27,6 @@ import java.util.List;
public class ConcernActivity extends BaseActivity implements OnClickListener {
- public static final String TAG = ConcernActivity.class.getSimpleName();
-
private Concern_LinearLayout view;
private RecyclerView concern_rv_show, concern_rv_recommend;
private ConcernAdapter concernAdapter;
@@ -210,7 +207,6 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
@Override
protected void onDestroy() {
super.onDestroy();
- AppController.canclePendingRequests(TAG);
String uuid = TokenUtils.getDeviceId(this);
JSONArray data = new JSONArray();
for (ConcernInfo concernInfo : concernManager.getConcernGame()) {
diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java
index d74d816331..af96c8b754 100644
--- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java
@@ -10,11 +10,11 @@ import android.widget.RelativeLayout;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.gh.base.AppController;
-import com.gh.base.DetailActivity;
+import com.gh.base.BaseDetailActivity;
import com.gh.common.constant.Config;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
-import com.gh.gamecenter.changeskin.InitChangeSkinUtils;
+import com.gh.gamecenter.changeskin.ChangeSkinUtils;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBConcernChanged;
import com.gh.gamecenter.gamedetail.GameDetailAdapter;
@@ -30,9 +30,7 @@ import java.util.Map;
/**
* Created by khy on 2016/8/12.
*/
-public class GameDetailActivity extends DetailActivity implements View.OnClickListener{
-
- public static final String TAG = GameDetailActivity.class.getSimpleName();
+public class GameDetailActivity extends BaseDetailActivity implements View.OnClickListener{
private GameDetailAdapter adapter;
@@ -176,7 +174,7 @@ public class GameDetailActivity extends DetailActivity implements View.OnClickLi
reuse_no_connection.setVisibility(View.VISIBLE);
}
});
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
// 关注事件
@@ -224,15 +222,9 @@ public class GameDetailActivity extends DetailActivity implements View.OnClickLi
}
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 && InitChangeSkinUtils.isChecking) {
+ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 && ChangeSkinUtils.isChecking) {
DialogUtils.showWarningDialog(GameDetailActivity.this, "退出提示",
"素材更新还在检测中,如果强行退出会中断所有进度,确定退出?",
"取消", "强行退出", new DialogUtils.ConfiremListener() {
diff --git a/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java b/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java
index bdf2f78b33..a5a64f12c3 100644
--- a/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java
@@ -11,7 +11,6 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
-import com.gh.base.AppController;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
import com.gh.gamecenter.adapter.GameNewsAdapter;
@@ -25,8 +24,6 @@ import java.util.ArrayList;
*/
public class GameNewsActivity extends BaseActivity implements View.OnClickListener{
- public static final String TAG = GameNewsActivity.class.getSimpleName();
-
private GameNewsAdapter adapter;
private GameNewsTypeListAdapter typeListAdapter;
@@ -148,12 +145,6 @@ public class GameNewsActivity extends BaseActivity implements View.OnClickListen
typeListAdapter.setNewsType(change.getType(), change.getPosition());
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
@Override
public void onClick(View v) {
if (v == ivSearch){
diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java
index 7308a7aef7..1243d9a116 100644
--- a/app/src/main/java/com/gh/gamecenter/MainActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java
@@ -131,6 +131,7 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
private boolean isShowDownload = false;
private boolean isNewFirstLaunch;
+ private boolean isSkipped;
private Handler handler = new Handler();
@@ -442,6 +443,7 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("currentTab", currentTab);
+ outState.putBoolean("isSkipped", isSkipped);
}
@Override
@@ -461,9 +463,12 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
sp = getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
isNewFirstLaunch = sp.getBoolean("isNewFirstLaunchV" + PackageUtils.getVersion(getApplicationContext()), true);
+ isSkipped = false;
+
initViews();
if (savedInstanceState != null) {
currentTab = savedInstanceState.getInt("currentTab");
+ isSkipped = savedInstanceState.getBoolean("isSkipped");
} else if (isNewFirstLaunch) {
currentTab = 1;
} else {
@@ -1028,8 +1033,9 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
Runnable runnable = new Runnable() {
@Override
public void run() {
- //TODO 重复跳转问题
- if (getIntent() != null && getIntent().getExtras() != null) {
+ if (getIntent() != null && getIntent().getExtras() != null
+ && !isSkipped) {
+ isSkipped = true;
String to = getIntent().getExtras().getString("to");
if(!TextUtils.isEmpty(to)){
Class> clazz = intentClass(to);
diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
index 3ce685ad84..b7d6809e51 100644
--- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
@@ -6,6 +6,7 @@ import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
+import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
@@ -17,6 +18,7 @@ import android.widget.Toast;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.DiskBasedCache;
import com.facebook.drawee.view.SimpleDraweeView;
+import com.gh.base.AppController;
import com.gh.base.BaseActivity;
import com.gh.common.constant.Config;
import com.gh.common.util.GzipUtils;
@@ -36,8 +38,6 @@ import org.json.JSONException;
import org.json.JSONObject;
import java.io.File;
-import java.util.Date;
-import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -69,6 +69,12 @@ public class MessageDetailActivity extends BaseActivity {
private CommentDao mCommentDao;
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ AppController.put("ConcernEntity", adapter.getConcernEntity());
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -104,7 +110,7 @@ public class MessageDetailActivity extends BaseActivity {
});
//检查sp是否有用户信息
- if (sp.getString("user_name", null) == null || sp.getString("user_name" , null).isEmpty()) {
+ if (TextUtils.isEmpty(sp.getString("user_name", null))) {
new Thread(new Runnable() {
@Override
public void run() {
@@ -119,7 +125,6 @@ public class MessageDetailActivity extends BaseActivity {
});
}
}).start();
-
} else {
mMessageDetailIconDv.setImageURI(sp.getString("user_icon", "res:///"+
R.drawable.user_default_icon_comment));
@@ -198,8 +203,9 @@ public class MessageDetailActivity extends BaseActivity {
}
final String newsId = adapter.getNewsId();
- PostCommentUtils.addCommentData(Config.COMMENT_HOST + "article/" + newsId + "/comment"
- , jsonObject.toString(), MessageDetailActivity.this, new PostCommentUtils.PostCommentListener() {
+ PostCommentUtils.addCommentData(MessageDetailActivity.this,
+ Config.COMMENT_HOST + "article/" + newsId + "/comment", jsonObject.toString(),
+ new PostCommentUtils.PostCommentListener() {
@Override
public void postSucced(JSONObject response) {
mToast.cancel();
diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
index ed2cb4307e..97724abf63 100644
--- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
@@ -19,7 +19,7 @@ import com.android.volley.Response;
import com.android.volley.TimeoutError;
import com.android.volley.VolleyError;
import com.gh.base.AppController;
-import com.gh.base.DetailActivity;
+import com.gh.base.BaseDetailActivity;
import com.gh.common.constant.Config;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DisplayUtils;
@@ -42,9 +42,7 @@ import java.util.Map;
*
* @author 黄壮华
*/
-public class NewsDetailActivity extends DetailActivity implements OnClickListener {
-
- public static final String TAG = NewsDetailActivity.class.getSimpleName();
+public class NewsDetailActivity extends BaseDetailActivity implements OnClickListener {
private NewsDetailAdapter adapter;
@@ -261,7 +259,7 @@ public class NewsDetailActivity extends DetailActivity implements OnClickListene
}
}
});
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
private long[] mHits = new long[2];
@@ -344,7 +342,7 @@ public class NewsDetailActivity extends DetailActivity implements OnClickListene
}
}
}, null);
- AppController.addToRequestQueue(gameRequest, TAG);
+ AppController.addToRequestQueue(gameRequest);
}
// 关注事件
@@ -417,10 +415,4 @@ public class NewsDetailActivity extends DetailActivity implements OnClickListene
}
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java
index dc680d4352..e8e65b609c 100644
--- a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java
@@ -44,11 +44,10 @@ import java.util.Map;
/**
* Created by khy on 2016/8/22.
+ * 新闻搜索界面
*/
public class NewsSearchActivity extends BaseActivity {
- public static final String TAG = NewsSearchActivity.class.getSimpleName();
-
private RecyclerView gamedetail_news_rv;
private List newsEntities;
private NewsSearchAdapter searchAdapter;
@@ -221,7 +220,7 @@ public class NewsSearchActivity extends BaseActivity {
searchAdapter.notifyItemChanged(searchAdapter.getItemCount() - 1);
}
});
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
private void removeDuplicateData(ArrayList newsList) {
@@ -241,12 +240,6 @@ public class NewsSearchActivity extends BaseActivity {
}
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
public class NewsSearchAdapter extends RecyclerView.Adapter{
@Override
public int getItemViewType(int position) {
diff --git a/app/src/main/java/com/gh/gamecenter/PluginActivity.java b/app/src/main/java/com/gh/gamecenter/PluginActivity.java
index 8c6db5a379..7e1a498acb 100644
--- a/app/src/main/java/com/gh/gamecenter/PluginActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/PluginActivity.java
@@ -7,7 +7,6 @@ import android.view.View;
import android.widget.LinearLayout;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
-import com.gh.base.AppController;
import com.gh.base.BaseActivity;
import com.gh.common.util.DownloadItemUtils;
import com.gh.download.DataWatcher;
@@ -24,11 +23,10 @@ import java.util.List;
/**
* Created by LGT on 2016/7/6.
+ * 可插件化界面
*/
public class PluginActivity extends BaseActivity {
- public static final String TAG = PluginActivity.class.getSimpleName();
-
private RecyclerView plugin_list;
private PluginAdapter adapter;
private ProgressBarCircularIndeterminate plugin_pb_loading;
@@ -165,9 +163,4 @@ public class PluginActivity extends BaseActivity {
DownloadManager.getInstance(this).addObserver(dataWatcher);
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
}
diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java
index bd21116de3..2196a8f1ef 100644
--- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java
@@ -65,8 +65,6 @@ import de.greenrobot.event.EventBus;
*/
public class SettingActivity extends BaseActivity implements OnClickListener {
- public static final String TAG = SettingActivity.class.getSimpleName();
-
private SwitchButton setting_sb_autoinstall, setting_sb_autodelete,
setting_sb_deletedata, setting_sb_autoupdate, setting_sb_concerngame;
private TextView setting_tv_version, app_tv_speed, app_tv_percent,
@@ -409,8 +407,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
appEntity = gson.fromJson(response.toString(),
AppEntity.class);
- float version = Float.valueOf(appEntity
- .getVersion());
+ float version = Float.valueOf(appEntity.getVersion());
float currentVersion = Float.valueOf(PackageUtils.getVersion(getApplicationContext()));
if (version > currentVersion) {
@@ -450,7 +447,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
toast("检查更新失败");
}
});
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
private void showUpdateDialog(final String md5) {
@@ -472,10 +469,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
@Override
public void onClick(View v) {
if (appEntity.isForce()) {
- Intent data = new Intent();
- data.putExtra("isForce", true);
- setResult(RESULT_OK, data);
- finish();
+ AppController.getInstance().finishActivity();
} else {
updateDialog.dismiss();
}
@@ -525,10 +519,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
DownloadManager.getInstance(getApplicationContext()).cancel(
appEntity.getUrl());
if (appEntity.isForce()) {
- Intent data = new Intent();
- data.putExtra("isForce", true);
- setResult(RESULT_OK, data);
- finish();
+ AppController.getInstance().finishActivity();
} else {
downloadDialog.dismiss();
isShowDownload = false;
@@ -586,7 +577,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
StringExtendedRequest request = new StringExtendedRequest(Request.Method.POST, url, null, null);
request.setParams(params);
request.setShouldCache(false);
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
Utils.log("提交更新数据" + new JSONObject(params).toString());
}
@@ -609,6 +600,5 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
protected void onDestroy() {
saveCurrentSetting();
super.onDestroy();
- AppController.canclePendingRequests(TAG);
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java
index 32b293f89a..b9a0fcb438 100644
--- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java
@@ -1,10 +1,12 @@
package com.gh.gamecenter;
import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import com.gh.base.BaseActivity;
+import com.gh.common.util.PlatformUtils;
import com.gh.common.util.RunningUtils;
/**
@@ -59,7 +61,11 @@ public class SkipActivity extends BaseActivity {
intent.putExtra("id", id);
intent.putExtra("name", getIntent().getData().getQueryParameter("name"));
} else if ("suggestion".equals(host)) {
- intent.putExtra("content", getIntent().getData().getQueryParameter("content"));
+ Uri uri = getIntent().getData();
+ String content = "【" + uri.getQueryParameter("game_name")
+ + "-" + PlatformUtils.getInstance(this).getPlatformName(uri.getQueryParameter("platform"))
+ + "-V" + uri.getQueryParameter("version") + "】";
+ intent.putExtra("content", content);
intent.putExtra("to", "SuggestionActivity");
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java
index 395b3e0bcc..fa744797c0 100644
--- a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java
@@ -7,7 +7,6 @@ import android.view.View;
import android.widget.LinearLayout;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
-import com.gh.base.AppController;
import com.gh.base.BaseActivity;
import com.gh.common.util.DownloadItemUtils;
import com.gh.download.DataWatcher;
diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
index 8d2bef6caf..fd994a2a8f 100644
--- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
@@ -41,8 +41,6 @@ import java.util.regex.Pattern;
* */
public class SuggestionActivity extends BaseActivity implements OnClickListener {
- public static final String TAG = SuggestionActivity.class.getSimpleName();
-
private TextView tv_suggest_connectway;
private EditText et_suggest_content, et_suggest_connectway;
private CardView btn_suggest_post;
@@ -86,6 +84,12 @@ public class SuggestionActivity extends BaseActivity implements OnClickListener
}
});
+
+ String content = getIntent().getStringExtra("content");
+ if (!TextUtils.isEmpty(content)) {
+ et_suggest_content.setText(content);
+ et_suggest_content.setSelection(et_suggest_content.getText().length());
+ }
}
@Override
@@ -223,7 +227,7 @@ public class SuggestionActivity extends BaseActivity implements OnClickListener
}
});
request.setShouldCache(false);
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
private boolean isEmailAddress(String email) {
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java
index b60066669e..f253df411b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java
@@ -92,7 +92,7 @@ public class ConcernAdapter extends RecyclerView.Adapter {
}
}
});
- AppController.addToRequestQueue(concernObjectRequest, ConcernActivity.TAG);
+ AppController.addToRequestQueue(concernObjectRequest);
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java
index e4aba641a5..d198262cc5 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java
@@ -98,7 +98,7 @@ public class ConcernRecommendAdapter extends RecyclerView.Adapter list) {
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
index 7e9774fde2..0bed98201b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
@@ -25,7 +25,6 @@ import com.gh.common.util.NewsUtils;
import com.gh.common.util.PostCommentUtils;
import com.gh.common.util.Utils;
import com.gh.common.view.CardLinearLayout;
-import com.gh.gamecenter.GameNewsActivity;
import com.gh.gamecenter.MessageDetailActivity;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
@@ -114,12 +113,12 @@ public class MessageDetailAdapter extends RecyclerView.Adapter() {
@Override
@@ -142,14 +141,14 @@ public class MessageDetailAdapter extends RecyclerView.Adapter() {
@@ -181,7 +180,7 @@ public class MessageDetailAdapter extends RecyclerView.Adapter patchDatas = new ArrayList();
- private static List updatePatchList;
+ private static List patchDatas = new ArrayList();
+ private static List updatePatchList;
private static Timer timer;
private static Timer poiTimer;
@@ -65,13 +64,13 @@ public class InitChangeSkinUtils {
if( "".equals(jsonRuslt) ){
startCheckMD5Thread();
}else {
- List patchData = parseDesPatchJson(jsonRuslt);
+ List patchData = parseDesPatchJson(jsonRuslt);
patchDatas.addAll(patchData);
if( patchData.size() < SkinConfig.perPage ) {
startCheckMD5Thread();
}else{
- pageNum += 1;
- String urlPath = SkinConfig.JSON_PATCHURL.replace( "*", ""+pageNum );
+ pageNum++;
+ String urlPath = SkinConfig.JSON_PATCHURL + pageNum;
DownloadUtils.downloadJson( urlPath, handler );
}
}
@@ -179,7 +178,7 @@ public class InitChangeSkinUtils {
changeViewState( showTxt, "blue", SkinConfig.TYPE_DESUPDATE, false );
startSetPoint();
- String urlPath = SkinConfig.JSON_PATCHURL.replace( "*", ""+pageNum );
+ String urlPath = SkinConfig.JSON_PATCHURL + pageNum;
//下载数据json
DownloadUtils.downloadJson( urlPath, handler);
}
@@ -256,21 +255,21 @@ public class InitChangeSkinUtils {
}
//比较文件的MD5值,返回MD5值不同的文件个数
- private static void relMD5File( Map dirMD5Map ) {
- updatePatchList = new ArrayList();
+ private static void relMD5File( Map dirMD5Map ) {
+ updatePatchList = new ArrayList();
int patchSize = 0;
curMD5Num = 0;
//获取目录下所有文件的 MD5 值
for ( int i = 0; i < patchDatas.size(); i++ ) {
- PatchData data = patchDatas.get( i );
- String path = data.filePath;
- String updateMD5 = data.MD5;
+ PatchEntity data = patchDatas.get( i );
+ String path = data.path;
+ String updateMD5 = data.md5;
String updateUrl = data.url;
String updateSize = data.size;
//替换地址中标识符&
String replacePath = path.replace("&", SkinConfig.patchVersion);
- patchDatas.get(i).filePath = replacePath;
+ patchDatas.get(i).path = replacePath;
String localMD5 = dirMD5Map.get( "/" + replacePath );
if ( localMD5 != null ) {
@@ -298,8 +297,8 @@ public class InitChangeSkinUtils {
final Thread checkMD5Thrad = new Thread(new Runnable() {
@Override
public void run() {
- localMD5Num = GetFileMD5Utils.getDirNum(new File(filePath));
- Map dirMD5Map = GetFileMD5Utils.getDirMD5(new File(filePath), true, handler);
+ localMD5Num = FileMD5Utils.getDirNum(new File(filePath));
+ Map dirMD5Map = FileMD5Utils.getDirMD5(new File(filePath), handler);
Message msg = Message.obtain();
msg.obj = dirMD5Map;
msg.what = SkinConfig.MSG_MD5_OVER;
@@ -310,32 +309,10 @@ public class InitChangeSkinUtils {
}
//解析json数据
- private static List parseDesPatchJson(String jsonString) {
- List patchList = new ArrayList();
- JSONArray fileArray;
- try {
- fileArray = new JSONArray(jsonString);
- for(int i = 0; i < fileArray.length(); i++ ) {
- PatchData patchData = new PatchData();
- JSONObject fileObject = fileArray.getJSONObject(i);
-
- String md5 = fileObject.getString("md5");
- String size = fileObject.getString("size");
- String path = fileObject.getString("path");
- String url = fileObject.getString("url");
-
- patchData.MD5 = md5;
- patchData.size = size;
- patchData.filePath = path;
- patchData.url = url;
-
- patchList.add(patchData);
- }
- return patchList;
- } catch (JSONException e) {
- e.printStackTrace();
- return null;
- }
+ private static List parseDesPatchJson(String jsonString) {
+ Type listType = new TypeToken>() {}.getType();
+ Gson gson = new Gson();
+ return gson.fromJson(jsonString, listType);
}
//指定目录,下载替换文件
@@ -353,8 +330,8 @@ public class InitChangeSkinUtils {
}
downPosition = i;
- PatchData patchData = updatePatchList.get( i );
- String filePath = patchData.filePath;
+ PatchEntity patchData = updatePatchList.get( i );
+ String filePath = patchData.path;
Utils.log("updateProgress---" + updatePatchList.size() + "::" + i);
DownloadUtils.saveUrlToFile( filePath, patchData.url, handler );
}
diff --git a/app/src/main/java/com/gh/gamecenter/changeskin/DownloadUtils.java b/app/src/main/java/com/gh/gamecenter/changeskin/DownloadUtils.java
index 22e437b1ae..857b278322 100644
--- a/app/src/main/java/com/gh/gamecenter/changeskin/DownloadUtils.java
+++ b/app/src/main/java/com/gh/gamecenter/changeskin/DownloadUtils.java
@@ -5,10 +5,6 @@ import android.os.Message;
import com.gh.common.util.Utils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -17,57 +13,72 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
/**
* Created by yyq on 2016/11/3.
+ *
*/
public class DownloadUtils {
- //下载需要替换的文件
- public static void saveUrlToFile(String filePath, String destUrl, Handler handler) {
- int BUFFER_SIZE = 2048 * 2048;
- FileOutputStream fos = null;
- BufferedInputStream bis = null;
- HttpURLConnection httpUrl = null;
- URL url = null;
- byte[] buf = new byte[ BUFFER_SIZE ];
- int size = 0;
+ private static final int BUFFER_SIZE = 2048 * 2048;
+ private static final int CONNECT_TIME = 5000;
+ private static final int READ_TIME = 5000;
- //建立链接
+ //下载需要替换的文件
+ public static void saveUrlToFile(String filePath, String url, Handler handler) {
+ BufferedInputStream bis = null;
+ FileOutputStream fos = null;
try {
- url = new URL( destUrl );
- httpUrl = (HttpURLConnection) url.openConnection();
+ // 建立链接
+ HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
+ connection.setRequestMethod("GET");
+ connection.setConnectTimeout(CONNECT_TIME);
+ connection.setReadTimeout(READ_TIME);
+ connection.setDoInput(true);
//连接指定的资源
- httpUrl.connect();
+ connection.connect();
//获取网络输入流
- bis = new BufferedInputStream( httpUrl.getInputStream() );
- File file = new File( filePath );
+ bis = new BufferedInputStream(connection.getInputStream());
+ File file = new File(filePath);
if(!file.exists()) {
- if( !file.getParentFile().exists() ) {
- file.getParentFile().mkdirs();
+ File dir = file.getParentFile();
+ if (dir.exists() || dir.mkdirs()) {
+ file.createNewFile();
}
- file.createNewFile();
}
Utils.log("createNewFile::" + file.getName() + "::" + file.getAbsolutePath() + "::" + file.exists() + "::" + file.isFile());
fos = new FileOutputStream(file);
//保存文件
- while ( ( size = bis.read( buf ) ) != -1)
- fos.write( buf, 0, size );
+ int size;
+ byte[] buffer = new byte[BUFFER_SIZE];
+ while ((size = bis.read(buffer)) != -1) {
+ fos.write(buffer, 0, size);
+ }
+ fos.flush();
Utils.log("updateProgress---saveUrlToFile");
- handler.sendEmptyMessage( SkinConfig.MSG_PROGRESS_UPDATE );
-
- fos.close();
- bis.close();
- httpUrl.disconnect();
- } catch (Exception e) {
+ handler.sendEmptyMessage(SkinConfig.MSG_PROGRESS_UPDATE);
+ } catch (IOException e) {
Utils.log("saveUrlToFile::" + e.toString());
- InitChangeSkinUtils.NetWorkErrorControl();
+ ChangeSkinUtils.NetWorkErrorControl();
//出现异常暂停下载
e.printStackTrace();
+ } finally {
+ if (bis != null) {
+ try {
+ bis.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (fos != null) {
+ try {
+ fos.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
}
@@ -124,37 +135,6 @@ public class DownloadUtils {
}
-
- //解析json数据
- private static List parseDesPatchJson(String jsonString) {
- List patchList = new ArrayList();
- JSONArray fileArray;
- try {
- fileArray = new JSONArray(jsonString);
- for(int i = 0; i < fileArray.length(); i++ ) {
- PatchData patchData = new PatchData();
- JSONObject fileObject = fileArray.getJSONObject(i);
-
- String md5 = fileObject.getString("md5");
- String size = fileObject.getString("size");
- String path = fileObject.getString("path");
- String url = fileObject.getString("url");
-
- patchData.MD5 = md5;
- patchData.size = size;
- patchData.filePath = path;
- patchData.url = url;
-
- patchList.add(patchData);
- }
- return patchList;
- } catch (JSONException e) {
- e.printStackTrace();
- return null;
- }
- }
-
-
private static byte[] readStream(InputStream inputStream) throws IOException {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
diff --git a/app/src/main/java/com/gh/gamecenter/changeskin/GetFileMD5Utils.java b/app/src/main/java/com/gh/gamecenter/changeskin/FileMD5Utils.java
similarity index 54%
rename from app/src/main/java/com/gh/gamecenter/changeskin/GetFileMD5Utils.java
rename to app/src/main/java/com/gh/gamecenter/changeskin/FileMD5Utils.java
index c4a43511bd..6d7bca66cf 100644
--- a/app/src/main/java/com/gh/gamecenter/changeskin/GetFileMD5Utils.java
+++ b/app/src/main/java/com/gh/gamecenter/changeskin/FileMD5Utils.java
@@ -11,21 +11,21 @@ import java.util.Map;
/**
* Created by yyq on 2016/11/2.
+ *
*/
-public class GetFileMD5Utils {
+public class FileMD5Utils {
+
/**
* 获取单个文件的MD5值!
-
- * @param file
- * @return
+ * @param file 文件
+ * @return md5
*/
-
public static String getFileMD5(File file) {
if (!file.isFile()) {
return null;
}
- MessageDigest digest = null;
- FileInputStream in = null;
+ MessageDigest digest;
+ FileInputStream in;
byte buffer[] = new byte[1024];
int len;
try {
@@ -42,18 +42,17 @@ public class GetFileMD5Utils {
BigInteger bigInt = new BigInteger(1, digest.digest());
- if(bigInt.toString().length()<39) {
+ if (bigInt.toString().length() < 39) {
int length = bigInt.toString(16).length();
- if(length < 32){
+ if (length < 32) {
String bigStr = bigInt.toString(16);
- for(int i=0; i<(32-length); i++){
+ for (int i = 0; i < (32 - length); i++) {
bigStr = "0" + bigStr;
}
return bigStr;
}
}
-
return bigInt.toString(16);
}
@@ -62,48 +61,48 @@ public class GetFileMD5Utils {
/**
* 获取文件夹中文件的MD5值
*
- * @param file
- * @param listChild
- * ;true递归子目录中的文件
- * @param handler
- * @return
+ * @param folder 文件夹
+ * @param handler handler
+ * @return 文件MD5 map
*/
- public static Map getDirMD5(File file, boolean listChild, Handler handler) {
- if (!file.isDirectory()) {
- return null;
+ public static Map getDirMD5(File folder, Handler handler) {
+ Map map = new HashMap<>();
+ if (!folder.isDirectory()) {
+ return map;
}
- Map map = new HashMap();
String md5;
- File files[] = file.listFiles();
- for (int i = 0; i < files.length; i++) {
- File f = files[i];
- if (f.isDirectory() && listChild) {
- map.putAll(getDirMD5(f, listChild, handler));
+ for (File file : folder.listFiles()) {
+ if (file.isDirectory()) {
+ map.putAll(getDirMD5(file, handler));
} else {
- md5 = getFileMD5(f);
- handler.sendEmptyMessage( SkinConfig.MSG_MD5_PROGRSS );
+ md5 = getFileMD5(file);
+ handler.sendEmptyMessage(SkinConfig.MSG_MD5_PROGRSS);
if (md5 != null) {
- map.put(f.getPath(), md5);
+ map.put(file.getPath(), md5);
}
}
}
return map;
}
-
- public static int getDirNum(File file) {
+ /**
+ * 获取文件夹下文件数量
+ * @param folder 文件夹
+ * @return 文件数量
+ */
+ public static int getDirNum(File folder) {
int dirNum = 0;
- File files[] = file.listFiles();
- for (int i = 0; i < files.length; i++) {
- File f = files[i];
- if (f.isDirectory()) {
- dirNum += getDirNum(f);
+ if (!folder.isDirectory()) {
+ return dirNum;
+ }
+ for (File file : folder.listFiles()) {
+ if (file.isDirectory()) {
+ dirNum += getDirNum(file);
} else {
- dirNum ++;
+ dirNum++;
}
}
return dirNum;
}
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/changeskin/NetSpeed.java b/app/src/main/java/com/gh/gamecenter/changeskin/NetSpeed.java
index 8f2da730d9..17027f1853 100644
--- a/app/src/main/java/com/gh/gamecenter/changeskin/NetSpeed.java
+++ b/app/src/main/java/com/gh/gamecenter/changeskin/NetSpeed.java
@@ -8,6 +8,7 @@ import android.os.Message;
/**
* Created by yyq on 2016/11/4.
+ *
*/
public class NetSpeed {
@@ -29,8 +30,7 @@ public class NetSpeed {
Message msg = handler.obtainMessage();
msg.what = SkinConfig.MSG_NETWORK_SPEED ;
- String speeds = String.valueOf(speed) + " kb/s";
- msg.obj = speeds;
+ msg.obj = String.valueOf(speed) + " kb/s";
handler.sendMessage(msg);//更新界面
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/changeskin/PatchData.java b/app/src/main/java/com/gh/gamecenter/changeskin/PatchEntity.java
similarity index 62%
rename from app/src/main/java/com/gh/gamecenter/changeskin/PatchData.java
rename to app/src/main/java/com/gh/gamecenter/changeskin/PatchEntity.java
index 09b10f536b..1d9744bd7c 100644
--- a/app/src/main/java/com/gh/gamecenter/changeskin/PatchData.java
+++ b/app/src/main/java/com/gh/gamecenter/changeskin/PatchEntity.java
@@ -2,10 +2,11 @@ package com.gh.gamecenter.changeskin;
/**
* Created by yyq on 2016/11/2.
+ *
*/
-public class PatchData {
- public String MD5;
+public class PatchEntity {
+ public String md5;
public String size;
- public String filePath;
+ public String path;
public String url;
}
diff --git a/app/src/main/java/com/gh/gamecenter/changeskin/SkinConfig.java b/app/src/main/java/com/gh/gamecenter/changeskin/SkinConfig.java
index 3f4cfda5d7..8edd391331 100644
--- a/app/src/main/java/com/gh/gamecenter/changeskin/SkinConfig.java
+++ b/app/src/main/java/com/gh/gamecenter/changeskin/SkinConfig.java
@@ -2,14 +2,15 @@ package com.gh.gamecenter.changeskin;
/**
* Created by khy on 2016/11/16.
+ *
*/
public class SkinConfig {
public static int PG_STATE = 1;
/*
- pageNum : 页数
- perPage : 请求数量
+ * pageNum : 页数
+ * perPage : 请求数量
*/
public static int perPage = 300;
@@ -26,10 +27,11 @@ public class SkinConfig {
public static final int MSG_MD5_OVER = 104;
public static final int MSG_NETWORK_ERROR = 200;
- public static String GAME_ID = "57ce84f88ab49e83728b4572";
+ public static final String GAME_ID = "57ce84f88ab49e83728b4572";
- // http://api.ghzhushou.com/v2d2/game/57ce84f88ab49e83728b4572/skin/data?page=1&per_page=1000
- public static String JSON_PATCHURL = "http://api.ghzhushou.com/v2d2/game/" + GAME_ID + "/skin/data?page=*&per_page=" + perPage;
+ // http://api.ghzhushou.com/v2d2/game/57ce84f88ab49e83728b4572/skin/data?per_page=1000&page=1
+ public static final String JSON_PATCHURL = "http://api.ghzhushou.com/v2d2/game/"
+ + GAME_ID + "/skin/data?per_page=" + perPage + "&page=";
// ewan.anfeng 安峰
public static String patchVersion = "com.netease.ma.ewan.anfeng";
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java
index addd84c68b..91c1282f63 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java
@@ -29,7 +29,6 @@ import com.gh.gamecenter.R;
import com.gh.gamecenter.eventbus.EBDownloadChanged;
import com.gh.gamecenter.eventbus.EBMiPush;
import com.gh.gamecenter.eventbus.EBPackage;
-import com.gh.gamecenter.eventbus.EBShowDone;
import com.gh.gamecenter.eventbus.EBSkip;
import com.gh.gamecenter.eventbus.EBUISwitch;
@@ -331,12 +330,6 @@ public class GameDownLoadFragment extends Fragment implements View.OnClickListen
}
}
- public void onEventMainThread(EBShowDone showDone) {
- if ("下载管理".equals(showDone.getFrom()) && downloadmanager_rv_show != null) {
- downloadmanager_rv_show.smoothScrollToPosition(showDone.getPosition());
- }
- }
-
@Override
public void onResume() {
super.onResume();
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
index 7aa0e01d0b..d1d78f567e 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
@@ -12,7 +12,6 @@ import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.gh.base.AppController;
import com.gh.gamecenter.MainActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.eventbus.EBDownloadChanged;
@@ -33,8 +32,6 @@ import de.greenrobot.event.EventBus;
*/
public class GameUpdateFragment extends Fragment {
- public static final String TAG = GameUpdateFragment.class.getSimpleName();
-
private View view;
private RecyclerView gameupdate_rv_show;
private GameUpdateFragmentAdapter adapter;
@@ -146,6 +143,5 @@ public class GameUpdateFragment extends Fragment {
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
- AppController.canclePendingRequests(TAG);
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
index a30d0c639a..0149f8876c 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
@@ -155,7 +155,7 @@ public class GameUpdateFragmentAdapter extends RecyclerView.Adapter packages) {
this.packages = packages;
}
+
public List getPackage() {
return packages;
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.java b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.java
index 534f918990..a91725b94a 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.java
@@ -21,14 +21,14 @@ public class GameDetailEntity {
@SerializedName("download_off_text")
private String downloadOffText;
@SerializedName("skin_test")
- private boolean skinTest;
+ private boolean isSkinTest;
public boolean isSkinTest() {
- return skinTest;
+ return isSkinTest;
}
public void setSkinTest(boolean skinTest) {
- this.skinTest = skinTest;
+ this.isSkinTest = skinTest;
}
public void setDownloadOffText(String downloadOffText) {
diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.java b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.java
index d69cbb21fc..50b2a5bf25 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.java
@@ -42,7 +42,7 @@ public class GameEntity {
private String link;
@SerializedName("concern_article_exists")
- private boolean newsExists = true;
+ private boolean isNewsExists = true;
@SerializedName("download_off_text")
private String downloadOffText;
@@ -56,11 +56,11 @@ public class GameEntity {
}
public boolean isNewsExists() {
- return newsExists;
+ return isNewsExists;
}
public void setNewsExists(boolean newsExists) {
- this.newsExists = newsExists;
+ this.isNewsExists = newsExists;
}
public String getLink() {
@@ -211,7 +211,7 @@ public class GameEntity {
gameEntity.setType(type);
gameEntity.setPluggable(isPluggable);
gameEntity.setLink(link);
- gameEntity.setNewsExists(newsExists);
+ gameEntity.setNewsExists(isNewsExists);
gameEntity.setDownloadOffText(downloadOffText);
return gameEntity;
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameInfoEntity.java b/app/src/main/java/com/gh/gamecenter/entity/GameInfoEntity.java
index 625cf23600..ea914df237 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/GameInfoEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/GameInfoEntity.java
@@ -1,7 +1,5 @@
package com.gh.gamecenter.entity;
-import java.util.ArrayList;
-
public class GameInfoEntity {
private String id;
@@ -10,8 +8,6 @@ public class GameInfoEntity {
private boolean isSignature;
private long installTime;
- private ArrayList packageList;
-
public String getId() {
return id;
}
@@ -52,12 +48,4 @@ public class GameInfoEntity {
this.installTime = installTime;
}
- public ArrayList getPackageList() {
- return packageList;
- }
-
- public void setPackageList(ArrayList packageList) {
- this.packageList = packageList;
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameUpdateEntity.java b/app/src/main/java/com/gh/gamecenter/entity/GameUpdateEntity.java
index f24963b3fb..8bc43f20c3 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/GameUpdateEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/GameUpdateEntity.java
@@ -29,18 +29,12 @@ public class GameUpdateEntity {
private boolean isPluggable;
- private ApkEntity apk;
-
private String etag;
private String brief;
private ArrayList tag;
- public GameUpdateEntity() {
-
- }
-
public String getBrief() {
return brief;
}
@@ -145,22 +139,4 @@ public class GameUpdateEntity {
this.etag = etag;
}
- public ApkEntity getApk() {
- if (apk == null) {
- apk = new ApkEntity();
- apk.setGhVersion(ghVersion);
- apk.setVersion(version);
- apk.setPackageName(packageName);
- apk.setPlatform(platform);
- apk.setSize(size);
- apk.setUrl(url);
- apk.setEtag(etag);
- }
- return apk;
- }
-
- public void setApk(ApkEntity apk) {
- this.apk = apk;
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/NewsDetailEntity.java b/app/src/main/java/com/gh/gamecenter/entity/NewsDetailEntity.java
index 619ca1854c..d5ad355220 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/NewsDetailEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/NewsDetailEntity.java
@@ -8,10 +8,15 @@ public class NewsDetailEntity {
@SerializedName("_id")
private String id;
+
private long time;
+
private String author;
+
private String content;
+
private String title;
+
private String type;
@SerializedName("game_id")
diff --git a/app/src/main/java/com/gh/gamecenter/entity/NewsEntity.java b/app/src/main/java/com/gh/gamecenter/entity/NewsEntity.java
index 40163c660b..fd282bf2d4 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/NewsEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/NewsEntity.java
@@ -8,6 +8,7 @@ public class NewsEntity {
private String id;
private String type;
+
private String title;
@SerializedName("time")
diff --git a/app/src/main/java/com/gh/gamecenter/entity/SubjectEntity.java b/app/src/main/java/com/gh/gamecenter/entity/SubjectEntity.java
index a760346c1a..a2b6bec6ee 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/SubjectEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/SubjectEntity.java
@@ -60,5 +60,4 @@ public class SubjectEntity {
this.data = data;
}
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/TagEntity.java b/app/src/main/java/com/gh/gamecenter/entity/TagEntity.java
index 83765d0d97..7949c5d2b4 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/TagEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/TagEntity.java
@@ -31,10 +31,4 @@ public class TagEntity {
this.des = des;
}
- @Override
- public String toString() {
- return "TagEntity [name=" + name + ", icon=" + icon + ", des=" + des
- + "]";
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/ThumbnailEntity.java b/app/src/main/java/com/gh/gamecenter/entity/ThumbnailEntity.java
index 7bf231c4d6..6390ef6059 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/ThumbnailEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/ThumbnailEntity.java
@@ -8,6 +8,7 @@ import java.util.List;
public class ThumbnailEntity {
private String type;
+
private List url;
public String getType() {
diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.java b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.java
index c6ac62bbe7..f76e97664b 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.java
+++ b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.java
@@ -12,6 +12,7 @@ public class UserEntity {
public void setIcon(String icon) {
this.icon = icon;
}
+
public String getIcon() {
return icon;
}
@@ -19,6 +20,7 @@ public class UserEntity {
public void setName(String name) {
this.name = name;
}
+
public String getName() {
return name;
}
diff --git a/app/src/main/java/com/gh/gamecenter/eventbus/EBPackage.java b/app/src/main/java/com/gh/gamecenter/eventbus/EBPackage.java
index 27885d09a9..bda6da40ea 100644
--- a/app/src/main/java/com/gh/gamecenter/eventbus/EBPackage.java
+++ b/app/src/main/java/com/gh/gamecenter/eventbus/EBPackage.java
@@ -6,7 +6,6 @@ public class EBPackage {
private String packageName;
public EBPackage(String type, String packageName) {
- super();
this.type = type;
this.packageName = packageName;
}
diff --git a/app/src/main/java/com/gh/gamecenter/eventbus/EBSearch.java b/app/src/main/java/com/gh/gamecenter/eventbus/EBSearch.java
index 059297be80..b1f75b3996 100644
--- a/app/src/main/java/com/gh/gamecenter/eventbus/EBSearch.java
+++ b/app/src/main/java/com/gh/gamecenter/eventbus/EBSearch.java
@@ -6,6 +6,7 @@ package com.gh.gamecenter.eventbus;
public class EBSearch {
private String key;
+
private boolean isSearch;
public EBSearch(String key, boolean isSearch) {
diff --git a/app/src/main/java/com/gh/gamecenter/eventbus/EBTypeChange.java b/app/src/main/java/com/gh/gamecenter/eventbus/EBTypeChange.java
index 2d6914037e..7bf8c7eb55 100644
--- a/app/src/main/java/com/gh/gamecenter/eventbus/EBTypeChange.java
+++ b/app/src/main/java/com/gh/gamecenter/eventbus/EBTypeChange.java
@@ -11,6 +11,7 @@ public class EBTypeChange {
public EBTypeChange(String type, int position) {
this.type = type;
+ this.position = position;
}
public String getType() {
diff --git a/app/src/main/java/com/gh/gamecenter/eventbus/EBUISwitch.java b/app/src/main/java/com/gh/gamecenter/eventbus/EBUISwitch.java
index da634ef43a..1e59285b96 100644
--- a/app/src/main/java/com/gh/gamecenter/eventbus/EBUISwitch.java
+++ b/app/src/main/java/com/gh/gamecenter/eventbus/EBUISwitch.java
@@ -6,7 +6,6 @@ public class EBUISwitch {
private int position;
public EBUISwitch(String from, int position) {
- super();
this.position = position;
this.from = from;
}
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 628014e8ca..24fb1e97b6 100644
--- a/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java
+++ b/app/src/main/java/com/gh/gamecenter/game/Game1Fragment.java
@@ -10,7 +10,6 @@ import android.widget.LinearLayout;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
-import com.gh.base.AppController;
import com.gh.base.BaseFragment;
import com.gh.common.util.DownloadItemUtils;
import com.gh.download.DataWatcher;
@@ -35,8 +34,6 @@ import java.util.List;
*/
public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
- public static final String TAG = Game1Fragment.class.getSimpleName();
-
private SwipeRefreshLayout fm_game_swipe_refresh;
private RecyclerView fm_game_rv_list;
private Game1FragmentAdapter adapter;
@@ -295,10 +292,4 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
handler.postDelayed(runnable, 1000);
}
- @Override
- public void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
}
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 b2af850260..80164b8408 100644
--- a/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java
@@ -176,7 +176,7 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter();
- sp = getActivity().getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
+ SharedPreferences sp = getActivity().getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
isNewFirstLaunch = sp.getBoolean("isNewFirstLaunchV" + PackageUtils.getVersion(getActivity()), true);
diff --git a/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java
index 1324030931..93c15e6ca5 100644
--- a/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java
@@ -57,9 +57,8 @@ public class NewsFragment extends HomeFragment implements View.OnClickListener,
if (savedInstanceState != null) {
currentItem = savedInstanceState.getInt("currentItem");
}
- home_vp_content.setCurrentItem(currentItem);
-
initTextView();
+ home_vp_content.setCurrentItem(currentItem);
DisplayMetrics outMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
index e9f7241a2f..18e4d80308 100644
--- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
@@ -58,6 +58,7 @@ import java.util.Map;
/**
* Created by LGT on 2016/9/13.
+ * 新闻详情数据适配器
*/
public class NewsDetailAdapter extends RecyclerView.Adapter {
@@ -111,7 +112,7 @@ public class NewsDetailAdapter extends RecyclerView.Adapter {
}
}
});
- AppController.addToRequestQueue(request, NewsDetailActivity.TAG);
+ AppController.addToRequestQueue(request);
}
private void getNewsMore() {
@@ -142,7 +143,7 @@ public class NewsDetailAdapter extends RecyclerView.Adapter {
}
}
}, null);
- AppController.addToRequestQueue(request, NewsDetailActivity.TAG);
+ AppController.addToRequestQueue(request);
}
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java
index 76df924683..aaf058f8c3 100644
--- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java
@@ -8,7 +8,6 @@ import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.gh.base.AppController;
import com.gh.base.BaseFragment;
import com.gh.common.util.DownloadItemUtils;
import com.gh.download.DataWatcher;
@@ -28,19 +27,16 @@ import de.greenrobot.event.EventBus;
/**
* Created by LGT on 2016/8/12.
+ * 我的光环-已关注界面
*/
public class ConcernFragment extends BaseFragment {
- public static final String TAG = ConcernFragment.class.getSimpleName();
-
private RecyclerView fm_concern_rv_show;
private ConcernFragmentAdapter adapter;
private LinearLayout reuse_nodata_skip;
private TextView reuse_nodata_skip_tv_hint;
private TextView reuse_nodata_skip_tv_btn;
- private boolean isEverpause;
-
private DataWatcher dataWatcher = new DataWatcher() {
@Override
public void onDataChanged(DownloadEntity downloadEntity) {
@@ -62,8 +58,6 @@ public class ConcernFragment extends BaseFragment {
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- isEverpause = false;
-
init(R.layout.fm_concern);
reuse_nodata_skip.setVisibility(View.GONE);
@@ -142,28 +136,20 @@ public class ConcernFragment extends BaseFragment {
@Override
public void onResume() {
- super.onResume();
if (isEverpause) {
for (GameEntity entity : adapter.getGameList()) {
entity.setEntryMap(DownloadManager.getInstance(getActivity()).getEntryMap(entity.getName()));
}
adapter.notifyDataSetChanged();
}
- isEverpause = false;
+ super.onResume();
DownloadManager.getInstance(getActivity()).addObserver(dataWatcher);
}
@Override
public void onPause() {
super.onPause();
- isEverpause = true;
DownloadManager.getInstance(getActivity()).removeObserver(dataWatcher);
}
- @Override
- public void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java
index 0ebdd1d80d..31ecac4707 100644
--- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java
@@ -41,6 +41,7 @@ import java.util.Map;
/**
* Created by LGT on 2016/8/15.
+ * 已关注界面-数据适配器
*/
public class ConcernFragmentAdapter extends RecyclerView.Adapter {
@@ -110,7 +111,7 @@ public class ConcernFragmentAdapter extends RecyclerView.Adapter() {
@Override
@@ -240,7 +240,7 @@ public class InstallFragmentAdapter extends RecyclerView.Adapter= Build.VERSION_CODES.KITKAT) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) me_iv_top_setting.getLayoutParams();
params.topMargin = DisplayUtils.getInternalDimensionSize(getResources(), "status_bar_height")
@@ -383,8 +380,12 @@ public class PersonalFragment extends Fragment implements View.OnClickListener,
}.start();
}
- private void modifyNickname(final String nickname) {
+ private void modifyNickname(String nickname) {
final Dialog waitDialog = DialogUtils.showWaitDialog(getActivity(), "修改中...");
+ modifyNickname(waitDialog, nickname, true);
+ }
+
+ private void modifyNickname(final Dialog waitDialog, final String nickname, final boolean isCheck) {
new Thread(){
@Override
public void run() {
@@ -404,30 +405,31 @@ public class PersonalFragment extends Fragment implements View.OnClickListener,
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
+ if (error.networkResponse != null
+ && error.networkResponse.statusCode == 401) {
+ modifyNickname(waitDialog, nickname, false);
+ return;
+ }
waitDialog.dismiss();
- if (error.networkResponse != null) {
- if (error.networkResponse.statusCode == 401) {
- TokenUtils.getToken(getActivity(), false); // TODO 提示网络请求不能在UI线程执行
- modifyNickname(nickname);
- } else if (error.networkResponse.statusCode == 403) {
- try {
- JSONObject response = new JSONObject(new String(error.networkResponse.data));
- String detail = response.getString("detail");
- if ("too long".equals(detail)) {
- Toast.makeText(getActivity(), "昵称太长", Toast.LENGTH_SHORT).show();
- } else if ("invalid".equals(detail)) {
- Toast.makeText(getActivity(), "非法字符", Toast.LENGTH_SHORT).show();
- } else if ("repeat".equals(detail)) {
- Toast.makeText(getActivity(), "昵称已存在", Toast.LENGTH_SHORT).show();
- } else if ("no change".equals(detail)) {
- Toast.makeText(getActivity(), "昵称一致", Toast.LENGTH_SHORT).show();
- } else if ("too frequent".equals(detail)) {
- Toast.makeText(getActivity(), "修改太频繁,请稍后再试", Toast.LENGTH_SHORT).show();
- }
- } catch (JSONException e) {
- e.printStackTrace();
- Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show();
+ if (error.networkResponse != null
+ && error.networkResponse.statusCode == 403) {
+ try {
+ JSONObject response = new JSONObject(new String(error.networkResponse.data));
+ String detail = response.getString("detail");
+ if ("too long".equals(detail)) {
+ Toast.makeText(getActivity(), "昵称太长", Toast.LENGTH_SHORT).show();
+ } else if ("invalid".equals(detail)) {
+ Toast.makeText(getActivity(), "非法字符", Toast.LENGTH_SHORT).show();
+ } else if ("repeat".equals(detail)) {
+ Toast.makeText(getActivity(), "昵称已存在", Toast.LENGTH_SHORT).show();
+ } else if ("no change".equals(detail)) {
+ Toast.makeText(getActivity(), "昵称一致", Toast.LENGTH_SHORT).show();
+ } else if ("too frequent".equals(detail)) {
+ Toast.makeText(getActivity(), "修改太频繁,请稍后再试", Toast.LENGTH_SHORT).show();
}
+ } catch (JSONException e) {
+ e.printStackTrace();
+ Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show();
@@ -435,8 +437,8 @@ public class PersonalFragment extends Fragment implements View.OnClickListener,
}
});
request.setShouldCache(false);
- request.addHeader("TOKEN", TokenUtils.getToken(getActivity()));
- AppController.addToRequestQueue(request, TAG);
+ request.addHeader("TOKEN", TokenUtils.getToken(getActivity(), isCheck));
+ AppController.addToRequestQueue(request);
}
}.start();
}
@@ -468,16 +470,10 @@ public class PersonalFragment extends Fragment implements View.OnClickListener,
Config.USER_HOST + "device/" + TokenUtils.getDeviceId(getActivity()),
new JSONObject(params).toString(), null, null);
request.addHeader("TOKEN", TokenUtils.getToken(getActivity()));
- AppController.addToRequestQueue(request, TAG);
+ AppController.addToRequestQueue(request);
}
}.start();
}
}
- @Override
- public void onDestroy() {
- super.onDestroy();
- AppController.canclePendingRequests(TAG);
- }
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
index 7c08166ddb..da1551c2b6 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
@@ -11,6 +11,7 @@ import com.gh.gamecenter.SplashScreenActivity;
/**
* Created by khy on 2016/9/1.
+ * 光环插件跳转助手
*/
public class ActivitySkipReceiver extends BroadcastReceiver {
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/DownloadReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/DownloadReceiver.java
index 5daaea87da..2cee396534 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/DownloadReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/DownloadReceiver.java
@@ -14,6 +14,7 @@ import de.greenrobot.event.EventBus;
/**
* Created by LGT on 2016/10/10.
+ * notification下载跳转
*/
public class DownloadReceiver extends BroadcastReceiver {
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/InstallAndUninstallReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/InstallAndUninstallReceiver.java
index b8904cf747..ece246ead0 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/InstallAndUninstallReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/InstallAndUninstallReceiver.java
@@ -19,8 +19,6 @@ public class InstallAndUninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
-
-
// 接收安装广播
if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) {
String packageName = intent.getDataString();
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
index c487fba67d..28d7965bb6 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
@@ -15,6 +15,7 @@ import de.greenrobot.event.EventBus;
/**
* Created by LGT on 2016/10/10.
+ * notification安装跳转
*/
public class InstallReceiver extends BroadcastReceiver {
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/NetworkStateReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/NetworkStateReceiver.java
index e1c74fe8a1..53068079fa 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/NetworkStateReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/NetworkStateReceiver.java
@@ -14,10 +14,7 @@ public class NetworkStateReceiver extends BroadcastReceiver {
// 监听网络状态的变化
@Override
public void onReceive(Context context, Intent intent) {
-
- EventBus.getDefault().post(
- new EBNetworkState(NetworkUtils
- .isNetworkConnected(context)));
+ EventBus.getDefault().post(new EBNetworkState(NetworkUtils.isNetworkConnected(context)));
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java
index 8c7f0ccf29..3695093c0d 100644
--- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java
@@ -12,10 +12,9 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.gh.gamecenter.R;
+import com.gh.gamecenter.listener.OnCallBackListener;
-public class SearchGameDetailFragment extends Fragment {
-
- public static final String TAG = SearchGameDetailFragment.class.getSimpleName();
+public class SearchGameDetailFragment extends Fragment implements OnCallBackListener {
private View view;
private RecyclerView search_detail;
@@ -41,8 +40,7 @@ public class SearchGameDetailFragment extends Fragment {
search_detail = (RecyclerView) view.findViewById(R.id.search_detail);
search_detail.setHasFixedSize(true);
search_detail.setLayoutManager(new LinearLayoutManager(getActivity()));
- search_detail.setAdapter(new SearchGameDetailFragmentAdapter(getActivity(), search_detail,
- search_loading, reuse_none_date, reuse_no_connection, key));
+ search_detail.setAdapter(new SearchGameDetailFragmentAdapter(SearchGameDetailFragment.this, key));
}
@Nullable
@@ -59,9 +57,33 @@ public class SearchGameDetailFragment extends Fragment {
this.key = key;
}
- public void search(String key) {
- search_detail.setAdapter(new SearchGameDetailFragmentAdapter(getActivity(), search_detail,
- search_loading, reuse_none_date, reuse_no_connection, key));
+ @Override
+ public void loadDone() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.VISIBLE);
+ reuse_none_date.setVisibility(View.GONE);
+ reuse_no_connection.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
+ @Override
+ public void loadError() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.GONE);
+ reuse_none_date.setVisibility(View.GONE);
+ reuse_no_connection.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void loadEmpty() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.GONE);
+ reuse_none_date.setVisibility(View.VISIBLE);
+ reuse_no_connection.setVisibility(View.GONE);
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java
index 8d19b65315..788641e9ed 100644
--- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java
@@ -9,7 +9,6 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
-import android.widget.LinearLayout;
import com.android.volley.Response;
import com.android.volley.VolleyError;
@@ -24,6 +23,7 @@ import com.gh.common.view.DownloadDialog;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder;
import com.gh.gamecenter.entity.GameEntity;
+import com.gh.gamecenter.listener.OnCallBackListener;
import com.gh.gamecenter.manager.DataCollectionManager;
import com.gh.gamecenter.volley.extended.JsonArrayExtendedRequest;
import com.google.gson.Gson;
@@ -40,43 +40,25 @@ import java.util.Map;
public class SearchGameDetailFragmentAdapter extends RecyclerView.Adapter {
private Context context;
-
- private RecyclerView search_detail;
- private LinearLayout search_loading;
- private LinearLayout search_nogame;
- private LinearLayout search_connection;
+ private OnCallBackListener listener;
private List gameList;
private String key;
- public SearchGameDetailFragmentAdapter(Context context,
- RecyclerView search_detail,
- LinearLayout search_loading,
- LinearLayout search_nogame,
- LinearLayout search_connection,
- String key) {
-
- this.context = context;
- this.search_detail = search_detail;
- this.search_loading = search_loading;
- this.search_nogame = search_nogame;
- this.search_connection = search_connection;
+ public SearchGameDetailFragmentAdapter(SearchGameDetailFragment fragment, String key) {
+ this.context = fragment.getActivity();
+ this.listener = fragment;
gameList = new ArrayList<>();
this.key = key;
if (!TextUtils.isEmpty(key)) {
- search_loading.setVisibility(View.VISIBLE);
- search_detail.setVisibility(View.GONE);
- search_nogame.setVisibility(View.GONE);
- search_connection.setVisibility(View.GONE);
search(key);
} else {
- search_loading.setVisibility(View.GONE);
- search_detail.setVisibility(View.GONE);
- search_nogame.setVisibility(View.VISIBLE);
- search_connection.setVisibility(View.GONE);
+ if (listener != null) {
+ listener.loadEmpty();
+ }
}
}
@@ -86,27 +68,30 @@ public class SearchGameDetailFragmentAdapter extends RecyclerView.Adapter() {
@Override
public void onResponse(JSONArray response) {
- search_loading.setVisibility(View.GONE);
-
Type listType = new TypeToken>() {}.getType();
Gson gson = new Gson();
List list = gson.fromJson(response.toString(), listType);
- if (list != null && list.size() > 0) {
- search_detail.setVisibility(View.VISIBLE);
+ if (list != null && list.size() != 0) {
+ if (listener != null) {
+ listener.loadDone();
+ }
gameList = list;
notifyItemRangeInserted(0, gameList.size());
} else {
- search_nogame.setVisibility(View.VISIBLE);
+ if (listener != null) {
+ listener.loadEmpty();
+ }
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
- search_loading.setVisibility(View.GONE);
- search_connection.setVisibility(View.VISIBLE);
+ if (listener != null) {
+ listener.loadError();
+ }
}
});
- AppController.addToRequestQueue(request, SearchGameDetailFragment.TAG);
+ AppController.addToRequestQueue(request);
}
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java
index eb789e0498..af64badf7f 100644
--- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java
@@ -12,12 +12,15 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.gh.gamecenter.R;
+import com.gh.gamecenter.listener.OnCallBackListener;
-public class SearchGameListFragment extends Fragment {
-
- public static final String TAG = SearchGameListFragment.class.getSimpleName();
+public class SearchGameListFragment extends Fragment implements OnCallBackListener {
private View view;
+ private RecyclerView search_detail;
+ private LinearLayout search_loading;
+ private LinearLayout reuse_none_date;
+ private LinearLayout reuse_no_connection;
private String key;
@@ -30,15 +33,14 @@ public class SearchGameListFragment extends Fragment {
TextView reuse_tv_none_data = (TextView) view.findViewById(R.id.reuse_tv_none_data);
reuse_tv_none_data.setText("搜索为空");
- LinearLayout search_loading = (LinearLayout) view.findViewById(R.id.search_gamedetail_ll_loading);
- LinearLayout search_nogame = (LinearLayout) view.findViewById(R.id.reuse_none_data);
- LinearLayout search_connection = (LinearLayout) view.findViewById(R.id.reuse_no_connection);
+ search_loading = (LinearLayout) view.findViewById(R.id.search_gamedetail_ll_loading);
+ reuse_none_date = (LinearLayout) view.findViewById(R.id.reuse_none_data);
+ reuse_no_connection = (LinearLayout) view.findViewById(R.id.reuse_no_connection);
- RecyclerView search_detail = (RecyclerView) view.findViewById(R.id.search_detail);
+ search_detail = (RecyclerView) view.findViewById(R.id.search_detail);
search_detail.setHasFixedSize(true);
search_detail.setLayoutManager(new LinearLayoutManager(getActivity()));
- search_detail.setAdapter(new SearchGameListFragmentAdapter(getActivity(), search_detail,
- search_loading, search_nogame, search_connection, key));
+ search_detail.setAdapter(new SearchGameListFragmentAdapter(SearchGameListFragment.this, key));
}
@Nullable
@@ -55,4 +57,32 @@ public class SearchGameListFragment extends Fragment {
this.key = key;
}
+ @Override
+ public void loadDone() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.VISIBLE);
+ reuse_none_date.setVisibility(View.GONE);
+ reuse_no_connection.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
+ @Override
+ public void loadError() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.GONE);
+ reuse_none_date.setVisibility(View.GONE);
+ reuse_no_connection.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void loadEmpty() {
+ search_loading.setVisibility(View.GONE);
+ search_detail.setVisibility(View.GONE);
+ reuse_none_date.setVisibility(View.VISIBLE);
+ reuse_no_connection.setVisibility(View.GONE);
+ }
}
diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java
index ec3206d7dd..29ea520358 100644
--- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java
@@ -8,7 +8,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
-import android.widget.LinearLayout;
import com.android.volley.Response;
import com.android.volley.VolleyError;
@@ -24,6 +23,7 @@ import com.gh.common.view.DownloadDialog;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder;
import com.gh.gamecenter.entity.GameEntity;
+import com.gh.gamecenter.listener.OnCallBackListener;
import com.gh.gamecenter.manager.DataCollectionManager;
import com.gh.gamecenter.volley.extended.JsonArrayExtendedRequest;
import com.google.gson.Gson;
@@ -40,42 +40,25 @@ import java.util.Map;
public class SearchGameListFragmentAdapter extends RecyclerView.Adapter {
private Context context;
-
- private RecyclerView search_detail;
- private LinearLayout search_loading;
- private LinearLayout search_nogame;
- private LinearLayout search_connection;
+ private OnCallBackListener listener;
private List gameList;
private String key;
- public SearchGameListFragmentAdapter(Context context,
- RecyclerView search_detail,
- LinearLayout search_loading,
- LinearLayout search_nogame,
- LinearLayout search_connection,
- String key) {
- this.context = context;
- this.search_detail = search_detail;
- this.search_loading = search_loading;
- this.search_nogame = search_nogame;
- this.search_connection = search_connection;
+ public SearchGameListFragmentAdapter(SearchGameListFragment fragment, String key) {
+ this.context = fragment.getActivity();
+ this.listener = fragment;
gameList = new ArrayList<>();
this.key = key;
if (!TextUtils.isEmpty(key)) {
- search_loading.setVisibility(View.VISIBLE);
- search_detail.setVisibility(View.GONE);
- search_nogame.setVisibility(View.GONE);
- search_connection.setVisibility(View.GONE);
searchGame(key);
} else {
- search_loading.setVisibility(View.GONE);
- search_detail.setVisibility(View.GONE);
- search_nogame.setVisibility(View.VISIBLE);
- search_connection.setVisibility(View.GONE);
+ if (listener != null) {
+ listener.loadEmpty();
+ }
}
}
@@ -85,27 +68,30 @@ public class SearchGameListFragmentAdapter extends RecyclerView.Adapter() {
@Override
public void onResponse(JSONArray response) {
- search_loading.setVisibility(View.GONE);
-
Type listType = new TypeToken>() {}.getType();
Gson gson = new Gson();
List list = gson.fromJson(response.toString(), listType);
- if (list != null && list.size() > 0) {
- search_detail.setVisibility(View.VISIBLE);
+ if (list != null && list.size() != 0) {
+ if (listener != null) {
+ listener.loadDone();
+ }
gameList = list;
notifyItemRangeInserted(0, gameList.size());
} else {
- search_nogame.setVisibility(View.VISIBLE);
+ if (listener != null) {
+ listener.loadEmpty();
+ }
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
- search_loading.setVisibility(View.GONE);
- search_connection.setVisibility(View.VISIBLE);
+ if (listener != null) {
+ listener.loadError();
+ }
}
});
- AppController.addToRequestQueue(request, SearchGameListFragment.TAG);
+ AppController.addToRequestQueue(request);
}
@Override
diff --git a/app/src/main/res/layout/fm_search.xml b/app/src/main/res/layout/fm_search.xml
index 601afa657a..7d3e483ba0 100644
--- a/app/src/main/res/layout/fm_search.xml
+++ b/app/src/main/res/layout/fm_search.xml
@@ -8,6 +8,7 @@
android:id="@+id/search_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:visibility="gone"
android:overScrollMode="never" >