Przeglądaj źródła

1.修改点击推荐视频ontouch执行多次问题
2.增加点击活动视频根据index跳转活动
3.增加点击活动视频打开网页功能
4.修改userread数据结构增加判断

FailedToRead 2 lat temu
rodzic
commit
c732706ffe
21 zmienionych plików z 312 dodań i 264 usunięć
  1. 6 0
      app/src/main/java/com/edufound/reader/activity/TmailPayActivity.java
  2. 41 22
      app/src/main/java/com/edufound/reader/adapter/SlideVideoAdapter.java
  3. 1 0
      app/src/main/java/com/edufound/reader/application/EApplication.java
  4. 4 4
      app/src/main/java/com/edufound/reader/base/BaseActivity.java
  5. 1 1
      app/src/main/java/com/edufound/reader/base/BaseFragment.java
  6. 9 0
      app/src/main/java/com/edufound/reader/bean/ThroughType.java
  7. 9 0
      app/src/main/java/com/edufound/reader/bean/ThroughTypeBean.java
  8. 32 0
      app/src/main/java/com/edufound/reader/bean/UserRecordBean.java
  9. 3 0
      app/src/main/java/com/edufound/reader/contract/EventFragmentContract.java
  10. 2 2
      app/src/main/java/com/edufound/reader/cusview/ModelViewE.java
  11. 28 23
      app/src/main/java/com/edufound/reader/cusview/RvListJzvdStd.java
  12. 14 0
      app/src/main/java/com/edufound/reader/fragment/EventFragment.java
  13. 59 0
      app/src/main/java/com/edufound/reader/listener/LinearTopSmoothScroller.java
  14. 13 0
      app/src/main/java/com/edufound/reader/presenter/EventFragmentPresenter.java
  15. 30 135
      app/src/main/java/com/edufound/reader/presenter/MainPresenter.java
  16. 0 1
      app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java
  17. 37 64
      app/src/main/java/com/edufound/reader/presenter/SplashPresenter.java
  18. 2 2
      app/src/main/java/com/edufound/reader/receiver/HomeKeyEventReceiver.java
  19. 13 1
      app/src/main/java/com/edufound/reader/util/Consts.java
  20. 3 0
      app/src/main/java/com/edufound/reader/util/EfunboxUtil.java
  21. 5 9
      app/src/main/res/layout/adapter_item_slidevideo.xml

+ 6 - 0
app/src/main/java/com/edufound/reader/activity/TmailPayActivity.java

@@ -14,6 +14,7 @@ import androidx.annotation.Nullable;
 import com.edufound.reader.R;
 import com.edufound.reader.annotation.BindView;
 import com.edufound.reader.base.BaseMvpActivity;
+import com.edufound.reader.botsdk.BotRegisterListener;
 import com.edufound.reader.contract.TmailPayContract;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.presenter.TmailPayPresenter;
@@ -58,6 +59,11 @@ public class TmailPayActivity extends BaseMvpActivity<TmailPayPresenter> impleme
         mActivity = this;
         mPresenter = new TmailPayPresenter();
         mPresenter.attachView(this);
+
+        if (getIntent().getBooleanExtra("isBDVip", false)) {
+            BotRegisterListener.payBaiDuVip();
+            return;
+        }
         addUiClickListener(mImgBack, o -> {
             mActivity.finish();
         });

+ 41 - 22
app/src/main/java/com/edufound/reader/adapter/SlideVideoAdapter.java

@@ -1,10 +1,10 @@
 package com.edufound.reader.adapter;
 
+import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.Rect;
-import android.graphics.drawable.GradientDrawable;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -13,15 +13,12 @@ import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.Switch;
-import android.widget.TextView;
 
 import com.edufound.reader.R;
-import com.edufound.reader.activity.WebActivity;
 import com.edufound.reader.bean.ChannelCodeEnum;
 import com.edufound.reader.bean.CommentListBean;
 import com.edufound.reader.bean.HttpResultBean;
 import com.edufound.reader.bean.HttpResultDataListBean;
-import com.edufound.reader.bean.ThroughType;
 import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.cusview.AutoPollRecyclerView;
 import com.edufound.reader.cusview.RvListJzvdStd;
@@ -29,9 +26,7 @@ import com.edufound.reader.util.Consts;
 import com.edufound.reader.util.EfunboxUtil;
 import com.edufound.reader.util.GlideUtils;
 import com.edufound.reader.util.OkHttpClient;
-import com.edufound.reader.util.ShapeCreator;
 import com.edufound.reader.util.SizeUtils;
-import com.edufound.reader.util.ThroughUtil;
 import com.edufound.reader.videoutil.JZMediaIjk;
 import com.google.gson.reflect.TypeToken;
 import com.okhttplib.HttpInfo;
@@ -39,7 +34,6 @@ import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
 
 import java.io.IOException;
-import java.util.Collections;
 import java.util.List;
 
 import androidx.annotation.NonNull;
