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); CarSettings.Secure.KEY_SETUP_WIZARD_IN_PROGRESS);
private final ContentObserver mCarSettingsObserver = new ContentObserver( private final ContentObserver mCarSettingsObserver = new ContentObserver(
Dependency.get(Dependency.MAIN_HANDLER)) { Dependency.get(Dependency.MAIN_HANDLER)) {
@Override @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)) { if (USER_SETUP_IN_PROGRESS_URI.equals(uri)) {
notifyUserSetupInProgressChanged(); notifyUserSetupInProgressChanged();
} }

View File

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

View File

@@ -261,7 +261,7 @@ public class DozeSensors {
private final ContentObserver mSettingsObserver = new ContentObserver(mHandler) { private final ContentObserver mSettingsObserver = new ContentObserver(mHandler) {
@Override @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()) { if (userId != ActivityManager.getCurrentUser()) {
return; return;
} }

View File

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

View File

@@ -59,7 +59,7 @@ public class DeviceProvisionedControllerImpl extends CurrentUserTracker implemen
mUserSetupUri = Secure.getUriFor(Secure.USER_SETUP_COMPLETE); mUserSetupUri = Secure.getUriFor(Secure.USER_SETUP_COMPLETE);
mSettingsObserver = new ContentObserver(mainHandler) { mSettingsObserver = new ContentObserver(mainHandler) {
@Override @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); Log.d(TAG, "Setting change: " + uri);
if (mUserSetupUri.equals(uri)) { if (mUserSetupUri.equals(uri)) {
notifySetupChanged(); notifySetupChanged();

View File

@@ -99,8 +99,10 @@ public class ThemeOverlayController extends SystemUI {
Settings.Secure.getUriFor(Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES), Settings.Secure.getUriFor(Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES),
false, false,
new ContentObserver(mBgHandler) { new ContentObserver(mBgHandler) {
@Override @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 (DEBUG) Log.d(TAG, "Overlay changed for user: " + userId);
if (ActivityManager.getCurrentUser() == userId) { if (ActivityManager.getCurrentUser() == userId) {
updateThemeOverlays(); updateThemeOverlays();

View File

@@ -262,10 +262,13 @@ public class TunerServiceImpl extends TunerService {
} }
@Override @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()) { if (userId == ActivityManager.getCurrentUser()) {
reloadSetting(uri); for (Uri u : uris) {
reloadSetting(u);
}
} }
} }
} }
} }

View File

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