From 399ac289f80b7a40aa4210341db6b447cacdcf14 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 八月 2022 17:42:33 +0800
Subject: [PATCH] 广告升级,隐私政策整改

---
 app/src/main/java/com/tejia/lijin/app/ShoppingApplication.java |  171 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 141 insertions(+), 30 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ShoppingApplication.java b/app/src/main/java/com/tejia/lijin/app/ShoppingApplication.java
index 64274c8..00fb9b3 100644
--- a/app/src/main/java/com/tejia/lijin/app/ShoppingApplication.java
+++ b/app/src/main/java/com/tejia/lijin/app/ShoppingApplication.java
@@ -1,35 +1,49 @@
 package com.tejia.lijin.app;
 
+import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.Application;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.Process;
 
 import androidx.multidex.MultiDex;
+import de.greenrobot.event.EventBus;
 
 import android.util.Log;
+import android.widget.Toast;
 
 import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
 import com.alibaba.baichuan.android.trade.callback.AlibcTradeInitCallback;
 import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
+import com.bytedance.sdk.openadsdk.LocationProvider;
 import com.bytedance.sdk.openadsdk.TTAdConfig;
 import com.bytedance.sdk.openadsdk.TTAdConstant;
 import com.bytedance.sdk.openadsdk.TTAdSdk;
+import com.bytedance.sdk.openadsdk.TTCustomController;
 import com.kepler.jd.Listener.AsyncInitListener;
 import com.kepler.jd.login.KeplerApiManager;
-import com.qq.e.comm.managers.GDTADManager;
+import com.qq.e.comm.managers.GDTAdSdk;
+import com.qq.e.comm.managers.setting.GlobalSetting;
+import com.tejia.lijin.app.ui.SplashActivity;
 import com.tejia.lijin.app.util.Constant;
+import com.tejia.lijin.app.util.ad.TTAdManagerHolder;
+import com.tejia.lijin.app.util.ui.GoodsDetailUtil;
+import com.tejia.lijin.app.util.user.UserUtil;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.umeng.analytics.MobclickAgent;
 import com.umeng.commonsdk.UMConfigure;
+import com.wpc.library.util.ManifestDataUtil;
 import com.wpc.library.util.NetUtils;
 import com.tejia.lijin.app.service.NetworkStateService;
 import com.tejia.lijin.app.util.CrashHandler;
-import com.tejia.lijin.app.util.PushUtil;
 import com.tejia.lijin.app.util.TestUtil;
 import com.tejia.lijin.app.util.ToolUtil;
+import com.wpc.library.util.common.DeviceUtil;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
@@ -43,38 +57,53 @@
 
 public class ShoppingApplication extends Application {
 
+    private static final String TAG = "ShoppingApplication";
     public static ShoppingApplication application = null;
     public static boolean isJDInit = false;
+
+    public static boolean init = false;
 
 //    public Tencent mTencent;
 
     @Override
     public void onCreate() {
         super.onCreate();
+        Log.i(TAG, "onCreate");
+        application = this;
         disableAPIDialog();
         //娴嬭瘯娉ㄥ叆鐢ㄦ埛淇℃伅
         TestUtil.pourIntoUserInfo(getApplicationContext());
-        initAD();
+        if (UserUtil.isAgreeUserProtocol(application)) {
+            init(application);
+        }
+    }
+
+
+    public static void init(final Application application) {
+        init = true;
+        GoodsDetailUtil.initInstallTime(application);
+        initAD(application);
         //杩涚▼鍚嶅瓧
-        String processName = ToolUtil.getProcessName(this, android.os.Process.myPid());
+        String processName = ToolUtil.getProcessName(application, android.os.Process.myPid());
         if (processName != null) {//闃叉閲嶅鍒涘缓
-            boolean defaultProcess = processName.equals(getPackageName());//涓昏繘绋嬪悕瀛�
+            boolean defaultProcess = processName.equals(application.getPackageName());//涓昏繘绋嬪悕瀛�
             if (!defaultProcess) {//涓嶆槸涓昏繘绋� 闃绘寰�涓嬫墽琛�
                 return;
             }
         }
 
-        MultiDex.install(this);
+        MultiDex.install(application);
         if (BuXinConstant.DEBUG) {//寮傚父淇℃伅鏀堕泦
-            CrashHandler.getInstance().init(getApplicationContext());
+            CrashHandler.getInstance().init(application);
         }
 
-        UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, null);
-
-        application = this;
+        String channel = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL");
+        UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), channel, UMConfigure.DEVICE_TYPE_PHONE, null);
+        UMConfigure.setEncryptEnabled(true);
+        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
 
         if (!AlibcTradeSDK.initState.isInitialized() && !AlibcTradeSDK.initState.isInitializing())
