From 7f0825f8195a522ed7e8bcdb6347f3a719e06c74 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 16 六月 2025 15:29:44 +0800
Subject: [PATCH] 新版穿山甲接入/拦截应用宝链接跳转至应用市场

---
 BuWanVideo/build.gradle                                                          |   16 +
 BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java |    4 
 BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java             |   11 +
 BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java   |   29 ++++
 BuWanVideo/res/values/strings.xml                                                |    2 
 BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java         |   46 -------
 BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java            |   57 ++++++---
 BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java             |    9 +
 BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java              |   29 +++-
 build.gradle                                                                     |    9 +
 BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java           |    9 
 BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java              |   13 +-
 BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java          |    2 
 BuWanVideo/res/layout/activity_register.xml                                      |    1 
 BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java        |    4 
 BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java                  |    3 
 BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java                |    9 +
 BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java           |   14 ++
 BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java         |   11 +
 /dev/null                                                                        |    0 
 BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java                       |    6 
 library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java       |    4 
 BuWanVideo/res/layout/act_phone_login.xml                                        |    1 
 BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar                                          |    0 
 BuWanVideo/res/layout/activity_forget_pwd.xml                                    |   55 +++++++++
 BuWanVideo/AndroidManifest.xml                                                   |    3 
 26 files changed, 247 insertions(+), 100 deletions(-)

diff --git a/BuWanVideo/AndroidManifest.xml b/BuWanVideo/AndroidManifest.xml
index e0261db..9edbc02 100644
--- a/BuWanVideo/AndroidManifest.xml
+++ b/BuWanVideo/AndroidManifest.xml
@@ -79,6 +79,7 @@
         android:largeHeap="true"
         android:theme="@style/AppTheme"
         android:usesCleartextTraffic="true"
+        android:extractNativeLibs="true"
         android:debuggable="false"
         tools:replace="android:allowBackup">
 
@@ -337,7 +338,7 @@
             android:value="570f28a578d6e12cba6f7f200b8d1c83"></meta-data>
         <meta-data
             android:name="UMENG_CHANNEL"
-            android:value="oppo"></meta-data>
+            android:value="huawei"></meta-data>
 
 
         <provider
diff --git a/BuWanVideo/build.gradle b/BuWanVideo/build.gradle
index 9346e50..0a72290 100644
--- a/BuWanVideo/build.gradle
+++ b/BuWanVideo/build.gradle
@@ -59,6 +59,7 @@
     implementation files('libs/nb_trade-4.0.0.27.aar')
     implementation files('libs/nb_trade-4.0.0.27.aar')
     implementation files('libs/open_ad_6.1.7.2_841bfa881_2394g.aar')
+    implementation files('libs/open_ad_sdk_6.8.1.7.aar')
 
 
     implementation 'androidx.cardview:cardview:1.0.0'
@@ -100,8 +101,10 @@
 //    }
 //    implementation('com.volcengine:apm_insight_crash:1.4.2')
 //    implementation('com.volcengine:apm_insight_sdk:1.0.3')
