Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d242afb authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

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
parent ff265fec
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
    }
+18 −3
Original line number Diff line number Diff line
@@ -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));
    }
}