Jelajahi Sumber

1.透传参数问题
2.部分逻辑修改

FailedToRead 3 tahun lalu
induk
melakukan
cca5578dd0

+ 2 - 2
app/build.gradle

@@ -14,8 +14,8 @@ android {
         applicationId "com.edufound.reader"
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 5
-        versionName "1.5"
+        versionCode 7
+        versionName "1.7"
         flavorDimensions "versionCode"
         manifestPlaceholders = [UMENG_CHANNEL_VALUE: "2006"]//添加一个默认渠道号
         testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

+ 23 - 13
app/src/main/java/com/edufound/reader/activity/MainActivity.java

@@ -116,21 +116,31 @@ public class MainActivity extends BaseMvpActivity<MainPresenter> implements Main
         if (getIntentUri != null) {
             Logger.e("getIntentUri:" + getIntentUri);
             String type = getIntentUri.getQueryParameter("type");
-            if (type.equals(ThroughType.TYPEA.getTypeCode())) {
-                //typeA类型,直接进入朗读界面
-                ThroughUtil.mThroughTypeA = new ThroughTypeA();
-                ThroughUtil.mThroughType = ThroughType.TYPEA;
-                ThroughUtil.mThroughTypeA.setExampleId(getIntentUri.getQueryParameter("exampleId"));
-                //backModel只有app和home两个值,app是直接退出应用,home是返回首页
-                ThroughUtil.mThroughTypeA.setBackModel(getIntentUri.getQueryParameter("backModel"));
-                toNextActivity(RecordActivity.class);
-            } else if (type.equals(ThroughType.TYPEB.getTypeCode())) {
-                //把收到的ID视频提到第一个
-                ThroughUtil.mThroughTypeB = new ThroughTypeB();
-                ThroughUtil.mThroughType = ThroughType.TYPEB;
-                ThroughUtil.mThroughTypeB.setUserReadId(getIntentUri.getQueryParameter("userReadId"));
+            Logger.e("type:" + type);
+            if (getIntentUri.getQueryParameter("type") != null) {
+                if (type.equals(ThroughType.TYPEA.getTypeCode())) {
+                    //typeA类型,直接进入朗读界面
+                    Logger.e("进入了TypeA类型");
+                    ThroughUtil.mThroughTypeA = new ThroughTypeA();
+                    ThroughUtil.mThroughType = ThroughType.TYPEA;
+                    ThroughUtil.mThroughTypeA.setExampleId(getIntentUri.getQueryParameter("exampleId"));
+                    //backModel只有app和home两个值,app是直接退出应用,home是返回首页
+                    ThroughUtil.mThroughTypeA.setBackModel(getIntentUri.getQueryParameter("backModel"));
+
+                    Logger.e("进入了TypeA类型:getIntentUri.getQueryParameter(\"backModel\")==" + getIntentUri.getQueryParameter("backModel"));
+                    Logger.e("进入了TypeA类型:getIntentUri.getQueryParameter(\"exampleId\")==" + getIntentUri.getQueryParameter("exampleId"));
+                    toNextActivity(RecordActivity.class);
+                } else if (type.equals(ThroughType.TYPEB.getTypeCode())) {
+                    Logger.e("进入了TypeB类型");
+                    //把收到的ID视频提到第一个
+                    ThroughUtil.mThroughTypeB = new ThroughTypeB();
+                    ThroughUtil.mThroughType = ThroughType.TYPEB;
+                    ThroughUtil.mThroughTypeB.setUserReadId(getIntentUri.getQueryParameter("userReadId"));
+                    Logger.e("进入了TypeA类型:getIntentUri.getQueryParameter(\"userReadId\")==" + getIntentUri.getQueryParameter("userReadId"));
+                }
             }
 
+
         }
 
 

+ 7 - 1
app/src/main/java/com/edufound/reader/activity/RecordActivity.java

@@ -124,7 +124,13 @@ public class RecordActivity extends BaseMvpActivity<RecordPresenter> implements
                             startRecordStatus();
                         }
                     } else {
-                        EfunboxUtil.userPay(getActivity());
+                        if (Consts.isIsHaveFlowerEvent()) {
+                            Intent intent = new Intent(getActivity(), EventPayActivity.class);
+                            getActivity().startActivity(intent);
+                        } else {
+                            EfunboxUtil.userPay(getActivity());
+
+                        }
                     }
 
                 }

