From 8039a1b2fbfa3471b6f726d3e839d7867c81a84f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 10 十月 2020 18:51:24 +0800
Subject: [PATCH] 资讯与小说集成

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java |  331 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 233 insertions(+), 98 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
index 6d7e44e..1b2c74a 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
@@ -1,46 +1,56 @@
 package com.weikou.beibeivideo.ui;
 
 import android.Manifest;
+import android.app.AlertDialog;
+import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
+import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Build;
 import android.os.Bundle;
+import android.provider.Settings;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
 import android.telephony.TelephonyManager;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import com.bumptech.glide.Glide;
 import com.google.gson.Gson;
 import com.lcjian.library.util.common.StringUtils;
-import com.qq.e.ads.splash.SplashAD;
-import com.qq.e.ads.splash.SplashADListener;
-import com.qq.e.comm.util.AdError;
 import com.tencent.smtt.sdk.WebView;
 import com.umeng.analytics.MobclickAgent;
 import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
 import com.weikou.beibeivideo.BeibeiVideoAPI;
 import com.weikou.beibeivideo.BeibeiVideoApplication;
+import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.entity.ad.AdTypeVO;
 import com.weikou.beibeivideo.ui.main.MainActivity;
 import com.weikou.beibeivideo.util.BeibeiConstant;
-import com.weikou.beibeivideo.util.PermissionHintDialog;
-import com.weikou.beibeivideo.util.PermissionsActivity;
+import com.weikou.beibeivideo.util.GlideRoundTransform;
 import com.weikou.beibeivideo.util.PermissionsChecker;
 import com.weikou.beibeivideo.util.SDCardUtil;
-import com.yeshi.buwanshequ.R;
+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.SplashAdUtil;
 
 import org.apache.http.Header;
 import org.json.JSONObject;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 
 public class SplashActivity extends BaseActivity {
 
@@ -51,10 +61,13 @@
 
     private TextView ad_close_time;
 
+    private ImageView iv_logo;
+
+    private static String TAG = "SplashActivity";
+
     // 鎵�闇�鐨勫叏閮ㄦ潈闄�
     static final String[] PERMISSIONS = new String[]{
-            Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,
-            Manifest.permission.WRITE_EXTERNAL_STORAGE
+            Manifest.permission.READ_PHONE_STATE
     };
     private static final int REQUEST_CODE = 0; // 璇锋眰鐮�
     private PermissionsChecker mPermissionsChecker; // 鏉冮檺妫�娴嬪櫒
@@ -68,7 +81,6 @@
         }
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
         setContentView(R.layout.activity_splash);
