浏览代码

Update version code to 9 and version name to 4.1 in build.gradle.kts; enhance back press handling in WebViewScreen.kt

codeskraps 4 天之前
父节点
当前提交
81edce3e62

+ 2 - 2
app/build.gradle.kts

@@ -14,8 +14,8 @@ android {
         applicationId = "com.codeskraps.sbrowser_new"
         minSdk = 26
         targetSdk = 35
-        versionCode = 8
-        versionName = "4.0"
+        versionCode = 9
+        versionName = "4.1"
         setProperty("archivesBaseName", "sBrowser-v$versionName.$versionCode")
 
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

二进制
app/release/sBrowser-v4.1.9-release.aab


+ 9 - 3
app/src/main/java/com/codeskraps/sbrowser/feature/webview/components/WebViewScreen.kt

@@ -21,10 +21,8 @@ import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.safeDrawing
-import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.foundation.layout.windowInsetsPadding
 import androidx.compose.material3.ExperimentalMaterial3Api
-import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.Scaffold
 import androidx.compose.material3.SnackbarDuration
 import androidx.compose.material3.SnackbarHost
@@ -33,13 +31,15 @@ import androidx.compose.material3.SnackbarResult
 import androidx.compose.material3.TopAppBarDefaults
 import androidx.compose.material3.rememberTopAppBarState
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.input.nestedscroll.nestedScroll
 import androidx.compose.ui.platform.LocalConfiguration
 import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.platform.LocalDensity
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.viewinterop.AndroidView
 import androidx.core.net.toUri
@@ -68,6 +68,7 @@ fun WebViewScreen(
     val backPressDispatcher = LocalOnBackPressedDispatcherOwner.current
     val topAppBarState = rememberTopAppBarState()
     val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(topAppBarState)
+    var isHandlingBackPress by remember { mutableStateOf(false) }
 
     ObserveAsEvents(flow = action) { onAction ->
         when (onAction) {
@@ -126,11 +127,16 @@ fun WebViewScreen(
     }
 
     BackHandler {
+        if (isHandlingBackPress) return@BackHandler
+        isHandlingBackPress = true
+        
         if (mediaWebView.canGoBack()) {
             mediaWebView.goBack()
         } else {
             backPressDispatcher?.onBackPressedDispatcher?.onBackPressed()
         }
+        
+        isHandlingBackPress = false
     }
 
     Scaffold(