+ 35 - 22
app/src/main/java/com/edufound/reader/fragment/RecommendFragment.java

@@ -3,6 +3,7 @@ package com.edufound.reader.fragment;
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.LinearInterpolator;
@@ -23,6 +24,7 @@ import com.edufound.reader.bean.ChannelCodeEnum;
 import com.edufound.reader.bean.UserEventEnum;
 import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.RecommendFragmentContract;
+import com.edufound.reader.cusview.CusToast;
 import com.edufound.reader.presenter.RecommendFragmentPresenter;
 import com.edufound.reader.util.Consts;
 import com.edufound.reader.util.EfunboxUtil;
@@ -179,9 +181,13 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
                 //登陆了,判断是否是VIP
                 if (EfunboxUtil.checkIsVip()) {
                     //如果是VIP
-                    Bundle bundle = new Bundle();
-                    bundle.putString("exampleId", mPresenter.getCurVideoExampleId().toString());
-                    toNextActivity(RecordActivity.class, bundle);
+                    if (!TextUtils.isEmpty(mPresenter.getCurVideoExampleId().toString())) {
+                        Bundle bundle = new Bundle();
+                        bundle.putString("exampleId", mPresenter.getCurVideoExampleId().toString());
+                        toNextActivity(RecordActivity.class, bundle);
+                    } else {
+                        CusToast.getInstance(getContext()).show("视频id出现问题", 1000);
+                    }
                 } else {
                     EfunboxUtil.userPay(getActivity());
                 }
