summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chaohui Wang <chaohuiw@google.com> 2022-08-25 11:39:11 +0800
committer Chaohui Wang <chaohuiw@google.com> 2022-08-25 11:59:45 +0800
commit836c718bac7ae61ba3760e49fb100b86c841ee80 (patch)
treed06fd4721fd3772763e8122edc9348ef8958a03d
parentab9b482ec4ffea1c00c5c9bad0a8ea1b821aba41 (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
-rw-r--r--packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfo.kt20
-rw-r--r--packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppInfoPage.kt19
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()