From b57175416eb0cc74979268871f550f750353dc48 Mon Sep 17 00:00:00 2001 From: Zekan Qian Date: Fri, 28 Oct 2022 10:38:50 +0800 Subject: [PATCH] Disable the async preference when it is loading Bug: 244122804 Test: manual - build gallery Change-Id: I1918f3e172b039ae3688a43c148ae53706e186a8 --- .../spa/gallery/preference/PreferencePage.kt | 4 ++-- .../spa/gallery/preference/PreferencePageModel.kt | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt index bbc0a86d20c3c..26e59ff699a41 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt @@ -127,11 +127,11 @@ object PreferencePageProvider : SettingsPageProvider { .setStatusDataFn { EntryStatusData(isDisabled = false) } .setUiLayoutFn { val model = PreferencePageModel.create() - val asyncSummary = remember { model.getAsyncSummary() } Preference( object : PreferenceModel { override val title = ASYNC_PREFERENCE_TITLE - override val summary = asyncSummary + override val summary = model.asyncSummary + override val enabled = model.asyncEnable } ) }.build() diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageModel.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageModel.kt index 1e64b2edb60b6..d874417c1a56e 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageModel.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageModel.kt @@ -59,7 +59,8 @@ class PreferencePageModel : PageModel() { private val spaLogger = SpaEnvironmentFactory.instance.logger - private val asyncSummary = mutableStateOf(" ") + val asyncSummary = mutableStateOf("(loading)") + val asyncEnable = mutableStateOf(false) private val manualUpdater = mutableStateOf(0) @@ -87,16 +88,13 @@ class PreferencePageModel : PageModel() { override fun initialize(arguments: Bundle?) { spaLogger.message(TAG, "initialize with args " + arguments.toString()) viewModelScope.launch(Dispatchers.IO) { + // Loading your data here. delay(2000L) asyncSummary.value = ASYNC_PREFERENCE_SUMMARY + asyncEnable.value = true } } - fun getAsyncSummary(): State { - spaLogger.message(TAG, "getAsyncSummary") - return asyncSummary - } - fun getManualUpdaterSummary(): State { spaLogger.message(TAG, "getManualUpdaterSummary") return derivedStateOf { manualUpdater.value.toString() }