@@ -47,7 +41,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import cn.jzvd.JZDataSource;
-import cn.jzvd.Jzvd;
 import cn.jzvd.JzvdStd;
 
 public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
@@ -80,7 +73,7 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
     }
 
     @Override
-    public void onBindViewHolder(@NonNull VideoHolder holder, int position) {
+    public void onBindViewHolder(@NonNull VideoHolder holder, @SuppressLint("RecyclerView") int position) {
 //        holder.mVideo.setUp(new JZDataSource(mListData.get(position).getUserRead().getVideoPath()), JzvdStd.SCREEN_FULLSCREEN);
         holder.mVideo.setUp(new JZDataSource(mListData.get(position).getUserRead().getVideoPath()), JzvdStd.SCREEN_FULLSCREEN, JZMediaIjk.class, mListData.get(position).getUserRead().getId());
         if (!Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
@@ -111,17 +104,43 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
             tagText = "";
 
         } else if (mListData.get(position).getUserRead().getTag().equals("ACTIVITY")) {
-            //是活动
-            //这里修改成新的type。就可以使用了
+            //是活动,判断活动类型
+            Logger.e("mListData.get(position).getUserRead().getActivityType():" + mListData.get(position).getUserRead().getActivityType());
+            switch (Integer.valueOf(mListData.get(position).getUserRead().getActivityType())) {
+                case 1:
+                    //小红花,加载webview
+                case 2:
+                    //抵用券,加载webview
+                    holder.mEventFrame.setVisibility(View.VISIBLE);
+                    holder.mEventFrame.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            Logger.e("mListData.get(position).getUserRead().getActivityType():" + mListData.get(position).getUserRead().getActivityType());
+                            EfunboxUtil.toWebFlowerActivity(mContext, mListData.get(position).getUserRead().getActivityUrl(), null);
+                        }
+                    });
+                    break;
+                case 3:
+                    //优秀作品或者是竞赛,跳转活动tab并且定位
+                    holder.mEventFrame.setVisibility(View.VISIBLE);
+                    holder.mEventFrame.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            Logger.e("mListData.get(position).getUserRead().getActivityType():" + mListData.get(position).getUserRead().getActivityType());
+                            Consts.setEventPosition(Integer.valueOf(mListData.get(position).getUserRead().getActivityNumber()));
+                            Intent intent = new Intent("com.edufound.reader.main.setindex");
+                            mContext.sendBroadcast(intent);
+                        }
+                    });
+
+
+                    break;
+                default:
+                    holder.mEventFrame.setVisibility(View.GONE);
+                    break;
+            }
             holder.mSwitch.setVisibility(View.INVISIBLE);
-            holder.mEventBtn.setVisibility(View.VISIBLE);
-            GlideUtils.loadImage(mContext, R.drawable.event_video_into, holder.mEventBtn);
-            holder.mEventBtn.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    EfunboxUtil.toWebFlowerActivity(mContext,Consts.getEventTypeFlowerUrl(),null);
-                }
-            });
+
             needTag = true;
             tagText = "活动";
             tagType = 1;
