Przeglądaj źródła

修复bug:
【小绵羊-新春活动-新春福袋】领取发表评论的任务后,发表一条评论并返回发现页面,键盘仍弹出;
【小绵羊-新春活动-新春福袋】“邀请未参与活动用户”和“发表评论”任务跳转后无法正常返回福袋页面,只能重新去点击一步步进入;

zengjiebin 7 lat temu
rodzic
commit
fcea5914fd

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/module/ad_htxd/model/ArticleAd.java

@@ -5,7 +5,7 @@ import com.hoc.hoclib.adlib.NativeADDataInfo;
 import com.hoc.hoclib.adlib.PNative;
 import com.sheep.gamegroup.model.entity.Article;
 import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import rx.functions.Action1;
@@ -19,7 +19,7 @@ public class ArticleAd extends Article {
 
     public static final String FEED = "1D0JLRMA102V277730B60000552042FE";
     public static final int INDEX = 4;//放在position为4的位置,即第5个
-    public static final boolean showAd = TestUtil.isSheep();//是否显示广告
+    public static final boolean showAd = true;//TestUtil.isSheep();//是否显示广告
 
     private NativeADDataInfo nativeADDataInfo;
     private PNative pNative;
@@ -51,13 +51,14 @@ public class ArticleAd extends Article {
             public void onNativeAdIsReady(NativeADDataInfo nativeAdData) {
                 ArticleAd articleAd = new ArticleAd(nativeAdData, pNative);
                 boolean success = adAction1.call(articleAd);
-
+                LogUtil.println("ArticleAd", "fetchNativeData", "onNativeAdIsReady", success);
                 pNative.handleImp();
                 callBack.call(success);
             }
 
             @Override
             public void onLoadNativeAdFail() {
+                LogUtil.println("ArticleAd", "fetchNativeData", "onLoadNativeAdFail");
                 callBack.call(false);
             }
         })

+ 8 - 2
app/src/main/java/com/sheep/gamegroup/module/find/fragment/FgtFind2.java

@@ -60,12 +60,17 @@ public class FgtFind2 extends BaseFragment {
     ImageView add_article_camera;
     @BindView(R.id.add_article_pic)
     ImageView add_article_pic;
+    @BindView(R.id.img_baseactivity_title)
+    ImageView img_baseactivity_title;
 
     private TitleFragmentListAdapter mAdapter;
 
     private void initView() {
         mAdapter = new TitleFragmentListAdapter(getChildFragmentManager());
-        mAdapter.add(FgtFindChild.newInstance(0), "全部");
+        ArticleTag articleTagAll = new ArticleTag();
+        articleTagAll.setId(0);
+        articleTagAll.setName("全部");
+        mAdapter.add(FgtFindChild.newInstance(articleTagAll), articleTagAll.getName());
         //悬浮
         ViewUtil.setImage(add_article_expand, ViewUtil.getNetImgByName("add_article_expand"));
         if (!onlyChooseVideo) {
@@ -96,6 +101,7 @@ public class FgtFind2 extends BaseFragment {
                 Jump2View.getInstance().gotoActPublishArticle(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE);
             });
         }
+        img_baseactivity_title.setOnClickListener(this::onClickBackImg);
     }
 
     private boolean onlyChooseVideo = true;//只选择视频
@@ -169,7 +175,7 @@ public class FgtFind2 extends BaseFragment {
                             mAdapter.add(FgtArticleVideo.newInstance(findLabel.getId()), findLabel.getName());
                             break;
                         default:
-                            mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
+                            mAdapter.add(FgtFindChild.newInstance(findLabel), findLabel.getName());
                             break;
                     }
                     count++;

+ 10 - 1
app/src/main/java/com/sheep/gamegroup/util/ListUtil.java

@@ -240,8 +240,17 @@ public class ListUtil {
         return false;
     }
 
