Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5dd07032 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "[Spa] Fix "State<T> as a parameter" of Preference" into main

parents 17860b3e 3b21249d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -46,14 +46,14 @@ import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.spaprivileged.template.app.AppListItemKt;
import com.android.settingslib.spaprivileged.template.app.AppListItemModelKt;
import com.android.settingslib.spaprivileged.template.app.AppListPageKt;
import com.android.settingslib.widget.LottieColorUtils;

import com.airbnb.lottie.LottieAnimationView;

/**
 * @deprecated Will be removed, use {@link AppListItemKt} {@link AppListPageKt} instead.
 * @deprecated Will be removed, use {@link AppListItemModelKt} {@link AppListPageKt} instead.
 */
@Deprecated(forRemoval = true)
public class ApplicationViewHolder extends RecyclerView.ViewHolder {
+1 −2
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.compose.toState
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -56,7 +55,7 @@ object AboutPhonePageProvider : SettingsPageProvider {
                val deviceNamePresenter = remember { DeviceNamePresenter(context) }
                Preference(object : PreferenceModel {
                    override val title = stringResource(R.string.about_settings)
                    override val summary = deviceNamePresenter.deviceName.toState()
                    override val summary = { deviceNamePresenter.deviceName }
                    override val onClick = navigator(name)
                    override val icon = @Composable {
                        SettingsIcon(imageVector = Icons.Outlined.PermDeviceInformation)
+1 −2
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import com.android.settings.R
import com.android.settings.deviceinfo.DeviceNamePreferenceController
import com.android.settingslib.spa.framework.compose.toState
import com.android.settingslib.spa.widget.dialog.AlertDialogButton
import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
import com.android.settingslib.spa.widget.preference.Preference
@@ -48,7 +47,7 @@ object DeviceNamePreference {
        Preference(object : PreferenceModel {
            override val title =
                stringResource(R.string.my_device_info_device_name_preference_title)
            override val summary = deviceNamePresenter.deviceName.toState()
            override val summary = { deviceNamePresenter.deviceName }
            override val onClick = dialogPresenter::open
        })

+13 −17
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ import android.content.pm.ApplicationInfo
import android.os.Bundle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.res.stringResource
import com.android.settings.R
import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
@@ -116,7 +114,7 @@ class AllAppListModel(
        option: Int,
        recordListFlow: Flow<List<AppRecordWithSize>>,
    ): Flow<List<AppRecordWithSize>> = recordListFlow.filterItem(
        when (SpinnerItem.values().getOrNull(option)) {
        when (SpinnerItem.entries.getOrNull(option)) {
            SpinnerItem.Enabled -> ({ it.app.enabled && !it.app.isInstantApp })
            SpinnerItem.Disabled -> isDisabled
            SpinnerItem.Instant -> isInstant
@@ -130,22 +128,20 @@ class AllAppListModel(
    private val isInstant: (AppRecordWithSize) -> Boolean = { it.app.isInstantApp }

    @Composable
    override fun getSummary(option: Int, record: AppRecordWithSize): State<String> {
    override fun getSummary(option: Int, record: AppRecordWithSize): () -> String {
        val storageSummary = record.app.getStorageSummary()
        return remember {
            derivedStateOf {
                storageSummary.value +
        return {
            val summaryList = mutableListOf(storageSummary.value)
            when {
                !record.app.installed && !record.app.isArchived -> {
                            System.lineSeparator() + context.getString(R.string.not_installed)
                    summaryList += context.getString(R.string.not_installed)
                }

                isDisabled(record) -> {
                            System.lineSeparator() +
                                context.getString(com.android.settingslib.R.string.disabled)
                        }
                        else -> ""
                    summaryList += context.getString(com.android.settingslib.R.string.disabled)
                }
            }
            summaryList.joinToString(separator = System.lineSeparator())
        }
    }

+2 −3
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.compose.toState
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -54,10 +53,10 @@ object AppsMainPageProvider : SettingsPageProvider {
    fun buildInjectEntry() =
        SettingsEntryBuilder.createInject(owner = owner)
            .setUiLayoutFn {
                val summary = stringResource(R.string.app_and_notification_dashboard_summary)
                Preference(object : PreferenceModel {
                    override val title = stringResource(R.string.apps_dashboard_title)
                    override val summary =
                        stringResource(R.string.app_and_notification_dashboard_summary).toState()
                    override val summary = { summary }
                    override val onClick = navigator(name)
                    override val icon = @Composable {
                        SettingsIcon(imageVector = Icons.Outlined.Apps)
Loading