Merge "Fix potential NPE crash in ConversationHeaderPreferenceController" am: 4378ee11ad am: 1f9c4c483a am: 693ce48efb am: 2d1b325cd0
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2210776
Change-Id: I8fc0d30dd8338152ce2e9c7dc7741b9543f6dcf3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
index f99a56a..43b50c8 100644
--- a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
@@ -126,8 +126,12 @@
@VisibleForTesting
CharSequence getLabel() {
- return mConversationInfo != null
- ? mConversationInfo.getLabel()
- : mChannel.getName();
+ CharSequence label = null;
+ if (mConversationInfo != null) {
+ label = mConversationInfo.getLabel();
+ } else if (mChannel != null) {
+ label = mChannel.getName();
+ }
+ return label;
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
index 9b166ac..9a1a3ab 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
@@ -121,6 +122,9 @@
NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
mController.onResume(appRow, channel, null, null, null, null, null);
assertEquals(channel.getName(), mController.getLabel());
+
+ mController.onResume(appRow, null, null, null, null, null, null);
+ assertNull(mController.getLabel());
}
@Test