diff options
| author | 2022-08-25 11:39:11 +0800 | |
|---|---|---|
| committer | 2022-08-25 11:59:45 +0800 | |
| commit | 836c718bac7ae61ba3760e49fb100b86c841ee80 (patch) | |
| tree | d06fd4721fd3772763e8122edc9348ef8958a03d | |
| parent | ab9b482ec4ffea1c00c5c9bad0a8ea1b821aba41 (diff) | |
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
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,19 +43,29 @@ 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() Image( 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() |