From 507227d8e56c37b1a211af3e729487ba55ea66f0 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Fri, 7 Oct 2022 16:27:10 +0800 Subject: [PATCH] Fix SpaLib build after Compose 1.3.0 1. Add OptIn to fix build for settingsTopAppBarColors OptIn ExperimentalMaterial3Api for new version of Compose library. 2. Fix return is not allowed in remember. Bug: 235727273 Test: m SpaLib Test: m SpaPrivilegedLib Change-Id: I2c8ba698b79178bf7940f29574b5dc6a38b0d0cf --- .../settingslib/spa/widget/scaffold/SettingsScaffold.kt | 1 + .../spaprivileged/template/app/AppInfoPage.kt | 9 +++++---- .../template/app/TogglePermissionAppInfoPage.kt | 8 +++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SettingsScaffold.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SettingsScaffold.kt index 1af4ce7553d8d..d17e4645ee5e2 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SettingsScaffold.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SettingsScaffold.kt @@ -61,6 +61,7 @@ fun SettingsScaffold( ) } +@OptIn(ExperimentalMaterial3Api::class) @Composable internal fun settingsTopAppBarColors() = TopAppBarDefaults.largeTopAppBarColors( containerColor = SettingsTheme.colorScheme.surfaceHeader, diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfoPage.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfoPage.kt index 4f88398b95509..8b19c5b0e3195 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfoPage.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfoPage.kt @@ -32,10 +32,11 @@ fun AppInfoPage( ) { RegularScaffold(title = title) { val appInfoProvider = remember { - val packageInfo = PackageManagers.getPackageInfoAsUser(packageName, userId) - ?: return@RegularScaffold - AppInfoProvider(packageInfo) - } + PackageManagers.getPackageInfoAsUser(packageName, userId)?.let { packageInfo -> + AppInfoProvider(packageInfo) + } + } ?: return@RegularScaffold + appInfoProvider.AppInfo(displayVersion = true) content() diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt index 1bbc47d604d37..e8b046aa4860a 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt @@ -143,9 +143,11 @@ private fun createSwitchModel( userId: Int, ): TogglePermissionSwitchModel? { val record = remember { - val app = PackageManagers.getApplicationInfoAsUser(packageName, userId) ?: return null - listModel.transformItem(app) - } + PackageManagers.getApplicationInfoAsUser(packageName, userId)?.let { app -> + listModel.transformItem(app) + } + } ?: return null + val context = LocalContext.current val isAllowed = listModel.isAllowed(record) return remember {