-            AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {
+            AlibcTradeSDK.asyncInit(application, new AlibcTradeInitCallback() {
                 @Override
                 public void onSuccess() {
 //                AlibcTradeSDK.setTaokeParams(new AlibcTaokeParams(BuXinConstant.BAICHUAN_PID, "", null));
@@ -96,18 +125,30 @@
                 }
             });
 
-        PushUtil.inintPush(this);
         ToolUtil.thirdPartySDK();//鍒濆鍖栫涓夋柟SDK
-        if (NetUtils.isNetConnected(getApplicationContext())) {
-            initJd(this);
+        initWX();
+        if (NetUtils.isNetConnected(application)) {
+            initJd(application);
         } else {
             try {
-                startService(new Intent(getApplicationContext(), NetworkStateService.class));
+                application.startService(new Intent(application, NetworkStateService.class));
             } catch (Exception e) {
 
             }
         }
 
+        application.registerActivityLifecycleCallbacks(MyActivityLifecycleCallbacks.getInstance());
+
+    }
+
+    /**
+     * 鍒濆鍖栧井淇DK
+     */
+    private static void initWX() {
+        //AppConst.WEIXIN.APP_ID鏄寚浣犲簲鐢ㄥ湪寰俊寮�鏀惧钩鍙颁笂鐨凙ppID锛岃寰楁浛鎹€��
+        ShoppingApplication.application.mWxApi = WXAPIFactory.createWXAPI(ShoppingApplication.application, Constant.WX_APP_ID, false);
+        // 灏嗚app娉ㄥ唽鍒板井淇�
+        ShoppingApplication.application.mWxApi.registerApp(Constant.WX_APP_ID);
     }
 
     /**
@@ -140,10 +181,12 @@
         KeplerApiManager.asyncInitSdk(application, appKey, appSecret, new AsyncInitListener() {
             @Override
             public void onSuccess() {
+                Log.i(TAG, "浜笢鍒濆鍖栨垚鍔�");
             }
 
             @Override
             public void onFailure() {
+                Log.i(TAG, "浜笢鍒濆鍖栧け璐�");
             }
 
         });
@@ -166,24 +209,92 @@
     /**
      * 绌垮北鐢插箍鍛婂垵濮嬪寲
      */
-    private void initAD() {
-        GDTADManager.getInstance().initWith(this, Constant.GDT_APP_ID);
+    private static void initAD(final Context context) {
+        try {
+            GlobalSetting.setEnableCollectAppInstallStatus(false);
+            GDTAdSdk.init(application, Constant.GDT_APP_ID);
 
-        TTAdSdk.init(getApplicationContext(),
-                new TTAdConfig.Builder()
-                        .appId(Constant.CSJ_APP_ID)
-                        .useTextureView(true) //榛樿浣跨敤SurfaceView鎾斁瑙嗛骞垮憡,褰撴湁SurfaceView鍐茬獊鐨勫満鏅紝鍙互浣跨敤TextureView
-                        .appName("鐗逛环")
-                        .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)//钀藉湴椤典富棰�
-                        .allowShowNotify(true) //鏄惁鍏佽sdk灞曠ず閫氱煡鏍忔彁绀�
-                        .debug(true) //娴嬭瘯闃舵鎵撳紑锛屽彲浠ラ�氳繃鏃ュ織鎺掓煡闂锛屼笂绾挎椂鍘婚櫎璇ヨ皟鐢�
-                        .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //鍏佽鐩存帴涓嬭浇鐨勭綉缁滅姸鎬侀泦鍚�,娌℃湁璁剧疆鐨勭綉缁滀笅鐐瑰嚮涓嬭浇apk浼氭湁浜屾纭寮圭獥锛屽脊绐椾腑浼氭姭闇插簲鐢ㄤ俊鎭�
-                        .supportMultiProcess(false) //鏄惁鏀寔澶氳繘绋嬶紝true鏀寔
-                        .asyncInit(true) //鏄惁寮傛鍒濆鍖杝dk,璁剧疆涓簍rue鍙互鍑忓皯SDK鍒濆鍖栬�楁椂銆�3450鐗堟湰寮�濮嬪簾寮儈~
-                        //.httpStack(new MyOkStack3())//鑷畾涔夌綉缁滃簱锛宒emo涓粰鍑轰簡okhttp3鐗堟湰鐨勬牱渚嬶紝鍏朵綑璇疯嚜琛屽紑鍙戞垨鑰呭挩璇㈠伐浣滀汉鍛樸��
-                        .build());
+            TTAdManagerHolder.init(context, new TTAdSdk.InitCallback() {
+                @Override
+                public void success() {
+                   Log.i(TAG, "绌垮北鐢插垵濮嬪寲鎴愬姛");
+                }
+
+                @Override
+                public void fail(int i, String s) {
+                    Log.e(TAG, "绌垮北鐢插垵濮嬪寲澶辫触锛�"+s);
+                }
+            });
+        } catch (Exception e) {
+
+        }
     }
 
     public IWXAPI mWxApi;
 
+
+    static class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
+        private int mFinalCount;
+        private static MyActivityLifecycleCallbacks instance;
+
+        public static MyActivityLifecycleCallbacks getInstance() {
+            if (instance == null) {
+                instance = new MyActivityLifecycleCallbacks();
+            }
+            return instance;
+        }
+
+        @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) activity.getSystemService(ACTIVITY_SERVICE);
+                ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
+                if (!cn.getClassName().equalsIgnoreCase(SplashActivity.class.getName())) {
+
+                }
+
+            }
+        }
+
+        @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