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); }