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

Commit 3bd3584d authored by Hao Dong's avatar Hao Dong
Browse files

Remove badge for logo label and center the logo label

1. Use badged icon for non-customized logo only
2. Update all labels un-badged.
3. Update the logo description gravity to center horizontal.
4. Cleans up old styles.

Flag: EXEMPT bugfix
Bug: 366068818
Bug: 382219658
Test: manually verify on test app
Test: atest PromptViewModelTest

Change-Id: Ic80c5f638f472763bf48f3fea3d2112a52cc9a86
parent b8debc69
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1589,7 +1589,8 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa
            val logoInfo by collectLastValue(kosmos.promptViewModel.logoInfo)
            assertThat(logoInfo).isNotNull()
            assertThat(logoInfo!!.first).isEqualTo(defaultLogoIconWithBadge)
            assertThat(logoInfo!!.second).isEqualTo(defaultLogoDescriptionWithBadge)
            // Logo label does not use badge info.
            assertThat(logoInfo!!.second).isEqualTo(defaultLogoDescriptionFromAppInfo)
        }

    @Test
+1 −22
Original line number Diff line number Diff line
@@ -183,30 +183,9 @@
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>

    <style name="TextAppearance.AuthCredential.OldTitle">
        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
        <item name="android:paddingTop">12dp</item>
        <item name="android:paddingHorizontal">24dp</item>
        <item name="android:textSize">24sp</item>
    </style>

    <style name="TextAppearance.AuthCredential.OldSubtitle">
        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
        <item name="android:paddingTop">8dp</item>
        <item name="android:paddingHorizontal">24dp</item>
        <item name="android:textSize">16sp</item>
    </style>

    <style name="TextAppearance.AuthCredential.OldDescription">
        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
        <item name="android:paddingTop">8dp</item>
        <item name="android:paddingHorizontal">24dp</item>
        <item name="android:textSize">14sp</item>
    </style>

    <style name="TextAppearance.AuthCredential.LogoDescription" parent="TextAppearance.Material3.LabelLarge" >
        <item name="android:fontFamily">@*android:string/config_bodyFontFamilyMedium</item>
        <item name="android:gravity">@integer/biometric_dialog_text_gravity</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:maxLines">1</item>
        <item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item>
        <item name="android:ellipsize">end</item>
+6 −6
Original line number Diff line number Diff line
@@ -982,8 +982,9 @@ private fun Context.getUserBadgedLogoInfo(
    activityTaskManager: ActivityTaskManager,
): Pair<Drawable?, String> {
    // If the app sets customized icon/description, use the passed-in value directly
    var icon: Drawable? =
        if (prompt.logoBitmap != null) BitmapDrawable(resources, prompt.logoBitmap) else null
    val customizedIcon: Drawable? =
        prompt.logoBitmap?.let { BitmapDrawable(resources, prompt.logoBitmap) }
    var icon = customizedIcon
    var label = prompt.logoDescription ?: ""
    if (icon != null && label.isNotEmpty()) {
        return Pair(icon, label)
@@ -1009,12 +1010,11 @@ private fun Context.getUserBadgedLogoInfo(
        }
    }

    // Add user badge
    // Add user badge for non-customized logo icon
    val userHandle = UserHandle.of(prompt.userInfo.userId)
    if (label.isNotEmpty()) {
        label = packageManager.getUserBadgedLabel(label, userHandle).toString()
    if (icon != null && icon != customizedIcon) {
        icon = packageManager.getUserBadgedIcon(icon, userHandle)
    }
    icon = icon?.let { packageManager.getUserBadgedIcon(it, userHandle) }

    return Pair(icon, label)
}