diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/activities/PrefsActivityX.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/activities/PrefsActivityX.kt index bbd1455a..bf906140 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/activities/PrefsActivityX.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/activities/PrefsActivityX.kt @@ -3,26 +3,35 @@ package com.machiav3lli.fdroid.ui.activities import android.content.Context import android.content.Intent import android.os.Bundle -import android.view.inputmethod.InputMethodManager +import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity +import androidx.compose.animation.ExperimentalAnimationApi +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.lifecycle.lifecycleScope import androidx.navigation.NavController -import androidx.navigation.fragment.NavHostFragment -import androidx.navigation.ui.AppBarConfiguration -import androidx.navigation.ui.setupActionBarWithNavController -import androidx.navigation.ui.setupWithNavController -import com.google.android.material.appbar.MaterialToolbar +import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.machiav3lli.fdroid.BuildConfig import com.machiav3lli.fdroid.ContextWrapperX import com.machiav3lli.fdroid.MainApplication +import com.machiav3lli.fdroid.NAV_PREFS import com.machiav3lli.fdroid.R -import com.machiav3lli.fdroid.databinding.ActivityPrefsXBinding +import com.machiav3lli.fdroid.content.Preferences import com.machiav3lli.fdroid.installer.AppInstaller import com.machiav3lli.fdroid.service.Connection import com.machiav3lli.fdroid.service.SyncService -import com.machiav3lli.fdroid.ui.fragments.MainNavFragmentX -import com.machiav3lli.fdroid.ui.fragments.Source +import com.machiav3lli.fdroid.ui.compose.components.TopBar +import com.machiav3lli.fdroid.ui.compose.theme.AppTheme +import com.machiav3lli.fdroid.ui.navigation.BottomNavBar +import com.machiav3lli.fdroid.ui.navigation.PrefsNavHost import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty +import com.machiav3lli.fdroid.utility.isDarkTheme import com.machiav3lli.fdroid.utility.setCustomTheme import kotlinx.coroutines.launch @@ -70,7 +79,29 @@ class PrefsActivityX : AppCompatActivity() { if (savedInstanceState == null && (intent.flags and Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) { handleIntent(intent) } - setContentView(binding.root) + setContent { + AppTheme( + darkTheme = when (Preferences[Preferences.Key.Theme]) { + is Preferences.Theme.System -> isSystemInDarkTheme() + is Preferences.Theme.AmoledSystem -> isSystemInDarkTheme() + else -> isDarkTheme + } + ) { + val navController = rememberAnimatedNavController() + + Scaffold( + containerColor = Color.Transparent, + contentColor = MaterialTheme.colorScheme.onBackground, + bottomBar = { BottomNavBar(page = NAV_PREFS, navController = navController) }, + topBar = { TopBar(title = stringResource(id = R.string.application_name)) } + ) { paddingValues -> + PrefsNavHost( + modifier = Modifier.padding(paddingValues), + navController = navController + ) + } + } + } } override fun onStart() {