Loading AndroidManifest.xml +5 −0 Original line number Diff line number Diff line Loading @@ -3258,6 +3258,11 @@ android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true" /> <receiver android:name=".slices.VolumeSliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true" /> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send PendingIntent to it--> <receiver android:name=".fuelgauge.batterytip.AnomalyDetectionReceiver" Loading src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public abstract class AdjustVolumeRestrictedPreferenceController extends filter.addAction(AudioManager.VOLUME_CHANGED_ACTION); filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION); filter.addAction(AudioManager.MASTER_MUTE_CHANGED_ACTION); filter.addAction(AudioManager.STREAM_DEVICES_CHANGED_ACTION); return filter; } } src/com/android/settings/notification/VolumeSeekBarPreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,10 @@ public abstract class VolumeSeekBarPreferenceController extends return mHelper.getMinVolume(getAudioStream()); } protected abstract int getAudioStream(); /** * @return the audio stream type */ public abstract int getAudioStream(); protected abstract int getMuteIcon(); Loading src/com/android/settings/slices/CustomSliceRegistry.java +10 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,16 @@ public class CustomSliceRegistry { .appendPath("ring_volume") .build(); /** * Full {@link Uri} for the all volume Slices. */ public static final Uri VOLUME_SLICES_URI = new Uri.Builder() .scheme(ContentResolver.SCHEME_CONTENT) .authority(SettingsSliceProvider.SLICE_AUTHORITY) .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath("volume_slices") .build(); /** * Full {@link Uri} for the Wifi Calling Slice. */ Loading src/com/android/settings/slices/SettingsSliceProvider.java +12 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.bluetooth.BluetoothSliceBuilder; import com.android.settings.core.BasePreferenceController; import com.android.settings.notification.VolumeSeekBarPreferenceController; import com.android.settings.notification.zen.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.SliceBroadcastRelay; Loading Loading @@ -184,7 +185,10 @@ public class SettingsSliceProvider extends SliceProvider { @Override public void onSliceUnpinned(Uri sliceUri) { SliceBroadcastRelay.unregisterReceivers(getContext(), sliceUri); final Context context = getContext(); if (!VolumeSliceHelper.unregisterUri(context, sliceUri)) { SliceBroadcastRelay.unregisterReceivers(context, sliceUri); } ThreadUtils.postOnMainThread(() -> stopBackgroundWorker(sliceUri)); } Loading Loading @@ -390,8 +394,14 @@ public class SettingsSliceProvider extends SliceProvider { final IntentFilter filter = controller.getIntentFilter(); if (filter != null) { if (controller instanceof VolumeSeekBarPreferenceController) { // Register volume slices to a broadcast relay to reduce unnecessary UI updates VolumeSliceHelper.registerIntentToUri(getContext(), filter, uri, ((VolumeSeekBarPreferenceController) controller).getAudioStream()); } else { registerIntentToUri(filter, uri); } } ThreadUtils.postOnMainThread(() -> startBackgroundWorker(controller, uri)); Loading Loading
AndroidManifest.xml +5 −0 Original line number Diff line number Diff line Loading @@ -3258,6 +3258,11 @@ android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true" /> <receiver android:name=".slices.VolumeSliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true" /> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send PendingIntent to it--> <receiver android:name=".fuelgauge.batterytip.AnomalyDetectionReceiver" Loading
src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public abstract class AdjustVolumeRestrictedPreferenceController extends filter.addAction(AudioManager.VOLUME_CHANGED_ACTION); filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION); filter.addAction(AudioManager.MASTER_MUTE_CHANGED_ACTION); filter.addAction(AudioManager.STREAM_DEVICES_CHANGED_ACTION); return filter; } }
src/com/android/settings/notification/VolumeSeekBarPreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,10 @@ public abstract class VolumeSeekBarPreferenceController extends return mHelper.getMinVolume(getAudioStream()); } protected abstract int getAudioStream(); /** * @return the audio stream type */ public abstract int getAudioStream(); protected abstract int getMuteIcon(); Loading
src/com/android/settings/slices/CustomSliceRegistry.java +10 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,16 @@ public class CustomSliceRegistry { .appendPath("ring_volume") .build(); /** * Full {@link Uri} for the all volume Slices. */ public static final Uri VOLUME_SLICES_URI = new Uri.Builder() .scheme(ContentResolver.SCHEME_CONTENT) .authority(SettingsSliceProvider.SLICE_AUTHORITY) .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath("volume_slices") .build(); /** * Full {@link Uri} for the Wifi Calling Slice. */ Loading
src/com/android/settings/slices/SettingsSliceProvider.java +12 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.bluetooth.BluetoothSliceBuilder; import com.android.settings.core.BasePreferenceController; import com.android.settings.notification.VolumeSeekBarPreferenceController; import com.android.settings.notification.zen.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.SliceBroadcastRelay; Loading Loading @@ -184,7 +185,10 @@ public class SettingsSliceProvider extends SliceProvider { @Override public void onSliceUnpinned(Uri sliceUri) { SliceBroadcastRelay.unregisterReceivers(getContext(), sliceUri); final Context context = getContext(); if (!VolumeSliceHelper.unregisterUri(context, sliceUri)) { SliceBroadcastRelay.unregisterReceivers(context, sliceUri); } ThreadUtils.postOnMainThread(() -> stopBackgroundWorker(sliceUri)); } Loading Loading @@ -390,8 +394,14 @@ public class SettingsSliceProvider extends SliceProvider { final IntentFilter filter = controller.getIntentFilter(); if (filter != null) { if (controller instanceof VolumeSeekBarPreferenceController) { // Register volume slices to a broadcast relay to reduce unnecessary UI updates VolumeSliceHelper.registerIntentToUri(getContext(), filter, uri, ((VolumeSeekBarPreferenceController) controller).getAudioStream()); } else { registerIntentToUri(filter, uri); } } ThreadUtils.postOnMainThread(() -> startBackgroundWorker(controller, uri)); Loading