From 8d4f8b2da8dc3c8ea5b288cae228fa09c3aacc72 Mon Sep 17 00:00:00 2001 From: BinTianqi <1220958406@qq.com> Date: Sat, 3 Feb 2024 21:45:45 +0800 Subject: [PATCH] remove deprecated dependency systemUiController --- app/build.gradle.kts | 1 - .../com/binbin/androidowner/DeviceControl.kt | 2 +- .../com/binbin/androidowner/MainActivity.kt | 21 ++------------- .../binbin/androidowner/SystemUpdatePolicy.kt | 27 ++++++++----------- .../com/binbin/androidowner/ui/theme/Theme.kt | 4 +-- 5 files changed, 16 insertions(+), 39 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f8a1c7c..4a88355 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -61,7 +61,6 @@ dependencies { implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3:1.1.2") implementation("androidx.navigation:navigation-compose:2.7.6") - implementation("com.google.accompanist:accompanist-systemuicontroller:0.34.0") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") diff --git a/app/src/main/java/com/binbin/androidowner/DeviceControl.kt b/app/src/main/java/com/binbin/androidowner/DeviceControl.kt index 36763a4..f3f455e 100644 --- a/app/src/main/java/com/binbin/androidowner/DeviceControl.kt +++ b/app/src/main/java/com/binbin/androidowner/DeviceControl.kt @@ -257,7 +257,7 @@ fun DeviceControl(){ } if(isDeviceOwner(myDpm)){ - SysUpdatePolicy(myDpm,myComponent,myContext) + SysUpdatePolicy() } Column(modifier = sections(if(isSystemInDarkTheme()){ colorScheme.errorContainer}else{ diff --git a/app/src/main/java/com/binbin/androidowner/MainActivity.kt b/app/src/main/java/com/binbin/androidowner/MainActivity.kt index 1368ef8..024917f 100644 --- a/app/src/main/java/com/binbin/androidowner/MainActivity.kt +++ b/app/src/main/java/com/binbin/androidowner/MainActivity.kt @@ -7,19 +7,9 @@ import android.content.Context import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.imePadding -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.* +import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.ArrowBack import androidx.compose.material.icons.outlined.Home @@ -43,7 +33,6 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.binbin.androidowner.ui.theme.AndroidOwnerTheme -import com.google.accompanist.systemuicontroller.rememberSystemUiController @ExperimentalMaterial3Api @@ -52,13 +41,7 @@ class MainActivity : ComponentActivity() { WindowCompat.setDecorFitsSystemWindows(window, false) super.onCreate(savedInstanceState) setContent { - val sysUiCtrl = rememberSystemUiController() - val useDarkIcon = !isSystemInDarkTheme() AndroidOwnerTheme { - SideEffect { - sysUiCtrl.setNavigationBarColor(Color.Transparent,useDarkIcon) - sysUiCtrl.setStatusBarColor(Color.Transparent,useDarkIcon) - } MyScaffold() } } diff --git a/app/src/main/java/com/binbin/androidowner/SystemUpdatePolicy.kt b/app/src/main/java/com/binbin/androidowner/SystemUpdatePolicy.kt index 8cabe75..6e481c6 100644 --- a/app/src/main/java/com/binbin/androidowner/SystemUpdatePolicy.kt +++ b/app/src/main/java/com/binbin/androidowner/SystemUpdatePolicy.kt @@ -4,28 +4,20 @@ import android.app.admin.DevicePolicyManager import android.app.admin.SystemUpdateInfo import android.app.admin.SystemUpdatePolicy import android.content.ComponentName -import android.content.Context import android.os.Build.VERSION import android.widget.Toast -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding +import androidx.activity.ComponentActivity +import androidx.compose.foundation.layout.* import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.Button -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.MaterialTheme.colorScheme +import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.material3.TextField -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue +import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -33,7 +25,10 @@ import androidx.compose.ui.unit.dp import java.util.Date @Composable -fun SysUpdatePolicy(myDpm:DevicePolicyManager,myComponent:ComponentName,myContext: Context){ +fun SysUpdatePolicy(){ + val myContext = LocalContext.current + val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager + val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java) val focusMgr = LocalFocusManager.current Column { if(VERSION.SDK_INT>=26){ @@ -56,7 +51,7 @@ fun SysUpdatePolicy(myDpm:DevicePolicyManager,myComponent:ComponentName,myContex if(VERSION.SDK_INT>=23){ Column(modifier = sections()) { var selectedPolicy by remember{ mutableStateOf(myDpm.systemUpdatePolicy?.policyType) } - Text(text = "系统更新策略", style = MaterialTheme.typography.titleLarge, color = MaterialTheme.colorScheme.onPrimaryContainer) + Text(text = "系统更新策略", style = typography.titleLarge, color = colorScheme.onPrimaryContainer) RadioButtonItem("准备好后立即更新",{selectedPolicy==SystemUpdatePolicy.TYPE_INSTALL_AUTOMATIC},{selectedPolicy=SystemUpdatePolicy.TYPE_INSTALL_AUTOMATIC}) RadioButtonItem("在某段时间里更新",{selectedPolicy==SystemUpdatePolicy.TYPE_INSTALL_WINDOWED},{selectedPolicy=SystemUpdatePolicy.TYPE_INSTALL_WINDOWED}) RadioButtonItem("延迟30天",{selectedPolicy==SystemUpdatePolicy.TYPE_POSTPONE},{selectedPolicy=SystemUpdatePolicy.TYPE_POSTPONE}) diff --git a/app/src/main/java/com/binbin/androidowner/ui/theme/Theme.kt b/app/src/main/java/com/binbin/androidowner/ui/theme/Theme.kt index f40f8ae..93e0c1a 100644 --- a/app/src/main/java/com/binbin/androidowner/ui/theme/Theme.kt +++ b/app/src/main/java/com/binbin/androidowner/ui/theme/Theme.kt @@ -104,8 +104,8 @@ fun AndroidOwnerTheme( if (!view.isInEditMode) { SideEffect { val window = (view.context as Activity).window - window.statusBarColor = colorScheme.primary.toArgb() - WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme + window.statusBarColor = colorScheme.surface.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme } }