From fd238846980b17d893d703ac8e56869bd3f23c89 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 30 十一月 2022 23:10:13 +0800
Subject: [PATCH] 哀悼模式

---
 BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 155 insertions(+), 6 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
index 6ee6aec..ff565a1 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -31,16 +31,20 @@
 import com.bytedance.novel.pangolin.data.ReaderFontType;
 import com.bytedance.sdk.dp.DPSdk;
 import com.bytedance.sdk.dp.DPSdkConfig;
+import com.bytedance.sdk.dp.IDPPrivacyController;
 import com.bytedance.sdk.openadsdk.TTAdSdk;
 import com.funshion.playsdk.register.IAuthCodeGetter;
 import com.kwad.sdk.api.KsAdSDK;
+import com.kwad.sdk.api.KsCustomController;
 import com.kwad.sdk.api.SdkConfig;
 import com.lcjian.library.util.ManifestDataUtil;
+import com.lcjian.library.util.common.DeviceUtil;
 import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
 import com.qq.e.comm.managers.GDTAdSdk;
+import com.qq.e.comm.managers.setting.GlobalSetting;
 import com.tencent.mm.opensdk.constants.ConstantsAPI;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
@@ -57,6 +61,7 @@
 import com.weikou.beibeivideo.ui.ad.SplashAdActivity;
 import com.weikou.beibeivideo.util.BeibeiConstant;
 import com.weikou.beibeivideo.util.CrashHandler;
+import com.weikou.beibeivideo.util.DebuggerUtils;
 import com.weikou.beibeivideo.util.UserUtil;
 import com.weikou.beibeivideo.util.ad.AdUtil;
 import com.weikou.beibeivideo.util.ad.CSJConstant;
@@ -69,6 +74,10 @@
 import org.apache.http.Header;
 import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
 
 import androidx.multidex.MultiDex;
 
@@ -92,6 +101,27 @@
     }
 
     private static boolean inited = false;
+
+    private static List<Activity> mActivitys = Collections.synchronizedList(new LinkedList<Activity>());
+
+    public static void pushActivity(Activity activity) {
+        mActivitys.add(activity);
+    }
+
+    public static void popActivity(Activity activity) {
+        mActivitys.remove(activity);
+    }
+
+    public static void finishAllActivity() {
+        if (mActivitys == null) {
+            return;
+        }
+        for (Activity activity : mActivitys) {
+            activity.finish();
+        }
+        mActivitys.clear();
+    }
+
 
     //鍏煎4.4浠ヤ笅鐗堟湰
     protected void attachBaseContext(Context newBase) {
@@ -154,6 +184,7 @@
             CrashHandler crashHandler = CrashHandler.getInstance();
             crashHandler.init(getApplicationContext());
         }
+
         application = this;
         instance = this;
         MultiDex.install(this);
@@ -176,12 +207,14 @@
     public static void init(final Application application, InitListener initListener) {
         Log.i(TAG, "绯荤粺鍒濆鍖�");
         inited = true;
+        registerActivityListener(application);
+        //闃叉鍔ㄦ�佷唬鐮佹敞鍏�
+        DebuggerUtils.checkDebuggableInNotDebugModel(application);
         try {
-            TelephonyManager manager = (TelephonyManager) application.getSystemService(TELEPHONY_SERVICE);
             Build bd = new Build();
             String model = bd.MODEL;
             BeibeiVideoApplication.deviceName = model;
-            BeibeiVideoApplication.deviceNumber = manager.getDeviceId();
+            BeibeiVideoApplication.deviceNumber = DeviceUtil.getImeiCache(application);
         } catch (Exception e) {
         }
 
@@ -198,9 +231,12 @@
         String description = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL");
         try {
             UMConfigure.setLogEnabled(false);
+            UMConfigure.submitPolicyGrantResult(application, false);
             UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null);
             // 閫夌敤AUTO椤甸潰閲囬泦妯″紡
             MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
+
+            UMConfigure.submitPolicyGrantResult(application, false);
         } catch (Throwable e) {
 
         }
