diff --git a/app/src/main/java/com/nextcloud/talk/components/SetStatusBarColor.kt b/app/src/main/java/com/nextcloud/talk/components/SetupSystemBars.kt similarity index 72% rename from app/src/main/java/com/nextcloud/talk/components/SetStatusBarColor.kt rename to app/src/main/java/com/nextcloud/talk/components/SetupSystemBars.kt index 2dfb67e23..5c36286c6 100644 --- a/app/src/main/java/com/nextcloud/talk/components/SetStatusBarColor.kt +++ b/app/src/main/java/com/nextcloud/talk/components/SetupSystemBars.kt @@ -10,27 +10,26 @@ package com.nextcloud.talk.components import android.app.Activity import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.ui.graphics.toArgb - import androidx.compose.ui.platform.LocalView -import androidx.compose.ui.res.colorResource import androidx.core.view.WindowCompat -import com.nextcloud.talk.R @Composable -fun SetStatusBarColor() { +fun SetupSystemBars() { val view = LocalView.current - val isDarkMod = isSystemInDarkTheme() - val statusBarColor = colorResource(R.color.bg_default).toArgb() + val isDarkMode = isSystemInDarkTheme() + val statusBarColor = MaterialTheme.colorScheme.surface.toArgb() - DisposableEffect(isDarkMod) { + DisposableEffect(isDarkMode) { val activity = view.context as Activity activity.window.statusBarColor = statusBarColor WindowCompat.getInsetsController(activity.window, activity.window.decorView).apply { - isAppearanceLightStatusBars = !isDarkMod + isAppearanceLightStatusBars = !isDarkMode + isAppearanceLightNavigationBars = !isDarkMode } onDispose { } } diff --git a/app/src/main/java/com/nextcloud/talk/contacts/ContactsActivityCompose.kt b/app/src/main/java/com/nextcloud/talk/contacts/ContactsActivityCompose.kt index f3cf47252..e5366d608 100644 --- a/app/src/main/java/com/nextcloud/talk/contacts/ContactsActivityCompose.kt +++ b/app/src/main/java/com/nextcloud/talk/contacts/ContactsActivityCompose.kt @@ -19,7 +19,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import autodagger.AutoInjector import com.nextcloud.talk.activities.BaseActivity import com.nextcloud.talk.application.NextcloudTalkApplication -import com.nextcloud.talk.components.SetStatusBarColor +import com.nextcloud.talk.components.SetupSystemBars import com.nextcloud.talk.models.json.autocomplete.AutocompleteUser import javax.inject.Inject @@ -68,9 +68,8 @@ class ContactsActivityCompose : BaseActivity() { contactsViewModel = contactsViewModel, uiState = uiState.value ) + SetupSystemBars() } - - SetStatusBarColor() } } } diff --git a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt index 38bd0df56..cb1b1e834 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt @@ -2,6 +2,7 @@ * Nextcloud Talk - Android Client * * SPDX-FileCopyrightText: 2024 Sowjanya Kota + * SPDX-FileCopyrightText: 2025 Marcel Hibbe * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -22,7 +23,6 @@ import androidx.activity.result.ActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -58,7 +58,6 @@ import androidx.compose.material3.TextButton import androidx.compose.material3.TextField import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable -import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -70,7 +69,6 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -79,7 +77,6 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog -import androidx.core.view.WindowCompat import androidx.lifecycle.ViewModelProvider import autodagger.AutoInjector import coil.compose.AsyncImage @@ -87,6 +84,7 @@ import com.nextcloud.talk.R import com.nextcloud.talk.activities.BaseActivity import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.chat.ChatActivity +import com.nextcloud.talk.components.SetupSystemBars import com.nextcloud.talk.contacts.ContactsActivityCompose import com.nextcloud.talk.contacts.loadImage import com.nextcloud.talk.models.json.autocomplete.AutocompleteUser @@ -118,29 +116,12 @@ class ConversationCreationActivity : BaseActivity() { colorScheme = colorScheme ) { ConversationCreationScreen(conversationCreationViewModel, context, pickImage) + SetupSystemBars() } - SetStatusBarColor() } } } -@Composable -private fun SetStatusBarColor() { - val view = LocalView.current - val isDarkMod = isSystemInDarkTheme() - - DisposableEffect(isDarkMod) { - val activity = view.context as Activity - activity.window.statusBarColor = activity.getColor(R.color.bg_default) - - WindowCompat.getInsetsController(activity.window, activity.window.decorView).apply { - isAppearanceLightStatusBars = !isDarkMod - } - - onDispose { } - } -} - @OptIn(ExperimentalMaterial3Api::class) @Composable fun ConversationCreationScreen( diff --git a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt index 84354b287..a3067178b 100644 --- a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt @@ -36,7 +36,7 @@ import com.nextcloud.talk.api.NcApi import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager import com.nextcloud.talk.components.StandardAppBar -import com.nextcloud.talk.components.SetStatusBarColor +import com.nextcloud.talk.components.SetupSystemBars import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.utils.BrandingUtils import com.nextcloud.talk.utils.ClosedInterfaceImpl @@ -117,9 +117,8 @@ class DiagnoseActivity : BaseActivity() { } } ) + SetupSystemBars() } - - SetStatusBarColor() } }