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

Commit 3a26daa1 authored by Devarshi Bhatt's avatar Devarshi Bhatt
Browse files

Add provision for passing CoroutineDispatcher for Fake Settings impls.

Bug: 327558308
Test: make SystemUIGoogle
Flag: NONE add new constructor
Change-Id: I12ff960c36ebeb190e4922333969ab45a296ea2f
parent f00dda2e
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -16,12 +16,16 @@

package com.android.systemui.util.settings;

import static kotlinx.coroutines.test.TestCoroutineDispatchersKt.StandardTestDispatcher;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.net.Uri;

import kotlinx.coroutines.CoroutineDispatcher;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -30,10 +34,16 @@ import java.util.Map;
public class FakeGlobalSettings implements GlobalSettings {
    private final Map<String, String> mValues = new HashMap<>();
    private final Map<String, List<ContentObserver>> mContentObserversAllUsers = new HashMap<>();
    private final CoroutineDispatcher mDispatcher;

    public static final Uri CONTENT_URI = Uri.parse("content://settings/fake_global");

    public FakeGlobalSettings() {
        mDispatcher = StandardTestDispatcher(/* scheduler = */ null, /* name = */ null);
    }

    public FakeGlobalSettings(CoroutineDispatcher dispatcher) {
        mDispatcher = dispatcher;
    }

    @Override
+12 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.util.settings;

import static kotlinx.coroutines.test.TestCoroutineDispatchersKt.StandardTestDispatcher;

import android.annotation.UserIdInt;
import android.content.ContentResolver;
import android.database.ContentObserver;
@@ -27,6 +29,8 @@ import androidx.annotation.NonNull;

import com.android.systemui.settings.UserTracker;

import kotlinx.coroutines.CoroutineDispatcher;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -37,19 +41,27 @@ public class FakeSettings implements SecureSettings, SystemSettings {
    private final Map<SettingsKey, List<ContentObserver>> mContentObservers =
            new HashMap<>();
    private final Map<String, List<ContentObserver>> mContentObserversAllUsers = new HashMap<>();
    private final CoroutineDispatcher mDispatcher;

    public static final Uri CONTENT_URI = Uri.parse("content://settings/fake");
    @UserIdInt
    private int mUserId = UserHandle.USER_CURRENT;

    public FakeSettings() {
        mDispatcher = StandardTestDispatcher(/* scheduler = */ null, /* name = */ null);
    }

    public FakeSettings(CoroutineDispatcher dispatcher) {
        mDispatcher = dispatcher;
    }

    public FakeSettings(String initialKey, String initialValue) {
        mDispatcher = StandardTestDispatcher(/* scheduler = */ null, /* name = */ null);
        putString(initialKey, initialValue);
    }

    public FakeSettings(Map<String, String> initialValues) {
        mDispatcher = StandardTestDispatcher(/* scheduler = */ null, /* name = */ null);
        for (Map.Entry<String, String> kv : initialValues.entrySet()) {
            putString(kv.getKey(), kv.getValue());
        }