summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ioana Alexandru <aioana@google.com> 2024-02-16 15:51:50 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-02-16 15:51:50 +0000
commitc928d9993b0594287ffa5ef97b4906c515261b35 (patch)
tree126f4f55f2b9fb30b92f3492cc5ca1a84207af46
parent882ec9a663a6400b95bf0397ca1c12da6166db37 (diff)
parentde1feb167b62ce684f24c496de3e48dd669a77d1 (diff)
Merge "Remove recoverBuilder use from test" into main
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationContentDescriptionTest.kt19
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt10
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java28
3 files changed, 25 insertions, 32 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationContentDescriptionTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationContentDescriptionTest.kt
index f67c70ce783f..12473cb46793 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationContentDescriptionTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationContentDescriptionTest.kt
@@ -62,36 +62,23 @@ class NotificationContentDescriptionTest : SysuiTestCase() {
assertThat(description).isEqualTo(createDescriptionText(n, ""))
}
- @Test
- fun nullNotification_descriptionIsAppName() {
- val description = contentDescForNotification(context, null)
- assertThat(description).isEqualTo(createDescriptionText(null, ""))
- }
-
private fun createNotification(
title: String? = null,
text: String? = null,
ticker: String? = null
): Notification =
- Notification.Builder(context)
+ Notification.Builder(context, "channel")
.setContentTitle(title)
.setContentText(text)
.setTicker(ticker)
.build()
private fun getTestAppName(): String {
- return getAppName(createNotification("", "", ""))
+ return createNotification("", "", "").loadHeaderAppName(mContext)
}
- private fun getAppName(n: Notification?) =
- n?.let {
- val builder = Notification.Builder.recoverBuilder(context, it)
- builder.loadHeaderAppName()
- }
- ?: ""
-
private fun createDescriptionText(n: Notification?, desc: String?): String {
- val appName = getAppName(n)
+ val appName = n?.loadHeaderAppName(mContext)
return context.getString(R.string.accessibility_desc_notification_icon, appName, desc)
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
index 17fc5c60f74f..bdd9fd032800 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
@@ -26,11 +26,11 @@ import com.android.systemui.res.R
/** Returns accessibility content description for a given notification. */
@MainThread
-fun contentDescForNotification(c: Context, n: Notification?): CharSequence {
- val appName = n?.loadHeaderAppName(c) ?: ""
- val title = n?.extras?.getCharSequence(Notification.EXTRA_TITLE)
- val text = n?.extras?.getCharSequence(Notification.EXTRA_TEXT)
- val ticker = n?.tickerText
+fun contentDescForNotification(c: Context, n: Notification): CharSequence {
+ val appName = n.loadHeaderAppName(c) ?: ""
+ val title = n.extras?.getCharSequence(Notification.EXTRA_TITLE)
+ val text = n.extras?.getCharSequence(Notification.EXTRA_TEXT)
+ val ticker = n.tickerText
// Some apps just put the app name into the title
val titleOrText = if (TextUtils.equals(title, appName)) text else title
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java
index f178046b665a..b6ee46ddafeb 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java
@@ -52,8 +52,8 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.util.ContrastColorUtil;
-import com.android.systemui.res.R;
import com.android.systemui.SysuiTestCase;
+import com.android.systemui.res.R;
import com.android.systemui.statusbar.notification.NotificationContentDescription;
import org.junit.Before;
@@ -153,7 +153,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
Icon icon = Icon.createWithBitmap(bitmap);
StatusBarIcon largeIcon = new StatusBarIcon(UserHandle.ALL, "mockPackage",
icon, 0, 0, "");
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
mIconView.getIcon(largeIcon);
// no crash? good
@@ -196,7 +196,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 60x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, dpIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x50. When put the drawable into iconView whose
// layout size is 60x150, the drawable size would not be constrained and thus keep 50x50
setIconDrawableWithSize(/* width= */ 50, /* height= */ 50);
@@ -215,7 +215,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 60x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, dpIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x100. When put the drawable into iconView whose
// layout size is 60x150, the drawable size would not be constrained and thus keep 50x100
setIconDrawableWithSize(/* width= */ 50, /* height= */ 100);
@@ -235,7 +235,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 60x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, dpIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 100x50. When put the drawable into iconView whose
// layout size is 60x150, the drawable size would be constrained to 60x30
setIconDrawableWithSize(/* width= */ 100, /* height= */ 50);
@@ -257,7 +257,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 40x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x50. When put the drawable into iconView whose
// layout size is 40x150, the drawable size would be constrained to 40x40
setIconDrawableWithSize(/* width= */ 50, /* height= */ 50);
@@ -283,7 +283,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 40x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 70x70. When put the drawable into iconView whose
// layout size is 40x150, the drawable size would be constrained to 40x40
setIconDrawableWithSize(/* width= */ 70, /* height= */ 70);
@@ -310,7 +310,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 40x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x100. When put the drawable into iconView whose
// layout size is 40x150, the drawable size would be constrained to 40x80
setIconDrawableWithSize(/* width= */ 50, /* height= */ 100);
@@ -334,7 +334,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 80x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x50. When put the drawable into iconView whose
// layout size is 80x150, the drawable size would not be constrained and thus keep 50x50
setIconDrawableWithSize(/* width= */ 50, /* height= */ 50);
@@ -357,7 +357,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 80x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 50x100. When put the drawable into iconView whose
// layout size is 80x150, the drawable size would not be constrained and thus keep 50x100
setIconDrawableWithSize(/* width= */ 50, /* height= */ 100);
@@ -381,7 +381,7 @@ public class StatusBarIconViewTest extends SysuiTestCase {
// the icon view layout size would be 80x150
// (the height is always 150 due to TEST_STATUS_BAR_HEIGHT)
setUpIconView(dpIconSize, dpDrawingSize, spIconSize);
- mIconView.setNotification(mock(StatusBarNotification.class));
+ mIconView.setNotification(getMockSbn());
// the raw drawable size is 100x50. When put the drawable into iconView whose
// layout size is 80x150, the drawable size would not be constrained and thus keep 80x40
setIconDrawableWithSize(/* width= */ 100, /* height= */ 50);
@@ -397,6 +397,12 @@ public class StatusBarIconViewTest extends SysuiTestCase {
mIconView.getIconScale(), 0.01f);
}
+ private static StatusBarNotification getMockSbn() {
+ StatusBarNotification sbn = mock(StatusBarNotification.class);
+ when(sbn.getNotification()).thenReturn(mock(Notification.class));
+ return sbn;
+ }
+
/**
* Setup iconView dimens for testing. The result icon view layout width would
* be spIconSize and height would be 150.