Procházet zdrojové kódy

Fixed deprecation warning

Vadik Sirekanyan před 2 roky
rodič
revize
07b4251a0a

+ 1 - 4
app/src/main/java/com/sirekanian/warmongr/MainActivity.kt

@@ -16,7 +16,6 @@ import androidx.compose.ui.unit.Dp
 import androidx.core.view.WindowCompat
 import com.sirekanian.warmongr.ext.DefaultAnimatedVisibility
 import com.sirekanian.warmongr.ext.app
-import com.sirekanian.warmongr.ext.isCyrillicResources
 import com.sirekanian.warmongr.ui.*
 import com.sirekanian.warmongr.ui.theme.WarmongrTheme
 
@@ -25,9 +24,7 @@ class MainActivity : ComponentActivity() {
         super.onCreate(savedInstanceState)
         WindowCompat.setDecorFitsSystemWindows(window, false)
         setContent {
-            val coroutineScope = rememberCoroutineScope()
-            val isCyrillic = isCyrillicResources()
-            val state = remember { MainState(coroutineScope, isCyrillic) }
+            val state = rememberMainState()
             val presenter = remember { createPresenter(app(), state) }
             val data: List<WarmongerModel> by produceState(
                 initialValue = listOf(),

+ 18 - 4
app/src/main/java/com/sirekanian/warmongr/MainState.kt

@@ -4,16 +4,30 @@ import androidx.compose.foundation.lazy.LazyListState
 import androidx.compose.material.ExperimentalMaterialApi
 import androidx.compose.material.ModalBottomSheetState
 import androidx.compose.material.ModalBottomSheetValue.Hidden
+import androidx.compose.runtime.Composable
 import androidx.compose.runtime.derivedStateOf
 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.platform.LocalDensity
 import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.unit.Density
 import androidx.compose.ui.unit.dp
+import com.sirekanian.warmongr.ext.isCyrillicResources
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.launch
 
-class MainState(coroutineScope: CoroutineScope, val isCyrillic: Boolean) {
+@Composable
+fun rememberMainState(): MainState {
+    val coroutineScope = rememberCoroutineScope()
+    val density = LocalDensity.current
+    val isCyrillic = isCyrillicResources()
+    return remember { MainState(coroutineScope, density, isCyrillic) }
+}
+
+class MainState(coroutineScope: CoroutineScope, density: Density, val isCyrillic: Boolean) {
     val list = ListState()
     val search = SearchState()
     val progress = ProgressState()
@@ -24,7 +38,7 @@ class MainState(coroutineScope: CoroutineScope, val isCyrillic: Boolean) {
             0.dp
         }
     }
-    val dialog = DialogState(coroutineScope)
+    val dialog = DialogState(coroutineScope, density)
 }
 
 class ListState {
@@ -88,9 +102,9 @@ class ProgressState {
 }
 
 @OptIn(ExperimentalMaterialApi::class)
-class DialogState(private val coroutineScope: CoroutineScope) {
+class DialogState(private val coroutineScope: CoroutineScope, density: Density) {
 
-    val bottomSheetState = ModalBottomSheetState(Hidden)
+    val bottomSheetState = ModalBottomSheetState(Hidden, density)
     var title by mutableStateOf("")
     var content by mutableStateOf("")