Przeglądaj źródła

优化排行榜中游戏列表

zengjiebin 7 lat temu
rodzic
commit
f0097102b2

+ 11 - 6
app/src/main/java/com/sheep/gamegroup/model/entity/Applications.java

@@ -13,6 +13,8 @@ import com.sheep.jiuyan.samllsheep.R;
 import java.io.Serializable;
 import java.util.List;
 
+import rx.functions.Action1;
+
 /**
  * Created by realicing on 2018/6/28.
  * realicing@sina.com
@@ -477,20 +479,23 @@ public class Applications implements IDownload, IGameGroup, Serializable {
     }
 
     public CharSequence getInfo() {
-        return new SpannableSb(R.dimen.text_size_12).append(package_size+"M", "#999999").defaultTextSize()
+        return getInfo(null);
+    }
+
+    public CharSequence getInfo(Action1<SpannableSb> action1) {
+        return new SpannableSb(R.dimen.text_size_12).callAction(action1).append(package_size+"M", "#999999").defaultTextSize()
                 .kgz().append(NumberFormatUtils.retainMost2W(download_count), "#2EBEF2").defaultTextSize()
                 .append("人在玩", "#999999").defaultTextSize()
                 .getSsb();
     }
     public CharSequence getInfoContainGameFrom() {
+        return getInfoContainGameFrom("#000000");
+    }
+    public CharSequence getInfoContainGameFrom(String textColor) {
         if(TextUtils.isEmpty(getGameFrom())){
             return getInfo();
         }
-        return new SpannableSb(R.dimen.text_size_12).append("来源:" + getGameFrom(), R.dimen.text_size_11, "#000000")
-                .br().append(package_size+"M", "#999999").defaultTextSize()
-                .kgz().append(NumberFormatUtils.retainMost2W(download_count), "#2EBEF2").defaultTextSize()
-                .append("人在玩", "#999999").defaultTextSize()
-                .getSsb();
+        return getInfo(spannableSb -> spannableSb.append("来源:" + getGameFrom(), R.dimen.text_size_11, textColor) .br());
     }
     public CharSequence getSimpleInfo() {
         return new SpannableSb().append(NumberFormatUtils.retainMost2W(download_count), "#2EBEF2").append("人在玩", "#999999").getSsb();

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/game/activity/ActGameGroupOrGameDetail.java

@@ -192,7 +192,7 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
             baseQuickAdapter.setOnItemClickListener((adapter, view, position) -> {
                 Applications item = ListUtil.getItem(gameGroup.getApplications(), position);
                 if(item != null){
-                    Jump2View.getInstance().goFindGame(item);
+                    Jump2View.getInstance().goEntity(item);
                 }
             });
         }

+ 9 - 4
app/src/main/java/com/sheep/gamegroup/module/game/adapter/AdpGameCenterTypeList.java

@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
 import com.sheep.gamegroup.helper.FindAppHelper;
 import com.sheep.gamegroup.model.api.IDownload;
+import com.sheep.gamegroup.model.entity.Applications;
 import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.string.SpannableSb;
@@ -41,10 +42,14 @@ public class AdpGameCenterTypeList extends BaseQuickAdapter<GameEntity, BaseView
         } else {
             ViewUtil.setImage(item_dm_icon_iv, download.getIcon());
             ViewUtil.setText(item_dm_name_tv, download.getTask_name());
-            String info = String.format(Locale.CHINA, "人在玩\u0020%sM\u3000", download.getPackage_size());
-            ViewUtil.setText(item_dm_info_tv, new SpannableSb().append(item.getDownload_count(), "#2EBEF2").append(info, "#8E8E8E")
-                    .append(item.getGameFrom(), "#FD2D54")
-                    .getSsb());
+            if(download instanceof Applications){
+                ViewUtil.setText(item_dm_info_tv, ((Applications) download).getInfoContainGameFrom("#8e8e8e"));
+            } else {//似乎这里的else是多余的
+                String info = String.format(Locale.CHINA, "人在玩\u0020%sM\u3000", download.getPackage_size());
+                ViewUtil.setText(item_dm_info_tv, new SpannableSb().append(item.getDownload_count(), "#2EBEF2").append(info, "#8E8E8E")
+                        .append(item.getGameFrom(), "#FD2D54")
+                        .getSsb());
+            }
 
             item_dm_btn_tv.setTag(PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + download.getDownload_link());
             FindAppHelper findAppHelper = item.getApp().getFindAppHelper();

+ 7 - 1
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameRank.java

@@ -14,6 +14,8 @@ import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.module.game.adapter.AdpGameCenterTypeList;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.fragment.BaseListFragment6;
 
@@ -66,7 +68,11 @@ public class FgtGameRank extends BaseListFragment6<GameEntity> {
         return new AdpGameCenterTypeList(apiRefresh.getList());
     }
 
-
+    @Override
+    public void initListener() {
+        super.initListener();
+        baseQuickAdapter.setOnItemClickListener((adapter, view, position) -> Jump2View.getInstance().goEntity(ListUtil.getItem(apiRefresh.getList(), position)));
+    }
 
     @Override
     public void clear() {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtMyGameList.java

@@ -101,7 +101,7 @@ public class FgtMyGameList extends BaseListFragment6<MyGame> {
         baseQuickAdapter.setOnItemClickListener((adapter, view, position) -> {
             MyGame item = ListUtil.getItem(apiRefresh.getList(), position);
             if (item != null)
-                Jump2View.getInstance().goFindGame(item.getApplication());
+                Jump2View.getInstance().goEntity(item.getApplication());
         });
         return baseQuickAdapter;
     }

+ 33 - 10
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -31,6 +31,7 @@ import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.DiscoveryTopic;
 import com.sheep.gamegroup.model.entity.DiscoveryVideo;
+import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.model.entity.GameListTag;
 import com.sheep.gamegroup.model.entity.GameListType;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
@@ -39,6 +40,7 @@ import com.sheep.gamegroup.model.entity.LoginEntity;
 import com.sheep.gamegroup.model.entity.Mission;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
+import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
 import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
@@ -1811,11 +1813,35 @@ public class Jump2View {
     }
 
     /**
+     * 跳转任务详情界面
+     *
+     * @param item
+     */
+    public void goEntity(Release_task item) {
+        if(item != null){
+            goTaskDetailView(SheepApp.getInstance().getCurrentActivity(), item.getId());
+        }
+    }
+    /**
+     * 跳转游戏详情界面
+     *
+     * @param item
+     */
+    public void goEntity(GameEntity item) {
+        if(item != null){
+            if(item.getApp() != null){
+                goEntity(item.getApp());
+            } else if(item.getRelease_task() != null){
+                goEntity(item.getRelease_task());
+            }
+        }
+    }
+    /**
      * 发现模块--游戏详情界面
      *
      * @param item
      */
