From cbb88109494ffc7916f6639c20ce05c0cec941a9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 07 四月 2021 15:07:45 +0800
Subject: [PATCH] 3.9.1bug修复

---
 BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java |  125 ++++++++++++++++-------------------------
 1 files changed, 49 insertions(+), 76 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
index be2fe3b..c712db1 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
@@ -3,19 +3,19 @@
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.FrameLayout;
-import android.widget.Toast;
 
 import com.lcjian.library.util.SystemCommon;
-import com.qq.e.ads.cfg.VideoOption;
-import com.qq.e.ads.nativ.ADSize;
-import com.qq.e.ads.nativ.NativeADDataRef;
 import com.qq.e.ads.nativ.NativeExpressAD;
-import com.qq.e.ads.nativ.NativeExpressADView;
-import com.qq.e.comm.util.AdError;
-import com.yeshi.buwanshequ.R;
+import com.weikou.beibeivideo.R;
+import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
+import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
+import com.weikou.beibeivideo.util.ad.AdUtil;
+import com.weikou.beibeivideo.util.ad.ExpressAdManager;
+import com.weikou.beibeivideo.util.ad.ExpressAdManager.IAdEventListener;
 
 import java.util.List;
 
@@ -34,15 +34,18 @@
         this.setCancelable(false);
     }
 
+
     public static class Builder {
         private Activity context;
         private String positiveButtonText;
         private String negativeButtonText;
         private OnClickListener positiveButtonClickListener;
         private OnClickListener negativeButtonClickListener;
+        ExpressAdManager expressAdManager;
 
         public Builder(Activity context) {
             this.context = context;
+            expressAdManager = new ExpressAdManager(AdUtil.getAdType(context, AdPositionEnum.exitApp), context);
         }
 
 
@@ -87,6 +90,8 @@
          */
         private FrameLayout fl_advertisement;
 
+        private ExpressAdContainer expressAdContainer;
+
         public ExitDialog create() {
             LayoutInflater inflater = (LayoutInflater) context
                     .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -94,7 +99,6 @@
             final ExitDialog dialog = new ExitDialog(context, R.style.Dialog);
             View layout = inflater.inflate(R.layout.item_exit, null);
             fl_advertisement = layout.findViewById(R.id.fl_advertisement);
-            nativeAd();
             dialog.addContentView(layout, new FrameLayout.LayoutParams(
                     FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
             // set the confirm button
@@ -119,90 +123,59 @@
             params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
             dialog.getWindow().setAttributes(params);
             dialog.setCanceledOnTouchOutside(false);
+            dialog.setOnDismissListener(new OnDismissListener() {
+                @Override
+                public void onDismiss(DialogInterface dialog) {
+                    fl_advertisement.removeAllViews();
+                }
+            });
             return dialog;
         }
-
-        NativeADDataRef adDataRef;
 
         private NativeExpressAD nativeExpressAD;
 
         // 1.鍔犺浇骞垮憡锛屽厛璁剧疆鍔犺浇涓婁笅鏂囩幆澧冨拰鏉′欢
-        private void nativeAd() {
-            fl_advertisement.removeAllViews();
-            nativeExpressAD = new NativeExpressAD(context, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
-                    BeibeiConstant.GDT_EXIT_DIALOG, new NativeExpressAD.NativeExpressADListener() {
+        private void loadAd(boolean show) {
+
+            expressAdManager.loadAppExitAd(new ExpressAdManager.IAdLoadListener() {
                 @Override
-                public void onADLoaded(final List<NativeExpressADView> list) {
-                    fl_advertisement.post(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (null != list && list.size() > 0) {
-                                NativeExpressADView adView = list.get(0);
-                                adView.render();
-                                FrameLayout parent = (FrameLayout) adView.getParent();
-                                if (parent != null) {
-                                    parent.removeAllViews();
+                public void onSuccess(List<ExpressAdContainer> adList) {
+                    if (adList != null && adList.size() > 0) {
+
+                        ExpressAdManager.renderAd(context, adList.get(0), new ExpressAdManager.IAdRenderListener() {
+                            @Override
+                            public void onRenderSuccess(List<ExpressAdContainer> adList) {
+                                expressAdContainer = adList.get(0);
+                                if (show) {
+                                    ExpressAdManager.bindCloseListener(context, expressAdContainer, new IAdEventListener() {
+                                        @Override
+                                        public void closeAd(ExpressAdContainer ad) {
+                                            fl_advertisement.removeAllViews();
+                                        }
+                                    });
+                                    ExpressAdManager.fillAd(expressAdContainer, fl_advertisement);
                                 }
-                                fl_advertisement.addView(adView);
                             }
-                        }
-                    });
+
+                            @Override
+                            public void onRenderFail(List<ExpressAdContainer> adList) {
+
+                            }
+                        }, null);
+
+                    }
 
                 }
+            });
 
-                @Override
-                public void onRenderFail(NativeExpressADView nativeExpressADView) {
+        }
 
-                }
-
-                @Override
-                public void onRenderSuccess(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onADExposure(NativeExpressADView nativeExpressADView) {
-                }
-
-                @Override
-                public void onADClicked(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onADClosed(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onADLeftApplication(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onADOpenOverlay(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onADCloseOverlay(NativeExpressADView nativeExpressADView) {
-
-                }
-
-                @Override
-                public void onNoAD(AdError adError) {
-                }
-            }); // 浼犲叆Activity
-            // 娉ㄦ剰锛氬鏋滄偍鍦ㄨ仈鐩熷钩鍙颁笂鏂板缓鍘熺敓妯℃澘骞垮憡浣嶆椂锛岄�夋嫨浜嗘敮鎸佽棰戯紝閭d箞鍙互杩涜涓�у寲璁剧疆锛堝彲閫夛級
-            nativeExpressAD.setVideoOption(new VideoOption.Builder()
-                    .setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI) // WIFI 鐜涓嬪彲浠ヨ嚜鍔ㄦ挱鏀捐棰�
-                    .setAutoPlayMuted(true) // 鑷姩鎾斁鏃朵负闈欓煶
-                    .build()); //
-            nativeExpressAD.loadAD(2);
+        public void showAd() {
+            loadAd(true);
         }
 
         public void refreshAd() {
-            nativeAd();
+            loadAd(false);
         }
 
     }

--
Gitblit v1.8.0