Merge "Fix instances of ContentObserver#onChange in SystemUI" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-07 01:04:08 +00:00
committed by Android (Google) Code Review
8 changed files with 24 additions and 13 deletions

View File

@@ -44,8 +44,9 @@ public class CarDeviceProvisionedControllerImpl extends DeviceProvisionedControl
CarSettings.Secure.KEY_SETUP_WIZARD_IN_PROGRESS);
private final ContentObserver mCarSettingsObserver = new ContentObserver(
Dependency.get(Dependency.MAIN_HANDLER)) {
@Override
public void onChange(boolean selfChange, Uri uri, int userId) {
public void onChange(boolean selfChange, Uri uri, int flags) {
if (USER_SETUP_IN_PROGRESS_URI.equals(uri)) {
notifyUserSetupInProgressChanged();
}

View File

@@ -125,14 +125,19 @@ class ControlsControllerImpl @Inject constructor (
@VisibleForTesting
internal val settingObserver = object : ContentObserver(null) {
override fun onChange(selfChange: Boolean, uri: Uri, userId: Int) {
override fun onChange(
selfChange: Boolean,
uris: MutableIterable<Uri>,
flags: Int,
userId: Int
) {
// Do not listen to changes in the middle of user change, those will be read by the
// user-switch receiver.
if (userChanging || userId != currentUserId) {
return
}
available = Settings.Secure.getIntForUser(contentResolver, CONTROLS_AVAILABLE,
DEFAULT_ENABLED, currentUserId) != 0
DEFAULT_ENABLED, currentUserId) != 0
resetFavorites(available)
}
}

View File

@@ -261,7 +261,7 @@ public class DozeSensors {
private final ContentObserver mSettingsObserver = new ContentObserver(mHandler) {
@Override
public void onChange(boolean selfChange, Uri uri, int userId) {
public void onChange(boolean selfChange, Iterable<Uri> uris, int flags, int userId) {
if (userId != ActivityManager.getCurrentUser()) {
return;
}

View File

@@ -164,8 +164,8 @@ class PeopleHubSettingChangeDataSourceImpl @Inject constructor(
// Immediately report current value of setting
updateListener(listener)
val observer = object : ContentObserver(handler) {
override fun onChange(selfChange: Boolean, uri: Uri?, userId: Int) {
super.onChange(selfChange, uri, userId)
override fun onChange(selfChange: Boolean, uri: Uri?, flags: Int) {
super.onChange(selfChange, uri, flags)
updateListener(listener)
}
}

View File

@@ -59,7 +59,7 @@ public class DeviceProvisionedControllerImpl extends CurrentUserTracker implemen
mUserSetupUri = Secure.getUriFor(Secure.USER_SETUP_COMPLETE);
mSettingsObserver = new ContentObserver(mainHandler) {
@Override
public void onChange(boolean selfChange, Uri uri, int userId) {
public void onChange(boolean selfChange, Uri uri, int flags) {
Log.d(TAG, "Setting change: " + uri);
if (mUserSetupUri.equals(uri)) {
notifySetupChanged();

View File

@@ -99,8 +99,10 @@ public class ThemeOverlayController extends SystemUI {
Settings.Secure.getUriFor(Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES),
false,
new ContentObserver(mBgHandler) {
@Override
public void onChange(boolean selfChange, Uri uri, int userId) {
public void onChange(boolean selfChange, Iterable<Uri> uris, int flags,
int userId) {
if (DEBUG) Log.d(TAG, "Overlay changed for user: " + userId);
if (ActivityManager.getCurrentUser() == userId) {
updateThemeOverlays();

View File

@@ -262,10 +262,13 @@ public class TunerServiceImpl extends TunerService {
}
@Override
public void onChange(boolean selfChange, Uri uri, int userId) {
public void onChange(boolean selfChange, Iterable<Uri> uris, int flags, int userId) {
if (userId == ActivityManager.getCurrentUser()) {
reloadSetting(uri);
for (Uri u : uris) {
reloadSetting(u);
}
}
}
}
}

View File

@@ -408,7 +408,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
fun testDisableFeature_notAvailable() {
Settings.Secure.putIntForUser(mContext.contentResolver,
ControlsControllerImpl.CONTROLS_AVAILABLE, 0, user)
controller.settingObserver.onChange(false, ControlsControllerImpl.URI, 0)
controller.settingObserver.onChange(false, listOf(ControlsControllerImpl.URI), 0, 0)
assertFalse(controller.available)
}
@@ -421,7 +421,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
Settings.Secure.putIntForUser(mContext.contentResolver,
ControlsControllerImpl.CONTROLS_AVAILABLE, 0, user)
controller.settingObserver.onChange(false, ControlsControllerImpl.URI, user)
controller.settingObserver.onChange(false, listOf(ControlsControllerImpl.URI), 0, user)
assertTrue(controller.getFavorites().isEmpty())
}
@@ -432,7 +432,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
Settings.Secure.putIntForUser(mContext.contentResolver,
ControlsControllerImpl.CONTROLS_AVAILABLE, 0, otherUser)
controller.settingObserver.onChange(false, ControlsControllerImpl.URI, otherUser)
controller.settingObserver.onChange(false, listOf(ControlsControllerImpl.URI), 0, otherUser)
assertTrue(controller.available)
assertFalse(controller.getFavorites().isEmpty())