Merge "Fix Maps PIP issue: DeviceConfig permission denial" into tm-qpr-dev
diff --git a/src/com/android/settings/notification/NotificationVolumePreferenceController.java b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
index c7e7307..b6f7435 100644
--- a/src/com/android/settings/notification/NotificationVolumePreferenceController.java
+++ b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
@@ -23,6 +23,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
+import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -109,9 +110,9 @@
public void onResume() {
super.onResume();
mReceiver.register(true);
- DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
- ActivityThread.currentApplication().getMainExecutor(),
- this::onDeviceConfigChange);
+ Binder.withCleanCallingIdentity(()
+ -> DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
+ ActivityThread.currentApplication().getMainExecutor(), this::onDeviceConfigChange));
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
@@ -119,7 +120,8 @@
public void onPause() {
super.onPause();
mReceiver.register(false);
- DeviceConfig.removeOnPropertiesChangedListener(this::onDeviceConfigChange);
+ Binder.withCleanCallingIdentity(() ->
+ DeviceConfig.removeOnPropertiesChangedListener(this::onDeviceConfigChange));
}
@Override
diff --git a/src/com/android/settings/notification/RingVolumePreferenceController.java b/src/com/android/settings/notification/RingVolumePreferenceController.java
index 1399e71..76254b9 100644
--- a/src/com/android/settings/notification/RingVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingVolumePreferenceController.java
@@ -23,6 +23,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
+import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -85,8 +86,9 @@
super.onResume();
mReceiver.register(true);
readSeparateNotificationVolumeConfig();
- DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
- ActivityThread.currentApplication().getMainExecutor(), this::onDeviceConfigChange);
+ Binder.withCleanCallingIdentity(()
+ -> DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
+ ActivityThread.currentApplication().getMainExecutor(), this::onDeviceConfigChange));
updateEffectsSuppressor();
selectPreferenceIconState();
@@ -100,7 +102,8 @@
public void onPause() {
super.onPause();
mReceiver.register(false);
- DeviceConfig.removeOnPropertiesChangedListener(this::onDeviceConfigChange);
+ Binder.withCleanCallingIdentity(() ->
+ DeviceConfig.removeOnPropertiesChangedListener(this::onDeviceConfigChange));
}
@Override
@@ -124,7 +127,6 @@
@Override
protected boolean hintsMatch(int hints) {
boolean notificationSeparated = isSeparateNotificationConfigEnabled();
-
return (hints & NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS) != 0
|| (hints & NotificationListenerService.HINT_HOST_DISABLE_EFFECTS) != 0
|| ((hints & NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS)
diff --git a/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java b/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
index e792d53..255fe2f 100644
--- a/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
@@ -21,6 +21,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.media.AudioManager;
+import android.os.Binder;
import android.os.ServiceManager;
import android.os.Vibrator;
import android.provider.DeviceConfig;
@@ -118,9 +119,10 @@
}
protected boolean isSeparateNotificationConfigEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
+ return Binder.withCleanCallingIdentity(()
+ -> DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION,
- CONFIG_SEPARATE_NOTIFICATION_DEFAULT_VAL);
+ CONFIG_SEPARATE_NOTIFICATION_DEFAULT_VAL));
}
/**