@@ -221,7 +240,7 @@ class VideoHolder extends RecyclerView.ViewHolder {
     public RvListJzvdStd mVideo;
     public AutoPollRecyclerView mMarqueen;
     public Switch mSwitch;
-    public ImageView mEventBtn;
+    public FrameLayout mEventFrame;
     public FrameLayout mTagLayout;
     public Activity mContext;
 
@@ -231,10 +250,10 @@ class VideoHolder extends RecyclerView.ViewHolder {
         mItemView = itemView;
         mVideo = itemView.findViewById((R.id.slidevideo_video));
         mSwitch = itemView.findViewById(R.id.slidevideo_video_switch);
-        mEventBtn = itemView.findViewById(R.id.adapter_item_slidevideo_event_btn);
+        mEventFrame = itemView.findViewById(R.id.adapter_item_slidevideo_event_frame);
         mTagLayout = itemView.findViewById(R.id.adapter_item_slidevideo_tagLayout);
         mTagLayout.setVisibility(View.GONE);
-        mEventBtn.setVisibility(View.GONE);
+        mEventFrame.setVisibility(View.GONE);
         mSwitch.setVisibility(View.INVISIBLE);
 //        if (!Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
         mMarqueen = itemView.findViewById(R.id.slidevideo_video_marqueen);

+ 1 - 0
app/src/main/java/com/edufound/reader/application/EApplication.java

@@ -296,6 +296,7 @@ public class EApplication extends Application {
         if (defaultIndex != -1) {
             intent.putExtra("defaultIndex", defaultIndex);
         }
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         Consts.getmApplicAtion().startActivity(intent);
     }
 }

+ 4 - 4
app/src/main/java/com/edufound/reader/base/BaseActivity.java

@@ -157,19 +157,20 @@ public abstract class BaseActivity extends AppCompatActivity {
         screenListener.begin(new ScreenListener.ScreenStateListener() {
             @Override
             public void onScreenOn() {
-//                Logger.e("onScreenOn");
+                Logger.e("onScreenOn");
 
             }
 
             @Override
             public void onScreenOff() {
-//                Logger.e("onScreenOff");
+                Logger.e("onScreenOff");
                 onAppScreenOff();
 
             }
 
             @Override
             public void onUserPresent() {
+                Logger.e("onUserPresent");
                 onScreenUserPresent();
             }
         });
@@ -505,7 +506,6 @@ public abstract class BaseActivity extends AppCompatActivity {
         if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
             mAliTVASRManager.release();
         } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
-            Logger.e("隐藏弹窗");
             hasResume = false;
             if (mFloating != null) {
                 // 隐藏
@@ -701,7 +701,7 @@ public abstract class BaseActivity extends AppCompatActivity {
                                         Consts.setmConstsUserBean(bean.getData());
                                         Logger.e("看看到底对没有:" + mGson.toJson(Consts.getmConstsUserBean()));
                                         refUserInfo(Consts.getmConstsUserBean());
-                                        Toast.makeText(topActivity, "注册登录成功", Toast.LENGTH_SHORT).show();
+                                        Toast.makeText(topActivity, "登录成功", Toast.LENGTH_SHORT).show();
                                         userApiServer.loginSign(topActivity, new Callback() {
                                             @Override
                                             public void onSuccess(HttpInfo info) throws IOException {

+ 1 - 1
app/src/main/java/com/edufound/reader/base/BaseFragment.java

@@ -260,7 +260,7 @@ public abstract class BaseFragment extends Fragment {
                                         bean.getData().setNickName(nickName);
                                         Consts.setmConstsUserBean(bean.getData());
                                         refUserInfo(Consts.getmConstsUserBean());
-                                        Toast.makeText(topActivity, "注册登录成功", Toast.LENGTH_SHORT).show();
+                                        Toast.makeText(topActivity, "登录成功", Toast.LENGTH_SHORT).show();
                                         userApiServer.loginSign(topActivity, new Callback() {
                                             @Override
                                             public void onSuccess(HttpInfo info) throws IOException {

+ 9 - 0
app/src/main/java/com/edufound/reader/bean/ThroughType.java

@@ -24,7 +24,16 @@ public enum ThroughType {
         public String getTypeCode() {//枚举对象实现抽象方法
             return "typeC";
         }
+    },
+    TYPED {
+        /**
+         * 直接进入首页,活动要跳转到第几个
+         * */
+        public String getTypeCode() {//枚举对象实现抽象方法
+            return "typeD";
+        }
     };
 
+
     public abstract String getTypeCode();//定义抽象方法
 }

+ 9 - 0
app/src/main/java/com/edufound/reader/bean/ThroughTypeBean.java

@@ -11,6 +11,7 @@ public class ThroughTypeBean {
     private String backDefaultIndex;
     private String userReadId;
     private String mThroughType;
+    private String eventPosition;
 
     public String getUserReadId() {
         return userReadId;
@@ -51,4 +52,12 @@ public class ThroughTypeBean {
     public void setmThroughType(String mThroughType) {
         this.mThroughType = mThroughType;
     }
+
+    public String getEventPosition() {
+        return eventPosition;
+    }
+
+    public void setEventPosition(String eventPosition) {
+        this.eventPosition = eventPosition;
+    }
 }

+ 32 - 0
app/src/main/java/com/edufound/reader/bean/UserRecordBean.java

@@ -76,6 +76,13 @@ public class UserRecordBean {
     }
 
     public class UserRead {
+
+        private String activityNumber;
+
+        private String activityType;
+
+        private String activityUrl;
+
         private String audioPath;
 
         private String channel;
@@ -132,6 +139,31 @@ public class UserRecordBean {
 
         private String readAmount;
 
+
+        public String getActivityNumber() {
+            return activityNumber;
+        }
+
+        public void setActivityNumber(String activityNumber) {
+            this.activityNumber = activityNumber;
+        }
+
+        public String getActivityType() {
+            return activityType;
+        }
+
+        public void setActivityType(String activityType) {
+            this.activityType = activityType;
+        }
+
+        public String getActivityUrl() {
+            return activityUrl;
+        }
+
+        public void setActivityUrl(String activityUrl) {
+            this.activityUrl = activityUrl;
+        }
+
         public String getReadAmount() {
             return readAmount;
         }

+ 3 - 0
app/src/main/java/com/edufound/reader/contract/EventFragmentContract.java

@@ -2,6 +2,8 @@ package com.edufound.reader.contract;
 
 import android.app.Activity;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+
 import com.edufound.reader.adapter.FragmentEventAdapter;
 import com.edufound.reader.base.BaseView;
 
@@ -16,6 +18,7 @@ public interface EventFragmentContract {
     interface Presenter {
         void getAllEvent();
 
+        void scrollItemToTop(LinearLayoutManager manager,int position);
 
     }
 }

+ 2 - 2
app/src/main/java/com/edufound/reader/cusview/ModelViewE.java

@@ -174,8 +174,8 @@ public class ModelViewE extends FrameLayout {
                     holder.mNickName.setText(mListData.get(position).getUser().getMobile());
                 }
             }
-            if (holder.mNickName.getText().toString().length() > 6) {
-                holder.mNickName.setText(holder.mNickName.getText().toString().substring(0, 3) + "...");
+            if (holder.mNickName.getText().toString().length() > 11) {
+                holder.mNickName.setText(holder.mNickName.getText().toString().substring(0, 10) + "...");
             }
             holder.mScore.setText(mListData.get(position).getUserRead().getScore() + "分");
             if (mItemClickListener != null) {

+ 28 - 23
app/src/main/java/com/edufound/reader/cusview/RvListJzvdStd.java

@@ -335,41 +335,46 @@ public class RvListJzvdStd extends Jzvd {
 
     @Override
     public boolean onTouch(View v, MotionEvent event) {
-        if (!canPause) {
-            return true;
-        }
-        int id = v.getId();
-        if (id == R.id.surface_container) {
-            switch (event.getAction()) {
-                case MotionEvent.ACTION_DOWN:
+        if (event.getAction() == MotionEvent.ACTION_UP) {
+            if (!canPause) {
+                return true;
+            }
+            int id = v.getId();
+            if (id == R.id.surface_container) {
+                switch (event.getAction()) {
+                    case MotionEvent.ACTION_DOWN:
 //                    startButton.performClick();
-                    break;
-                case MotionEvent.ACTION_MOVE:
-                    break;
-                case MotionEvent.ACTION_UP:
-                    if (canPause) {
-                        startButton.performClick();
-                    }
+                        break;
+                    case MotionEvent.ACTION_MOVE:
+                        break;
+                    case MotionEvent.ACTION_UP:
+                        if (canPause) {
+                            startButton.performClick();
+                        }
 //                    startDismissControlViewTimer();
 //                    if (mChangePosition) {
 //                        long duration = getDuration();
 //                        int progress = (int) (mSeekTimePosition * 100 / (duration == 0 ? 1 : duration));
 //                        bottomProgressBar.setProgress(progress);
 //                    }
-                    break;
-            }
+                        break;
+                }
 //            gestureDetector.onTouchEvent(event);
-        } else if (id == R.id.bottom_seek_progress) {
-            switch (event.getAction()) {
-                case MotionEvent.ACTION_DOWN:
+            } else if (id == R.id.bottom_seek_progress) {
+                switch (event.getAction()) {
+                    case MotionEvent.ACTION_DOWN:
 //                    cancelDismissControlViewTimer();
-                    break;
-                case MotionEvent.ACTION_UP:
+                        break;
+                    case MotionEvent.ACTION_UP:
 //                    startDismissControlViewTimer();
-                    break;
+                        break;
+                }
             }
+
+
+            return super.onTouch(v, event);
         }
-        return super.onTouch(v, event);
+        return true;
     }
 
     @Override

+ 14 - 0
app/src/main/java/com/edufound/reader/fragment/EventFragment.java

@@ -9,11 +9,14 @@ import androidx.recyclerview.widget.RecyclerView;
 import com.edufound.reader.R;
 import com.edufound.reader.adapter.FragmentEventAdapter;
 import com.edufound.reader.base.BaseMvpFragment;
+import com.edufound.reader.bean.ThroughType;
 import com.edufound.reader.contract.CharacterFragmentContract;
 import com.edufound.reader.contract.EventFragmentContract;
 import com.edufound.reader.presenter.CharacterFragmentPresenter;
 import com.edufound.reader.presenter.EventFragmentPresenter;
+import com.edufound.reader.util.Consts;
 import com.edufound.reader.util.HorizontalItemDecoration;
+import com.edufound.reader.util.ThroughUtil;
 import com.orhanobut.logger.Logger;
 
 public class EventFragment extends BaseMvpFragment<EventFragmentPresenter> implements EventFragmentContract.View {
@@ -88,6 +91,17 @@ public class EventFragment extends BaseMvpFragment<EventFragmentPresenter> imple
         linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
         mRecyclerView.addItemDecoration(new HorizontalItemDecoration(getActivity(), 20));
         mRecyclerView.setLayoutManager(linearLayoutManager);
+        if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPED.getTypeCode())) {
+            //如果是typeD。获取eventPosition
+            int position = Integer.valueOf(ThroughUtil.mThroughTypeBean.getEventPosition());
+            if (position < adapter.getItemCount()) {
+                //position不超过总活动个数,跳转。
+                mPresenter.scrollItemToTop(linearLayoutManager, Integer.valueOf(ThroughUtil.mThroughTypeBean.getEventPosition()));
+            }
+        } else {
+            mPresenter.scrollItemToTop(linearLayoutManager, Consts.getEventPosition());
+            Consts.setEventPosition(0);
+        }
     }
 
 }

+ 59 - 0
app/src/main/java/com/edufound/reader/listener/LinearTopSmoothScroller.java

@@ -0,0 +1,59 @@
+package com.edufound.reader.listener;
+
+import android.content.Context;
+import android.util.DisplayMetrics;
+
+import androidx.recyclerview.widget.LinearSmoothScroller;
+
+public class LinearTopSmoothScroller extends LinearSmoothScroller {
+
+    /**
+     * MILLISECONDS_PER_INCH 值越大滚动越慢
+     */
+    private float MILLISECONDS_PER_INCH = 0.03f;
+    private final Context context;
+
+    /**
+     * @param context  context
+     * @param needFast 是否需要快速滑动
+     */
+    public LinearTopSmoothScroller(Context context, boolean needFast) {
+        super(context);
+        this.context = context;
+        if (needFast) {
+            setScrollFast();
+        } else {
+            setScrollSlowly();
+        }
+    }
+
+
+    @Override
+    protected int getHorizontalSnapPreference() {
+        return SNAP_TO_START;
+    }
+
+    @Override
+    protected int getVerticalSnapPreference() {
+        return SNAP_TO_START;
+    }
+
+    @Override
+    protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
+        //return super.calculateSpeedPerPixel(displayMetrics);
+        setScrollSlowly();
+        return MILLISECONDS_PER_INCH / displayMetrics.density;
+    }
+
+    public void setScrollSlowly() {
+        //建议不同分辨率设备上的滑动速度相同
+        //0.3f可以根据不同自己的需求进行更改
+        MILLISECONDS_PER_INCH = context.getResources().getDisplayMetrics().density * 0.3f;
+    }
+
+    public void setScrollFast() {
+        MILLISECONDS_PER_INCH = context.getResources().getDisplayMetrics().density * 0.03f;
+    }
+
+
+}

+ 13 - 0
app/src/main/java/com/edufound/reader/presenter/EventFragmentPresenter.java

@@ -1,5 +1,9 @@
 package com.edufound.reader.presenter;
 
+import android.content.Context;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+
 import com.edufound.reader.adapter.FragmentEventAdapter;
 import com.edufound.reader.apiserver.ActivityEventServerImpl;
 import com.edufound.reader.base.BasePresenter;
@@ -7,6 +11,7 @@ import com.edufound.reader.bean.HttpResultBean;
 import com.edufound.reader.bean.ModelBean;
 import com.edufound.reader.contract.EventFragmentContract;
 import com.edufound.reader.cusview.CusToast;
+import com.edufound.reader.listener.LinearTopSmoothScroller;
 import com.edufound.reader.model.EventFragmentModel;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.google.gson.reflect.TypeToken;
@@ -75,4 +80,12 @@ public class EventFragmentPresenter extends BasePresenter<EventFragmentContract.
         });
     }
 
+    @Override
+    public void scrollItemToTop(LinearLayoutManager manager, int position) {
+        LinearTopSmoothScroller smoothScroller = new LinearTopSmoothScroller(mView.getActivity(), true);
+        smoothScroller.setTargetPosition(position);
+        manager.startSmoothScroll(smoothScroller);
+
+    }
+
 }

+ 30 - 135
app/src/main/java/com/edufound/reader/presenter/MainPresenter.java

@@ -208,141 +208,36 @@ public class MainPresenter extends BasePresenter<MainContract.View> implements M
     public void checkModelIsDebug() {
 
         if (Consts.isIsDebug()) {
-//            {
-//                HorizontalScrollView scrollView = new HorizontalScrollView(mView.getActivity());
-//                ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-//                scrollView.setLayoutParams(params);
-//                LinearLayout testlayout = new LinearLayout(mView.getActivity());
-//                testlayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
-//                testlayout.setDividerDrawable(new ColorDrawable() {
-//                    @Override
-//                    public int getIntrinsicWidth() {
-//                        return SizeUtils.dp2px(mView.getActivity(), 50);
-//                    }
-//                });
-//                testlayout.setOrientation(LinearLayout.HORIZONTAL);
-//                TextView tv = new TextView(mView.getActivity());
-//                tv.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
-//                tv.setTextSize(SizeUtils.px2dp(mView.getActivity(), 30));
-//                tv.setTextColor(Color.RED);
-//                tv.setBackgroundColor(mView.getActivity().getResources().getColor(R.color.translucent_background));
-//                tv.setText("当前在Debug模式下(->application->setIsDebug)");
-//                tv.setOnClickListener(new View.OnClickListener() {
-//                    @Override
-//                    public void onClick(View view) {
-////                    MMKVUtil.getInstance().clearAll();
-////                        EfunboxUtil.toWebFlowerActivity(mView.getActivity(), "http://activity.ai160.com/index.html", null);
-//                        PopWindowUtil.showRankListWindow(mView.getActivity(), "1", view.getRootView());
-//                    }
-//                });
-//                testlayout.addView(tv);
-////
-////
-//                ModelViewA modelViewA = new ModelViewA(mView.getActivity());
-//                modelViewA.initView();
-//                modelViewA.setView("http://reader-apk.ai160.com/reader-apk/res/character_image.png", new View.OnClickListener() {
-//                    @Override
-//                    public void onClick(View v) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view A right", 1000);
-//                    }
-//                });
-//                ModelViewWidthA modelViewWidthA = new ModelViewWidthA(mView.getActivity());
-//                modelViewWidthA.initView();
-//                modelViewWidthA.setView("http://reader-apk.ai160.com/reader-apk/res/character_image.png", new View.OnClickListener() {
-//                    @Override
-//                    public void onClick(View v) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view A right", 1000);
-//                    }
-//                });
-//
-//                ModelViewB modelViewB = new ModelViewB(mView.getActivity());
-//                modelViewB.initView();
-//                modelViewB.setView("", "不知道什么名字", "2020.05.24-2222.22.22", "111", new ModelViewB.OnClickBtnListener() {
-//                    @Override
-//                    public void clickLeft() {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view B left", 1000);
-//                    }
-//
-//                    @Override
-//                    public void clickRight() {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view B right", 1000);
-//                    }
-//                });
-//
-//
-//                ModelViewC modelViewC = new ModelViewC(mView.getActivity());
-//                //传空有默认图
-//                modelViewC.initView();
-//                modelViewC.setItemClickListener(new ModelViewC.onItemClickListener() {
-//                    @Override
-//                    public void clickExample(ExampleBean bean) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view C position:" + bean.getId(), 1000);
-//                    }
-//
-//                    @Override
-//                    public void clickItem(View view, int position, UserRecordBean bean) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view C position:" + position, 1000);
-//                    }
-//                });
-//
-//
-//                ModelViewD modelViewD = new ModelViewD(mView.getActivity());
-//                List<String> list = new ArrayList<>();
-//                for (int i = 0; i < 4; i++) {
-//                    list.add(i + "");
-//                }
-//                modelViewD.initView();
-//                modelViewD.setView("", list, new ModelViewD.OnClickBtnListener() {
-//                    @Override
-//                    public void clickLeft(Object object) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view D 查看规则", 1000);
-//                    }
-//
-//
-//                    @Override
-//                    public void clickItem(Object object) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view D item:" + String.valueOf(object), 1000);
-//                    }
-//
-//
-//                });
-//
-//                ModelViewE modelViewE = new ModelViewE(mView.getActivity());
-//                modelViewE.initView("");
-//                modelViewE.setItemClickListener(new ModelViewE.onItemClickListener() {
-//                    @Override
-//                    public void clickItem(View view, int position) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view E position:" + position, 1000);
-//                    }
-//
-//                    @Override
-//                    public void clickExample() {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view E position:查看规则", 1000);
-//                    }
-//
-//                    @Override
-//                    public void clickEnter(ExampleBean bean) {
-//                        CusToast.getInstance(mView.getActivity()).show("test model view E position:参加比赛", 1000);
-//                    }
-//                });
-//
-//                ModelViewF modelViewF = new ModelViewF(mView.getActivity());
-//                modelViewF.initView();
-//                modelViewF.setView("");
-//
-//
-//                testlayout.addView(modelViewA);
-//                testlayout.addView(modelViewWidthA);
-//                testlayout.addView(modelViewB);
-//                testlayout.addView(modelViewC);
-//                testlayout.addView(modelViewD);
-//                testlayout.addView(modelViewE);
-//                testlayout.addView(modelViewF);
-//                scrollView.addView(testlayout);
-////
-//                mView.getRootView().addView(scrollView);
-////
-//            }
+            {
+                HorizontalScrollView scrollView = new HorizontalScrollView(mView.getActivity());
+                ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+                scrollView.setLayoutParams(params);
+                LinearLayout testlayout = new LinearLayout(mView.getActivity());
+                testlayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+                testlayout.setDividerDrawable(new ColorDrawable() {
+                    @Override
+                    public int getIntrinsicWidth() {
+                        return SizeUtils.dp2px(mView.getActivity(), 50);
+                    }
+                });
+                testlayout.setOrientation(LinearLayout.HORIZONTAL);
+                TextView tv = new TextView(mView.getActivity());
+                tv.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
+                tv.setTextSize(SizeUtils.px2dp(mView.getActivity(), 30));
+                tv.setTextColor(Color.RED);
+                tv.setBackgroundColor(mView.getActivity().getResources().getColor(R.color.translucent_background));
+                tv.setText("当前在Debug模式下(->application->setIsDebug)");
+                tv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+//                    MMKVUtil.getInstance().clearAll();
+//                        EfunboxUtil.toWebFlowerActivity(mView.getActivity(), "http://activity.ai160.com/index.html", null);
+                    }
+                });
+                testlayout.addView(tv);
+                scrollView.addView(testlayout);
+                mView.getRootView().addView(scrollView);
+            }
 
         }
     }

+ 0 - 1
app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java

@@ -279,7 +279,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
                 if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEB.getTypeCode())) {
                     //要根据ID获取视频并且放到第一个
                     for (int i = 0; i < bean.getData().getList().size(); i++) {
-                        Logger.e("bean.getData().getList().get(i).getUserRead().getId():" + bean.getData().getList().get(i).getUserRead().getId());
                         if (bean.getData().getList().get(i).getUserRead().getId().equals(ThroughUtil.mThroughTypeBean.getUserReadId())) {
                             //找到了。要放到第一个
                             Logger.e("找到了推荐视频。要放到第一个");

+ 37 - 64
app/src/main/java/com/edufound/reader/presenter/SplashPresenter.java

@@ -67,12 +67,15 @@ public class SplashPresenter extends BasePresenter implements SplashContract.Pre
                     getIntentUri = Uri.parse(intent.getStringExtra("url"));
                 }
                 //efunbox://com.edufound.reader/splash?resid=11132
-            } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
+            } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())
+                    || Consts.getUmengChannel().equals(ChannelCodeEnum.MISOUND.getChannelCode())
+                    || Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
                 //天猫渠道
                 getIntentUri = intent.getData();
 
             }
         }
+        Logger.e("getIntentUri:" + getIntentUri);
         //efunbox://com.edufound.reader/splash?exampleId=103126003&backModel=home&type=typeA (直接去朗读页面参数)
         //efunbox://com.edufound.reader/splash?userReadId=1610706272358766&backModel=home&type=typeB (根据id把视频提前)
         //efunbox://com.edufound.reader/splash?userReadId=1610706272358766&backModel=home&type=typeC (根据id把视频提前)
@@ -111,10 +114,15 @@ public class SplashPresenter extends BasePresenter implements SplashContract.Pre
                     ThroughUtil.mThroughTypeBean.setUserReadId(getIntentUri.getQueryParameter("userReadId"));
                     ThroughUtil.mThroughTypeBean.setBackModel(getIntentUri.getQueryParameter("backModel"));
                     ((BaseActivity) mView.getActivity()).toNextActivity(SmallFullVideoActivity.class);
+                } else if (type.equals(ThroughType.TYPED.getTypeCode())) {
+                    Logger.e("");
+                    ThroughUtil.mThroughTypeBean.setmThroughType(ThroughType.TYPED.getTypeCode());
+                    ThroughUtil.mThroughTypeBean.setEventPosition(getIntentUri.getQueryParameter("eventPosition"));
+                    Logger.e("获取了eventPosition:" + ThroughUtil.mThroughTypeBean.getEventPosition());
+                    ((BaseActivity) mView.getActivity()).toNextActivity(MainActivity.class);
                 }
             }
 
