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/BeibeiVideoApplication.java |  138 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 136 insertions(+), 2 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
index 7856b82..6590024 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -1,11 +1,15 @@
 package com.weikou.beibeivideo;
 
+import android.app.Activity;
+import android.app.ActivityManager;
 import android.app.Application;
 import android.content.BroadcastReceiver;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.support.multidex.MultiDex;
@@ -31,10 +35,19 @@
 import com.umeng.commonsdk.UMConfigure;
 import com.umeng.socialize.PlatformConfig;
 import com.umeng.socialize.UMShareAPI;
+import com.weikou.beibeivideo.entity.ad.AdPidInfo;
+import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
+import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo;
+import com.weikou.beibeivideo.ui.SplashActivity;
+import com.weikou.beibeivideo.ui.ad.SplashADFragment;
+import com.weikou.beibeivideo.ui.ad.SplashAdActivity;
 import com.weikou.beibeivideo.ui.push.PushOpenClickActivity;
 import com.weikou.beibeivideo.util.BeibeiConstant;
 import com.weikou.beibeivideo.util.CrashHandler;
 import com.weikou.beibeivideo.util.FunshionConstant;
+import com.weikou.beibeivideo.util.ad.AdUtil;
+import com.weikou.beibeivideo.util.ad.CSJConstant;
+import com.weikou.beibeivideo.util.ad.GDTConstant;
 import com.weikou.beibeivideo.util.ad.TTAdManagerHolder;
 import com.weikou.beibeivideo.util.downutil.StringUtils;
 import com.yeshi.push.PushUtil;
@@ -42,6 +55,8 @@
 import org.apache.http.Header;
 import org.json.JSONException;
 import org.json.JSONObject;
+
+import de.greenrobot.event.EventBus;
 
 
 public class BeibeiVideoApplication extends Application {
@@ -118,6 +133,7 @@
             crashHandler.init(getApplicationContext());
         }
 
+        this.registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
         application = this;
         MultiDex.install(this);
         //鍙嬬洘鍒濆鍖�
@@ -164,7 +180,7 @@
         }
         //鐧惧害鍐呭鑱旂洘
         try {
-            AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME);
+            AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_WHITE_THEME);
         } catch (Exception e) {
 
         }
@@ -178,7 +194,7 @@
                     public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
 
                     }
-                },true);
+                }, true);
             }
         });
 
@@ -268,4 +284,122 @@
     private void initCSJAd() {
         TTAdManagerHolder.init(this);
     }
+
+
+    class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
+        private int mFinalCount;
+
+        @Override
+        public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
+
+        }
+
+        @Override
+        public void onActivityStarted(Activity activity) {
+            mFinalCount++;
+            //濡傛灉mFinalCount ==1锛岃鏄庢槸浠庡悗鍙板埌鍓嶅彴
+            if (mFinalCount == 1) {
+                Log.e(TAG, "搴旂敤浠庡悗鍙板垏鎹㈠埌鍓嶅彴");
+                // 杩涘叆鍓嶅彴 鏀逛负鐑惎鍔�
+                //鍒ゆ柇褰撳墠activity
+                ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
+                ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
+                if (!cn.getClassName().equalsIgnoreCase(SplashActivity.class.getName())) {
+                    //灏忎簬30鍒嗛挓涓嶅睍绀�
+                    // 娴嬭瘯
+                    if (System.currentTimeMillis() - SplashADFragment.lastShowTime < 1000 * 60 * 30L)
+                        return;
+
+                    if (SplashADFragment.isAdLoaded()) {
+                        startActivity(new Intent(getApplicationContext(), SplashAdActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
+                        return;
+                    }
+
+                    AdUtil.AD_TYPE type1 = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.splashHotStart);
+                    String pid1 = AdUtil.getAdPid(getApplicationContext(), AdPositionEnum.splashHotStart);
+
+
+                    AdPidInfo adPidInfo1 = null;
+                    AdPidInfo adPidInfo2 = null;
+                    if (type1 != null) {
+                        String defaultPid = null;
+                        if (type1 == AdUtil.AD_TYPE.csj) {
+                            defaultPid = CSJConstant.SPLASH_AD_HOT;
+                        } else if (type1 == AdUtil.AD_TYPE.gdt) {
+                            defaultPid = GDTConstant.PID_SPLASH_HOT;
+                        }
+                        if (StringUtils.isNullOrEmpty(pid1)) {
+                            defaultPid = pid1;
+                        }
+                        adPidInfo1 = new AdPidInfo(type1, defaultPid);
+                        if (type1 == AdUtil.AD_TYPE.csj) {
+                            adPidInfo2 = new AdPidInfo(AdUtil.AD_TYPE.gdt, GDTConstant.PID_SPLASH_HOT);
+                        } else if (type1 == AdUtil.AD_TYPE.gdt) {
+                            adPidInfo2 = new AdPidInfo(AdUtil.AD_TYPE.csj, CSJConstant.SPLASH_AD_HOT);
+                        }
+                    }
+
+
+                    SplashADFragment.loadAd(getApplicationContext(), adPidInfo1, adPidInfo2, null, null, true, new SplashADFragment.AdLoadResultListener() {
+
+                        @Override
+                        public void onAdLoad(SplashAdLoadInfo adLoadInfo) {
+                            //灞曠ず骞垮憡
+                            try {
+                                startActivity(new Intent(getApplicationContext(), SplashAdActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
+                            } catch (SecurityException e) {
+
+                            } catch (Exception e) {
+
+                            }
+                        }
+
+                        @Override
+                        public void onNoAd() {
+
+                        }
+
+                        @Override
+                        public void onClose() {
+                            //骞跨偣閫氬箍鍛婇�傜敤
+                            //缁撴潫骞垮憡
+                            //閫氳繃eventbus閫氱煡椤甸潰鍏抽棴
+                            EventBus.getDefault().post(new SplashAdLoadInfo(null, 0));
+                        }
+                    });
+                }
+
+            }
+        }
+
+        @Override
+        public void onActivityResumed(Activity activity) {
+
+        }
+
+        @Override
+        public void onActivityPaused(Activity activity) {
+
+        }
+
+        @Override
+        public void onActivityStopped(Activity activity) {
+            mFinalCount--;
+            //濡傛灉mFinalCount ==0锛岃鏄庢槸鍓嶅彴鍒板悗鍙�
+            if (mFinalCount == 0) {
+                Log.e(TAG, "搴旂敤浠庡墠鍙板垏鎹㈠埌鍚庡彴");
+            }
+
+        }
+
+        @Override
+        public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
+
+        }
+
+        @Override
+        public void onActivityDestroyed(Activity activity) {
+
+        }
+    }
 }

--
Gitblit v1.8.0