diff options
9 files changed, 4 insertions, 699 deletions
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 4438763aa765..42389f0ae627 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.content.ContentResolver; 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 @@ class GlobalSettingsImpl implements GlobalSettings { } @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 38ad5d0d0cab..6532ce8ddf7d 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 android.provider.Settings; 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 @@ class SecureSettingsImpl implements SecureSettings { } @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 8f5f4bb6b1d0..d92127cf97cb 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.database.ContentObserver 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 @@ interface SettingsProxy { 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 @@ interface SettingsProxy { 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 @@ interface SettingsProxy { /** * 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 @@ interface SettingsProxy { 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 @@ interface SettingsProxy { } } - /** - * 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 @@ interface SettingsProxy { } /** - * 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 68cc753bc48a..658b2992bfad 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 android.provider.Settings; 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 @@ class SystemSettingsImpl implements SystemSettings { } @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 9133fbbc1796..ed65f1ae1667 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.parseFloat 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 @@ interface UserSettingsProxy : SettingsProxy { 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 @@ interface UserSettingsProxy : SettingsProxy { 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 @@ interface UserSettingsProxy : SettingsProxy { 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 @@ interface UserSettingsProxy : SettingsProxy { } /** - * 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 @@ interface UserSettingsProxy : SettingsProxy { ) } - /** - * 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 @@ interface UserSettingsProxy : SettingsProxy { } /** - * 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 92dd391e71d6..eb11e383d519 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 android.testing.TestableLooper 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 @@ import org.mockito.kotlin.eq @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 @@ class SettingsProxyTest : SysuiTestCase() { } @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 @@ class SettingsProxyTest : SysuiTestCase() { } @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 @@ class SettingsProxyTest : SysuiTestCase() { } @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 @@ class SettingsProxyTest : SysuiTestCase() { } @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 @@ class SettingsProxyTest : SysuiTestCase() { 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 4cb5fa9d92ef..38469ee7955d 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.SysuiTestCase 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 @@ class UserSettingsProxyTest : SysuiTestCase() { 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 @@ class UserSettingsProxyTest : SysuiTestCase() { 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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { } @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 @@ class UserSettingsProxyTest : SysuiTestCase() { 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 136b1296e921..3a70cdfc42ed 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.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; @@ -46,13 +44,6 @@ public class FakeGlobalSettings implements GlobalSettings { } @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 6cefa34284c9..cd219ec127fc 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 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; @@ -68,11 +66,6 @@ public class FakeSettings implements SecureSettings, SystemSettings { } @Override - public CoroutineDispatcher getBackgroundDispatcher() { - return null; - } - - @Override public void registerContentObserverForUserSync(Uri uri, boolean notifyDescendants, ContentObserver settingsObserver, int userHandle) { List<ContentObserver> observers; |