diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index c6568e16086c0..5d21be50d4a90 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -2631,8 +2631,8 @@ public class Notification implements Parcelable if (!Objects.equals(firstRs[j].getLabel(), secondRs[j].getLabel())) { return true; } - CharSequence[] firstCs = firstRs[i].getChoices(); - CharSequence[] secondCs = secondRs[i].getChoices(); + CharSequence[] firstCs = firstRs[j].getChoices(); + CharSequence[] secondCs = secondRs[j].getChoices(); if (firstCs == null) { firstCs = new CharSequence[0]; } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationTest.java index c4a688bb385d7..0f2e56b83f751 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationTest.java @@ -366,6 +366,28 @@ public class NotificationTest extends UiServiceTestCase { assertFalse(Notification.areActionsVisiblyDifferent(n1, n2)); } + @Test + public void testActionsMoreOptionsThanChoices() { + PendingIntent intent1 = mock(PendingIntent.class); + PendingIntent intent2 = mock(PendingIntent.class); + Icon icon = mock(Icon.class); + + Notification n1 = new Notification.Builder(mContext, "test") + .addAction(new Notification.Action.Builder(icon, "TEXT 1", intent1).build()) + .addAction(new Notification.Action.Builder(icon, "TEXT 2", intent1) + .addRemoteInput(new RemoteInput.Builder("a") + .setChoices(new CharSequence[] {"i", "m"}) + .build()) + .build()) + .build(); + Notification n2 = new Notification.Builder(mContext, "test") + .addAction(new Notification.Action.Builder(icon, "TEXT 1", intent2).build()) + .addAction(new Notification.Action.Builder(icon, "TEXT 2", intent1).build()) + .build(); + + assertTrue(Notification.areActionsVisiblyDifferent(n1, n2)); + } + @Test public void testActionsDifferentRemoteInputs() { PendingIntent intent = mock(PendingIntent.class);