Notif redesign: Account for low ram icon size

These sizes are technically the same by default, but we should still
respect the contract of the declared dimensions.

Bug: 371174789
Test: cannot test, will be unit tested in follow-up
Flag: android.app.notifications_redesign_app_icons
Change-Id: Ic23f2c4132ef25585a8546ed02901820fdf2ca6d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt
index 1377988..24b5cf1a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.notification.row.icon
 
+import android.app.ActivityManager
 import android.app.Flags
 import android.content.Context
 import android.content.pm.PackageManager.NameNotFoundException
@@ -41,12 +42,16 @@
 @SysUISingleton
 class AppIconProviderImpl @Inject constructor(private val sysuiContext: Context) : AppIconProvider {
     private val iconFactory: BaseIconFactory
-        get() =
-            BaseIconFactory(
-                sysuiContext,
-                sysuiContext.resources.configuration.densityDpi,
-                sysuiContext.resources.getDimensionPixelSize(R.dimen.notification_icon_circle_size),
-            )
+        get() {
+            val isLowRam = ActivityManager.isLowRamDeviceStatic()
+            val res = sysuiContext.resources
+            val iconSize: Int =
+                res.getDimensionPixelSize(
+                    if (isLowRam) R.dimen.notification_small_icon_size_low_ram
+                    else R.dimen.notification_small_icon_size
+                )
+            return BaseIconFactory(sysuiContext, res.configuration.densityDpi, iconSize)
+        }
 
     override fun getOrFetchAppIcon(packageName: String, context: Context): Drawable {
         val icon = context.packageManager.getApplicationIcon(packageName)