From dbe414b48768118ad90cdef2a41959f85e88b817 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Thu, 19 May 2022 10:00:23 +0800 Subject: [PATCH] Merge systemBar support with native --- app/build.gradle | 2 -- .../ui/activity/base/BaseActivity.kt | 19 +++++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fe4ca07..9b5cb1c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -62,8 +62,6 @@ dependencies { implementation 'com.highcapable.yukihookapi:api:1.0.87' ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.87' implementation "com.github.topjohnwu.libsu:core:3.1.2" - implementation 'com.geyifeng.immersionbar:immersionbar:3.2.0' - implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.0' implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.6.0' diff --git a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/base/BaseActivity.kt b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/base/BaseActivity.kt index e3d7db9..c9b6adc 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/base/BaseActivity.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/base/BaseActivity.kt @@ -23,13 +23,15 @@ package com.fankes.apperrorstracking.ui.activity.base +import android.os.Build import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.res.ResourcesCompat +import androidx.core.view.ViewCompat import androidx.viewbinding.ViewBinding import com.fankes.apperrorstracking.R import com.fankes.apperrorstracking.utils.factory.isNotSystemInDarkMode import com.fankes.apperrorstracking.utils.tool.FrameworkTool -import com.gyf.immersionbar.ktx.immersionBar import com.highcapable.yukihookapi.hook.factory.method import com.highcapable.yukihookapi.hook.type.android.LayoutInflaterClass import java.lang.reflect.ParameterizedType @@ -53,13 +55,14 @@ abstract class BaseActivity : AppCompatActivity() { /** 隐藏系统的标题栏 */ supportActionBar?.hide() /** 初始化沉浸状态栏 */ - immersionBar { - statusBarColor(R.color.colorThemeBackground) - autoDarkModeEnable(true) - statusBarDarkFont(isNotSystemInDarkMode) - navigationBarColor(R.color.colorThemeBackground) - navigationBarDarkIcon(isNotSystemInDarkMode) - fitsSystemWindows(true) + ViewCompat.getWindowInsetsController(window.decorView)?.apply { + isAppearanceLightStatusBars = isNotSystemInDarkMode + isAppearanceLightNavigationBars = isNotSystemInDarkMode + } + ResourcesCompat.getColor(resources, R.color.colorThemeBackground, null).also { + window?.statusBarColor = it + window?.navigationBarColor = it + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) window?.navigationBarDividerColor = it } /** 注册 */ FrameworkTool.registerReceiver(context = this)