Skip to content

Commit

Permalink
Merge branch 'refs/heads/14-dev' into renovate/androidx.compose.mater…
Browse files Browse the repository at this point in the history
…ial3-material3-window-size-class-1.x
  • Loading branch information
Goooler committed May 15, 2024
2 parents 7a3f16f + f48b5bf commit 061fa5a
Show file tree
Hide file tree
Showing 15 changed files with 34 additions and 34 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ dependencies {
implementation 'androidx.compose.material3:material3-window-size-class:1.3.0-beta01'
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation "androidx.activity:activity-compose:1.9.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.0"
implementation "androidx.navigation:navigation-compose:2.7.7"
implementation "androidx.palette:palette-ktx:1.0.0"
implementation "androidx.slice:slice-core:1.1.0-alpha02"
Expand Down
8 changes: 4 additions & 4 deletions lawnchair/src/app/lawnchair/backup/ui/CreateBackupScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
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
import androidx.compose.runtime.remember
Expand All @@ -37,6 +36,7 @@ import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.backup.LawnchairBackup
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.ui.preferences.LocalNavController
Expand All @@ -62,9 +62,9 @@ fun CreateBackupScreen(
viewModel: CreateBackupViewModel,
modifier: Modifier = Modifier,
) {
val contents by viewModel.backupContents.collectAsState()
val screenshot by viewModel.screenshot.collectAsState()
val screenshotDone by viewModel.screenshotDone.collectAsState()
val contents by viewModel.backupContents.collectAsStateWithLifecycle()
val screenshot by viewModel.screenshot.collectAsStateWithLifecycle()
val screenshotDone by viewModel.screenshotDone.collectAsStateWithLifecycle()

val isPortrait = LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT
val scrollState = rememberScrollState()
Expand Down
6 changes: 3 additions & 3 deletions lawnchair/src/app/lawnchair/backup/ui/RestoreBackupScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
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
import androidx.compose.runtime.remember
Expand All @@ -37,6 +36,7 @@ import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType
Expand Down Expand Up @@ -85,7 +85,7 @@ fun RestoreBackupScreen(
) {
val isPortrait = LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT
val scrollState = rememberScrollState()
val uiState = viewModel.uiState.collectAsState().value
val uiState = viewModel.uiState.collectAsStateWithLifecycle().value

PreferenceLayout(
label = stringResource(id = R.string.restore_backup),
Expand Down Expand Up @@ -120,7 +120,7 @@ fun ColumnScope.RestoreBackupOptions(
viewModel: RestoreBackupViewModel = viewModel(),
) {
val backupContents = backup.info.contents
val contents by viewModel.backupContents.collectAsState()
val contents by viewModel.backupContents.collectAsStateWithLifecycle()

val context = LocalContext.current
val scope = rememberCoroutineScope()
Expand Down
4 changes: 2 additions & 2 deletions lawnchair/src/app/lawnchair/preferences/PreferenceAdapter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.platform.LocalContext
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.preferences2.IdpPreference
import app.lawnchair.preferences2.asState
import app.lawnchair.preferences2.firstBlocking
Expand Down Expand Up @@ -126,7 +126,7 @@ fun IdpPreference.getAdapter(): PreferenceAdapter<Int> {
val context = LocalContext.current
val idp = remember { InvariantDeviceProfile.INSTANCE.get(context) }
val defaultGrid = idp.closestProfile
val state = get(defaultGrid).collectAsState(initial = firstBlocking(defaultGrid))
val state = get(defaultGrid).collectAsStateWithLifecycle(initialValue = firstBlocking(defaultGrid))
return createStateAdapter(state = state, set = { set(it, defaultGrid) })
}

Expand Down
4 changes: 2 additions & 2 deletions lawnchair/src/app/lawnchair/preferences2/IdpPreference.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package app.lawnchair.preferences2

import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.launcher3.InvariantDeviceProfile
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
Expand Down Expand Up @@ -46,4 +46,4 @@ fun IdpPreference.firstBlocking(gridOption: InvariantDeviceProfile.GridOption) =
fun IdpPreference.state(
gridOption: InvariantDeviceProfile.GridOption,
initial: Int? = null,
) = get(gridOption = gridOption).collectAsState(initial = initial)
) = get(gridOption = gridOption).collectAsStateWithLifecycle(initialValue = initial)
4 changes: 2 additions & 2 deletions lawnchair/src/app/lawnchair/preferences2/PreferenceUtils.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package app.lawnchair.preferences2

import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.util.subscribeBlocking
import com.patrykmichalik.opto.core.firstBlocking
import com.patrykmichalik.opto.domain.Preference
import kotlinx.coroutines.CoroutineScope

@Composable
fun <C, S> Preference<C, S, *>.asState() = get().collectAsState(initial = firstBlocking())
fun <C, S> Preference<C, S, *>.asState() = get().collectAsStateWithLifecycle(initialValue = firstBlocking())

fun <C, S> Preference<C, S, *>.subscribeBlocking(
scope: CoroutineScope,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
Expand All @@ -37,6 +36,7 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.ui.ModalBottomSheetContent
import app.lawnchair.ui.preferences.LocalPreferenceInteractor
import app.lawnchair.ui.preferences.components.layout.LoadingScreen
Expand All @@ -50,7 +50,7 @@ import com.android.launcher3.R
fun Acknowledgements(
modifier: Modifier = Modifier,
) {
val ossLibraries by LocalPreferenceInteractor.current.ossLibraries.collectAsState()
val ossLibraries by LocalPreferenceInteractor.current.ossLibraries.collectAsStateWithLifecycle()
LoadingScreen(
obj = ossLibraries,
modifier = modifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
Expand All @@ -42,6 +41,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.font.FontCache
import app.lawnchair.font.googlefonts.GoogleFontsListing
import app.lawnchair.preferences.BasePreferenceManager
Expand All @@ -68,7 +68,7 @@ fun FontSelection(
modifier: Modifier = Modifier,
) {
val context = LocalContext.current
val customFonts by remember { FontCache.INSTANCE.get(context).customFonts }.collectAsState(initial = emptyList())
val customFonts by remember { FontCache.INSTANCE.get(context).customFonts }.collectAsStateWithLifecycle(initialValue = emptyList())
val items by produceState(initialValue = emptyList<FontCache.Family>()) {
val list = mutableListOf<FontCache.Family>()
list.add(FontCache.Family(FontCache.SystemFont("sans-serif")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
package app.lawnchair.ui.preferences.destinations

import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.preferences.getAdapter
import app.lawnchair.preferences.preferenceManager
import app.lawnchair.preferences2.asState
Expand Down Expand Up @@ -56,7 +56,7 @@ fun GeneralPreferences() {
val context = LocalContext.current
val prefs = preferenceManager()
val prefs2 = preferenceManager2()
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsState()
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsStateWithLifecycle()
val themedIconsAdapter = prefs.themedIcons.getAdapter()
val drawerThemedIconsAdapter = prefs.drawerThemedIcons.getAdapter()
val iconShapeAdapter = prefs2.iconShape.getAdapter()
Expand Down Expand Up @@ -164,7 +164,7 @@ fun GeneralPreferences() {
}

PreferenceGroup(heading = stringResource(id = R.string.notification_dots)) {
val enabled by remember { notificationDotsEnabled(context) }.collectAsState(initial = false)
val enabled by remember { notificationDotsEnabled(context) }.collectAsStateWithLifecycle(initialValue = false)
val serviceEnabled = notificationServiceEnabled()
NotificationDotsPreference(enabled = enabled, serviceEnabled = serviceEnabled)
if (enabled && serviceEnabled) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.ui.Alignment
Expand All @@ -51,6 +50,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.preferences.PreferenceAdapter
import app.lawnchair.preferences.getAdapter
import app.lawnchair.preferences.preferenceManager
Expand Down Expand Up @@ -224,8 +224,8 @@ fun IconPackGrid(
isThemedIconPack: Boolean,
modifier: Modifier = Modifier,
) {
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsState()
val themedIconPacks by LocalPreferenceInteractor.current.themedIconPacks.collectAsState()
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsStateWithLifecycle()
val themedIconPacks by LocalPreferenceInteractor.current.themedIconPacks.collectAsStateWithLifecycle()
val lazyListState = rememberLazyListState()
val padding = 12.dp
var iconPacksLocal = iconPacks
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
Expand All @@ -34,6 +33,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.icons.CustomIconPack
import app.lawnchair.icons.IconPack
import app.lawnchair.icons.IconPackProvider
Expand Down Expand Up @@ -137,7 +137,7 @@ fun IconPickerGrid(
iconPack.getAllIcons()
.catch { loadFailed = true }
}
val categories by categoriesFlow.collectAsState(emptyList())
val categories by categoriesFlow.collectAsStateWithLifecycle(emptyList())
val filteredCategories by remember(searchQuery) {
derivedStateOf {
categories.asSequence()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import android.content.Context
import android.os.Build
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
Expand All @@ -13,6 +12,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.preferences.getAdapter
import app.lawnchair.preferences.not
Expand Down Expand Up @@ -180,7 +180,7 @@ private fun LocalSearchSettings(
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val lifecycleOwner = LocalLifecycleOwner.current
val state by lifecycleOwner.lifecycle.currentStateFlow.collectAsState()
val state by lifecycleOwner.lifecycle.currentStateFlow.collectAsStateWithLifecycle()
var isGranted by remember { mutableStateOf(filesAndStorageGranted(context)) }
// TODO refactor permission handling of all files access

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import android.app.Activity
import android.content.Intent
import android.content.pm.LauncherApps
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.core.graphics.drawable.toBitmap
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import app.lawnchair.data.iconoverride.IconOverrideRepository
import app.lawnchair.icons.IconPickerItem
import app.lawnchair.ui.preferences.LocalNavController
Expand All @@ -35,7 +35,7 @@ fun SelectIconPreference(componentKey: ComponentKey) {
val activity = launcherApps.resolveActivity(intent, componentKey.user)
activity.label.toString()
}
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsState()
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsStateWithLifecycle()
val navController = LocalNavController.current
val scope = rememberCoroutineScope()

Expand All @@ -50,7 +50,7 @@ fun SelectIconPreference(componentKey: ComponentKey) {
}
}

val overrideItem by repo.observeTarget(componentKey).collectAsState(initial = null)
val overrideItem by repo.observeTarget(componentKey).collectAsStateWithLifecycle(initialValue = null)
val hasOverride = overrideItem != null

PreferenceLayoutLazyColumn(label = label) {
Expand Down
4 changes: 2 additions & 2 deletions lawnchair/src/app/lawnchair/util/FlowUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
Expand All @@ -22,7 +22,7 @@ import kotlinx.coroutines.runBlocking
fun <T> Flow<T>.firstBlocking() = runBlocking { first() }

@Composable
fun <T> Flow<T>.collectAsStateBlocking() = collectAsState(initial = firstBlocking())
fun <T> Flow<T>.collectAsStateBlocking() = collectAsStateWithLifecycle(initialValue = firstBlocking())

fun broadcastReceiverFlow(context: Context, filter: IntentFilter) = callbackFlow {
val receiver = object : BroadcastReceiver() {
Expand Down
2 changes: 1 addition & 1 deletion systemUnFold/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ dependencies {
ksp "com.google.dagger:hilt-compiler:$daggerVersion"

implementation "androidx.concurrent:concurrent-futures:1.1.0"
implementation "androidx.lifecycle:lifecycle-common:2.7.0"
implementation "androidx.lifecycle:lifecycle-common:2.8.0"
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
}

0 comments on commit 061fa5a

Please sign in to comment.