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

Commit d78c4459 authored by Ibrahim Yilmaz's avatar Ibrahim Yilmaz
Browse files

[RONs-AOD] Use normal font in AOD Texts

Bug: 422269932
Test: manual (post a RON and check AOD)
Flag: android.app.ui_rich_ongoing
Change-Id: I90ca65a07c2511e0dca5bfb59c717b574dd8d9b9
parent 4e24a5b1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4214,6 +4214,8 @@
  <java-symbol type="integer" name="config_storageManagerDaystoRetainDefault" />
  <java-symbol type="string" name="config_headlineFontFamily" />
  <java-symbol type="string" name="config_headlineFontFamilyMedium" />
  <java-symbol type="string" name="config_bodyFontFamily" />


  <java-symbol type="integer" name="config_pressedStateDurationMillis" />
  <java-symbol type="integer" name="config_tapTimeoutMillis" />
+40 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.app.Notification
import android.content.Context
import android.graphics.PorterDuff
import android.graphics.Rect
import android.graphics.Typeface
import android.graphics.drawable.Drawable
import android.util.Log
import android.util.Size
@@ -69,6 +70,7 @@ import com.android.internal.widget.ImageFloatingTextView
import com.android.internal.widget.NotificationExpandButton
import com.android.internal.widget.NotificationProgressBar
import com.android.internal.widget.NotificationProgressModel
import com.android.systemui.FontStyles
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.res.R as systemuiR
import com.android.systemui.statusbar.notification.promoted.AodPromotedNotificationColor.Background
@@ -320,6 +322,7 @@ private class AODPromotedNotificationViewUpdater(root: View) {

    private val defaultLargeIconSizePx: Int =
        root.context.resources.getDimensionPixelSize(R.dimen.notification_right_icon_size)
    private val defaultTypeface: Typeface? = getNotificationTypeFace(root.context)

    private val marginPx: Int =
        if (notificationsRedesignTemplates()) {
@@ -357,6 +360,8 @@ private class AODPromotedNotificationViewUpdater(root: View) {
        setTextViewColor(timeDivider, SecondaryText)
        setTextViewColor(verificationDivider, SecondaryText)

        adjustPromotedNotificationTextFonts()

        if (notificationsRedesignTemplates()) {
            (mainColumn?.layoutParams as? MarginLayoutParams)?.let { mainColumnMargins ->
                mainColumnMargins.topMargin =
@@ -747,6 +752,41 @@ private class AODPromotedNotificationViewUpdater(root: View) {
        view?.setTextColor(color.colorInt)
    }

    private fun adjustPromotedNotificationTextFonts() {
        adjustTextViewFont(appNameDivider)
        adjustTextViewFont(appNameText)
        adjustTextViewFont(bigText)
        adjustTextViewFont(conversationText)
        adjustTextViewFont(headerText)
        adjustTextViewFont(headerTextDivider)
        adjustTextViewFont(headerTextSecondary)
        adjustTextViewFont(headerTextSecondaryDivider)
        adjustTextViewFont(text)
        adjustTextViewFont(title)
        adjustTextViewFont(verificationDivider)
        adjustTextViewFont(verificationText)
        adjustTextViewFont(time)
        adjustTextViewFont(timeDivider)
    }

    private fun getNotificationTypeFace(context: Context): Typeface? =
        try {
            val defaultFontFamily =
                if (notificationsRedesignTemplates()) {
                    FontStyles.GSF_BODY_MEDIUM
                } else {
                    context.resources.getString(R.string.config_bodyFontFamily)
                }
            Typeface.create(defaultFontFamily, Typeface.NORMAL)
        } catch (throwable: Throwable) {
            Log.wtf(TAG, "Font is not found for Promoted Notifications")
            null
        }

    private fun adjustTextViewFont(view: TextView?) {
        view?.setTypeface(defaultTypeface, Typeface.NORMAL)
    }

    companion object {
        /** Maximum aspect ratio of the large icon. 16:9 */
        private const val MAX_LARGE_ICON_ASPECT_RATIO: Float = 16f / 9f