-
         } else {
             //如果什么都没有得到,就默认跳转首页
             ((BaseActivity) mView.getActivity()).toNextActivity(MainActivity.class);
@@ -128,59 +136,23 @@ public class SplashPresenter extends BasePresenter implements SplashContract.Pre
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
                 try {
+                    Logger.e("info:" + info.getRetDetail());
                     JSONObject object = new JSONObject(info.getRetDetail());
                     if (object.getString("code").equals("300") || object.getInt("code") == 300) {
-                        //没有用户数据
-                        if (TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE))) {
-                            //没有选择过年纪,选择年纪
-                            Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)");
-//                            showSelectGradeWindow();
-                        } else {
-                            Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)--else");
-                            //选择过年纪。无处理
-                        }
-//                    registerMobile("18655365222");
-                        getYFVip();
                     } else {
                         HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
                         }.getType());
                         Consts.setUID(bean.getData().getUid());
                         //用户是否登录,登录了,创建Consts的userbean
                         Consts.setmConstsUserBean(bean.getData());
-                        mUserApi.loginSign(mView.getActivity(), new Callback() {
-                            @Override
-                            public void onSuccess(HttpInfo info) throws IOException {
-                                try {
-                                    HttpResultBean<SignBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<SignBean>>() {
-                                    }.getType());
-                                    if (bean.getData() != null) {
-                                        if (bean.getData().getIsSign()) {
-                                            CusToast.getInstance(mView.getActivity()).show("恭喜签到成功\n奖励" + bean.getData().getCount() + "朵小红花", 2000);
-                                        }
-                                    } else {
-                                        Logger.e("签到参数 isSign是空的");
-                                    }
-
-                                } catch (Exception e) {
-                                    e.printStackTrace();
-                                } finally {
-                                    getYFVip();
-                                }
-
-                            }
 
-                            @Override
-                            public void onFailure(HttpInfo info) throws IOException {
-                                Logger.e("info:" + info.getRetDetail());
-                            }
-                        });
                     }
                 } catch (JSONException e) {
                     e.printStackTrace();
                 } finally {
-
                     //无论如何最后走判断
-                    getScheme(intent);
+                    //获取是否是vip
+                    getYFVip(intent);
 
                 }
 
