From c5618bb3db86a6c1e25f6b52cf7c3d03409b315a Mon Sep 17 00:00:00 2001
From: khy <18814188563@163.com>
Date: Thu, 13 Oct 2016 18:05:58 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E8=B5=84=E8=AE=AF=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=EF=BC=8C=E5=A4=A7=E5=9B=BE=E5=B8=83=E5=B1=80=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/res/layout/fm_read2_special1.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/layout/fm_read2_special1.xml b/app/src/main/res/layout/fm_read2_special1.xml
index 83a3323a96..6f9e245980 100644
--- a/app/src/main/res/layout/fm_read2_special1.xml
+++ b/app/src/main/res/layout/fm_read2_special1.xml
@@ -7,8 +7,8 @@
android:orientation="vertical"
android:paddingLeft="12dp"
android:paddingRight="12dp"
- android:paddingTop="15dp"
- android:paddingBottom="15dp"
+ android:paddingTop="12dp"
+ android:paddingBottom="10dp"
app:left="8dp"
app:right="8dp"
app:bottom="8dp">
@@ -21,13 +21,13 @@
android:maxLines="2"
android:lineSpacingMultiplier="1.2"
android:textColor="@color/title"
- android:textSize="14sp" />
+ android:textSize="14sp"
+ android:layout_marginBottom="8dp" />
Date: Tue, 18 Oct 2016 09:29:18 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E8=B5=84=E8=AE=AF-=E5=85=B3=E6=B3=A8?=
=?UTF-8?q?=EF=BC=8C=E6=8E=A8=E8=8D=90=E5=85=B3=E6=B3=A8=E5=B0=8F=E7=89=88?=
=?UTF-8?q?=E5=9D=97=E5=8A=9F=E8=83=BD=E6=9B=B4=E6=94=B9=EF=BC=88=E6=8E=A8?=
=?UTF-8?q?=E8=8D=90=E5=85=B3=E6=B3=A8=E6=B8=B8=E6=88=8F=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?=E5=B7=B2=E5=AE=89=E8=A3=85=E7=9A=84=E6=B8=B8=E6=88=8F+?=
=?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8B=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/gh/gamecenter/news/News4Fragment.java | 88 +++++++++++++++++--
1 file changed, 82 insertions(+), 6 deletions(-)
diff --git a/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
index a69df61578..e961cdf0e4 100644
--- a/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
+++ b/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
@@ -14,22 +14,26 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.volley.Response;
+import com.android.volley.VolleyError;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.AppController;
import com.gh.base.BaseFragment;
import com.gh.common.constant.Config;
import com.gh.common.util.ImageUtils;
import com.gh.gamecenter.R;
+import com.gh.gamecenter.db.info.ConcernInfo;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBConcernChanged;
import com.gh.gamecenter.eventbus.EBNetworkState;
import com.gh.gamecenter.eventbus.EBUISwitch;
import com.gh.gamecenter.manager.ConcernManager;
import com.gh.gamecenter.volley.extended.JsonArrayExtendedRequest;
+import com.gh.gamecenter.volley.extended.JsonObjectExtendedRequest;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONArray;
+import org.json.JSONObject;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -58,6 +62,7 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On
private List gameList;//关注推荐列表
private List recommendGameList;
+ private List installGameList;//安装的游戏
private Map concernMap;//记录选择关注
@@ -251,7 +256,64 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On
reuse_none_data.setVisibility(View.VISIBLE);
news_swipe_refresh.setRefreshing(false);
- initConcernRecommend();
+ initInstallGame();
+ }
+
+ private int count;
+
+ //推荐关注改为手机安装的游戏+光环助手
+ private void initInstallGame() {
+ List installedList = concernManager.getInstalledGame();
+ String gameId;
+
+ final int size = installedList.size() + 1;
+
+ installGameList = new ArrayList<>();
+ recommendGameList = new ArrayList<>();
+ for (int i = 0 ; i < size ; i++) {
+ if (i == size - 1){
+ gameId = "5618b86e8ab49e17088b4575"; // 光环助手ID
+ }else {
+ gameId = installedList.get(i).getId();
+ }
+
+ final int finalI = i;
+ JsonObjectExtendedRequest request = new JsonObjectExtendedRequest(
+ Config.HOST + "game/" + gameId + "/digest",
+ new Response.Listener() {
+ @Override
+ public void onResponse(JSONObject response) {
+ Gson gson = new Gson();
+ GameEntity gameEntity = gson.fromJson(response.toString(), GameEntity.class);
+
+ if (finalI == size - 1){
+ recommendGameList.add(gameEntity);
+ }else {
+ installGameList.add(gameEntity);
+ }
+
+ addCount();
+ if (count == size) {
+ initConcernRecommend();
+ }
+ }
+ }, new Response.ErrorListener() {
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ addCount();
+ if (count == size) {
+ initConcernRecommend();
+ }
+ }
+ });
+ AppController.addToRequestQueue(request, TAG);
+ }
+ }
+
+ private void addCount() {
+ synchronized (News4Fragment.class) {
+ count++;
+ }
}
private void initConcernRecommend() {
@@ -263,16 +325,30 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On
Type listType = new TypeToken>() {}.getType();
Gson gson = new Gson();
gameList = gson.fromJson(response.toString(), listType);
+
+ //根据热门卡牌顺序进行排序
if (gameList != null && gameList.size() != 0) {
- recommendGameList = new ArrayList<>();
for (int i = 0, size = gameList.size(); i < size; i++) {
- if (!concernManager.isConcern(gameList.get(i).getId())
- && recommendGameList.size() < 4) {
- recommendGameList.add(gameList.get(i));
+ if (!concernManager.isConcern(gameList.get(i).getId())) {
+ for (int j = 0; j < installGameList.size(); j++) {
+ if (recommendGameList.size() >= 4) continue;
+ if (installGameList.get(j).getId().equals(gameList.get(i).getId())) {
+ recommendGameList.add(gameList.get(i));
+ installGameList.remove(j);
+ }
+ }
}
}
}
+ //自由排序
+ if (recommendGameList.size() < 4){
+ for (GameEntity gameEntity : installGameList) {
+ if (recommendGameList.size() >= 4) continue;
+ recommendGameList.add(gameEntity);
+ }
+ }
+
if (recommendGameList != null && recommendGameList.size() != 0) {
getActivity().runOnUiThread(new Runnable() {
@Override
@@ -320,7 +396,7 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On
if (concernMap.get(finalI)){
finalIvConcern.setImageResource(R.drawable.concern_select_false);
concernMap.put(finalI, false);
- }else {
+ } else {
finalIvConcern.setImageResource(R.drawable.concern_select_true);
concernMap.put(finalI, true);
}