From 2b0d5f09980416d8cbdd5577ff827b3fb9e93bc8 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 5 Dec 2022 13:42:12 +0800 Subject: [PATCH] Clean up forked collectAsStateWithLifecycle Use the the one from androidx.lifecycle.compose instead. Bug: 236346018 Test: Unit test Change-Id: Idb681ad3f2fed10fed5b9f7625511566e5b88877 --- .../settings/spa/app/appinfo/AppAllServicesPreference.kt | 4 +++- .../settings/spa/app/appinfo/AppDataUsagePreference.kt | 4 +++- .../spa/app/appinfo/AppInstallerInfoPreference.kt | 4 +++- .../settings/spa/app/appinfo/AppLocalePreference.kt | 4 +++- .../settings/spa/app/appinfo/AppSettingsPreference.kt | 4 +++- .../spa/app/appinfo/HibernationSwitchPreference.kt | 4 +++- .../spa/app/appinfo/InstantAppDomainsPreference.kt | 4 +++- .../appinfo/InteractAcrossProfilesDetailsPreference.kt | 4 +++- .../android/settings/spa/system/AppLanguagesListModel.kt | 8 +++----- 9 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt index 20e8acae85f..29c7483be91 100644 --- a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt @@ -28,8 +28,9 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settings.R -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.model.app.resolveActionForApp @@ -45,6 +46,7 @@ import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.launch import kotlinx.coroutines.plus +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun AppAllServicesPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt index 328f8a5b3cf..8b90280aabb 100644 --- a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt @@ -27,6 +27,8 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settings.R import com.android.settings.Utils import com.android.settings.applications.appinfo.AppInfoDashboardFragment @@ -34,7 +36,6 @@ import com.android.settings.datausage.AppDataUsage import com.android.settings.datausage.DataUsageUtils import com.android.settingslib.net.NetworkCycleDataForUid import com.android.settingslib.net.NetworkCycleDataForUidLoader -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -43,6 +44,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flow import kotlinx.coroutines.withContext +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun AppDataUsagePreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt index 8d9c98ab35f..b89d76857af 100644 --- a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt @@ -27,7 +27,8 @@ import com.android.settings.R import com.android.settings.Utils import com.android.settings.applications.AppStoreUtil import com.android.settingslib.applications.AppUtils -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.framework.common.asUser @@ -44,6 +45,7 @@ import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun AppInstallerInfoPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt index b9607b03339..e95c5a1c056 100644 --- a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt @@ -31,7 +31,8 @@ import com.android.settings.applications.AppInfoBase import com.android.settings.applications.AppLocaleUtil import com.android.settings.applications.appinfo.AppLocaleDetails import com.android.settings.localepicker.AppLocalePickerActivity -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.model.app.userHandle @@ -40,6 +41,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flow import kotlinx.coroutines.withContext +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun AppLocalePreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt index ee0212ad5e8..d700641a161 100644 --- a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt @@ -28,7 +28,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.overlay.FeatureFactory -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.model.app.resolveActionForApp @@ -43,6 +44,7 @@ import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.launch import kotlinx.coroutines.plus +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun AppSettingsPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt index a38901e214d..d9810678342 100644 --- a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt @@ -35,7 +35,8 @@ import com.android.settings.R import com.android.settings.Utils.PROPERTY_APP_HIBERNATION_ENABLED import com.android.settings.Utils.PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS import com.android.settingslib.spa.framework.compose.OverridableFlow -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel @@ -51,6 +52,7 @@ import kotlinx.coroutines.withContext import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun HibernationSwitchPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt index 3a7d50d24c9..0e93b56ee37 100644 --- a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt @@ -34,7 +34,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.Utils -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -45,6 +46,7 @@ import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun InstantAppDomainsPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt index 15d05010a05..2430e731cd1 100644 --- a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt @@ -25,7 +25,8 @@ import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.applications.appinfo.AppInfoDashboardFragment import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.framework.common.crossProfileApps @@ -33,6 +34,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOn +@OptIn(ExperimentalLifecycleComposeApi::class) @Composable fun InteractAcrossProfilesDetailsPreference(app: ApplicationInfo) { val context = LocalContext.current diff --git a/src/com/android/settings/spa/system/AppLanguagesListModel.kt b/src/com/android/settings/spa/system/AppLanguagesListModel.kt index 50b23d39e19..eea72f2ce0e 100644 --- a/src/com/android/settings/spa/system/AppLanguagesListModel.kt +++ b/src/com/android/settings/spa/system/AppLanguagesListModel.kt @@ -23,16 +23,13 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.res.stringResource +import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settings.R import com.android.settings.applications.AppLocaleUtil import com.android.settings.applications.appinfo.AppLocaleDetails -import com.android.settingslib.applications.ApplicationsState -import com.android.settingslib.applications.ApplicationsState.AppEntry -import com.android.settingslib.spa.framework.compose.collectAsStateWithLifecycle -import com.android.settingslib.spa.framework.util.asyncMapItem import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord -import com.android.settingslib.spaprivileged.model.app.userId import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flow @@ -70,6 +67,7 @@ class AppLanguagesListModel(private val context: Context) : AppListModel? = remember(record.app) {