From 836c718bac7ae61ba3760e49fb100b86c841ee80 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Thu, 25 Aug 2022 11:39:11 +0800 Subject: Fix AppInfo when versionName is null App can have null versionName if the version name is not set. Check whether the versionName is null to fix. Also use RegularScaffold for AppInfoPage. Bug: 235727273 Test: Manual with Test App Change-Id: I651e252b6854aa234ae10f4eaa53369c4609dfff --- .../spaprivileged/template/app/AppInfo.kt | 20 +++++++++++++++----- .../spaprivileged/template/app/AppInfoPage.kt | 19 ++----------------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfo.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfo.kt index 58d0f8d398f2..99deb707a351 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfo.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfo.kt @@ -43,18 +43,28 @@ fun AppInfo(packageName: String, userId: Int) { Column( modifier = Modifier .fillMaxWidth() - .padding(16.dp), - horizontalAlignment = Alignment.CenterHorizontally) { + .padding( + horizontal = SettingsDimension.itemPaddingStart, + vertical = SettingsDimension.itemPaddingVertical, + ), + horizontalAlignment = Alignment.CenterHorizontally, + ) { val packageInfo = remember { PackageManagers.getPackageInfoAsUser(packageName, userId) } - Box(modifier = Modifier.padding(8.dp)) { + Box(modifier = Modifier.padding(SettingsDimension.itemPaddingAround)) { AppIcon(app = packageInfo.applicationInfo, size = SettingsDimension.appIconInfoSize) } AppLabel(packageInfo.applicationInfo) - Spacer(modifier = Modifier.height(4.dp)) - SettingsBody(packageInfo.versionName) + AppVersion(packageInfo.versionName) } } +@Composable +private fun AppVersion(versionName: String?) { + if (versionName == null) return + Spacer(modifier = Modifier.height(4.dp)) + SettingsBody(versionName) +} + @Composable fun AppIcon(app: ApplicationInfo, size: Dp) { val appRepository = rememberAppRepository() 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 06d7547be309..9b45318ffd82 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 @@ -16,15 +16,8 @@ package com.android.settingslib.spaprivileged.template.app -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import com.android.settingslib.spa.framework.theme.SettingsDimension +import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.android.settingslib.spa.widget.ui.Footer @Composable @@ -35,15 +28,7 @@ fun AppInfoPage( footerText: String, content: @Composable () -> Unit, ) { - // TODO: Replace with SettingsScaffold - Column(Modifier.verticalScroll(rememberScrollState())) { - Text( - text = title, - modifier = Modifier.padding(SettingsDimension.itemPadding), - color = MaterialTheme.colorScheme.onSurface, - style = MaterialTheme.typography.headlineMedium, - ) - + RegularScaffold(title = title) { AppInfo(packageName, userId) content() -- cgit v1.2.3-59-g8ed1b