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 |  166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 2 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
index 48eb81d..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,14 +35,29 @@
 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;
 
 import org.apache.http.Header;
+import org.json.JSONException;
 import org.json.JSONObject;
+
+import de.greenrobot.event.EventBus;
+
 
 public class BeibeiVideoApplication extends Application {
 
@@ -114,6 +133,7 @@
             crashHandler.init(getApplicationContext());
         }
 
+        this.registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
         application = this;
         MultiDex.install(this);
         //鍙嬬洘鍒濆鍖�
@@ -160,11 +180,35 @@
         }
         //鐧惧害鍐呭鑱旂洘
         try {
-            AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME);
+            AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_WHITE_THEME);
         } catch (Exception e) {
 
         }
+        //鎺ㄩ��
+        PushUtil.inintPush(this, new PushUtil.ITokenListener() {
 
+            @Override
+            public void onToken(String romType, String regId) {
+                BeibeiVideoAPI.pushBindToken(application, romType, regId, new BasicTextHttpResponseHandler() {
+                    @Override
+                    public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
+
+                    }
+                }, true);
+            }
+        });
+
+        Intent intent = new Intent(this, PushOpenClickActivity.class);
+        intent.putExtra("activity", "test");
+        JSONObject params = new JSONObject();
+        try {
+            params.put("id", "123123");
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        intent.putExtra("params", params.toString());
+        String uriString = intent.toUri(Intent.URI_INTENT_SCHEME);
+        Log.i(TAG, uriString);
     }
 
 
@@ -191,7 +235,7 @@
 
             @Override
             public void onFailure(int code, String msg) {
-                Log.i(TAG,"鐧惧窛鍒濆鍖栧け璐ワ細"+code+"-"+msg);
+                Log.i(TAG, "鐧惧窛鍒濆鍖栧け璐ワ細" + code + "-" + msg);
             }
         });
 
@@ -240,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