From 4d242afb5f40c09beb1103a613906f981f65b057 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Fri, 15 Oct 2021 14:55:08 -0400 Subject: [PATCH] Fix dispatch in FakeSettings The three argument dispatch uses the third argument for flags (the API was changed). Instead, use the four argument version to dispatch user. Test: atest SystemUITests Fixes: 203220612 Change-Id: I0f728dbf404cdd3f994f76128cd78da6ee4a2618 --- .../systemui/util/settings/FakeSettings.java | 4 ++-- .../util/settings/FakeSettingsTest.java | 21 ++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettings.java b/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettings.java index 7bb26748a9d9c..e66491e4cbd1c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettings.java +++ b/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettings.java @@ -123,11 +123,11 @@ public class FakeSettings implements SecureSettings, GlobalSettings, SystemSetti Uri uri = getUriFor(name); for (ContentObserver observer : mContentObservers.getOrDefault(key, new ArrayList<>())) { - observer.dispatchChange(false, List.of(uri), userHandle); + observer.dispatchChange(false, List.of(uri), 0, userHandle); } for (ContentObserver observer : mContentObserversAllUsers.getOrDefault(uri.toString(), new ArrayList<>())) { - observer.dispatchChange(false, List.of(uri), userHandle); + observer.dispatchChange(false, List.of(uri), 0, userHandle); } return true; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettingsTest.java b/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettingsTest.java index 34cae58d30e1b..f65caee24e344 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettingsTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/util/settings/FakeSettingsTest.java @@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -86,7 +87,8 @@ public class FakeSettingsTest extends SysuiTestCase { mFakeSettings.putString("cat", "hat"); - verify(mContentObserver).dispatchChange(anyBoolean(), any(Collection.class), anyInt()); + verify(mContentObserver).dispatchChange(anyBoolean(), any(Collection.class), anyInt(), + anyInt()); } @Test @@ -96,7 +98,8 @@ public class FakeSettingsTest extends SysuiTestCase { mFakeSettings.putString("cat", "hat"); - verify(mContentObserver).dispatchChange(anyBoolean(), any(Collection.class), anyInt()); + verify(mContentObserver).dispatchChange(anyBoolean(), any(Collection.class), anyInt(), + anyInt()); } @Test @@ -119,6 +122,18 @@ public class FakeSettingsTest extends SysuiTestCase { mFakeSettings.putString("cat", "hat"); verify(mContentObserver, never()).dispatchChange( - anyBoolean(), any(Collection.class), anyInt()); + anyBoolean(), any(Collection.class), anyInt(), anyInt()); + } + + @Test + public void testContentObserverDispatchCorrectUser() { + int user = 10; + mFakeSettings.registerContentObserverForUser( + mFakeSettings.getUriFor("cat"), false, mContentObserver, UserHandle.USER_ALL + ); + + mFakeSettings.putStringForUser("cat", "hat", user); + verify(mContentObserver).dispatchChange(anyBoolean(), any(Collection.class), anyInt(), + eq(user)); } }