Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 836c718b authored by Chaohui Wang's avatar Chaohui Wang
Browse files

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
parent ab9b482e
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -43,16 +43,26 @@ 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
+2 −17
Original line number Diff line number Diff line
@@ -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()