diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java index 6668f85208206..a88ab1863671b 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java @@ -115,11 +115,19 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { PREFERRED_CONSTRUCTORS = ImmutableMap.of( Notification.Builder.class, Notification.Builder.class.getConstructor(Context.class, String.class)); + + EXCLUDED_SETTERS_OVERLOADS = ImmutableMultimap., Method>builder() + .put(RemoteViews.class, + // b/245950570: Tries to connect to service and will crash. + RemoteViews.class.getMethod("setRemoteAdapter", + int.class, Intent.class)) + .build(); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } + // Setters that shouldn't be called, for various reasons (but NOT because they are KNOWN_BAD). private static final Multimap, String> EXCLUDED_SETTERS = ImmutableMultimap., String>builder() // Handled by testAllStyles(). @@ -134,6 +142,9 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { .put(RemoteViews.class, "mergeRemoteViews") .build(); + // Same as above, but specific overloads that should not be called. + private static final Multimap, Method> EXCLUDED_SETTERS_OVERLOADS; + private Context mContext; @Rule @@ -146,10 +157,12 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { @Test // This is a meta-test, checks that the generators are not broken. public void verifyTest() { - Generated notification = buildNotification(mContext, /* styleClass= */ null, - /* extenderClass= */ null, /* actionExtenderClass= */ null, + Generated notification = buildNotification(mContext, + /* styleClass= */ Notification.MessagingStyle.class, + /* extenderClass= */ Notification.WearableExtender.class, + /* actionExtenderClass= */ Notification.Action.WearableExtender.class, /* includeRemoteViews= */ true); - assertThat(notification.includedUris.size()).isAtLeast(20); + assertThat(notification.includedUris.size()).isAtLeast(730); } @Test @@ -479,6 +492,7 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { || method.getReturnType().equals(clazz)) && method.getParameterCount() >= 1 && !EXCLUDED_SETTERS.containsEntry(clazz, method.getName()) + && !EXCLUDED_SETTERS_OVERLOADS.containsEntry(clazz, method) && Arrays.stream(method.getParameterTypes()) .noneMatch(excludingParameterTypes::contains)) { methods.put(method.getName(), method);