mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Update: Use fully composables for Prefs
This commit is contained in:
parent
bef33daab3
commit
7bc334c182
@ -3,26 +3,35 @@ package com.machiav3lli.fdroid.ui.activities
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.inputmethod.InputMethodManager
|
import androidx.activity.compose.setContent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
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.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.fragment.NavHostFragment
|
import com.google.accompanist.navigation.animation.rememberAnimatedNavController
|
||||||
import androidx.navigation.ui.AppBarConfiguration
|
|
||||||
import androidx.navigation.ui.setupActionBarWithNavController
|
|
||||||
import androidx.navigation.ui.setupWithNavController
|
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import com.machiav3lli.fdroid.BuildConfig
|
import com.machiav3lli.fdroid.BuildConfig
|
||||||
import com.machiav3lli.fdroid.ContextWrapperX
|
import com.machiav3lli.fdroid.ContextWrapperX
|
||||||
import com.machiav3lli.fdroid.MainApplication
|
import com.machiav3lli.fdroid.MainApplication
|
||||||
|
import com.machiav3lli.fdroid.NAV_PREFS
|
||||||
import com.machiav3lli.fdroid.R
|
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.installer.AppInstaller
|
||||||
import com.machiav3lli.fdroid.service.Connection
|
import com.machiav3lli.fdroid.service.Connection
|
||||||
import com.machiav3lli.fdroid.service.SyncService
|
import com.machiav3lli.fdroid.service.SyncService
|
||||||
import com.machiav3lli.fdroid.ui.fragments.MainNavFragmentX
|
import com.machiav3lli.fdroid.ui.compose.components.TopBar
|
||||||
import com.machiav3lli.fdroid.ui.fragments.Source
|
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.extension.text.nullIfEmpty
|
||||||
|
import com.machiav3lli.fdroid.utility.isDarkTheme
|
||||||
import com.machiav3lli.fdroid.utility.setCustomTheme
|
import com.machiav3lli.fdroid.utility.setCustomTheme
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@ -70,7 +79,29 @@ class PrefsActivityX : AppCompatActivity() {
|
|||||||
if (savedInstanceState == null && (intent.flags and Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) {
|
if (savedInstanceState == null && (intent.flags and Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) {
|
||||||
handleIntent(intent)
|
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() {
|
override fun onStart() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user