From 41f5cb68cc5ea754d8797f9963691ba27bab8509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B1=E9=A3=8E?= Date: Mon, 16 Jun 2025 03:13:22 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E4=BF=AE=E5=A4=8D=E6=B5=85=E8=89=B2?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E6=97=B6=E5=AF=BC=E8=88=AA=E6=A0=8F=E4=B8=8D?= =?UTF-8?q?=E6=B2=89=E6=B5=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化import --- .../nativecheck/ui/activity/MainActivity.kt | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/app/src/main/kotlin/com/reveny/nativecheck/ui/activity/MainActivity.kt b/app/src/main/kotlin/com/reveny/nativecheck/ui/activity/MainActivity.kt index 8d7723f..0e9b155 100644 --- a/app/src/main/kotlin/com/reveny/nativecheck/ui/activity/MainActivity.kt +++ b/app/src/main/kotlin/com/reveny/nativecheck/ui/activity/MainActivity.kt @@ -1,35 +1,41 @@ package com.reveny.nativecheck.ui.activity -import android.app.Activity -import android.content.Context import android.os.Build import android.os.Bundle import android.widget.Toast import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels -import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity -import androidx.compose.foundation.layout.* -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Dialog import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.lifecycleScope import com.reveny.nativecheck.R +import com.reveny.nativecheck.app.UpdateChecker import com.reveny.nativecheck.repository.AppSettingsRepository import com.reveny.nativecheck.ui.providable.LocalAppSettings import com.reveny.nativecheck.ui.theme.AppTheme -import com.reveny.nativecheck.app.UpdateChecker import com.reveny.nativecheck.viewmodel.MainViewModel -import com.reveny.nativecheck.viewmodel.SettingsViewModel import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch -import java.io.File import javax.inject.Inject @AndroidEntryPoint @@ -39,10 +45,13 @@ class MainActivity : AppCompatActivity() { private val mainViewModel: MainViewModel by viewModels() - @RequiresApi(Build.VERSION_CODES.S) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } + mainViewModel.initializeData(this) val packageManager = packageManager @@ -56,7 +65,10 @@ class MainActivity : AppCompatActivity() { val updateChecker = UpdateChecker(this) setContent { - val userPreferences by appSettingsRepository.data.collectAsStateWithLifecycle(initialValue = null, lifecycle = lifecycle) + val userPreferences by appSettingsRepository.data.collectAsStateWithLifecycle( + initialValue = null, + lifecycle = lifecycle + ) userPreferences ?: return@setContent @@ -138,7 +150,12 @@ fun UpdateDialog( title = { Text(text = stringResource(R.string.update_available)) }, text = { Column { - Text(text = String.format(stringResource(R.string.version_is_available), latestVersion)) + Text( + text = String.format( + stringResource(R.string.version_is_available), + latestVersion + ) + ) if (isDownloading) { Spacer(modifier = Modifier.padding(top = 16.dp)) LinearProgressIndicator(