@@ -249,6 +255,7 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
     @Override
     public void setTopStatus(UserRecordBean bean) {
 
+
         //设置信息和点赞数等
         if (bean.getUser().getAvatar() == null || bean.getUser().getAvatar().equals("")) {
             if (bean.getUser().getGender().equals("1")) {
@@ -266,16 +273,7 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
             mUserPhone.setText(bean.getUser().getNickName());
         }
         mCommentCount.setText(bean.getUserRead().getCommentAmount());
-        if (bean.getUser().getUid().equals(Consts.getUID()) || bean.getUser().getProfession().equals("官方")) {
-            //是自己
-            isFollow.setVisibility(View.INVISIBLE);
-        } else {
-            if (bean.getIsFans()) {
-                isFollow.setVisibility(View.INVISIBLE);
-            } else {
-                isFollow.setVisibility(View.VISIBLE);
-            }
-        }
+
         if (bean.getIsFavorites() || bean.getFavoritesBean() != null) {
             mCollentStatus.setText("已收藏");
             ((ImageView) mCollectionLayout.findViewById(R.id.fragment_recommend_collection_icon)).setImageResource(R.drawable.fragment_recommend_collection_icon_s);
@@ -289,16 +287,31 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
             ((ImageView) mThumbsLayout.findViewById(R.id.fragment_recommend_thumbs_icon)).setImageResource(R.drawable.fragment_recommend_thumbs_up);
         }
 
-
-        addUiClickListener(mUserHeadLayout, o -> {
-            if (EfunboxUtil.checkLogin(getActivity())) {
-                Bundle bundle = new Bundle();
-                bundle.putString("other_uid", bean.getUser().getUid());
-                bundle.putString("record_id", bean.getUserRead().getId());
-                bundle.putString("intoPage", "RecommendFragment");
-                toNextActivity(OthersRecordActivity.class, bundle);
+        if (!bean.getUserRead().getTag().equals("ACTIVITY")) {
+            isFollow.setVisibility(View.INVISIBLE);
+            mUserHeadLayout.setClickable(true);
+            addUiClickListener(mUserHeadLayout, o -> {
+                if (EfunboxUtil.checkLogin(getActivity())) {
+                    Bundle bundle = new Bundle();
+                    bundle.putString("other_uid", bean.getUser().getUid());
+                    bundle.putString("record_id", bean.getUserRead().getId());
+                    bundle.putString("intoPage", "RecommendFragment");
+                    toNextActivity(OthersRecordActivity.class, bundle);
+                }
+            });
+        } else {
+            mUserHeadLayout.setClickable(false);
+        }
+        if (bean.getUser().getUid().equals(Consts.getUID()) || bean.getUser().getProfession().equals("官方")) {
+            //是自己
+            isFollow.setVisibility(View.INVISIBLE);
+        } else {
+            if (bean.getIsFans()) {
+                isFollow.setVisibility(View.INVISIBLE);
+            } else {
+                isFollow.setVisibility(View.VISIBLE);
             }
-        });
+        }
 
         addUiClickListener(mCollectionLayout, o -> {
             if (EfunboxUtil.checkLogin(getActivity())) {

+ 45 - 19
app/src/main/java/com/edufound/reader/popwindow/PopWindowUtil.java

@@ -54,6 +54,11 @@ public class PopWindowUtil {
     private static PopupWindow mPopupWindow;
     private static FrameLayout dialog_view;
 
+    private static PopupWindow recordPopupWindow;
+    private static FrameLayout record_view;
+
+    private static PopupWindow eventPopupWindow;
+    private static FrameLayout event_view;
 
     private static void initPresenter() {
         if (mPresenter == null) {
@@ -243,12 +248,15 @@ public class PopWindowUtil {
 
     public static void showRecordStatusWindow(Activity context, View parent, RecordResultBean bean, UserRecordBean.UserRead userread, PopupRecordStatusListener listener) {
         initPresenter();
-        if (checkWindowShoing()) {
-            return;
+        if (recordPopupWindow != null) {
+            recordPopupWindow = null;
         }
-        dialog_view = (FrameLayout) LayoutInflater.from(context).inflate(R.layout.popupwindow_record_status, null);
-        dialog_view.setFocusable(true);
-        dialog_view.setOnKeyListener(new View.OnKeyListener() {
+        if (record_view != null) {
+            record_view = null;
+        }
+        record_view = (FrameLayout) LayoutInflater.from(context).inflate(R.layout.popupwindow_record_status, null);
+        record_view.setFocusable(true);
+        record_view.setOnKeyListener(new View.OnKeyListener() {
             @Override
             public boolean onKey(View v, int keyCode, KeyEvent event) {
                 if (keyCode == KeyEvent.KEYCODE_BACK) {
@@ -257,18 +265,29 @@ public class PopWindowUtil {
                 return false;
             }
         });
-        ImageView back = dialog_view.findViewById(R.id.popupwindow_record_status_close);
+        ImageView back = record_view.findViewById(R.id.popupwindow_record_status_close);
         setClickListener(back, o -> {
-            mPopupWindow.dismiss();
+            recordPopupWindow.dismiss();
+        });
+        mPresenter.initRecordStatusWindow(context, record_view, bean, userread, listener);
+        recordPopupWindow = new PopupWindow(record_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+        recordPopupWindow.setFocusable(false);
+        recordPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
+        recordPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                record_view.removeAllViews();
+                record_view = null;
+                recordPopupWindow = null;
+            }
         });
-        mPresenter.initRecordStatusWindow(context, dialog_view, bean, userread, listener);
-        newPopupWindow(parent, false);
     }
 
 
     public static void showMyOrderWindow(Activity context, View parent) {
         initPresenter();
         if (checkWindowShoing()) {
+            mPopupWindow.dismiss();
             return;
         }
         dialog_view = (FrameLayout) LayoutInflater.from(context).inflate(R.layout.popupwindow_myorder, null);
@@ -344,28 +363,35 @@ public class PopWindowUtil {
      */
     public static void webviewEventsWindow(Context context, View parent, PopUtilClickListener listener, boolean needwindow) {
         initPresenter();
-        if (checkWindowShoing()) {
-            return;
-        }
         if (!needwindow) {
             listener.clickSubmit(null);
             return;
         }
-        dialog_view = (FrameLayout) LayoutInflater.from(context).inflate(R.layout.popupwindow_webs_events, null);
-        dialog_view.setFocusable(true);
-        ImageView img = dialog_view.findViewById(R.id.popupwindow_webs_events_img);
+        event_view = (FrameLayout) LayoutInflater.from(context).inflate(R.layout.popupwindow_webs_events, null);
+        event_view.setFocusable(true);
+        ImageView img = event_view.findViewById(R.id.popupwindow_webs_events_img);
         GlideUtils.loadImageSizeKipMemoryCache(context, "http://reader-apk.ai160.com/reader-apk/res/event_img.png", img);
-        ImageView close = dialog_view.findViewById(R.id.popupwindow_webs_events_close);
+        ImageView close = event_view.findViewById(R.id.popupwindow_webs_events_close);
         setClickListener(img, o -> {
-            mPopupWindow.dismiss();
+            eventPopupWindow.dismiss();
             listener.clickSubmit(null);
         });
 
         setClickListener(close, o -> {
-            mPopupWindow.dismiss();
+            eventPopupWindow.dismiss();
             listener.clickCancel();
         });
-        newPopupWindow(parent, true);
+        eventPopupWindow = new PopupWindow(event_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+        eventPopupWindow.setFocusable(true);
+        eventPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
+        eventPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                event_view.removeAllViews();
+                event_view = null;
+                eventPopupWindow = null;
+            }
+        });
     }
 
 

+ 0 - 3
app/src/main/java/com/edufound/reader/presenter/OthersRecordPresenter.java

@@ -160,9 +160,6 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
             public void onSuccess(HttpInfo info) throws IOException {
                 HttpResultBean<HttpResultDataListBean<UserRecordBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<UserRecordBean>>>() {
                 }.getType());
-                Logger.e("参数:" + info.getParams());
-                Logger.e("获取他人的录音列表:" + info.getRetDetail());
-                Logger.e("header:" + info.getHeads());
                 mDataList = bean.getData().getList();
                 mView.getOtherRecordSuccess();
 //                mView.loadMoreItem();

+ 12 - 3
app/src/main/java/com/edufound/reader/presenter/RecordPresenter.java

@@ -92,10 +92,16 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
         if (ThroughUtil.mThroughType != null && ThroughUtil.mThroughType.equals(ThroughType.TYPEA)) {
             mReadId = ThroughUtil.mThroughTypeA.getExampleId();
             backModel = ThroughUtil.mThroughTypeA.getBackModel();
+        } else {
+            Bundle bundle = intent.getBundleExtra("params_bundle");
+            if (bundle != null) {
+                mReadId = bundle.getString("exampleId");
+            }
         }
         if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
             BotRegisterListener.uploadUsage("1", mReadId, "record", "vip");
         }
+        Logger.e("mReadId:" + mReadId);
         mModel.getReadInfo(mView.getActivity(), mReadId, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
@@ -103,7 +109,6 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
                 }.getType());
                 mRecordUserRead = bean.getData().getUserRead();
                 exampleUrl = mRecordUserRead.getVideoPath();
-                Logger.e("exampleUrl:" + exampleUrl);
                 recordUrl = mRecordUserRead.getOriginVideo();
                 GlideUtils.loadImageSizeKipMemoryCache(mView.getActivity(), mRecordUserRead.getCoverImg(), mView.getJZVideoView().posterImageView);
                 mView.getJZVideoView().setUp(new JZDataSource(exampleUrl), JzvdStd.SCREEN_FULLSCREEN, JZMediaIjk.class, mRecordUserRead.getId());
@@ -111,6 +116,7 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
 
             @Override
             public void onFailure(HttpInfo info) throws IOException {
+                Logger.e("获取录音的音频视频失败参数:" + info.getParams());
                 Logger.e("获取录音的音频视频失败:" + info.getRetDetail());
             }
         });
@@ -230,7 +236,11 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
 
     @Override
     public void activityDestroy() {
-
+        if (ThroughUtil.mThroughType != null) {
+            ThroughUtil.mThroughType = null;
+            ThroughUtil.mThroughTypeA = null;
+            ThroughUtil.mThroughTypeB = null;
+        }
         mView.getJZVideoView().pauseVideo();
         mRecordServices.stopRecord();
         mRecordServices.desrotyRecord();
@@ -318,7 +328,6 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
                         mView.getJZVideoView().post(new Runnable() {
                             @Override
                             public void run() {
-                                Logger.e("----------------录音返回请求了-------------------------");
                                 showRecordStatusWindow(new RecordResultBean(overall, speed, tone, integrity, accuracy), mRecordUserRead);
                             }
                         });