Loading packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java +1 −13 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -52,11 +45,6 @@ class GlobalSettingsImpl implements GlobalSettings { return Settings.Global.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgDispatcher; } @Override public String getString(String name) { return Settings.Global.getString(mContentResolver, name); Loading packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java +1 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -57,11 +51,6 @@ class SecureSettingsImpl implements SecureSettings { return Settings.Secure.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgDispatcher; } @Override public String getStringForUser(String name, int userHandle) { return Settings.Secure.getStringForUser(mContentResolver, name, Loading packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt +0 −135 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -43,12 +39,6 @@ interface SettingsProxy { /** Returns the [ContentResolver] this instance was constructed with. */ 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. Loading @@ -67,54 +57,10 @@ 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) /** * 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].' * Loading @@ -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, Loading @@ -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" }) { Loading @@ -205,27 +91,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. * Loading packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java +1 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -57,11 +51,6 @@ class SystemSettingsImpl implements SystemSettings { return Settings.System.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgCoroutineDispatcher; } @Override public String getStringForUser(String name, int userHandle) { return Settings.System.getStringForUser(mContentResolver, name, Loading packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt +0 −182 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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, Loading @@ -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] * Loading @@ -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, Loading @@ -164,36 +97,6 @@ interface UserSettingsProxy : SettingsProxy { registerContentObserverForUserSync(uri, false, 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( 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] * Loading @@ -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, Loading @@ -275,48 +135,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. * Loading Loading
packages/SystemUI/src/com/android/systemui/util/settings/GlobalSettingsImpl.java +1 −13 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -52,11 +45,6 @@ class GlobalSettingsImpl implements GlobalSettings { return Settings.Global.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgDispatcher; } @Override public String getString(String name) { return Settings.Global.getString(mContentResolver, name); Loading
packages/SystemUI/src/com/android/systemui/util/settings/SecureSettingsImpl.java +1 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -57,11 +51,6 @@ class SecureSettingsImpl implements SecureSettings { return Settings.Secure.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgDispatcher; } @Override public String getStringForUser(String name, int userHandle) { return Settings.Secure.getStringForUser(mContentResolver, name, Loading
packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt +0 −135 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -43,12 +39,6 @@ interface SettingsProxy { /** Returns the [ContentResolver] this instance was constructed with. */ 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. Loading @@ -67,54 +57,10 @@ 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) /** * 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].' * Loading @@ -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, Loading @@ -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" }) { Loading @@ -205,27 +91,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. * Loading
packages/SystemUI/src/com/android/systemui/util/settings/SystemSettingsImpl.java +1 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -57,11 +51,6 @@ class SystemSettingsImpl implements SystemSettings { return Settings.System.getUriFor(name); } @Override public CoroutineDispatcher getBackgroundDispatcher() { return mBgCoroutineDispatcher; } @Override public String getStringForUser(String name, int userHandle) { return Settings.System.getStringForUser(mContentResolver, name, Loading
packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt +0 −182 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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, Loading @@ -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] * Loading @@ -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, Loading @@ -164,36 +97,6 @@ interface UserSettingsProxy : SettingsProxy { registerContentObserverForUserSync(uri, false, 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( 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] * Loading @@ -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, Loading @@ -275,48 +135,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. * Loading