+    //插入第几个位置
+    public static <T> boolean insertIndex(List<T> allList, T item, int index) {
+        int size = size(allList);
+        if(index > size){
+            return false;
+        }
+        allList.add(index, item);
+        return true;
+    }
     //插入倒数第几个位置
-    public static <T> boolean addLastIndex(List<T> allList, T item, int index) {
+    public static <T> boolean insertLastIndex(List<T> allList, T item, int index) {
         int size = size(allList);
         int position = size - index;
         if(position < 0){

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

@@ -1,6 +1,5 @@
 package com.sheep.gamegroup.view.fragment;
 
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;

+ 5 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtFind.java

@@ -60,7 +60,10 @@ public class FgtFind extends BaseFragment {
 
     private void initView() {
         mAdapter = new TitleFragmentListAdapter(getChildFragmentManager());
-        mAdapter.add(FgtFindChild.newInstance(0), "全部");
+        ArticleTag articleTagAll = new ArticleTag();
+        articleTagAll.setId(0);
+        articleTagAll.setName("全部");
+        mAdapter.add(FgtFindChild.newInstance(articleTagAll), articleTagAll.getName());
         //悬浮
         ViewUtil.setImage(add_article_expand, ViewUtil.getNetImgByName("add_article_expand"));
         if (!onlyChooseVideo) {
@@ -164,7 +167,7 @@ public class FgtFind extends BaseFragment {
                             mAdapter.add(FgtArticleVideo.newInstance(findLabel.getId()), findLabel.getName());
                             break;
                         default:
-                            mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
+                            mAdapter.add(FgtFindChild.newInstance(findLabel), findLabel.getName());
                             break;
                     }
                     count++;

+ 23 - 20
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtFindChild.java

@@ -23,6 +23,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Lp;
 import com.sheep.gamegroup.module.ad_htxd.model.ArticleAd;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.DownloadUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
@@ -58,6 +59,7 @@ import static android.content.Intent.ACTION_PACKAGE_REMOVED;
 public class FgtFindChild extends BaseListFragment5<Article> {
 
     private int type;
+    private boolean showAd;
 
     @Override
     public void initView() {
@@ -67,7 +69,7 @@ public class FgtFindChild extends BaseListFragment5<Article> {
 
     @Override
     protected RecyclerView.Adapter getAdapter() {
-        return new CommonRecycler(ArticleAd.showAd ? allList : list);
+        return new CommonRecycler(showAd ? allList : list);
     }
 
     @Override
@@ -85,24 +87,21 @@ public class FgtFindChild extends BaseListFragment5<Article> {
         return Article.class;
     }
 
-    private List<Article> allList = new ArrayList<>();
+    private List<Article> allList = new ArrayList<>();//显示广告时使用allList,否则使用list
 
     @Override
     protected void loadList(List<Article> addList) {
-        if(ArticleAd.showAd) {
+        if (showAd) {
             ListUtil.addAll(allList, addList);
-            if (ListUtil.size(addList) == per_page) {
-                ArticleAd.fetchNativeData(articleAd -> {
-                    if (ListUtil.getLast(allList, per_page - ArticleAd.INDEX) instanceof ArticleAd) {//倒数第几个不是广告的情况下才添加
-                        return false;
-                    } else {
-                        return ListUtil.addLastIndex(allList, articleAd, per_page - ArticleAd.INDEX);
-                    }
-                }, aBoolean -> {
-                    if (aBoolean) {
-                        notifyDataSetChanged();
-                    }
-                });
+            if (1 == page) {
+                Article item = ListUtil.getItem(allList, ArticleAd.INDEX);
+                if (!(item instanceof ArticleAd)) {//倒数第几个不是广告的情况下才添加
+                    ArticleAd.fetchNativeData(articleAd -> ListUtil.insertIndex(allList, articleAd, ArticleAd.INDEX), ok -> {
+                        if (ok) {
+                            notifyDataSetChanged();
+                        }
+                    });
+                }
             }
         }
         super.loadList(addList);
@@ -110,15 +109,15 @@ public class FgtFindChild extends BaseListFragment5<Article> {
 
     @Override
     public void clear() {
-        if(ArticleAd.showAd)
+        if (showAd)
             allList.clear();
         super.clear();
     }
 
-    public static FgtFindChild newInstance(int type) {
+    public static FgtFindChild newInstance(ArticleTag articleTag) {
         FgtFindChild fgt = new FgtFindChild();
         Bundle bundle = new Bundle();
-        bundle.putInt("type", type);
+        DataUtil.putObject(bundle, articleTag);
         fgt.setArguments(bundle);
         return fgt;
     }
@@ -266,7 +265,11 @@ public class FgtFindChild extends BaseListFragment5<Article> {
         super.onCreate(savedInstanceState);
         Bundle bundle = getArguments();
         if (bundle != null) {
-            type = bundle.getInt("type", 0);
+            ArticleTag articleTag = DataUtil.getObject(bundle, ArticleTag.class);
+            if (articleTag != null) {
+                type = articleTag.getId();
+                showAd = ArticleAd.showAd && TextUtils.equals(articleTag.getName(), "资讯");//只有资讯才显示
+            }
         }
         EventBus.getDefault().register(this);
     }
@@ -332,7 +335,7 @@ public class FgtFindChild extends BaseListFragment5<Article> {
 
         @Override
         public int getItemViewType(int position) {
-            Article article = (ArticleAd.showAd ? allList : list).get(position);
+            Article article = (showAd ? allList : list).get(position);
             return article.getType();
         }
 

+ 6 - 27
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/TitleBarUtils.java

@@ -13,17 +13,17 @@ import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.AppCompatAutoCompleteTextView;
 import android.text.Editable;
 import android.text.TextWatcher;
-import android.util.Log;
+import android.view.KeyEvent;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.util.KeyEventUtil;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.activity.ActCommentGameApp;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
-import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 
@@ -114,12 +114,7 @@ public class TitleBarUtils {
      */
     public TitleBarUtils setTitleFinish(final Activity activity) {
         activity.getWindow().getDecorView().findViewById(R.id.img_baseactivity_title)
-                .setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        activity.finish();
-                    }
-                });
+                .setOnClickListener(view -> KeyEventUtil.sendKeyDownUp(KeyEvent.KEYCODE_BACK));
         return mTitleBarUtils;
     }
 
@@ -134,17 +129,6 @@ public class TitleBarUtils {
         return mTitleBarUtils;
     }
 
-    public TitleBarUtils setTitleFinish(final View view, final Activity activity) {
-        view.findViewById(R.id.img_baseactivity_title)
-                .setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        activity.finish();
-                    }
-                });
-        return mTitleBarUtils;
-    }
-
     public TitleBarUtils setTitleFinish(final View view, View.OnClickListener listener) {
         view.findViewById(R.id.img_baseactivity_title)
                 .setOnClickListener(listener);
@@ -157,14 +141,9 @@ public class TitleBarUtils {
         return mTitleBarUtils;
     }
 
-    public TitleBarUtils setTitleFinish(final Activity activity, View view) {
+    public TitleBarUtils setTitleFinish(View view) {
         view.findViewById(R.id.img_baseactivity_title)
-                .setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        activity.finish();
-                    }
-                });
+                .setOnClickListener(v -> KeyEventUtil.sendKeyDownUp(KeyEvent.KEYCODE_BACK));
         return mTitleBarUtils;
     }
 

+ 0 - 1
app/src/main/res/layout/fgt_find2.xml

@@ -19,7 +19,6 @@
             android:gravity="center_vertical"
             android:paddingStart="@dimen/content_padding_20"
             android:paddingEnd="@dimen/content_padding_20"
-            android:onClick="onClickBackImg"
             android:scaleType="centerInside"
             android:src="@drawable/narrow_back_white"
             app:layout_constraintStart_toStartOf="parent"