Merge "Revert "Add async register/unregister APIs in Settings/UserSettingsProxy."" into main
diff --git a/packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java b/packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java
index 4438763..42389f0 100644
--- a/packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java
@@ -23,23 +23,16 @@
import android.net.Uri;
import android.provider.Settings;
-import com.android.systemui.dagger.qualifiers.Background;
-
-import kotlinx.coroutines.CoroutineDispatcher;
-
import javax.inject.Inject;
// use UserHandle.USER_SYSTEM everywhere
@SuppressLint("StaticSettingsProvider")
class GlobalSettingsImpl implements GlobalSettings {
private final ContentResolver mContentResolver;
- private final CoroutineDispatcher mBgDispatcher;
@Inject
- GlobalSettingsImpl(ContentResolver contentResolver,
- @Background CoroutineDispatcher bgDispatcher) {
+ GlobalSettingsImpl(ContentResolver contentResolver) {
mContentResolver = contentResolver;
- mBgDispatcher = bgDispatcher;
}
@Override
@@ -53,11 +46,6 @@
}
@Override
- public CoroutineDispatcher getBackgroundDispatcher() {
- return mBgDispatcher;
- }
-
- @Override
public String getString(String name) {
return Settings.Global.getString(mContentResolver, name);
}
diff --git a/packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java b/packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java
index 38ad5d0..6532ce8 100644
--- a/packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java
@@ -22,24 +22,18 @@
import androidx.annotation.NonNull;
-import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.settings.UserTracker;
-import kotlinx.coroutines.CoroutineDispatcher;
-
import javax.inject.Inject;
class SecureSettingsImpl implements SecureSettings {
private final ContentResolver mContentResolver;
private final UserTracker mUserTracker;
- private final CoroutineDispatcher mBgDispatcher;
@Inject
- SecureSettingsImpl(ContentResolver contentResolver, UserTracker userTracker,
- @Background CoroutineDispatcher bgDispatcher) {
+ SecureSettingsImpl(ContentResolver contentResolver, UserTracker userTracker) {
mContentResolver = contentResolver;
mUserTracker = userTracker;
- mBgDispatcher = bgDispatcher;
}
@Override
@@ -58,11 +52,6 @@
}
@Override
- public CoroutineDispatcher getBackgroundDispatcher() {
- return mBgDispatcher;
- }
-
- @Override
public String getStringForUser(String name, int userHandle) {
return Settings.Secure.getStringForUser(mContentResolver, name,
getRealUserHandle(userHandle));
diff --git a/packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt b/packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt
index 8f5f4bb..d92127c 100644
--- a/packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt
+++ b/packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt
@@ -20,10 +20,6 @@
import android.net.Uri
import android.provider.Settings.SettingNotFoundException
import com.android.app.tracing.TraceUtils.trace
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
/**
* Used to interact with mainly with Settings.Global, but can also be used for Settings.System and
@@ -44,12 +40,6 @@
fun getContentResolver(): ContentResolver
/**
- * Returns the background [CoroutineDispatcher] that the async APIs will use for a specific
- * implementation.
- */
- fun getBackgroundDispatcher(): CoroutineDispatcher
-
- /**
* Construct the content URI for a particular name/value pair, useful for monitoring changes
* with a ContentObserver.
*
@@ -67,28 +57,6 @@
registerContentObserverSync(getUriFor(name), settingsObserver)
}
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserver] to ensure that [ContentObserver]
- * registration happens on a worker thread. Caller may wrap the API in an async block if they
- * wish to synchronize execution.
- */
- suspend fun registerContentObserver(name: String, settingsObserver: ContentObserver) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverSync(getUriFor(name), settingsObserver)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserver] for Java usage.
- */
- fun registerContentObserverAsync(name: String, settingsObserver: ContentObserver) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverSync(getUriFor(name), settingsObserver)
- }
-
/** Convenience wrapper around [ContentResolver.registerContentObserver].' */
fun registerContentObserverSync(uri: Uri, settingsObserver: ContentObserver) =
registerContentObserverSync(uri, false, settingsObserver)
@@ -96,28 +64,6 @@
/**
* Convenience wrapper around [ContentResolver.registerContentObserver].'
*
- * suspend API corresponding to [registerContentObserver] to ensure that [ContentObserver]
- * registration happens on a worker thread. Caller may wrap the API in an async block if they
- * wish to synchronize execution.
- */
- suspend fun registerContentObserver(uri: Uri, settingsObserver: ContentObserver) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverSync(uri, settingsObserver)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserver] for Java usage.
- */
- fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverSync(uri, settingsObserver)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
* Implicitly calls [getUriFor] on the passed in name.
*/
fun registerContentObserverSync(
@@ -126,36 +72,6 @@
settingsObserver: ContentObserver
) = registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserver] to ensure that [ContentObserver]
- * registration happens on a worker thread. Caller may wrap the API in an async block if they
- * wish to synchronize execution.
- */
- suspend fun registerContentObserver(
- name: String,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserver] for Java usage.
- */
- fun registerContentObserverAsync(
- name: String,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
- }
-
/** Convenience wrapper around [ContentResolver.registerContentObserver].' */
fun registerContentObserverSync(
uri: Uri,
@@ -168,36 +84,6 @@
}
}
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserver] to ensure that [ContentObserver]
- * registration happens on a worker thread. Caller may wrap the API in an async block if they
- * wish to synchronize execution.
- */
- suspend fun registerContentObserver(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverSync(uri, notifyForDescendants, settingsObserver)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserver] for Java usage.
- */
- fun registerContentObserverAsync(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverSync(uri, notifyForDescendants, settingsObserver)
- }
-
/** See [ContentResolver.unregisterContentObserver]. */
fun unregisterContentObserverSync(settingsObserver: ContentObserver) {
trace({ "SP#unregisterObserver" }) {
@@ -206,27 +92,6 @@
}
/**
- * Convenience wrapper around [ContentResolver.unregisterContentObserver].'
- *
- * API corresponding to [unregisterContentObserver] for Java usage to ensure that
- * [ContentObserver] un-registration happens on a worker thread. Caller may wrap the API in an
- * async block if they wish to synchronize execution.
- */
- suspend fun unregisterContentObserver(settingsObserver: ContentObserver) =
- withContext(getBackgroundDispatcher()) { unregisterContentObserverSync(settingsObserver) }
-
- /**
- * Convenience wrapper around [ContentResolver.unregisterContentObserver].'
- *
- * API corresponding to [unregisterContentObserver] for Java usage to ensure that
- * [ContentObserver] registration happens on a worker thread.
- */
- fun unregisterContentObserverAsync(settingsObserver: ContentObserver) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- unregisterContentObserverSync(settingsObserver)
- }
-
- /**
* Look up a name in the database.
*
* @param name to look up in the table
diff --git a/packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java b/packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java
index 68cc753..658b299 100644
--- a/packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java
@@ -22,24 +22,18 @@
import androidx.annotation.NonNull;
-import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.settings.UserTracker;
-import kotlinx.coroutines.CoroutineDispatcher;
-
import javax.inject.Inject;
class SystemSettingsImpl implements SystemSettings {
private final ContentResolver mContentResolver;
private final UserTracker mUserTracker;
- private final CoroutineDispatcher mBgCoroutineDispatcher;
@Inject
- SystemSettingsImpl(ContentResolver contentResolver, UserTracker userTracker,
- @Background CoroutineDispatcher bgDispatcher) {
+ SystemSettingsImpl(ContentResolver contentResolver, UserTracker userTracker) {
mContentResolver = contentResolver;
mUserTracker = userTracker;
- mBgCoroutineDispatcher = bgDispatcher;
}
@Override
@@ -58,11 +52,6 @@
}
@Override
- public CoroutineDispatcher getBackgroundDispatcher() {
- return mBgCoroutineDispatcher;
- }
-
- @Override
public String getStringForUser(String name, int userHandle) {
return Settings.System.getStringForUser(mContentResolver, name,
getRealUserHandle(userHandle));
diff --git a/packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt b/packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt
index 9133fbb..ed65f1a 100644
--- a/packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt
+++ b/packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt
@@ -16,7 +16,6 @@
package com.android.systemui.util.settings
import android.annotation.UserIdInt
-import android.content.ContentResolver
import android.database.ContentObserver
import android.net.Uri
import android.os.UserHandle
@@ -27,9 +26,6 @@
import com.android.systemui.util.settings.SettingsProxy.Companion.parseFloatOrThrow
import com.android.systemui.util.settings.SettingsProxy.Companion.parseLongOrThrow
import com.android.systemui.util.settings.SettingsProxy.Companion.parseLongOrUseDefault
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
/**
* Used to interact with per-user Settings.Secure and Settings.System settings (but not
@@ -70,16 +66,6 @@
registerContentObserverForUserSync(uri, settingsObserver, userId)
}
- override suspend fun registerContentObserver(uri: Uri, settingsObserver: ContentObserver) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(uri, settingsObserver, userId)
- }
-
- override fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(uri, settingsObserver, userId)
- }
-
/** Convenience wrapper around [ContentResolver.registerContentObserver].' */
override fun registerContentObserverSync(
uri: Uri,
@@ -89,29 +75,6 @@
registerContentObserverForUserSync(uri, notifyForDescendants, settingsObserver, userId)
}
- override suspend fun registerContentObserver(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(uri, notifyForDescendants, settingsObserver, userId)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserverForUser] for Java usage.
- */
- override fun registerContentObserverAsync(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(uri, notifyForDescendants, settingsObserver, userId)
- }
-
/**
* Convenience wrapper around [ContentResolver.registerContentObserver]
*
@@ -125,36 +88,6 @@
registerContentObserverForUserSync(getUriFor(name), settingsObserver, userHandle)
}
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserverForUser] to ensure that
- * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
- * async block if they wish to synchronize execution.
- */
- suspend fun registerContentObserverForUser(
- name: String,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(name, settingsObserver, userHandle)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserverForUser] for Java usage.
- */
- fun registerContentObserverForUserAsync(
- name: String,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(getUriFor(name), settingsObserver, userHandle)
- }
-
/** Convenience wrapper around [ContentResolver.registerContentObserver] */
fun registerContentObserverForUserSync(
uri: Uri,
@@ -165,36 +98,6 @@
}
/**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserverForUser] to ensure that
- * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
- * async block if they wish to synchronize execution.
- */
- suspend fun registerContentObserverForUser(
- uri: Uri,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(uri, settingsObserver, userHandle)
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserverForUser] for Java usage.
- */
- fun registerContentObserverForUserAsync(
- uri: Uri,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(uri, settingsObserver, userHandle)
- }
-
- /**
* Convenience wrapper around [ContentResolver.registerContentObserver]
*
* Implicitly calls [getUriFor] on the passed in name.
@@ -213,49 +116,6 @@
)
}
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserverForUser] to ensure that
- * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
- * async block if they wish to synchronize execution.
- */
- suspend fun registerContentObserverForUser(
- name: String,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(
- name,
- notifyForDescendants,
- settingsObserver,
- userHandle
- )
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserverForUser] for Java usage.
- */
- fun registerContentObserverForUserAsync(
- name: String,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) {
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(
- getUriFor(name),
- notifyForDescendants,
- settingsObserver,
- userHandle
- )
- }
- }
-
/** Convenience wrapper around [ContentResolver.registerContentObserver] */
fun registerContentObserverForUserSync(
uri: Uri,
@@ -276,48 +136,6 @@
}
/**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * suspend API corresponding to [registerContentObserverForUser] to ensure that
- * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
- * async block if they wish to synchronize execution.
- */
- suspend fun registerContentObserverForUser(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- withContext(getBackgroundDispatcher()) {
- registerContentObserverForUserSync(
- uri,
- notifyForDescendants,
- settingsObserver,
- getRealUserHandle(userHandle)
- )
- }
-
- /**
- * Convenience wrapper around [ContentResolver.registerContentObserver].'
- *
- * API corresponding to [registerContentObserverForUser] for Java usage.
- */
- fun registerContentObserverForUserAsync(
- uri: Uri,
- notifyForDescendants: Boolean,
- settingsObserver: ContentObserver,
- userHandle: Int
- ) =
- CoroutineScope(getBackgroundDispatcher()).launch {
- registerContentObserverForUserSync(
- uri,
- notifyForDescendants,
- settingsObserver,
- userHandle
- )
- }
-
- /**
* Look up a name in the database.
*
* @param name to look up in the table
diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt b/packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt
index 92dd391..eb11e38 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt
@@ -27,12 +27,6 @@
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
import org.junit.Assert.assertThrows
import org.junit.Before
import org.junit.Test
@@ -47,16 +41,11 @@
@TestableLooper.RunWithLooper
class SettingsProxyTest : SysuiTestCase() {
- private val testDispatcher = StandardTestDispatcher()
-
private lateinit var mSettings: SettingsProxy
private lateinit var mContentObserver: ContentObserver
- private lateinit var testScope: TestScope
@Before
fun setUp() {
- testScope = TestScope(testDispatcher)
- Dispatchers.setMain(testDispatcher)
mSettings = FakeSettingsProxy()
mContentObserver = object : ContentObserver(Handler(Looper.getMainLooper())) {}
}
@@ -69,23 +58,6 @@
}
@Test
- fun registerContentObserverSuspend_inputString_success() =
- testScope.runTest {
- mSettings.registerContentObserver(TEST_SETTING, mContentObserver)
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(false), eq(mContentObserver))
- }
-
- @Test
- fun registerContentObserverAsync_inputString_success() {
- mSettings.registerContentObserverAsync(TEST_SETTING, mContentObserver)
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(false), eq(mContentObserver))
- }
- }
-
- @Test
fun registerContentObserver_inputString_notifyForDescendants_true() {
mSettings.registerContentObserverSync(
TEST_SETTING,
@@ -97,31 +69,6 @@
}
@Test
- fun registerContentObserverSuspend_inputString_notifyForDescendants_true() =
- testScope.runTest {
- mSettings.registerContentObserver(
- TEST_SETTING,
- notifyForDescendants = true,
- mContentObserver
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(true), eq(mContentObserver))
- }
-
- @Test
- fun registerContentObserverAsync_inputString_notifyForDescendants_true() {
- mSettings.registerContentObserverAsync(
- TEST_SETTING,
- notifyForDescendants = true,
- mContentObserver
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(true), eq(mContentObserver))
- }
- }
-
- @Test
fun registerContentObserver_inputUri_success() {
mSettings.registerContentObserverSync(TEST_SETTING_URI, mContentObserver)
verify(mSettings.getContentResolver())
@@ -129,23 +76,6 @@
}
@Test
- fun registerContentObserverSuspend_inputUri_success() =
- testScope.runTest {
- mSettings.registerContentObserver(TEST_SETTING_URI, mContentObserver)
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(false), eq(mContentObserver))
- }
-
- @Test
- fun registerContentObserverAsync_inputUri_success() {
- mSettings.registerContentObserverAsync(TEST_SETTING_URI, mContentObserver)
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(false), eq(mContentObserver))
- }
- }
-
- @Test
fun registerContentObserver_inputUri_notifyForDescendants_true() {
mSettings.registerContentObserverSync(
TEST_SETTING_URI,
@@ -157,52 +87,12 @@
}
@Test
- fun registerContentObserverSuspend_inputUri_notifyForDescendants_true() =
- testScope.runTest {
- mSettings.registerContentObserver(
- TEST_SETTING_URI,
- notifyForDescendants = true,
- mContentObserver
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(true), eq(mContentObserver))
- }
-
- @Test
- fun registerContentObserverAsync_inputUri_notifyForDescendants_true() {
- mSettings.registerContentObserverAsync(
- TEST_SETTING_URI,
- notifyForDescendants = true,
- mContentObserver
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(eq(TEST_SETTING_URI), eq(true), eq(mContentObserver))
- }
- }
-
- @Test
- fun unregisterContentObserverSync() {
+ fun unregisterContentObserver() {
mSettings.unregisterContentObserverSync(mContentObserver)
verify(mSettings.getContentResolver()).unregisterContentObserver(eq(mContentObserver))
}
@Test
- fun unregisterContentObserverSuspend_inputString_success() =
- testScope.runTest {
- mSettings.unregisterContentObserver(mContentObserver)
- verify(mSettings.getContentResolver()).unregisterContentObserver(eq(mContentObserver))
- }
-
- @Test
- fun unregisterContentObserverAsync_inputString_success() {
- mSettings.unregisterContentObserverAsync(mContentObserver)
- testScope.launch {
- verify(mSettings.getContentResolver()).unregisterContentObserver(eq(mContentObserver))
- }
- }
-
- @Test
fun getString_keyPresent_returnValidValue() {
mSettings.putString(TEST_SETTING, "test")
assertThat(mSettings.getString(TEST_SETTING)).isEqualTo("test")
@@ -313,15 +203,12 @@
private val mContentResolver = mock(ContentResolver::class.java)
private val settingToValueMap: MutableMap<String, String> = mutableMapOf()
- private val testDispatcher = StandardTestDispatcher()
override fun getContentResolver() = mContentResolver
override fun getUriFor(name: String) =
Uri.parse(StringBuilder().append("content://settings/").append(name).toString())
- override fun getBackgroundDispatcher() = testDispatcher
-
override fun getString(name: String): String {
return settingToValueMap[name] ?: ""
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt b/packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt
index 4cb5fa9..38469ee 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt
@@ -30,12 +30,6 @@
import com.android.systemui.settings.FakeUserTracker
import com.android.systemui.settings.UserTracker
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
import org.junit.Assert.assertThrows
import org.junit.Before
import org.junit.Test
@@ -53,7 +47,6 @@
private var mUserTracker = FakeUserTracker()
private var mSettings: UserSettingsProxy = FakeUserSettingsProxy(mUserTracker)
private var mContentObserver = object : ContentObserver(Handler(Looper.getMainLooper())) {}
- private lateinit var testScope: TestScope
@Before
fun setUp() {
@@ -61,9 +54,6 @@
listOf(UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_MAIN)),
selectedUserIndex = 0
)
- val testDispatcher = StandardTestDispatcher()
- testScope = TestScope(testDispatcher)
- Dispatchers.setMain(testDispatcher)
}
@Test
@@ -83,41 +73,6 @@
}
@Test
- fun registerContentObserverForUserSuspend_inputString_success() =
- testScope.runTest {
- mSettings.registerContentObserverForUser(
- TEST_SETTING,
- mContentObserver,
- mUserTracker.userId
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
-
- @Test
- fun registerContentObserverForUserAsync_inputString_success() {
- mSettings.registerContentObserverForUserAsync(
- TEST_SETTING,
- mContentObserver,
- mUserTracker.userId
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
- }
-
- @Test
fun registerContentObserverForUser_inputString_notifyForDescendants_true() {
mSettings.registerContentObserverForUserSync(
TEST_SETTING,
@@ -135,45 +90,6 @@
}
@Test
- fun registerContentObserverForUserSuspend_inputString_notifyForDescendants_true() =
- testScope.runTest {
- mSettings.registerContentObserverForUser(
- TEST_SETTING,
- notifyForDescendants = true,
- mContentObserver,
- mUserTracker.userId
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(
- true,
- ),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
-
- @Test
- fun registerContentObserverForUserAsync_inputString_notifyForDescendants_true() {
- mSettings.registerContentObserverForUserAsync(
- TEST_SETTING,
- notifyForDescendants = true,
- mContentObserver,
- mUserTracker.userId
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(true),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
- }
-
- @Test
fun registerContentObserverForUser_inputUri_success() {
mSettings.registerContentObserverForUserSync(
TEST_SETTING_URI,
@@ -190,41 +106,6 @@
}
@Test
- fun registerContentObserverForUserSuspend_inputUri_success() =
- testScope.runTest {
- mSettings.registerContentObserverForUser(
- TEST_SETTING_URI,
- mContentObserver,
- mUserTracker.userId
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
-
- @Test
- fun registerContentObserverForUserAsync_inputUri_success() {
- mSettings.registerContentObserverForUserAsync(
- TEST_SETTING_URI,
- mContentObserver,
- mUserTracker.userId
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
- }
-
- @Test
fun registerContentObserverForUser_inputUri_notifyForDescendants_true() {
mSettings.registerContentObserverForUserSync(
TEST_SETTING_URI,
@@ -242,45 +123,6 @@
}
@Test
- fun registerContentObserverForUserSuspend_inputUri_notifyForDescendants_true() =
- testScope.runTest {
- mSettings.registerContentObserverForUser(
- TEST_SETTING_URI,
- notifyForDescendants = true,
- mContentObserver,
- mUserTracker.userId
- )
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(
- true,
- ),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
-
- @Test
- fun registerContentObserverForUserAsync_inputUri_notifyForDescendants_true() {
- mSettings.registerContentObserverForUserAsync(
- TEST_SETTING_URI,
- notifyForDescendants = true,
- mContentObserver,
- mUserTracker.userId
- )
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(true),
- eq(mContentObserver),
- eq(MAIN_USER_ID)
- )
- }
- }
-
- @Test
fun registerContentObserver_inputUri_success() {
mSettings.registerContentObserverSync(TEST_SETTING_URI, mContentObserver)
verify(mSettings.getContentResolver())
@@ -288,33 +130,6 @@
}
@Test
- fun registerContentObserverSuspend_inputUri_success() =
- testScope.runTest {
- mSettings.registerContentObserver(TEST_SETTING_URI, mContentObserver)
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(0)
- )
- }
-
- @Test
- fun registerContentObserverAsync_inputUri_success() {
- mSettings.registerContentObserverAsync(TEST_SETTING_URI, mContentObserver)
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(0)
- )
- }
- }
-
- @Test
fun registerContentObserver_inputUri_notifyForDescendants_true() {
mSettings.registerContentObserverSync(
TEST_SETTING_URI,
@@ -326,33 +141,6 @@
}
@Test
- fun registerContentObserverSuspend_inputUri_notifyForDescendants_true() =
- testScope.runTest {
- mSettings.registerContentObserver(TEST_SETTING_URI, mContentObserver)
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(0)
- )
- }
-
- @Test
- fun registerContentObserverAsync_inputUri_notifyForDescendants_true() {
- mSettings.registerContentObserverAsync(TEST_SETTING_URI, mContentObserver)
- testScope.launch {
- verify(mSettings.getContentResolver())
- .registerContentObserver(
- eq(TEST_SETTING_URI),
- eq(false),
- eq(mContentObserver),
- eq(0)
- )
- }
- }
-
- @Test
fun getString_keyPresent_returnValidValue() {
mSettings.putString(TEST_SETTING, "test")
assertThat(mSettings.getString(TEST_SETTING)).isEqualTo("test")
@@ -517,15 +305,12 @@
private val mContentResolver = mock(ContentResolver::class.java)
private val userIdToSettingsValueMap: MutableMap<Int, MutableMap<String, String>> =
mutableMapOf()
- private val testDispatcher = StandardTestDispatcher()
override fun getContentResolver() = mContentResolver
override fun getUriFor(name: String) =
Uri.parse(StringBuilder().append(URI_PREFIX).append(name).toString())
- override fun getBackgroundDispatcher() = testDispatcher
-
override fun getStringForUser(name: String, userHandle: Int) =
userIdToSettingsValueMap[userHandle]?.get(name) ?: ""
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeGlobalSettings.java b/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeGlobalSettings.java
index 136b129..3a70cdf 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeGlobalSettings.java
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeGlobalSettings.java
@@ -22,8 +22,6 @@
import android.database.ContentObserver;
import android.net.Uri;
-import kotlinx.coroutines.CoroutineDispatcher;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -46,13 +44,6 @@
}
@Override
- public CoroutineDispatcher getBackgroundDispatcher() {
- throw new UnsupportedOperationException(
- "GlobalSettings.getBackgroundDispatcher is not implemented, but you may find "
- + "GlobalSettings.getBackgroundDispatcher helpful instead.");
- }
-
- @Override
public void registerContentObserverSync(Uri uri, boolean notifyDescendants,
ContentObserver settingsObserver) {
List<ContentObserver> observers;
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeSettings.java b/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeSettings.java
index 6cefa34..cd219ec 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeSettings.java
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/util/settings/FakeSettings.java
@@ -27,8 +27,6 @@
import com.android.systemui.settings.UserTracker;
-import kotlinx.coroutines.CoroutineDispatcher;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -68,11 +66,6 @@
}
@Override
- public CoroutineDispatcher getBackgroundDispatcher() {
- return null;
- }
-
- @Override
public void registerContentObserverForUserSync(Uri uri, boolean notifyDescendants,
ContentObserver settingsObserver, int userHandle) {
List<ContentObserver> observers;