@@ -189,38 +161,39 @@ public class SplashPresenter extends BasePresenter implements SplashContract.Pre
 
             @Override
             public void onFailure(HttpInfo info) throws IOException {
-                if (TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE))) {
-                    //没有选择过年纪,选择年纪
-//                    showSelectGradeWindow();
-                } else {
-                    //选择过年纪。无处理
-                }
+                getYFVip(intent);
+
             }
         });
     }
 
 
-    private void getYFVip() {
+    private void getYFVip(Intent intent) {
 
-        if (!Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
-            //不是百度渠道,检查是否是义方VIP
-            if (Consts.getmConstsUserBean() != null) {
-                mOrderApi.getAuth(mView.getActivity(), new Callback() {
-                    @Override
-                    public void onSuccess(HttpInfo info) throws IOException {
-                        HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
-                        }.getType());
-                        if (!TextUtils.isEmpty(bean.getData())) {
-                            Consts.setIsYFVip(true);
+        try {
+            if (!Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
+                //不是百度渠道,检查是否是义方VIP
+                if (Consts.getmConstsUserBean() != null) {
+                    mOrderApi.getAuth(mView.getActivity(), new Callback() {
+                        @Override
+                        public void onSuccess(HttpInfo info) throws IOException {
+                            HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
+                            }.getType());
+                            if (!TextUtils.isEmpty(bean.getData())) {
+                                Consts.setIsYFVip(true);
+                            }
                         }
-                    }
-
-                    @Override
-                    public void onFailure(HttpInfo info) throws IOException {
 
-                    }
-                });
+                        @Override
+                        public void onFailure(HttpInfo info) throws IOException {
+                        }
+                    });
+                }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            getScheme(intent);
         }
     }
 

+ 2 - 2
app/src/main/java/com/edufound/reader/receiver/HomeKeyEventReceiver.java

@@ -22,11 +22,11 @@ public class HomeKeyEventReceiver extends BroadcastReceiver {
             String reason = intent.getStringExtra(SYSTEM_REASON);
             if (TextUtils.equals(reason, SYSTEM_HOME_KEY)) {
                 Logger.e("click home SYSTEM_HOME_KEY");
-                EApplication.killAppProcess(context);
+//                EApplication.killAppProcess(context);
 //                android.os.Process.killProcess(android.os.Process.myPid());
             } else if (TextUtils.equals(reason, SYSTEM_DIALOG_REASON_RECENT_APPS)) {
                 Logger.e("click home SYSTEM_DIALOG_REASON_RECENT_APPS");
-                EApplication.killAppProcess(context);
+//                EApplication.killAppProcess(context);
             }
         }
     }