-    implementation 'com.pangle.cn:mediation-sdk:6.6.0.7'
-    implementation ('com.pangle.cn:pangrowth-dpsdk:5.2.1.0'){
+//    implementation 'com.pangle.cn:mediation-sdk:6.6.0.7'
+
+
+    implementation('com.pangle.cn:pangrowth-dpsdk:5.2.1.0') {
         exclude group: 'com.pangle.cn', module: 'adclog'
     }
     implementation 'com.pangle.cn:pangrowth-base:2.7.0.0'
@@ -121,6 +124,8 @@
     implementation 'com.apkfuns.log2file:log2file:1.3.1'
 
     implementation "org.jetbrains.kotlin:kotlin-reflect:1.4.10"
+
+
 }
 android {
     signingConfigs {
@@ -134,6 +139,7 @@
     useLibrary 'org.apache.http.legacy'
     compileSdkVersion 29
     buildToolsVersion '29.0.2'
+
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
@@ -158,10 +164,10 @@
 
     defaultConfig {
         applicationId "com.doudou.ysvideo"
-        versionCode 153
-        versionName "3.11.2"
+        versionCode 154
+        versionName "3.11.3"
         multiDexEnabled = true
-        minSdkVersion 21
+        minSdkVersion 24
         targetSdkVersion 30
         ndk {
             // 32涓�64
diff --git a/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar b/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar
deleted file mode 100644
index 6b7305d..0000000
--- a/BuWanVideo/libs/open_ad_sdk_5.4.3.5.aar
+++ /dev/null
Binary files differ
diff --git a/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar b/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar
new file mode 100644
index 0000000..85abab8
--- /dev/null
+++ b/BuWanVideo/libs/open_ad_sdk_6.8.1.7.aar
Binary files differ
diff --git a/BuWanVideo/res/layout/act_phone_login.xml b/BuWanVideo/res/layout/act_phone_login.xml
index 106668c..b1d4bf1 100644
--- a/BuWanVideo/res/layout/act_phone_login.xml
+++ b/BuWanVideo/res/layout/act_phone_login.xml
@@ -169,6 +169,7 @@
                     android:orientation="vertical">
 
                     <TextView
+                        android:id="@+id/tv_user_agreement_text"
                         android:layout_width="wrap_content"
                         android:layout_height="match_parent"
                         android:layout_marginLeft="6.5dp"
diff --git a/BuWanVideo/res/layout/activity_forget_pwd.xml b/BuWanVideo/res/layout/activity_forget_pwd.xml
index c64c52e..9178d61 100644
--- a/BuWanVideo/res/layout/activity_forget_pwd.xml
+++ b/BuWanVideo/res/layout/activity_forget_pwd.xml
@@ -161,6 +161,61 @@
                 android:textColor="#F4DE4A"
                 android:textSize="17sp" />
 
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:layout_marginTop="8dp"
+                android:orientation="horizontal">
+
+                <CheckBox
+                    android:visibility="visible"
+                    android:id="@+id/cb_user_agreement"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:layout_gravity="center_vertical"
+                    android:background="@drawable/selector_user_agreement_checkbox"
+                    android:button="@null"
+                    android:checked="false"
+                    android:gravity="center" />
+
+
+
+                <TextView
+                    android:id="@+id/tv_user_agreement_click"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="6.5dp"
+                    android:text="鍕鹃�夊嵆浠h〃鍚屾剰"
+                    android:textColor="@color/login_protocol_text_color"
+                    android:textSize="11sp" />
+
+                <TextView
+                    android:id="@+id/tv_user_agreement"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/user_agreement"
+                    android:textColor="@color/login_protocol_highlight_text_color"
+                    android:textSize="11sp" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="銆�"
+                    android:textColor="@color/login_protocol_text_color"
+                    android:textSize="11sp" />
+
+                <TextView
+                    android:id="@+id/tv_privacy_policy"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_policy"
+                    android:textColor="@color/login_protocol_highlight_text_color"
+                    android:textSize="11sp" />
+
+            </LinearLayout>
+
+
         </LinearLayout>
     </ScrollView>
 
diff --git a/BuWanVideo/res/layout/activity_register.xml b/BuWanVideo/res/layout/activity_register.xml
index 6ef10c3..431df08 100644
--- a/BuWanVideo/res/layout/activity_register.xml
+++ b/BuWanVideo/res/layout/activity_register.xml
@@ -190,6 +190,7 @@
 
 
                 <TextView
+                    android:id="@+id/tv_user_agreement_click"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="6.5dp"
diff --git a/BuWanVideo/res/values/strings.xml b/BuWanVideo/res/values/strings.xml
index 3782ae4..c917aef 100644
--- a/BuWanVideo/res/values/strings.xml
+++ b/BuWanVideo/res/values/strings.xml
@@ -1,5 +1,5 @@
 <resources>
-    <string name="app_name">褰辫澶у叏</string>
+    <string name="app_name">褰辫澶у叏闊╁墽</string>
     <string name="recommend">瑙嗛</string>
     <string name="category">鍒嗙被</string>
     <string name="discover">鍙戠幇</string>
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
index b0fe8d0..4c62e91 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -24,6 +24,7 @@
 import com.apkfuns.logutils.LogUtils;
 import com.bytedance.sdk.djx.DJXSdk;
 import com.bytedance.sdk.djx.DJXSdkConfig;
+import com.bytedance.sdk.djx.IDJXPrivacyController;
 import com.bytedance.sdk.djx.model.DJXError;
 import com.bytedance.sdk.dp.DPSdk;
 import com.bytedance.sdk.dp.DPSdkConfig;
@@ -578,8 +579,12 @@
 
     public static void initDJ(Application application){
                 try{
-                    DJXSdk.init(application, "SDK_Setting_5095354.json", new DJXSdkConfig.Builder().debug(true).build());
-
+                    DJXSdk.init(application, "SDK_Setting_5095354.json", new DJXSdkConfig.Builder().privacyController(new IDJXPrivacyController() {
+                        @Override
+                        public boolean isOnlyICPNumber() {
+                            return true;
+                        }
+                    }).debug(true).build());
                     DJXSdk.start(new DJXSdk.StartListener() {
                         @Override
                         public void onStartComplete(boolean b, String s, @Nullable DJXError djxError) {
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java
index 54ecfd4..85fccce 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/ForgetPwdActivity.java
@@ -9,6 +9,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.view.View;
+import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -41,6 +42,7 @@
     private TextView tv_obtain_verfication_code;
     private EditText et_pwd;
     private TextView tv_confirm;
+    private CheckBox cb_user_agreement;
 
     @Override
     protected void onCreate(Bundle arg0) {
@@ -55,41 +57,59 @@
         tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code);
         et_pwd = (EditText) findViewById(R.id.et_pwd);
         tv_confirm = (TextView) findViewById(R.id.tv_confirm);
+        cb_user_agreement = findViewById(R.id.cb_user_agreement);
         tv_obtain_verfication_code.setOnClickListener(this);
         tv_confirm.setOnClickListener(this);
         findViewById(R.id.tv_back).setOnClickListener(this);
+        findViewById(R.id.tv_user_agreement_click).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                cb_user_agreement.setChecked(!cb_user_agreement.isChecked());
+            }
+        });
     }
 
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
-            case R.id.tv_obtain_verfication_code:
+            case R.id.tv_obtain_verfication_code: {
                 String email = et_email.getText().toString();
                 if (StringUtils.isEmpty(email)) {
                     SingleToast.showToast(ForgetPwdActivity.this, "璇峰厛杈撳叆閭鍙�");
                     return;
-                } else {
-                    Matcher m = IsEmail.isEmailAddress().matcher(email);
-                    if (m.matches()) {
-                        getVerficationCode(email);
-                    } else {
-                        SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒");
-                        return;
-                    }
                 }
-                break;
-            case R.id.tv_confirm:
+                if (!cb_user_agreement.isChecked()) {
+                    SingleToast.showToast(ForgetPwdActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��");
+                    return;
+                }
+                Matcher m = IsEmail.isEmailAddress().matcher(email);
+                if (m.matches()) {
+                    getVerficationCode(email);
+                } else {
+                    SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒");
+                    return;
+                }
+            }
+
+            break;
+            case R.id.tv_confirm: {
                 String str = et_email.getText().toString();
                 if (StringUtils.isEmpty(str)) {
                     SingleToast.showToast(ForgetPwdActivity.this, "璇峰厛杈撳叆閭鍙�");
                     return;
-                } else {
-                    Matcher m = IsEmail.isEmailAddress().matcher(str);
-                    if (!m.matches()) {
-                        SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒");
-                        return;
-                    }
                 }
+
+                if (!cb_user_agreement.isChecked()) {
+                    SingleToast.showToast(ForgetPwdActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��");
+                    return;
+                }
+
+                Matcher m = IsEmail.isEmailAddress().matcher(str);
+                if (!m.matches()) {
+                    SingleToast.showToast(ForgetPwdActivity.this, "杈撳叆鐨勯偖绠辫处鍙锋湁璇紝璇锋煡璇侊紒");
+                    return;
+                }
+
                 if (StringUtils.isEmpty(et_pwd.getText().toString())) {
                     SingleToast.showToast(ForgetPwdActivity.this, "瀵嗙爜涓嶈兘涓虹┖锛�");
                     return;
@@ -99,7 +119,8 @@
                     return;
                 }
                 revisePwd();
-                break;
+            }
+            break;
             case R.id.tv_back:
                 finish();
                 break;
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java
index 9fc7bae..ba0c2eb 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/PhoneLoginActivity.java
@@ -105,6 +105,15 @@
         if (!login) {
             openOneKeyLogin(false);
         }
+
+        findViewById(R.id.tv_user_agreement_text).setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                cb_user_agreement.setChecked(!cb_user_agreement.isChecked());
+            }
+        });
+
+
     }
 
 
@@ -231,6 +240,11 @@
                     SingleToast.showToast(this, "璇疯緭鍏ユ纭殑鎵嬫満鍙�");
                     break;
                 }
+                if (!cb_user_agreement.isChecked()) {
+                    SingleToast.showToast(this, "璇峰悓鎰忕敤鎴蜂娇鐢ㄥ崗璁笌闅愮鏀跨瓥");
+                    break;
+                }
+
                 tv_obtain_verfication_code.setEnabled(false);
                 if (login) {
                     sendLoginVerifyCode(phone);
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java
index c1a3155..ae45c14 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/login/RegisterActivity.java
@@ -70,6 +70,12 @@
         findViewById(R.id.tv_back).setOnClickListener(this);
         findViewById(R.id.tv_user_agreement).setOnClickListener(this);
         findViewById(R.id.tv_privacy_policy).setOnClickListener(this);
+        findViewById(R.id.tv_user_agreement_click).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                cb_user_agreement.setChecked(!cb_user_agreement.isChecked());
+            }
+        });
     }
 
     @Override
