diff options
author | Behnam Heydarshahi <bhnm@google.com> | 2023-01-25 20:53:53 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-01-28 02:56:48 +0000 |
commit | 69cf0a56f421e7115ec03ff57f0d10405fd73203 (patch) | |
tree | e53b1636c851c213c5306a841d6434bdffa0c4f6 | |
parent | cbd27dc9e6fb55df8f4a3b61efd5dca2a7503b3e (diff) | |
download | base-69cf0a56f421e7115ec03ff57f0d10405fd73203.tar.gz |
DO NOT MERGE ANYWHERE
Revert "Add flag to separate notification audio and ui"
Revert submission 20180104-flag_for_b38477228
Reason for revert: b/261809910 fixing for qpr2
Reverted changes: /q/submissionid:20180104-flag_for_b38477228
Include only in tm-qpr2-release because fix forward is already submitted to tm-qpr-deb at ag/20806122
Change-Id: I35549d7b7b41632c857bdbdda02ddb7220208243
(cherry picked from commit 9fcce567af715a80929a4bbbdfdffa3410ae0d8e)
Merged-In: I35549d7b7b41632c857bdbdda02ddb7220208243
5 files changed, 14 insertions, 47 deletions
diff --git a/core/java/android/preference/SeekBarVolumizer.java b/core/java/android/preference/SeekBarVolumizer.java index 36e0dc35cb8e..16f9a12953f8 100644 --- a/core/java/android/preference/SeekBarVolumizer.java +++ b/core/java/android/preference/SeekBarVolumizer.java @@ -16,9 +16,7 @@ package android.preference; -import android.Manifest; import android.annotation.NonNull; -import android.annotation.RequiresPermission; import android.app.NotificationManager; import android.compat.annotation.UnsupportedAppUsage; import android.content.BroadcastReceiver; @@ -37,7 +35,6 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.preference.VolumePreference.VolumeStore; -import android.provider.DeviceConfig; import android.provider.Settings; import android.provider.Settings.Global; import android.provider.Settings.System; @@ -47,7 +44,6 @@ import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import com.android.internal.annotations.GuardedBy; -import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import com.android.internal.os.SomeArgs; import java.util.concurrent.TimeUnit; @@ -119,6 +115,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba private final int mMaxStreamVolume; private boolean mAffectedByRingerMode; private boolean mNotificationOrRing; + private final boolean mNotifAliasRing; private final Receiver mReceiver = new Receiver(); private Handler mHandler; @@ -161,7 +158,6 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba this(context, streamType, defaultUri, callback, true /* playSample */); } - @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public SeekBarVolumizer( Context context, int streamType, @@ -184,6 +180,8 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba if (mNotificationOrRing) { mRingerMode = mAudioManager.getRingerModeInternal(); } + mNotifAliasRing = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_alias_ring_notif_stream_types); mZenMode = mNotificationManager.getZenMode(); if (hasAudioProductStrategies()) { @@ -290,9 +288,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba * so that when user attempts to slide the notification seekbar out of vibrate the * seekbar doesn't wrongly snap back to 0 when the streams aren't aliased */ - if (!DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, - SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, false) - || mStreamType == AudioManager.STREAM_RING + if (mNotifAliasRing || mStreamType == AudioManager.STREAM_RING || (mStreamType == AudioManager.STREAM_NOTIFICATION && mMuted)) { mSeekBar.setProgress(0, true); } @@ -369,9 +365,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba // set the time of stop volume if ((mStreamType == AudioManager.STREAM_VOICE_CALL || mStreamType == AudioManager.STREAM_RING - || (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, - SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, false) - && mStreamType == AudioManager.STREAM_NOTIFICATION) + || (!mNotifAliasRing && mStreamType == AudioManager.STREAM_NOTIFICATION) || mStreamType == AudioManager.STREAM_ALARM)) { sStopVolumeTime = java.lang.System.currentTimeMillis(); } @@ -649,10 +643,8 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba } private void updateVolumeSlider(int streamType, int streamValue) { - final boolean streamMatch = !DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, - SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, false) - && mNotificationOrRing ? isNotificationOrRing(streamType) : - streamType == mStreamType; + final boolean streamMatch = mNotifAliasRing && mNotificationOrRing + ? isNotificationOrRing(streamType) : streamType == mStreamType; if (mSeekBar != null && streamMatch && streamValue != -1) { final boolean muted = mAudioManager.isStreamMute(mStreamType) || streamValue == 0; diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java index 4f7f8ba2b45c..b916878ff461 100644 --- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java +++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java @@ -562,11 +562,6 @@ public final class SystemUiDeviceConfigFlags { "task_manager_show_user_visible_jobs"; /** - * (boolean) Whether to show notification volume control slider separate from ring. - */ - public static final String VOLUME_SEPARATE_NOTIFICATION = "volume_separate_notification"; - - /** * (boolean) Whether the clipboard overlay is enabled. */ public static final String CLIPBOARD_OVERLAY_ENABLED = "clipboard_overlay_enabled"; diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 2f5efd12a2ba..11629cb91b00 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2074,6 +2074,10 @@ STREAM_MUSIC as if it's on TV platform. --> <bool name="config_single_volume">false</bool> + <!-- Flag indicating whether notification and ringtone volumes + are controlled together (aliasing is true) or not. --> + <bool name="config_alias_ring_notif_stream_types">true</bool> + <!-- The number of volume steps for the notification stream --> <integer name="config_audio_notif_vol_steps">7</integer> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 41281fa0d40f..cdf625c03abd 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -278,6 +278,7 @@ <java-symbol type="attr" name="autofillSaveCustomSubtitleMaxHeight"/> <java-symbol type="bool" name="action_bar_embed_tabs" /> <java-symbol type="bool" name="action_bar_expanded_action_views_exclusive" /> + <java-symbol type="bool" name="config_alias_ring_notif_stream_types" /> <java-symbol type="integer" name="config_audio_notif_vol_default" /> <java-symbol type="integer" name="config_audio_notif_vol_steps" /> <java-symbol type="integer" name="config_audio_ring_vol_default" /> diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index c804ef2cf8b4..96395c89af91 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -41,7 +41,6 @@ import android.annotation.SuppressLint; import android.annotation.UserIdInt; import android.app.ActivityManager; import android.app.ActivityManagerInternal; -import android.app.ActivityThread; import android.app.AlarmManager; import android.app.AppGlobals; import android.app.AppOpsManager; @@ -153,7 +152,6 @@ import android.os.VibrationAttributes; import android.os.VibrationEffect; import android.os.Vibrator; import android.os.VibratorManager; -import android.provider.DeviceConfig; import android.provider.Settings; import android.provider.Settings.System; import android.service.notification.ZenModeConfig; @@ -175,7 +173,6 @@ import android.widget.Toast; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.server.EventLogTags; @@ -234,7 +231,6 @@ public class AudioService extends IAudioService.Stub AudioSystemAdapter.OnVolRangeInitRequestListener { private static final String TAG = "AS.AudioService"; - private static final boolean CONFIG_DEFAULT_VAL = false; private final AudioSystemAdapter mAudioSystem; private final SystemServerAdapter mSystemServer; @@ -989,7 +985,6 @@ public class AudioService extends IAudioService.Stub * @param looper Looper to use for the service's message handler. If this is null, an * {@link AudioSystemThread} is created as the messaging thread instead. */ - @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public AudioService(Context context, AudioSystemAdapter audioSystem, SystemServerAdapter systemServer, SettingsAdapter settings, @Nullable Looper looper, AppOpsManager appOps) { @@ -1029,12 +1024,8 @@ public class AudioService extends IAudioService.Stub mUseVolumeGroupAliases = mContext.getResources().getBoolean( com.android.internal.R.bool.config_handleVolumeAliasesUsingVolumeGroups); - mNotifAliasRing = !DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, - SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, false); - - DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI, - ActivityThread.currentApplication().getMainExecutor(), - this::onDeviceConfigChange); + mNotifAliasRing = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_alias_ring_notif_stream_types); // Initialize volume // Priority 1 - Android Property @@ -1253,22 +1244,6 @@ public class AudioService extends IAudioService.Stub } /** - * Separating notification volume from ring is NOT of aliasing the corresponding streams - * @param properties - */ - private void onDeviceConfigChange(DeviceConfig.Properties properties) { - Set<String> changeSet = properties.getKeyset(); - if (changeSet.contains(SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION)) { - boolean newNotifAliasRing = !properties.getBoolean( - SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, CONFIG_DEFAULT_VAL); - if (mNotifAliasRing != newNotifAliasRing) { - mNotifAliasRing = newNotifAliasRing; - updateStreamVolumeAlias(true, TAG); - } - } - } - - /** * Called by handling of MSG_INIT_STREAMS_VOLUMES */ private void onInitStreamsAndVolumes() { |