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/ui/BaseActivity.java |   83 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 30 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/BaseActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/BaseActivity.java
index df2c3ca..4458dc8 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/BaseActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/BaseActivity.java
@@ -3,17 +3,16 @@
 import android.app.Dialog;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.graphics.Color;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
 
 import com.umeng.analytics.MobclickAgent;
-import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil;
+import com.weikou.beibeivideo.util.ui.TopStatusSettings;
+
+import java.lang.reflect.Field;
 //import com.umeng.message.PushAgent;
 
 public class BaseActivity extends FragmentActivity {
@@ -26,31 +25,43 @@
         loadingDialog = LoadingDialogUtil.getLoadingDialog(this, "");
 //		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 閿佸畾绔栧睆
 //		PushAgent.getInstance(this).onAppStart();
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
-            Window window = getWindow();
-            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
-                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+//            Window window = getWindow();
+//            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
+//                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+//        }
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            try {
+                Class decorViewClazz = Class.forName("com.android.internal.policy.DecorView");
+                Field field = decorViewClazz.getDeclaredField("mSemiTransparentStatusBarColor");
+                field.setAccessible(true);
+                field.setInt(getWindow().getDecorView(), Color.TRANSPARENT);  //鏀逛负閫忔槑
+            } catch (Exception e) {
+            }
         }
     }
 
     protected void initStatusBar() {
-        /*
-         * 璁$畻鐘舵�佹爮楂樺害骞惰缃�
-         */
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
-            int result = 0;
-            int resourceId = getResources().getIdentifier("status_bar_height",
-                    "dimen", "android");
-            if (resourceId > 0) {
-                result = getResources().getDimensionPixelSize(resourceId);
-            }
-            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
-                    result);
-            findViewById(R.id.v_status_bar).setLayoutParams(params);
-            findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE);
-        } else {
-            findViewById(R.id.v_status_bar).setVisibility(View.GONE);
-        }
+//        /*
+//         * 璁$畻鐘舵�佹爮楂樺害骞惰缃�
+//         */
+//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+//            int result = 0;
+//            int resourceId = getResources().getIdentifier("status_bar_height",
+//                    "dimen", "android");
+//            if (resourceId > 0) {
+//                result = getResources().getDimensionPixelSize(resourceId);
+//            }
+//            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
+//                    result);
+//            findViewById(R.id.v_status_bar).setLayoutParams(params);
+//            findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE);
+//        } else {
+//            findViewById(R.id.v_status_bar).setVisibility(View.GONE);
+//        }
+
+        TopStatusSettings.setStatusViewAndDeepColor(this);
     }
 
     @Override
@@ -63,12 +74,24 @@
     @Override
     public Resources getResources() {
         Resources res = super.getResources();
-//        if (res.getConfiguration().fontScale != 1) {//闈為粯璁ゅ��
         Configuration newConfig = new Configuration();
         newConfig.setToDefaults();//璁剧疆榛樿
-        newConfig.fontScale = 1.0f;
-        res.updateConfiguration(newConfig, res.getDisplayMetrics());
-//        }
+
+        try {
+            if (Build.BRAND.toLowerCase().equalsIgnoreCase("xiaomi")) {
+                if (res.getConfiguration().fontScale != 1.1) {
+                    newConfig.fontScale = 1.1f;
+                    res.updateConfiguration(newConfig, res.getDisplayMetrics());
+                }
+            } else {
+                if (res.getConfiguration().fontScale != 1) {
+                    newConfig.fontScale = 1.0f;
+                    res.updateConfiguration(newConfig, res.getDisplayMetrics());
+                }
+            }
+        } catch (Exception e) {
+            res.updateConfiguration(newConfig, res.getDisplayMetrics());
+        }
         return res;
     }
 

--
Gitblit v1.8.0