-
 
         /*
          * 璁$畻鐘舵�佹爮楂樺害骞惰缃�
@@ -87,10 +99,12 @@
             findViewById(R.id.v_status_bar).setVisibility(View.GONE);
         }
 
-        vg_ad = (ViewGroup) findViewById(R.id.fl_splash_ad);
-        vg_input = (ViewGroup) findViewById(R.id.fl_input);
-        ad_close_time = (TextView) findViewById(R.id.ad_close_time);
+        vg_ad = findViewById(R.id.fl_splash_ad);
+        vg_input = findViewById(R.id.fl_input);
+        ad_close_time = findViewById(R.id.ad_close_time);
+        iv_logo = findViewById(R.id.iv_logo);
 
+        Glide.with(getApplicationContext()).load(R.drawable.ic_launcher).transform(new GlideRoundTransform(getApplicationContext(), 5)).into(iv_logo);
 
         SharedPreferences preferences = getSharedPreferences("link_page",
                 Context.MODE_PRIVATE);
@@ -109,6 +123,14 @@
         SDCardUtil.initStorage(this);
         //鍒濆鍖栦竴娆anner锛屽惁鍒欏悗闈anner浣跨敤鏃朵細鍑虹幇鍗¢】
 //        new BannerView(SplashActivity.this, ADSize.BANNER, BeibeiConstant.GDT_ID, BeibeiConstant.GDT_PLAYER_DETAIL);
+
+        vg_ad.post(new Runnable() {
+            @Override
+            public void run() {
+                myRequetPermission();
+            }
+        });
+
     }
 
 
@@ -116,92 +138,7 @@
     public void onResume() {
         super.onResume();
         MobclickAgent.onPageStart("娆㈣繋椤�");
-        if (mPermissionsChecker.lacksPermissions(PERMISSIONS)) {
-//            PermissionHintDialog.Builder builder = new PermissionHintDialog.Builder(this);
-//            builder.setMessage("涓轰繚闅滄甯镐娇鐢ㄧ浉鍏冲姛鑳斤紝璇峰厑璁稿奖瑙嗗ぇ鍏ㄨ幏鍙栫浉鍏冲熀纭�鏉冮檺").setPositiveButton("鎴戠煡閬撳暒", new DialogInterface.OnClickListener() {
-//                @Override
-//                public void onClick(DialogInterface dialogInterface, int i) {
-                    startPermissionsActivity();
-//                    dialogInterface.dismiss();
-//                }
-//            }).create().show();
-        } else {
-            getUid();
-            new WebView(this);
-            vg_ad.postDelayed(new Runnable() {
-
-                @Override
-                public void run() {
-                    if (!BeibeiConstant.AD_SETTING_KAIPIN)
-                        toMainActivity();
-
-                    new SplashAD(SplashActivity.this, vg_input, BeibeiConstant.GDT_SPLASH_POSITION_ID_HUAWEI2, new SplashADListener() {
-                        @Override
-                        public void onADDismissed() {
-                            runOnUiThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    toMainActivity();
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onNoAD(AdError adError) {
-                            final String msg=adError.getErrorMsg();
-                            runOnUiThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    toMainActivity();
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onADPresent() {
-                            runOnUiThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    vg_input.setVisibility(View.VISIBLE);
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onADClicked() {
-                            System.out.println("");
-                        }
-
-                        @Override
-                        public void onADTick(final long l) {
-                            runOnUiThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    ad_close_time.setText(l / 1000 + "");
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onADExposure() {
-                            System.out.println("");
-                        }
-
-                        @Override
-                        public void onADLoaded(long l) {
-                            System.out.println("");
-                        }
-                    }, 0).fetchAndShowIn(vg_ad);
-
-                }
-            }, 1000);
-        }
     }
-
-    private void startPermissionsActivity() {
-        PermissionsActivity.startActivityForResult(this, REQUEST_CODE, PERMISSIONS);
-    }
-
 
     private void getUid() {
         final SharedPreferences preferences = getSharedPreferences("user",
@@ -301,10 +238,17 @@
                                 BeibeiConstant.GDT_DISCOVER_NATIVE = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
                                 BeibeiConstant.GDT_GUESS_LIKE_NATIVE = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
                                 BeibeiConstant.GDT_RECOMMEND_CATEGORY_NATIVE = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
-                                BeibeiConstant.GDT_EXIT_DIALOG = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
                                 BeibeiConstant.GDT_SEARCH_RESULT_MIN_NATIVE = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
                                 BeibeiConstant.GDT_PLAYER_DETAIL = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
                                 BeibeiConstant.GDT_CATEGORY_BANNER = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_HOME_RECOMMEND_BIG_IMG = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_2_VIDEO_DETAIL_PLAY_EXPRESS1 = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_2_VIDEO_DETAIL_PLAY_EXPRESS2 = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN3 = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN2 = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+                                GDTConstant.PID_HOME_RECOMMEND_BIG_IMG = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
+
+                                CSJConstant.RECOMMEND_BIG_IMG_AD = CSJConstant.INVALID_AD;
                             }
 
                             //鑾峰彇骞垮憡
@@ -431,5 +375,196 @@
             finish();
         }
     }
+
+    /**
+     * 鍔犺浇寮�灞忓箍鍛�
+     *
+     * @param adType
+     */
+    private void loadSplashAd(final AdUtil.AD_TYPE adType) {
+        SplashAdUtil.loadAD(adType, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
+            @Override
+            public void close() {
+                runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        toMainActivity();
+                    }
+                });
+            }
+
+            @Override
+            public void noAd() {//鍒濇鍔犺浇鏈姞杞藉嚭骞垮憡
+                if (AdUtil.AD_TYPE.csj == adType) {
+                    //鍐嶆鍔犺浇骞跨偣閫氬箍鍛�
+                    SplashAdUtil.loadAD(AdUtil.AD_TYPE.gdt, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
+                        @Override
+                        public void close() {
+                            runOnUiThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    toMainActivity();
+                                }
+                            });
+                        }
+
+                        @Override
+                        public void noAd() {
+                            runOnUiThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    toMainActivity();
+                                }
+                            });
+                        }
+                    });
+
+                } else if (AdUtil.AD_TYPE.gdt == adType) {
+                    //鍐嶆鍔犺浇绌垮北鐢插箍鍛�
+                    //鍐嶆鍔犺浇骞跨偣閫氬箍鍛�
+                    SplashAdUtil.loadAD(AdUtil.AD_TYPE.csj, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
+                        @Override
+                        public void close() {
+                            runOnUiThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    toMainActivity();
+                                }
+                            });
+                        }
+
+                        @Override
+                        public void noAd() {
+                            runOnUiThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    toMainActivity();
+                                }
+                            });
+                        }
+                    });
+
+                } else {
+                    runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            toMainActivity();
+                        }
+                    });
+                }
+            }
+        });
+    }
+
+    private void myRequetPermission() {
+        if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PERMISSION_GRANTED) {
+            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE);
+        } else {
+            //鐧惧害鍐呭鑱旂洘
+//            MobadsPermissionSettings.setPermissionReadDeviceID(true);
+            getUid();
+            new WebView(this);
+            vg_ad.postDelayed(new Runnable() {
+
+                @Override
+                public void run() {
+                    if (!BeibeiConstant.AD_SETTING_KAIPIN)
+                        toMainActivity();
+                    BeibeiVideoAPI.getConfig(getApplicationContext(), new BasicTextHttpResponseHandler() {
+
+                        @Override
+                        public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
+                            if (jsonObject != null) {
+                                if (jsonObject.getBoolean("IsPost")) {
+                                    JSONObject data = jsonObject.getJSONObject("Data");
+                                    JSONObject ad = data.optJSONObject("ad");
+                                    AdUtil.saveAdConfig(getApplicationContext(), ad);
+                                    AdUtil.AD_TYPE splash = AdUtil.getAdType(getApplicationContext(), AdUtil.POSITION_SPLASH);
+                                    loadSplashAd(splash);
+                                }
+                            } else {
+                                loadSplashAd(AdUtil.AD_TYPE.gdt);
+                            }
+                        }
+
+                        @Override
+                        public void onSuccess(int statusCode, Header[] headers, String responseString) {
+                            super.onSuccess(statusCode, headers, responseString);
+                        }
+
+                        @Override
+                        public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
+                            super.onFailure(statusCode, headers, responseString, throwable);
+                            loadSplashAd(AdUtil.AD_TYPE.gdt);
+                        }
+                    });
+
+
+                }
+            }, 1000);
+        }
+    }
+
+    Dialog mDialog;
+    AlertDialog alertDialog;
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == REQUEST_CODE) {
+            for (int i = 0; i < permissions.length; i++) {
+                if (grantResults[i] == PERMISSION_GRANTED) {//閫夋嫨浜嗏�滃缁堝厑璁糕��
+                    myRequetPermission();
+                } else {
+                    if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) {//鐢ㄦ埛閫夋嫨浜嗙姝笉鍐嶈闂�
+                        AlertDialog.Builder builder = new AlertDialog.Builder(SplashActivity.this);
+                        builder.setTitle("鏉冮檺璇锋眰")
+                                .setMessage("褰撳墠搴旂敤缂哄皯蹇呰鐨勬潈闄怽n璇风偣鍑昏缃�-鏉冮檺 鎵撳紑鐢佃瘽鍜屽瓨鍌ㄦ潈闄愶紝浠ユ甯镐娇鐢ˋPP鐨勫姛鑳�")
+                                .setPositiveButton("鍘昏缃�", new DialogInterface.OnClickListener() {
+                                    public void onClick(DialogInterface dialog, int id) {
+                                        if (mDialog != null && mDialog.isShowing()) {
+                                            mDialog.dismiss();
+                                        }
+                                        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+                                        Uri uri = Uri.fromParts("package", getPackageName(), null);//娉ㄦ剰灏辨槸"package",涓嶇敤鏀规垚鑷繁鐨勫寘鍚�
+                                        intent.setData(uri);
+                                        startActivityForResult(intent, REQUEST_CODE);
+                                    }
+                                });
+                        mDialog = builder.create();
+                        mDialog.setCanceledOnTouchOutside(false);
+                        mDialog.show();
+                    } else {//閫夋嫨绂佹
+                        AlertDialog.Builder builder = new AlertDialog.Builder(this);
+                        builder.setTitle("鏉冮檺璇锋眰")
+                                .setMessage("鐐瑰嚮鍏佽鎵嶅彲浠ヤ娇鐢ㄥ摝")
+                                .setPositiveButton("鍘诲厑璁�", new DialogInterface.OnClickListener() {
+                                    public void onClick(DialogInterface dialog, int id) {
+                                        if (alertDialog != null && alertDialog.isShowing()) {
+                                            alertDialog.dismiss();
+                                        }
+                                        ActivityCompat.requestPermissions(SplashActivity.this,
+                                                new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE);
+                                    }
+                                });
+                        alertDialog = builder.create();
+                        alertDialog.setCanceledOnTouchOutside(false);
+                        alertDialog.show();
+                    }
+
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (requestCode == REQUEST_CODE) {
+            myRequetPermission();//鐢变簬涓嶇煡閬撴槸鍚﹂�夋嫨浜嗗厑璁告墍浠ラ渶瑕佸啀娆″垽鏂�
+        }
+    }
+
+
 }
 

--
Gitblit v1.8.0