@@ -100,6 +106,11 @@
                     break;
                 }
 
+                if (!cb_user_agreement.isChecked()) {
+                    SingleToast.showToast(RegisterActivity.this, "璇峰悓鎰忋�婄敤鎴蜂娇鐢ㄥ崗璁�嬩笌銆婇殣绉佹斂绛栥��");
+                    break;
+                }
+
                 Matcher m = IsEmail.isEmailAddress().matcher(email);
                 if (m.matches()) {
                     tv_obtain_verfication_code.setEnabled(false);
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
index 8fb2e8b..4ea5d14 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
@@ -370,6 +370,9 @@
         //闅愯棌鍜ㄨ涓庡皬璇�
         mAQuery.id(R.id.rb_nav_discover).visibility(View.GONE);
         mAQuery.id(R.id.rb_nav_novel).visibility(View.GONE);
+        if(AndroidManifestUtil.isOppoChannel(getApplicationContext())){
+            mAQuery.id(R.id.rb_nav_short_tv).visibility(View.GONE);
+        }
     }
 
     private void setSearchBarVisibility() {
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
index 7e36d35..628c991 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
@@ -510,7 +510,7 @@
         if ("vivo".equalsIgnoreCase(AndroidManifestUtil.getChannel(getContext()))) {
             return;
         }
-        if( AndroidManifestUtil.isHuaWeiChannel(getContext())){
+        if (AndroidManifestUtil.isHuaWeiChannel(getContext())) {
             return;
         }
 
@@ -520,10 +520,10 @@
         }
 
         AdUtil.AD_TYPE adType = AdUtil.AD_TYPE.gdt2;
-        if(AndroidManifestUtil.isOppoChannel(getContext())){
+        if (AndroidManifestUtil.isOppoChannel(getContext())) {
             adType = null;
         }
-        new ExpressAdManager(adType , getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
+        new ExpressAdManager(adType, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
             @Override
             public void onSuccess(List<ExpressAdContainer> adList) {
                 if (adList != null && adList.size() > 0) {
@@ -532,7 +532,7 @@
                     if (getActivity() == null)
                         return;
 
-                    ExpressAdManager.renderAd(getActivity(), adList.get(0), new ExpressAdManager.IAdRenderListener() {
+                    ExpressAdManager.renderAd(getActivity(), adList.get(0), ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, new ExpressAdManager.IAdRenderListener() {
                         @Override
                         public void onRenderSuccess(List<ExpressAdContainer> adList) {
                             ExpressAdManager.fillAd(adList.get(0), fl_native_ad1);
@@ -551,11 +551,12 @@
 
                 } else {
                     //鍔犺浇绌垮北鐢�
-                    new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(getContext())? AdUtil.AD_TYPE.hw :AdUtil.AD_TYPE.csj, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
+                    ExpressAdManager expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(getContext()) ? AdUtil.AD_TYPE.hw : AdUtil.AD_TYPE.csj, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, getContext());
+                    expressAdManager.loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
                         @Override
                         public void onSuccess(List<ExpressAdContainer> adList) {
                             if (adList != null && adList.size() > 0) {
-                                ExpressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() {
+                                expressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad1, ExpressAdManager.POSITION_VIDEO_DETAIL_PLAYER_BOTTOM, new ExpressAdManager.IAdEventListener() {
                                     @Override
                                     public void closeAd(ExpressAdContainer ad) {
                                         fl_native_ad1.removeAllViews();
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
index 9913f6b..af2b661 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
@@ -567,9 +567,14 @@
             }
 
         } else if (playUrl.getResource().getName().contains("椋庤")) {
+            boolean canPlayNative = true;
+            if(!AndroidManifestUtil.isHonorChannel(getApplicationContext())){
+                canPlayNative = false;
+            }
+
             if(playUrl.getPlayType() == 2){
-                // 涓嶆槸vivo涓婄嚎
-                if(!AndroidManifestUtil.isVIVOChannel(getApplicationContext())){
+                // 涓嶆槸涓婄嚎
+                if(!canPlayNative){
                     playUrl.setPlayType(1);
                 }
             }
@@ -584,7 +589,7 @@
                 startActivity(intent);
                 saveWatchHistory("椋庤");
                 initPlayer();
-            } else if (playUrl.getPlayType() == 2 && AndroidManifestUtil.isVIVOChannel(getApplicationContext())) {//SDK鎾斁
+            } else if (playUrl.getPlayType() == 2 &&canPlayNative) {//SDK鎾斁
                 //鎾斁椋庤瑙嗛
                 //娣诲姞椋庤鎾斁椤�
 //                mFunshionPlayerFragment = new FunshionPlayerFragment();
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java
index 0989343..d592971 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java
@@ -456,52 +456,6 @@
         }
     }
 
-    /**
-     * 骞跨偣閫氬師鐢熷箍鍛�
-     */
-    // 鍔犺浇鎾斁椤电浜屾潯骞垮憡
-    private void loadAD2() {
-        new ExpressAdManager(AdUtil.AD_TYPE.gdt2, getContext()).loadVideoDetailRelativeVideoBottomAd(new ExpressAdManager.IAdLoadListener() {
-            @Override
-            public void onSuccess(List<ExpressAdContainer> adList) {
-                if (adList != null && adList.size() > 0) {
-                    ExpressAdManager.renderAd(getActivity(), adList.get(0), new ExpressAdManager.IAdRenderListener() {
-                        @Override
-                        public void onRenderSuccess(List<ExpressAdContainer> adList) {
-                            ExpressAdManager.fillAd(adList.get(0), fl_native_ad_1);
-                        }
-
-                        @Override
-                        public void onRenderFail(List<ExpressAdContainer> adList) {
-
-                        }
-                    }, new ExpressAdManager.IAdEventListener() {
-
-                        @Override
-                        public void closeAd(ExpressAdContainer ad) {
-                            fl_native_ad_1.removeAllViews();
-                        }
-                    });
-                } else {
-                    new ExpressAdManager(AdUtil.AD_TYPE.csj, getContext()).loadVideoDetailRelativeVideoBottomAd(new ExpressAdManager.IAdLoadListener() {
-                        @Override
-                        public void onSuccess(List<ExpressAdContainer> adList) {
-                            if (adList != null && adList.size() > 0) {
-                                ExpressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad_1, new ExpressAdManager.IAdEventListener() {
-                                    @Override
-                                    public void closeAd(ExpressAdContainer ad) {
-                                        fl_native_ad_1.removeAllViews();
-                                    }
-                                });
-                            }
-                        }
-                    });
-                }
-
-            }
-        });
-    }
-
     @Override
     public void onDestroy() {
         if (rv_video_related_video != null && adRunnable != null)
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java
index ccde355..681a65f 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendFragment.java
@@ -415,13 +415,13 @@
         try {
 
 //            ExpressAdManager recommendAdManager = new ExpressAdManager(AdUtil.AD_TYPE.hw, context);
-            ExpressAdManager recommendAdManager = new ExpressAdManager(adType, context);
+            ExpressAdManager recommendAdManager = new ExpressAdManager(adType,ExpressAdManager.POSITION_RECOMMEND, context);
             recommendAdManager.loadRecommendLargeAd(new ExpressAdManager.IAdLoadListener() {
                 @Override
                 public void onSuccess(final List<ExpressAdContainer> adList) {
                     RecommendFragment.this.adList = new ArrayList<>();
                     for (ExpressAdContainer ad : adList) {
-                        ExpressAdManager.renderAd(getActivity(), ad, new ExpressAdManager.IAdRenderListener() {
+                        ExpressAdManager.renderAd(getActivity(), ad, ExpressAdManager.POSITION_RECOMMEND, new ExpressAdManager.IAdRenderListener() {
                             @Override
                             public void onRenderSuccess(List<ExpressAdContainer> adList1) {
                                 RecommendFragment.this.adList.add(adList1.get(0));
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java
index e9848af..da66dc9 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java
@@ -465,11 +465,12 @@
             @Override
             public void run() {
                 int width = fl_advertisement.getWidth() - fl_advertisement.getPaddingLeft() - fl_advertisement.getPaddingRight();
-                new ExpressAdManager(adType, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() {
+                ExpressAdManager adManager =  new ExpressAdManager(adType,ExpressAdManager.POSITION_SEARCH, getApplicationContext());
+                adManager.loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() {
                     @Override
                     public void onSuccess(List<ExpressAdContainer> adList) {
                         if (adList != null && adList.size() > 0) {
-                            ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, new ExpressAdManager.IAdEventListener() {
+                            adManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, ExpressAdManager.POSITION_SEARCH, new ExpressAdManager.IAdEventListener() {
                                 @Override
                                 public void closeAd(ExpressAdContainer ad) {
                                     fl_advertisement.removeAllViews();
@@ -485,11 +486,11 @@
 //                            if (AndroidManifestUtil.isHuaWeiChannel(getApplicationContext()))
 //                                newAdType = AdUtil.AD_TYPE.hw;
 
-                            new ExpressAdManager(newAdType, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() {
+                            new ExpressAdManager(newAdType,ExpressAdManager.POSITION_SEARCH, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() {
                                 @Override
                                 public void onSuccess(List<ExpressAdContainer> adList) {
                                     if (adList != null && adList.size() > 0) {
-                                        ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement, new ExpressAdManager.IAdEventListener() {
+                                        ExpressAdManager.renderAndFillAd(SearchActivity.this, adList.get(0), fl_advertisement,ExpressAdManager.POSITION_SEARCH, new ExpressAdManager.IAdEventListener() {
                                             @Override
                                             public void closeAd(ExpressAdContainer ad) {
                                                 fl_advertisement.removeAllViews();
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java
index ee2bfb3..8c743b8 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java
@@ -100,7 +100,7 @@
             final ExpressAdContainer ad = videoContent.getAd();
             viewHolder.fl_ad.removeAllViews();
             //娓叉煋
-            ExpressAdManager.renderAndFillAd(mContext, ad, viewHolder.fl_ad, new ExpressAdManager.IAdEventListener() {
+            ExpressAdManager.renderAndFillAd(mContext, ad, viewHolder.fl_ad, ExpressAdManager.POSITION_RECOMMEND, new ExpressAdManager.IAdEventListener() {
                 @Override
                 public void closeAd(ExpressAdContainer ad) {
                     contentList.remove(videoContent);
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java
index d18af86..59c97ef 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerBrowserActivity.java
@@ -53,6 +53,7 @@
 import com.weikou.beibeivideo.util.ui.TopStatusSettings;
 import com.yeshi.video.player.util.PlayerFullScreenUtil;
 
+import java.net.URI;
 import java.util.Set;
 
 public class VideoPlayerBrowserActivity extends BaseActivity implements OnClickListener {
@@ -186,6 +187,7 @@
                     prefixSet.add("iqiyi://");
                     prefixSet.add("youku://");
                     prefixSet.add("imgotv://");
+                    prefixSet.add("txvideo://");
 
                     for (String prefix : prefixSet) {
                         if (url.startsWith(prefix)) {
@@ -199,6 +201,33 @@
                     }
                     return true;
                 }
+                else if (url.contains("/a.app.qq.com/")&&url.contains("com.qiyi.video")) {
+                    Uri uri =   Uri.parse(url);
+                    if(uri!=null) {
+                        String packageName = uri.getQueryParameter("pkgname");
+                        if(packageName==null){
+                            return false;
+                        }
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                Toast.makeText(VideoPlayerBrowserActivity.this, "姝e湪鎵撳紑搴旂敤甯傚満...", Toast.LENGTH_SHORT).show();
+                            }
+                        });
+
+                        try {
+                            // 浼樺厛灏濊瘯Google Play
+                            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));
+                        } catch (ActivityNotFoundException e) {
+                            // 濡傛灉Google Play涓嶅瓨鍦紝灏濊瘯鍏朵粬甯傚満
+                            try {
+                                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("amzn://apps/android?p=" + packageName)));
+                            } catch (ActivityNotFoundException e2) {
+                            }
+                        }
+                        return true;
+                    }
+                }
 
 
                 return super.shouldOverrideUrlLoading(view, request);
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
index 6622cca..f2d7b64 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
@@ -52,7 +52,7 @@
             AdUtil.AD_TYPE adType = AdUtil.getAdType(context, AdPositionEnum.exitApp);
             if (adType == AdUtil.AD_TYPE.gdt)
                 adType = AdUtil.AD_TYPE.gdt2;
-            expressAdManager = new ExpressAdManager(adType, context);
+            expressAdManager = new ExpressAdManager(adType, ExpressAdManager.POSITION_EXIT, context);
         }
 
 
@@ -153,12 +153,12 @@
                 public void onSuccess(List<ExpressAdContainer> adList) {
                     if (adList != null && adList.size() > 0) {
 
-                        ExpressAdManager.renderAd(context, adList.get(0), new ExpressAdManager.IAdRenderListener() {
+                        ExpressAdManager.renderAd(context, adList.get(0),ExpressAdManager.POSITION_EXIT, new ExpressAdManager.IAdRenderListener() {
                             @Override
                             public void onRenderSuccess(List<ExpressAdContainer> adList) {
                                 expressAdContainer = adList.get(0);
                                 if (show) {
-                                    ExpressAdManager.renderAndFillAd(context, adList.get(0), fl_advertisement, new IAdEventListener() {
+                                    ExpressAdManager.renderAndFillAd(context, adList.get(0), fl_advertisement, ExpressAdManager.POSITION_EXIT, new IAdEventListener() {
                                         @Override
                                         public void closeAd(ExpressAdContainer ad) {
                                             fl_advertisement.removeAllViews();
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
index 3a59758..b41892a 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
@@ -39,12 +39,19 @@
 import com.weikou.beibeivideo.util.DimenUtils;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 淇℃伅娴佸箍鍛婄鐞�
  */
 public class ExpressAdManager {
+    public final static String POSITION_RECOMMEND = "recommend";
+    public final static String POSITION_SEARCH = "search";
+    public final static String POSITION_SEARCH_RESULT = "search_result";
+    public final static String POSITION_VIDEO_DETAIL_PLAYER_BOTTOM = "video_detail_player_bottom";
+    public final static String POSITION_EXIT = "exit";
 
 
     final static String TAG = "ExpressAdManager";
@@ -53,9 +60,10 @@
 
     private TTAdNative mTTAdNative;
     private Context mContext;
+    private static Set<String> closedAdPositions = new HashSet<>();// 鏄惁宸茬粡鍏抽棴骞垮憡
+    private String positionName;
 
-
-    public ExpressAdManager(AdUtil.AD_TYPE adSource, Context context) {
+    public ExpressAdManager(AdUtil.AD_TYPE adSource, String positionName, Context context) {
         sourceType = adSource;
         this.mContext = context;
         if (sourceType == AdUtil.AD_TYPE.csj) {
@@ -67,6 +75,7 @@
                 e.printStackTrace();
             }
         }
+        this.positionName = positionName;
     }
 
 
@@ -81,6 +90,10 @@
      * @param adLoadListener
      */
     public void loadAd(int widthDP, int heightDP, String pid, int count, final IAdLoadListener adLoadListener) {
+        if (closedAdPositions.contains(positionName)) {
+            // 骞垮憡宸茬粡鍏抽棴
+            return;
+        }
         if (sourceType == AdUtil.AD_TYPE.gdt || sourceType == AdUtil.AD_TYPE.gdt2) {
             loadGDT(pid, widthDP, heightDP, count, new IGDTAdLoadListener() {
                 @Override
@@ -159,7 +172,7 @@
      * @param adLoadListener
      */
     public void loadVideoDetailPlayerBottomAd(final IAdLoadListener adLoadListener) {
-        if(sourceType==null){
+        if (sourceType == null) {
             return;
         }
         Log.i(TAG, "loadVideoDetailPlayerBottomAd");
@@ -269,7 +282,7 @@
         int height = (int) (widthDP / 1.78f);
         if (sourceType == AdUtil.AD_TYPE.csj) {
             pid = CSJConstant.VIDEO_SEARCH;
-            height=0;
+            height = 0;
         } else if (sourceType == AdUtil.AD_TYPE.gdt2) {
             pid = BeibeiConstant.GDT_SEARCH_NATIVE;
         } else if (sourceType == AdUtil.AD_TYPE.hw) {
@@ -486,7 +499,7 @@
      * @param fl_ad
      * @param adEventListener
      */
-    public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, final IAdEventListener adEventListener) {
+    public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, String positionName, final IAdEventListener adEventListener) {
 
         if (ad == null) {//骞垮憡涓虹┖
             fl_ad.setVisibility(View.GONE);
@@ -521,6 +534,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
 
 
@@ -550,6 +564,7 @@
                             if (adEventListener != null) {
                                 adEventListener.closeAd(ad);
                             }
+                            closedAdPositions.add(positionName);
                         }
                     });
 
@@ -573,7 +588,7 @@
      * @param adRenderListener
      * @param adEventListener
      */
-    public static void renderAd(Activity activity, final ExpressAdContainer ad, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) {
+    public static void renderAd(Activity activity, final ExpressAdContainer ad, String positionName, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) {
 
         if (ad == null) {//骞垮憡涓虹┖
             return;
@@ -629,6 +644,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
 
 
@@ -650,6 +666,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
                 });
 
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java
index 4be5c22..9eb4aaa 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java
@@ -9,6 +9,7 @@
 import com.bytedance.sdk.openadsdk.TTAdManager;
 import com.bytedance.sdk.openadsdk.TTAdSdk;
 import com.bytedance.sdk.openadsdk.TTCustomController;
+import com.lcjian.library.util.common.AndroidManifestUtil;
 import com.lcjian.library.util.common.DeviceUtil;
 import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
@@ -81,6 +82,14 @@
                     public String getDevImei() {
                         return DeviceUtil.getImeiCache(context);
                     }
+
+                    @Override
+                    public boolean alist() {
+                        if(AndroidManifestUtil.isHonorChannel(context)){
+                            return false;
+                        }
+                        return super.alist();
+                    }
                 });
         //.httpStack(new MyOkStack3())//鑷畾涔夌綉缁滃簱锛宒emo涓粰鍑轰簡okhttp3鐗堟湰鐨勬牱渚嬶紝鍏朵綑璇疯嚜琛屽紑鍙戞垨鑰呭挩璇㈠伐浣滀汉鍛樸��
         //if (AdUtil.getAdType(context, AdPositionEnum.splashHotStart) != null) {
diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java
index 4900fe7..e6aec65 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/manager/SearchResultAdManager.java
@@ -24,7 +24,7 @@
         mContext = context;
         if (expressAdManager == null)
 //            expressAdManager = new ExpressAdManager(AdUtil.AD_TYPE.gdt2, mContext);
-            expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(context)? AdUtil.AD_TYPE.hw:AdUtil.AD_TYPE.gdt2, mContext);
+            expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(context)? AdUtil.AD_TYPE.hw:AdUtil.AD_TYPE.gdt2,ExpressAdManager.POSITION_SEARCH_RESULT, mContext);
     }
 
     public static SearchResultAdManager getInstance(Context context) {
@@ -47,7 +47,7 @@
 
                 if (adList != null)
                     for (ExpressAdContainer ad : adList)
-                        ExpressAdManager.renderAd(null, ad, new ExpressAdManager.IAdRenderListener() {
+                        ExpressAdManager.renderAd(null, ad, ExpressAdManager.POSITION_SEARCH_RESULT, new ExpressAdManager.IAdRenderListener() {
                             @Override
                             public void onRenderSuccess(List<ExpressAdContainer> adList) {
                                 if (adList != null)
diff --git a/build.gradle b/build.gradle
index 3ca261d..3748248 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,6 +12,11 @@
         maven {
             url "https://artifact.bytedance.com/repository/pangle/"
         }
+
+        maven {
+            url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_support/"
+        }
+
         maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" }
 
 
@@ -52,6 +57,10 @@
 
         maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" }
 
+        maven {
+            url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_support/"
+        }
+
 
         maven {
             url "https://maven.aliyun.com/repository/public"
diff --git a/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java b/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java
index b7e3ffb..2e649eb 100644
--- a/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java
+++ b/library-common/src/com/lcjian/library/util/common/AndroidManifestUtil.java
@@ -22,6 +22,10 @@
         return "huawei".equalsIgnoreCase(getChannel(context));
     }
 
+    public static boolean isHonorChannel(Context context) {
+        return "honor".equalsIgnoreCase(getChannel(context));
+    }
+
     public static boolean isOppoChannel(Context context) {
         return "oppo".equalsIgnoreCase(getChannel(context));
     }

--
Gitblit v1.8.0