@@ -214,6 +250,7 @@
         initCSJAd(application, initListener);
         initKSSDK(application);
         try {
+            GlobalSetting.setEnableCollectAppInstallStatus(false);
             GDTAdSdk.init(application, BeibeiConstant.GDT_ID);
         } catch (Exception e) {
             e.printStackTrace();
@@ -293,9 +330,6 @@
         };
         //x5鍐呮牳鍒濆鍖栨帴鍙�
         QbSdk.initX5Environment(application, cb);
-        QbSdk.canGetDeviceId(false);
-        QbSdk.canGetAndroidId(false);
-        QbSdk.canGetSubscriberId(false);
     }
 
 
@@ -328,7 +362,43 @@
                 .appId("801000001") // 娴嬭瘯aapId锛岃鑱旂郴蹇伎骞冲彴鐢宠姝e紡AppId锛屽繀濉�
                 .appName(appContext.getString(R.string.app_name)) // 娴嬭瘯appName锛岃濉啓鎮ㄥ簲饨ょ殑鍚嶇О锛屸井蹇呭~
                 .showNotification(true) // 鏄惁灞曠ず涓嬭浇閫氱煡鏍�
-                .debug(true) // 鏄惁寮�鍚痵dk 璋冭瘯饨囧織 鍙��
+                .debug(false)
+                .customController(new KsCustomController() {
+                    @Override
+                    public boolean canReadLocation() {
+                        return false;
+                    }
+
+                    @Override
+                    public boolean canUsePhoneState() {
+                        return false;
+                    }
+
+                    @Override
+                    public boolean canUseOaid() {
+                        return false;
+                    }
+
+                    @Override
+                    public String getImei() {
+                        return DeviceUtil.getImeiCache(appContext);
+                    }
+
+                    @Override
+                    public boolean canUseMacAddress() {
+                        return false;
+                    }
+
+                    @Override
+                    public boolean canReadInstalledPackages() {
+                        return false;
+                    }
+
+                    @Override
+                    public List<String> getInstalledPackages() {
+                        return DeviceUtil.getInstalledPackageNamesCache(appContext);
+                    }
+                })// 鏄惁寮�鍚痵dk 璋冭瘯饨囧織 鍙��
                 .build());
     }
 
@@ -377,6 +447,32 @@
             DPSdkConfig.Builder configBuilder = new DPSdkConfig.Builder()
                     .debug(false)
                     .needInitAppLog(false)
+                    .privacyController(new IDPPrivacyController() {
+                        @Override
+                        public boolean isCanUsePhoneState() {
+                            return false;
+                        }
+
+                        @Override
+                        public String getImei() {
+                            return DeviceUtil.getImeiCache(application);
+                        }
+
+                        @Override
+                        public String getImsi() {
+                            return DeviceUtil.getImsiCache(application);
+                        }
+
+                        @Override
+                        public boolean isCanUseAndroidId() {
+                            return false;
+                        }
+
+                        @Override
+                        public String getAndroidId() {
+                            return super.getAndroidId();
+                        }
+                    })
                     .initListener(new DPSdkConfig.InitListener() {
                         @Override
                         public void onInitComplete(boolean b, String s) {
@@ -524,4 +620,57 @@
         public void onFinish();
 
     }
+
+    private static void registerActivityListener(Application application) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
+            application.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
+                @Override
+                public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
+                    /**
+                     *  鐩戝惉鍒� Activity鍒涘缓浜嬩欢 灏嗚 Activity 鍔犲叆list
+                     */
+                    pushActivity(activity);
+                }
+
+                @Override
+                public void onActivityStarted(Activity activity) {
+
+                }
+
+                @Override
+                public void onActivityResumed(Activity activity) {
+
+                }
+
+                @Override
+                public void onActivityPaused(Activity activity) {
+
+                }
+
+                @Override
+                public void onActivityStopped(Activity activity) {
+
+                }
+
+                @Override
+                public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
+
+                }
+
+                @Override
+                public void onActivityDestroyed(Activity activity) {
+                    if (null==mActivitys||mActivitys.isEmpty()) {
+                        return;
+                    }
+                    if (mActivitys.contains(activity)) {
+                        /**
+                         *  鐩戝惉鍒� Activity閿�姣佷簨浠� 灏嗚Activity 浠巐ist涓Щ闄�
+                         */
+                        popActivity(activity);
+                    }
+                }
+            });
+        }
+    }
+
 }

--
Gitblit v1.8.0