-    public void goFindGame(Article item) {
+    public void goEntity(Article item) {
         goPlayGameDetail(item.getApplication_id());
     }
 
@@ -1824,7 +1850,7 @@ public class Jump2View {
      *
      * @param item
      */
-    public void goFindGame(Applications item) {
+    public void goEntity(Applications item) {
         goPlayGameDetail(item.getId());
     }
 
@@ -1875,12 +1901,9 @@ public class Jump2View {
     //分享
     public void tryShare(final Activity activity, String shareUrlKey, final String idName, final int id, final String description) {
         try {
-            CommonUtil.getInstance().initUrlConfigByNet(shareUrlKey, new Action1<String>() {
-                @Override
-                public void call(String find_share_url) {
-                    String url = String.format(Locale.CHINA, "%s?authorization=%s&%s=%d&invitation_code=%s", find_share_url, SpUtils.getToken(activity), idName, id, DataUtil.getInstance().getInvitationCode());
-                    new ShareLinkConfig().setLink(url).setDes(description).toShare(activity);
-                }
+            CommonUtil.getInstance().initUrlConfigByNet(shareUrlKey, find_share_url -> {
+                String url = String.format(Locale.CHINA, "%s?authorization=%s&%s=%d&invitation_code=%s", find_share_url, SpUtils.getToken(activity), idName, id, DataUtil.getInstance().getInvitationCode());
+                new ShareLinkConfig().setLink(url).setDes(description).toShare(activity);
             });
         } catch (Exception e) {
             e.printStackTrace();
@@ -2200,7 +2223,7 @@ public class Jump2View {
         }
         switch (item.getType()) {//类型 1:游戏 2:咨询 3:转跳 4:任务 5:栏目
             case 1:
-                Jump2View.getInstance().goFindGame(item);
+                Jump2View.getInstance().goEntity(item);
                 break;
             case 2:
                 Jump2View.getInstance().goFindInformation(context, item);
@@ -2765,7 +2788,7 @@ public class Jump2View {
         if (item.isGameGroup()) {
             goActGameGroupDetail(item.getGame_group());
         } else {
-            goFindGame(item.getApplications());
+            goEntity(item.getApplications());
         }
     }
 

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/util/string/SpannableSb.java

@@ -15,6 +15,8 @@ import android.text.style.StyleSpan;
 import com.sheep.gamegroup.util.ResourceUtils;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
+import rx.functions.Action1;
+
 /**
  * Created by realicing on 2018/11/23.
  * realicing@sina.com
@@ -141,4 +143,11 @@ public class SpannableSb {
     public SpannableStringBuilder getSsb() {
         return ssb;
     }
+
+    public SpannableSb callAction(Action1<SpannableSb> action1) {
+        if(action1 != null){
+            action1.call(this);
+        }
+        return this;
+    }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ActArticle.java

@@ -224,7 +224,7 @@ public class ActArticle extends BaseActivity implements Action1<Integer> {
 
         updateView(findApp, find_information_game_task_center);
 
-        itemView.setOnClickListener(view -> Jump2View.getInstance().goFindGame(article));
+        itemView.setOnClickListener(view -> Jump2View.getInstance().goEntity(article));
     }
 
     private List<String> list = ListUtil.emptyList();

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ActReservation.java

@@ -155,7 +155,7 @@ public class ActReservation extends BaseActivity {
                     }
                 });
             }
-            itemView.setOnClickListener(view -> Jump2View.getInstance().goFindGame(findApp));
+            itemView.setOnClickListener(view -> Jump2View.getInstance().goEntity(findApp));
         } else {
 
             ViewUtil.setText(find_information_game_name);

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtArticleComment.java

@@ -276,7 +276,7 @@ public class FgtArticleComment extends BaseListFragment3<UserComment> implements
 
         updateView(findApp, find_information_game_task_center);
 
-        itemView.setOnClickListener(view -> Jump2View.getInstance().goFindGame(article));
+        itemView.setOnClickListener(view -> Jump2View.getInstance().goEntity(article));
     }
 
     public void initArticle() {

+ 2 - 1
app/src/main/res/layout/item_game_center_type_list.xml

@@ -36,7 +36,8 @@
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:layout_marginBottom="16dp"
-        android:gravity="center_vertical"
+        android:lineSpacingExtra="5dp"
+        android:gravity="bottom"
         android:text="1.28G"
         android:textColor="#ff8e8e8e"
         android:textSize="12sp"