+ 13 - 1
app/src/main/java/com/edufound/reader/util/Consts.java

@@ -51,9 +51,13 @@ public class Consts {
 
     private static boolean isHaveFlowerEvent = false;
 
+
     private static String EVENT_TYPE_FLOWER_URL = "http://activity.ai160.com/index.html";
 
 
+    public static int eventPosition = 0;
+
+
     public static boolean isIsHaveFlowerEvent() {
         return isHaveFlowerEvent;
     }
@@ -182,7 +186,7 @@ public class Consts {
     }
 
 
-    public static boolean hasOtherEvent=false;
+    public static boolean hasOtherEvent = false;
 
 
     public static boolean isHasOtherEvent() {
@@ -216,4 +220,12 @@ public class Consts {
     public static void setTmailDeviceId(String tmailDeviceId) {
         TMAIL_DEVICE_ID = tmailDeviceId;
     }
+
+    public static int getEventPosition() {
+        return eventPosition;
+    }
+
+    public static void setEventPosition(int eventPosition) {
+        Consts.eventPosition = eventPosition;
+    }
 }

+ 3 - 0
app/src/main/java/com/edufound/reader/util/EfunboxUtil.java

@@ -157,6 +157,9 @@ public class EfunboxUtil {
 
     public static boolean checkIsVip() {
         if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
+            if (Consts.getmConstsBaiDuUserBean() == null || Consts.getmConstsBaiDuUserBean().getUserInfo() == null) {
+                return false;
+            }
             return (Consts.getmConstsBaiDuUserBean().getUserInfo().getIsVip() == 1);
         } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
             return Consts.isIsYFVip();

+ 5 - 9
app/src/main/res/layout/adapter_item_slidevideo.xml

@@ -44,15 +44,11 @@
     </LinearLayout>
 
 
-    <ImageView
-        android:id="@+id/adapter_item_slidevideo_event_btn"
-        android:layout_width="200dp"
-        android:layout_height="80dp"
-        android:layout_gravity="left|bottom"
-        android:layout_marginLeft="30dp"
-        android:layout_marginBottom="30dp"
-        android:scaleType="fitXY"
-        android:visibility="invisible"></ImageView>
+    <FrameLayout
+        android:id="@+id/adapter_item_slidevideo_event_frame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:visibility="invisible"></FrameLayout>
 
     <FrameLayout
         android:id="@+id/adapter_item_slidevideo_tagLayout"