summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/drawable/ic_bluetooth_audio.xml24
-rw-r--r--packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml4
-rw-r--r--packages/SystemUI/res/layout-land-television/volume_dialog.xml2
-rw-r--r--packages/SystemUI/res/layout-land/volume_dialog.xml67
-rw-r--r--packages/SystemUI/res/layout/volume_dialog.xml66
-rw-r--r--packages/SystemUI/res/values/dimens.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java445
-rw-r--r--packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml4
-rw-r--r--packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml4
-rw-r--r--packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml4
10 files changed, 180 insertions, 442 deletions
diff --git a/packages/SystemUI/res/drawable/ic_bluetooth_audio.xml b/packages/SystemUI/res/drawable/ic_bluetooth_audio.xml
deleted file mode 100644
index 143259d690bb..000000000000
--- a/packages/SystemUI/res/drawable/ic_bluetooth_audio.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- Copyright (C) 2020 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="24.0dp"
- android:width="24.0dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M12.88,16.29L11,18.17V14.41M11,5.83L12.88,7.71L11,9.58M15.71,7.71L10,2H9V9.58L4.41,5L3,6.41L8.59,12L3,17.58L4.41,19L9,14.41V22H10L15.71,16.29L11.41,12M19.53,6.71L18.26,8C18.89,9.18 19.25,10.55 19.25,12C19.25,13.45 18.89,14.82 18.26,16L19.46,17.22C20.43,15.68 21,13.87 21,11.91C21,10 20.46,8.23 19.53,6.71M14.24,12L16.56,14.33C16.84,13.6 17,12.82 17,12C17,11.18 16.84,10.4 16.57,9.68L14.24,12Z" />
-</vector>
diff --git a/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml b/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml
index 27028a74a2ed..314e06cc93b0 100644
--- a/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml
+++ b/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="24dp"
- android:width="24dp"
+ android:height="19dp"
+ android:width="19dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
diff --git a/packages/SystemUI/res/layout-land-television/volume_dialog.xml b/packages/SystemUI/res/layout-land-television/volume_dialog.xml
index cd43ca8d85e0..e0d158d757b3 100644
--- a/packages/SystemUI/res/layout-land-television/volume_dialog.xml
+++ b/packages/SystemUI/res/layout-land-television/volume_dialog.xml
@@ -29,7 +29,7 @@
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@android:color/transparent"
- android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_horizontal"
+ android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_right"
android:paddingTop="@dimen/volume_dialog_panel_transparent_padding"
android:paddingBottom="@dimen/volume_dialog_panel_transparent_padding"
android:paddingLeft="@dimen/volume_dialog_panel_transparent_padding"
diff --git a/packages/SystemUI/res/layout-land/volume_dialog.xml b/packages/SystemUI/res/layout-land/volume_dialog.xml
index d23688dec69f..5da7819c3d76 100644
--- a/packages/SystemUI/res/layout-land/volume_dialog.xml
+++ b/packages/SystemUI/res/layout-land/volume_dialog.xml
@@ -27,15 +27,15 @@
<FrameLayout
android:id="@+id/volume_dialog"
android:minWidth="@dimen/volume_dialog_panel_width"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_gravity="right"
android:background="@android:color/transparent"
- android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_horizontal"
+ android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_right"
android:paddingTop="@dimen/volume_dialog_panel_transparent_padding"
android:paddingBottom="@dimen/volume_dialog_panel_transparent_padding"
- android:paddingLeft="@dimen/volume_dialog_panel_transparent_padding_horizontal"
+ android:paddingLeft="@dimen/volume_dialog_panel_transparent_padding"
android:clipToPadding="false">
<FrameLayout
@@ -43,6 +43,8 @@
android:layout_width="@dimen/volume_dialog_ringer_size"
android:layout_height="@dimen/volume_dialog_ringer_size"
android:layout_marginBottom="@dimen/volume_dialog_spacer"
+ android:gravity="right"
+ android:layout_gravity="right"
android:translationZ="@dimen/volume_dialog_elevation"
android:clipToPadding="false"
android:background="@drawable/rounded_bg_full">
@@ -71,6 +73,8 @@
android:minWidth="@dimen/volume_dialog_panel_width"
android:layout_height="wrap_content"
android:layout_marginTop="68dp"
+ android:gravity="right"
+ android:layout_gravity="right"
android:orientation="vertical"
android:translationZ="@dimen/volume_dialog_elevation"
android:clipChildren="false"
@@ -87,56 +91,31 @@
android:paddingLeft="@dimen/volume_dialog_stream_padding">
<!-- volume rows added and removed here! :-) -->
</LinearLayout>
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?android:attr/listDivider"/>
- <LinearLayout
+ <FrameLayout
+ android:id="@+id/settings_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal" >
- <FrameLayout
- android:id="@+id/expandable_indicator_container"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1">
- <com.android.systemui.statusbar.phone.ExpandableIndicator
- android:id="@+id/expandable_indicator"
- android:layout_width="@dimen/volume_dialog_tap_target_size"
- android:layout_height="@dimen/volume_dialog_tap_target_size"
- android:layout_marginRight="8dp"
- android:layout_marginLeft="8dp"
- android:contentDescription="@string/accessibility_volume_expand"
- android:background="@drawable/ripple_drawable_20dp"
- android:tint="@color/accent_tint_color_selector"
- android:soundEffectsEnabled="false"
- android:padding="14dp" />
- </FrameLayout>
- <FrameLayout
- android:id="@+id/media_output_container"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <com.android.keyguard.AlphaOptimizedImageButton
- android:id="@+id/media_output"
- android:src="@drawable/ic_bluetooth_audio"
- android:layout_width="@dimen/volume_dialog_tap_target_size"
- android:layout_height="@dimen/volume_dialog_tap_target_size"
- android:layout_marginRight="8dp"
- android:layout_marginLeft="8dp"
- android:contentDescription="@string/accessibility_volume_settings"
- android:background="@drawable/ripple_drawable_20dp"
- android:tint="@color/accent_tint_color_selector"
- android:soundEffectsEnabled="false" />
- </FrameLayout>
- </LinearLayout>
+ android:background="@drawable/rounded_bg_bottom_background">
+ <com.android.keyguard.AlphaOptimizedImageButton
+ android:id="@+id/settings"
+ android:src="@drawable/ic_tune_black_16dp"
+ android:layout_width="@dimen/volume_dialog_tap_target_size"
+ android:layout_height="@dimen/volume_dialog_tap_target_size"
+ android:layout_gravity="center"
+ android:contentDescription="@string/accessibility_volume_settings"
+ android:background="@drawable/ripple_drawable_20dp"
+ android:tint="?android:attr/textColorSecondary"
+ android:soundEffectsEnabled="false" />
+ </FrameLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/odi_captions"
android:layout_width="@dimen/volume_dialog_caption_size"
android:layout_height="@dimen/volume_dialog_caption_size"
- android:layout_marginLeft="68dp"
android:layout_marginRight="68dp"
+ android:gravity="right"
+ android:layout_gravity="right"
android:clipToPadding="false"
android:translationZ="@dimen/volume_dialog_elevation"
android:background="@drawable/rounded_bg_full">
diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml
index 6ecb85456500..7d6547b9cd42 100644
--- a/packages/SystemUI/res/layout/volume_dialog.xml
+++ b/packages/SystemUI/res/layout/volume_dialog.xml
@@ -28,15 +28,15 @@
<LinearLayout
android:id="@+id/volume_dialog"
android:minWidth="@dimen/volume_dialog_panel_width"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_gravity="right"
android:background="@android:color/transparent"
- android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_horizontal"
+ android:paddingRight="@dimen/volume_dialog_panel_transparent_padding_right"
android:paddingTop="@dimen/volume_dialog_panel_transparent_padding"
android:paddingBottom="@dimen/volume_dialog_panel_transparent_padding"
- android:paddingLeft="@dimen/volume_dialog_panel_transparent_padding_horizontal"
+ android:paddingLeft="@dimen/volume_dialog_panel_transparent_padding"
android:orientation="vertical"
android:clipToPadding="false">
@@ -45,6 +45,8 @@
android:layout_width="@dimen/volume_dialog_ringer_size"
android:layout_height="@dimen/volume_dialog_ringer_size"
android:layout_marginBottom="@dimen/volume_dialog_spacer"
+ android:gravity="right"
+ android:layout_gravity="right"
android:translationZ="@dimen/volume_dialog_elevation"
android:clipToPadding="false"
android:background="@drawable/rounded_bg_full">
@@ -72,6 +74,8 @@
android:minWidth="@dimen/volume_dialog_panel_width"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:gravity="right"
+ android:layout_gravity="right"
android:orientation="vertical"
android:translationZ="@dimen/volume_dialog_elevation"
android:clipChildren="false"
@@ -88,48 +92,22 @@
android:paddingLeft="@dimen/volume_dialog_stream_padding">
<!-- volume rows added and removed here! :-) -->
</LinearLayout>
- <View
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?android:attr/listDivider"/>
- <LinearLayout
+ <FrameLayout
+ android:id="@+id/settings_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal" >
- <FrameLayout
- android:id="@+id/expandable_indicator_container"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1">
- <com.android.systemui.statusbar.phone.ExpandableIndicator
- android:id="@+id/expandable_indicator"
- android:layout_width="@dimen/volume_dialog_tap_target_size"
- android:layout_height="@dimen/volume_dialog_tap_target_size"
- android:layout_marginRight="8dp"
- android:layout_marginLeft="8dp"
- android:contentDescription="@string/accessibility_volume_expand"
- android:background="@drawable/ripple_drawable_20dp"
- android:tint="@color/accent_tint_color_selector"
- android:soundEffectsEnabled="false"
- android:padding="14dp" />
- </FrameLayout>
- <FrameLayout
- android:id="@+id/media_output_container"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <com.android.keyguard.AlphaOptimizedImageButton
- android:id="@+id/media_output"
- android:src="@drawable/ic_bluetooth_audio"
- android:layout_width="@dimen/volume_dialog_tap_target_size"
- android:layout_height="@dimen/volume_dialog_tap_target_size"
- android:layout_marginRight="8dp"
- android:layout_marginLeft="8dp"
- android:contentDescription="@string/accessibility_volume_settings"
- android:background="@drawable/ripple_drawable_20dp"
- android:tint="@color/accent_tint_color_selector"
- android:soundEffectsEnabled="false" />
- </FrameLayout>
- </LinearLayout>
+ android:background="@drawable/rounded_bg_bottom_background">
+ <com.android.keyguard.AlphaOptimizedImageButton
+ android:id="@+id/settings"
+ android:src="@drawable/ic_tune_black_16dp"
+ android:layout_width="@dimen/volume_dialog_tap_target_size"
+ android:layout_height="@dimen/volume_dialog_tap_target_size"
+ android:layout_gravity="center"
+ android:contentDescription="@string/accessibility_volume_settings"
+ android:background="@drawable/ripple_drawable_20dp"
+ android:tint="?android:attr/textColorSecondary"
+ android:soundEffectsEnabled="false" />
+ </FrameLayout>
</LinearLayout>
<FrameLayout
@@ -137,6 +115,8 @@
android:layout_width="@dimen/volume_dialog_caption_size"
android:layout_height="@dimen/volume_dialog_caption_size"
android:layout_marginTop="@dimen/volume_dialog_spacer"
+ android:gravity="right"
+ android:layout_gravity="right"
android:clipToPadding="false"
android:translationZ="@dimen/volume_dialog_elevation"
android:background="@drawable/rounded_bg_full">
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index be2729127fdc..ed72e8ba02a0 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -438,7 +438,7 @@
<!-- The width of the panel that holds the quick settings. -->
<dimen name="qs_panel_width">@dimen/notification_panel_width</dimen>
- <dimen name="volume_dialog_panel_transparent_padding_horizontal">4dp</dimen>
+ <dimen name="volume_dialog_panel_transparent_padding_right">4dp</dimen>
<dimen name="volume_dialog_panel_transparent_padding">20dp</dimen>
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index b0ecd105b349..0d80afdee99e 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -23,7 +23,6 @@ import static android.media.AudioManager.RINGER_MODE_VIBRATE;
import static android.media.AudioManager.STREAM_ACCESSIBILITY;
import static android.media.AudioManager.STREAM_ALARM;
import static android.media.AudioManager.STREAM_MUSIC;
-import static android.media.AudioManager.STREAM_NOTIFICATION;
import static android.media.AudioManager.STREAM_RING;
import static android.media.AudioManager.STREAM_VOICE_CALL;
import static android.view.View.ACCESSIBILITY_LIVE_REGION_POLITE;
@@ -32,19 +31,13 @@ import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
import static com.android.systemui.volume.Events.DISMISS_REASON_SETTINGS_CLICKED;
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.Dialog;
import android.app.KeyguardManager;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothProfile;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
@@ -56,7 +49,6 @@ import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.PixelFormat;
-import android.graphics.Region;
import android.graphics.drawable.ColorDrawable;
import android.media.AudioManager;
import android.media.AudioSystem;
@@ -73,17 +65,12 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseBooleanArray;
import android.view.ContextThemeWrapper;
-import android.view.Gravity;
-import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.AccessibilityDelegate;
import android.view.ViewGroup;
import android.view.ViewPropertyAnimator;
import android.view.ViewStub;
-import android.view.ViewTreeObserver;
-import android.view.ViewTreeObserver.InternalInsetsInfo;
-import android.view.ViewTreeObserver.OnComputeInternalInsetsListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
@@ -92,7 +79,6 @@ import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageButton;
-import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
@@ -108,14 +94,9 @@ import com.android.systemui.plugins.VolumeDialog;
import com.android.systemui.plugins.VolumeDialogController;
import com.android.systemui.plugins.VolumeDialogController.State;
import com.android.systemui.plugins.VolumeDialogController.StreamState;
-import com.android.systemui.statusbar.phone.ExpandableIndicator;
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
-import com.android.systemui.tuner.TunerService;
-import com.android.systemui.util.NotificationChannels;
-
-import lineageos.providers.LineageSettings;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -132,9 +113,6 @@ public class VolumeDialogImpl implements VolumeDialog,
ConfigurationController.ConfigurationListener {
private static final String TAG = Util.logTag(VolumeDialogImpl.class);
- private static final String VOLUME_PANEL_ON_LEFT =
- "lineagesecure:" + LineageSettings.Secure.VOLUME_PANEL_ON_LEFT;
-
private static final long USER_ATTEMPT_GRACE_PERIOD = 1000;
private static final int UPDATE_ANIMATION_DURATION = 80;
@@ -146,24 +124,20 @@ public class VolumeDialogImpl implements VolumeDialog,
static final int DIALOG_HIDE_ANIMATION_DURATION = 250;
private final Context mContext;
- private WindowManager mWindowManager;
- private WindowManager.LayoutParams mWindowParams;
private final H mHandler = new H();
private final VolumeDialogController mController;
private final DeviceProvisionedController mDeviceProvisionedController;
- private View mDialog;
+ private Window mWindow;
+ private CustomDialog mDialog;
private ViewGroup mDialogView;
- private ViewGroup mDialogMainView;
private ViewGroup mDialogRowsView;
private ViewGroup mRinger;
private ImageButton mRingerIcon;
private ViewGroup mODICaptionsView;
private CaptionsToggleImageButton mODICaptionsIcon;
- private View mMediaOutputView;
- private ImageButton mMediaOutputIcon;
- private View mExpandRowsView;
- private ExpandableIndicator mExpandRows;
+ private View mSettingsView;
+ private ImageButton mSettingsIcon;
private FrameLayout mZenIcon;
private final List<VolumeRow> mRows = new ArrayList<>();
private ConfigurableTexts mConfigurableTexts;
@@ -178,10 +152,8 @@ public class VolumeDialogImpl implements VolumeDialog,
private boolean mShowA11yStream;
private int mActiveStream;
- private int mAllyStream;
private int mPrevActiveStream;
private boolean mAutomute = VolumePrefs.DEFAULT_ENABLE_AUTOMUTE;
- private boolean mMusicHidden;
private boolean mSilentMode = VolumePrefs.DEFAULT_ENABLE_SILENT_MODE;
private State mState;
private SafetyWarningDialog mSafetyWarning;
@@ -192,12 +164,6 @@ public class VolumeDialogImpl implements VolumeDialog,
private boolean mHasSeenODICaptionsTooltip;
private ViewStub mODICaptionsTooltipViewStub;
private View mODICaptionsTooltipView = null;
- private TunerService mTunerService;
-
- // Volume panel placement left or right
- private boolean mVolumePanelOnLeft;
-
- private boolean mExpanded;
public VolumeDialogImpl(Context context) {
mContext =
@@ -205,17 +171,11 @@ public class VolumeDialogImpl implements VolumeDialog,
mController = Dependency.get(VolumeDialogController.class);
mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
- mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class);
mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
mShowActiveStreamOnly = showActiveStreamOnly();
mHasSeenODICaptionsTooltip =
Prefs.getBoolean(context, Prefs.Key.HAS_SEEN_ODI_CAPTIONS_TOOLTIP, false);
- mTunerService = Dependency.get(TunerService.class);
-
- if (!mShowActiveStreamOnly) {
- mTunerService.addTunable(mTunable, VOLUME_PANEL_ON_LEFT);
- }
}
@Override
@@ -242,44 +202,53 @@ public class VolumeDialogImpl implements VolumeDialog,
}
private void initDialog() {
-
- // Gravitate various views left/right depending on panel placement setting.
- final int panelGravity = mVolumePanelOnLeft ? Gravity.LEFT : Gravity.RIGHT;
+ mDialog = new CustomDialog(mContext);
mConfigurableTexts = new ConfigurableTexts(mContext);
mHovering = false;
mShowing = false;
- mExpanded = false;
- mWindowParams = new WindowManager.LayoutParams();
- mWindowParams.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
- mWindowParams.flags &= ~WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
- mWindowParams.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+ mWindow = mDialog.getWindow();
+ mWindow.requestFeature(Window.FEATURE_NO_TITLE);
+ mWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ mWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND
+ | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
+ mWindow.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
- | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
- mWindowParams.type = WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
- mWindowParams.format = PixelFormat.TRANSLUCENT;
- mWindowParams.windowAnimations = -1;
- mDialog = LayoutInflater.from(mContext).inflate(R.layout.volume_dialog,
- (ViewGroup) null, false);
-
- mDialog.setOnTouchListener((v, event) -> {
- if (mShowing) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_OUTSIDE:
- case MotionEvent.ACTION_DOWN:
- dismissH(Events.DISMISS_REASON_TOUCH_OUTSIDE);
- return true;
- }
- }
- return false;
- });
-
+ | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
+ mWindow.setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
+ mWindow.setWindowAnimations(com.android.internal.R.style.Animation_Toast);
+ WindowManager.LayoutParams lp = mWindow.getAttributes();
+ lp.format = PixelFormat.TRANSLUCENT;
+ lp.setTitle(VolumeDialogImpl.class.getSimpleName());
+ lp.windowAnimations = -1;
+ lp.gravity = mContext.getResources().getInteger(R.integer.volume_dialog_gravity);
+ mWindow.setAttributes(lp);
+ mWindow.setLayout(WRAP_CONTENT, WRAP_CONTENT);
+
+ mDialog.setContentView(R.layout.volume_dialog);
mDialogView = mDialog.findViewById(R.id.volume_dialog);
mDialogView.setAlpha(0);
- mDialogView.setLayoutDirection(mVolumePanelOnLeft ?
- View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL);
+ mDialog.setCanceledOnTouchOutside(true);
+ mDialog.setOnShowListener(dialog -> {
+ if (!isLandscape()) mDialogView.setTranslationX(mDialogView.getWidth() / 2.0f);
+ mDialogView.setAlpha(0);
+ mDialogView.animate()
+ .alpha(1)
+ .translationX(0)
+ .setDuration(DIALOG_SHOW_ANIMATION_DURATION)
+ .setInterpolator(new SystemUIInterpolators.LogDecelerateInterpolator())
+ .withEndAction(() -> {
+ if (!Prefs.getBoolean(mContext, Prefs.Key.TOUCHED_RINGER_TOGGLE, false)) {
+ if (mRingerIcon != null) {
+ mRingerIcon.postOnAnimationDelayed(
+ getSinglePressFor(mRingerIcon), 1500);
+ }
+ }
+ })
+ .start();
+ });
mDialogView.setOnHoverListener((v, event) -> {
int action = event.getActionMasked();
@@ -289,30 +258,16 @@ public class VolumeDialogImpl implements VolumeDialog,
return true;
});
- FrameLayout.LayoutParams dialogViewLP =
- (FrameLayout.LayoutParams) mDialogView.getLayoutParams();
- dialogViewLP.gravity = Gravity.CENTER_VERTICAL;
- mDialogView.setLayoutParams(dialogViewLP);
-
- mDialogMainView = mDialog.findViewById(R.id.main);
- if (mDialogMainView != null) {
- setLayoutGravity(mDialogMainView.getLayoutParams(), panelGravity);
- }
-
mDialogRowsView = mDialog.findViewById(R.id.volume_dialog_rows);
mRinger = mDialog.findViewById(R.id.ringer);
if (mRinger != null) {
mRingerIcon = mRinger.findViewById(R.id.ringer_icon);
mZenIcon = mRinger.findViewById(R.id.dnd_icon);
- // Apply ringer layout gravity based on panel left/right setting
- // Layout type is different between landscape/portrait.
- setLayoutGravity(mRinger.getLayoutParams(), panelGravity);
}
mODICaptionsView = mDialog.findViewById(R.id.odi_captions);
if (mODICaptionsView != null) {
mODICaptionsIcon = mODICaptionsView.findViewById(R.id.odi_captions_icon);
- setLayoutGravity(mODICaptionsView.getLayoutParams(), panelGravity);
}
mODICaptionsTooltipViewStub = mDialog.findViewById(R.id.odi_captions_tooltip_stub);
if (mHasSeenODICaptionsTooltip && mODICaptionsTooltipViewStub != null) {
@@ -320,18 +275,8 @@ public class VolumeDialogImpl implements VolumeDialog,
mODICaptionsTooltipViewStub = null;
}
- mMediaOutputView = mDialog.findViewById(R.id.media_output_container);
- mMediaOutputIcon = mDialog.findViewById(R.id.media_output);
- if (mMediaOutputIcon != null) {
- setLayoutGravity(mMediaOutputIcon.getLayoutParams(), panelGravity);
- }
-
- mExpandRowsView = mDialog.findViewById(R.id.expandable_indicator_container);
- mExpandRows = mDialog.findViewById(R.id.expandable_indicator);
- if (mExpandRows != null) {
- setLayoutGravity(mExpandRows.getLayoutParams(), panelGravity);
- mExpandRows.setRotation(mVolumePanelOnLeft ? -90 : 90);
- }
+ mSettingsView = mDialog.findViewById(R.id.settings_container);
+ mSettingsIcon = mDialog.findViewById(R.id.settings);
if (mRows.isEmpty()) {
if (!AudioSystem.isSingleVolume(mContext)) {
@@ -349,7 +294,7 @@ public class VolumeDialogImpl implements VolumeDialog,
R.drawable.ic_volume_notification_mute, true, false);
}
addRow(STREAM_ALARM,
- R.drawable.ic_volume_alarm, R.drawable.ic_volume_alarm_mute, true, false);
+ R.drawable.ic_alarm, R.drawable.ic_volume_alarm_mute, true, false);
addRow(AudioManager.STREAM_VOICE_CALL,
com.android.internal.R.drawable.ic_phone,
com.android.internal.R.drawable.ic_phone, false, false);
@@ -366,58 +311,8 @@ public class VolumeDialogImpl implements VolumeDialog,
initRingerH();
initSettingsH();
initODICaptionsH();
-
- mAllyStream = -1;
- mMusicHidden = false;
- }
-
- private final OnComputeInternalInsetsListener mInsetsListener = internalInsetsInfo -> {
- internalInsetsInfo.touchableRegion.setEmpty();
- internalInsetsInfo.setTouchableInsets(InternalInsetsInfo.TOUCHABLE_INSETS_REGION);
- View main = mDialog.findViewById(R.id.main);
- int[] mainLocation = new int[2];
- main.getLocationInWindow(mainLocation);
- int[] dialogLocation = new int[2];
- mDialogView.getLocationInWindow(dialogLocation);
- internalInsetsInfo.touchableRegion.set(new Region(
- mainLocation[0],
- dialogLocation[1],
- mainLocation[0] + main.getWidth(),
- dialogLocation[1] + mDialogView.getHeight()
- ));
- };
-
- // Helper to set layout gravity.
- // Particular useful when the ViewGroup in question
- // is different for portait vs landscape.
- private void setLayoutGravity(Object obj, int gravity) {
- if (obj instanceof FrameLayout.LayoutParams) {
- ((FrameLayout.LayoutParams) obj).gravity = gravity;
- } else if (obj instanceof LinearLayout.LayoutParams) {
- ((LinearLayout.LayoutParams) obj).gravity = gravity;
- }
- }
-
- private float getAnimatorX() {
- final float x = mDialogView.getWidth() / 2.0f;
- return mVolumePanelOnLeft ? -x : x;
}
- private final TunerService.Tunable mTunable = new TunerService.Tunable() {
- @Override
- public void onTuningChanged(String key, String newValue) {
- if (VOLUME_PANEL_ON_LEFT.equals(key)) {
- final boolean volumePanelOnLeft = TunerService.parseIntegerSwitch(newValue, false);
- if (mVolumePanelOnLeft != volumePanelOnLeft) {
- mVolumePanelOnLeft = volumePanelOnLeft;
- mHandler.post(() -> {
- mControllerCallbackH.onConfigurationChanged();
- });
- }
- }
- }
- };
-
protected ViewGroup getDialogView() {
return mDialogView;
}
@@ -521,7 +416,7 @@ public class VolumeDialogImpl implements VolumeDialog,
row.iconMuteRes = iconMuteRes;
row.important = important;
row.defaultStream = defaultStream;
- row.view = LayoutInflater.from(mContext).inflate(R.layout.volume_dialog_row, null);
+ row.view = mDialog.getLayoutInflater().inflate(R.layout.volume_dialog_row, null);
row.view.setId(row.stream);
row.view.setTag(row);
row.header = row.view.findViewById(R.id.volume_row_header);
@@ -540,11 +435,28 @@ public class VolumeDialogImpl implements VolumeDialog,
if (row.stream != AudioSystem.STREAM_ACCESSIBILITY) {
row.icon.setOnClickListener(v -> {
Events.writeEvent(Events.EVENT_ICON_CLICK, row.stream, row.iconState);
- rescheduleTimeoutH();
mController.setActiveStream(row.stream);
- final boolean vmute = row.ss.level == row.ss.levelMin;
- mController.setStreamVolume(stream,
- vmute ? row.lastAudibleLevel : row.ss.levelMin);
+ if (row.stream == AudioManager.STREAM_RING) {
+ final boolean hasVibrator = mController.hasVibrator();
+ if (mState.ringerModeInternal == AudioManager.RINGER_MODE_NORMAL) {
+ if (hasVibrator) {
+ mController.setRingerMode(AudioManager.RINGER_MODE_VIBRATE, false);
+ } else {
+ final boolean wasZero = row.ss.level == 0;
+ mController.setStreamVolume(stream,
+ wasZero ? row.lastAudibleLevel : 0);
+ }
+ } else {
+ mController.setRingerMode(AudioManager.RINGER_MODE_NORMAL, false);
+ if (row.ss.level == 0) {
+ mController.setStreamVolume(stream, 1);
+ }
+ }
+ } else {
+ final boolean vmute = row.ss.level == row.ss.levelMin;
+ mController.setStreamVolume(stream,
+ vmute ? row.lastAudibleLevel : row.ss.levelMin);
+ }
row.userAttempt = 0; // reset the grace period, slider updates immediately
});
} else {
@@ -552,85 +464,17 @@ public class VolumeDialogImpl implements VolumeDialog,
}
}
- private boolean isNotificationVolumeLinked() {
- ContentResolver cr = mContext.getContentResolver();
- return Settings.Secure.getInt(cr, Settings.Secure.VOLUME_LINK_NOTIFICATION, 1) == 1;
- }
-
- private static boolean isBluetoothA2dpConnected() {
- BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
- return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()
- && mBluetoothAdapter.getProfileConnectionState(BluetoothProfile.A2DP)
- == BluetoothProfile.STATE_CONNECTED;
- }
-
- private void setVisOrGone(int stream, boolean vis) {
- if (!vis && stream == mAllyStream) {
- return;
- }
- Util.setVisOrGone(findRow(stream).view, vis);
- }
-
- private void updateExpandedRows(boolean expand) {
- if (!expand) mController.setActiveStream(mAllyStream);
- if (mMusicHidden) {
- setVisOrGone(AudioManager.STREAM_MUSIC, expand);
- }
- setVisOrGone(AudioManager.STREAM_RING, expand);
- setVisOrGone(STREAM_ALARM, expand);
- if (!isNotificationVolumeLinked()) {
- setVisOrGone(AudioManager.STREAM_NOTIFICATION, expand);
- }
- }
-
- private void animateExpandedRowsChange(boolean expand) {
- final int startWidth = mDialogRowsView.getLayoutParams().width;
- final int targetWidth;
-
- if (expand) {
- updateExpandedRows(expand);
- mDialogRowsView.measure(WRAP_CONTENT, WRAP_CONTENT);
- targetWidth = mDialogRowsView.getMeasuredWidth();
- } else {
- targetWidth = mContext.getResources().getDimensionPixelSize(
- R.dimen.volume_dialog_panel_width);
- }
-
- ValueAnimator animator = ValueAnimator.ofInt(startWidth, targetWidth);
- animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
- @Override
- public void onAnimationUpdate(ValueAnimator valueAnimator) {
- mDialogRowsView.getLayoutParams().width =
- (Integer) valueAnimator.getAnimatedValue();
- mDialogRowsView.requestLayout();
- }
- });
- animator.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- if (!expand) {
- updateExpandedRows(expand);
- }
- }
- });
- animator.setInterpolator(expand ? new SystemUIInterpolators.LogDecelerateInterpolator()
- : new SystemUIInterpolators.LogAccelerateInterpolator());
- animator.setDuration(UPDATE_ANIMATION_DURATION);
- animator.start();
- }
-
- public void updateMediaOutputH() {
- if (mMediaOutputView != null) {
- mMediaOutputView.setVisibility(
+ public void initSettingsH() {
+ if (mSettingsView != null) {
+ mSettingsView.setVisibility(
mDeviceProvisionedController.isCurrentUserSetup() &&
- mActivityManager.getLockTaskModeState() == LOCK_TASK_MODE_NONE &&
- isBluetoothA2dpConnected() && mExpanded ? VISIBLE : GONE);
+ mActivityManager.getLockTaskModeState() == LOCK_TASK_MODE_NONE ?
+ VISIBLE : GONE);
}
- if (mMediaOutputIcon != null) {
- mMediaOutputIcon .setOnClickListener(v -> {
- rescheduleTimeoutH();
+ if (mSettingsIcon != null) {
+ mSettingsIcon.setOnClickListener(v -> {
Events.writeEvent(Events.EVENT_SETTINGS_CLICK);
- Intent intent = new Intent(ACTION_MEDIA_OUTPUT);
+ Intent intent = new Intent(Settings.Panel.ACTION_VOLUME);
dismissH(DISMISS_REASON_SETTINGS_CLICKED);
Dependency.get(MediaOutputDialogFactory.class).dismiss();
Dependency.get(ActivityStarter.class).startActivity(intent,
@@ -639,36 +483,10 @@ public class VolumeDialogImpl implements VolumeDialog,
}
}
- public void initSettingsH() {
- updateMediaOutputH();
- if (mAllyStream == -1) {
- mAllyStream = mActiveStream;
- }
-
- if (mExpandRowsView != null) {
- mExpandRowsView.setVisibility(
- mDeviceProvisionedController.isCurrentUserSetup() &&
- mActivityManager.getLockTaskModeState() == LOCK_TASK_MODE_NONE ?
- VISIBLE : GONE);
- }
- if (mExpandRows != null) {
- mExpandRows.setOnClickListener(v -> {
- rescheduleTimeoutH();
- animateExpandedRowsChange(!mExpanded);
-
- mExpandRows.setExpanded(!mExpanded);
- mExpanded = !mExpanded;
-
- updateMediaOutputH();
- });
- }
- }
-
public void initRingerH() {
if (mRingerIcon != null) {
mRingerIcon.setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_POLITE);
mRingerIcon.setOnClickListener(v -> {
- rescheduleTimeoutH();
Prefs.putBoolean(mContext, Prefs.Key.TOUCHED_RINGER_TOGGLE, true);
final StreamState ss = mState.states.get(AudioManager.STREAM_RING);
if (ss == null) {
@@ -729,11 +547,11 @@ public class VolumeDialogImpl implements VolumeDialog,
if (!mHasSeenODICaptionsTooltip && mODICaptionsTooltipViewStub != null) {
mODICaptionsTooltipView = mODICaptionsTooltipViewStub.inflate();
mODICaptionsTooltipView.findViewById(R.id.dismiss).setOnClickListener(v -> {
- rescheduleTimeoutH();
hideCaptionsTooltip();
Events.writeEvent(Events.EVENT_ODI_CAPTIONS_TOOLTIP_CLICK);
});
mODICaptionsTooltipViewStub = null;
+ rescheduleTimeoutH();
}
if (mODICaptionsTooltipView != null) {
@@ -881,37 +699,9 @@ public class VolumeDialogImpl implements VolumeDialog,
}
initSettingsH();
+ mShowing = true;
mIsAnimatingDismiss = false;
- mDialog.getViewTreeObserver().addOnComputeInternalInsetsListener(mInsetsListener);
-
- if (!mShowing && !mDialog.isShown()) {
- if (!isLandscape()) {
- mDialogView.setTranslationX(
- (mVolumePanelOnLeft ? -1 : 1) * mDialogView.getWidth() / 2.0f);
- }
- mDialogView.setAlpha(0);
- mDialogView.animate()
- .alpha(1)
- .translationX(0)
- .setDuration(DIALOG_SHOW_ANIMATION_DURATION)
- .setInterpolator(new SystemUIInterpolators.LogDecelerateInterpolator())
- .withStartAction(() -> {
- if (!mDialog.isShown()) {
- mWindowManager.addView(mDialog, mWindowParams);
- }
- })
- .withEndAction(() -> {
- if (!Prefs.getBoolean(mContext, Prefs.Key.TOUCHED_RINGER_TOGGLE, false)) {
- if (mRingerIcon != null) {
- mRingerIcon.postOnAnimationDelayed(
- getSinglePressFor(mRingerIcon), 1500);
- }
- }
- mShowing = true;
- })
- .start();
- }
-
+ mDialog.show();
Events.writeEvent(Events.EVENT_SHOW_DIALOG, reason, mKeyguard.isKeyguardLocked());
mController.notifyVisible(true);
mController.getCaptionsComponentState(false);
@@ -953,10 +743,6 @@ public class VolumeDialogImpl implements VolumeDialog,
Log.d(TAG, "mDialog.dismiss() reason: " + Events.DISMISS_REASONS[reason]
+ " from: " + Debug.getCaller());
}
- if (!mShowing) {
- // This may happen when dismissing an expanded panel, don't animate again
- return;
- }
mHandler.removeMessages(H.DISMISS);
mHandler.removeMessages(H.SHOW);
if (mIsAnimatingDismiss) {
@@ -976,25 +762,14 @@ public class VolumeDialogImpl implements VolumeDialog,
.setDuration(DIALOG_HIDE_ANIMATION_DURATION)
.setInterpolator(new SystemUIInterpolators.LogAccelerateInterpolator())
.withEndAction(() -> mHandler.postDelayed(() -> {
- mIsAnimatingDismiss = false;
- if (mDialog.isShown()){
- mWindowManager.removeViewImmediate(mDialog);
- }
- mExpanded = false;
- mDialogRowsView.getLayoutParams().width = mContext.getResources()
- .getDimensionPixelSize(R.dimen.volume_dialog_panel_width);
- updateExpandedRows(mExpanded);
- mExpandRows.setExpanded(mExpanded);
- mAllyStream = -1;
- mMusicHidden = false;
+ mDialog.dismiss();
tryToRemoveCaptionsTooltip();
- mDialog.getViewTreeObserver().removeOnComputeInternalInsetsListener(
- mInsetsListener);
- mController.notifyVisible(false);
+ mIsAnimatingDismiss = false;
}, 50));
- if (!isLandscape() || !mShowActiveStreamOnly) animator.translationX(getAnimatorX());
+ if (!isLandscape()) animator.translationX(mDialogView.getWidth() / 2.0f);
animator.start();
checkODICaptionsTooltip(true);
+ mController.notifyVisible(false);
synchronized (mSafetyWarningLock) {
if (mSafetyWarning != null) {
if (D.BUG) Log.d(TAG, "SafetyWarning dismissed");
@@ -1011,12 +786,6 @@ public class VolumeDialogImpl implements VolumeDialog,
private boolean shouldBeVisibleH(VolumeRow row, VolumeRow activeRow) {
boolean isActive = row.stream == activeRow.stream;
- if (row.stream == AudioSystem.STREAM_MUSIC &&
- activeRow.stream != AudioSystem.STREAM_MUSIC && !mExpanded) {
- mMusicHidden = true;
- return false;
- }
-
if (isActive) {
return true;
}
@@ -1035,7 +804,6 @@ public class VolumeDialogImpl implements VolumeDialog,
if (row.defaultStream) {
return activeRow.stream == STREAM_RING
- || activeRow.stream == STREAM_NOTIFICATION
|| activeRow.stream == STREAM_ALARM
|| activeRow.stream == STREAM_VOICE_CALL
|| activeRow.stream == STREAM_ACCESSIBILITY
@@ -1055,7 +823,7 @@ public class VolumeDialogImpl implements VolumeDialog,
for (final VolumeRow row : mRows) {
final boolean isActive = row == activeRow;
final boolean shouldBeVisible = shouldBeVisibleH(row, activeRow);
- if (!mExpanded) Util.setVisOrGone(row.view, shouldBeVisible);
+ Util.setVisOrGone(row.view, shouldBeVisible);
if (row.view.isShown()) {
updateVolumeRowTintH(row, isActive);
}
@@ -1214,6 +982,7 @@ public class VolumeDialogImpl implements VolumeDialog,
updateVolumeRowH(row);
}
updateRingerH();
+ mWindow.setTitle(composeWindowTitle());
}
CharSequence composeWindowTitle() {
@@ -1236,7 +1005,7 @@ public class VolumeDialogImpl implements VolumeDialog,
final StreamState ss = mState.states.get(row.stream);
if (ss == null) return;
row.ss = ss;
- if (ss.level > ss.levelMin) {
+ if (ss.level > 0) {
row.lastAudibleLevel = ss.level;
}
if (ss.level == row.requestedLevel) {
@@ -1354,7 +1123,7 @@ public class VolumeDialogImpl implements VolumeDialog,
}
private boolean isStreamMuted(final StreamState streamState) {
- return (mAutomute && streamState.level == streamState.levelMin) || streamState.muted;
+ return (mAutomute && streamState.level == 0) || streamState.muted;
}
private void updateVolumeRowTintH(VolumeRow row, boolean isActive) {
@@ -1368,7 +1137,7 @@ public class VolumeDialogImpl implements VolumeDialog,
final int alpha = useActiveColoring
? Color.alpha(tint.getDefaultColor())
: getAlphaAttr(android.R.attr.secondaryContentAlpha);
- if (tint == row.cachedTint && mExpanded) return;
+ if (tint == row.cachedTint) return;
row.slider.setProgressTintList(tint);
row.slider.setThumbTintList(tint);
row.slider.setProgressBackgroundTintList(tint);
@@ -1536,7 +1305,7 @@ public class VolumeDialogImpl implements VolumeDialog,
@Override
public void onConfigurationChanged() {
- if (mDialog.isShown()) mWindowManager.removeViewImmediate(mDialog);
+ mDialog.dismiss();
mConfigChanged = true;
}
@@ -1605,6 +1374,41 @@ public class VolumeDialogImpl implements VolumeDialog,
}
}
+ private final class CustomDialog extends Dialog implements DialogInterface {
+ public CustomDialog(Context context) {
+ super(context, R.style.qs_theme);
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent ev) {
+ rescheduleTimeoutH();
+ return super.dispatchTouchEvent(ev);
+ }
+
+ @Override
+ protected void onStart() {
+ super.setCanceledOnTouchOutside(true);
+ super.onStart();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mHandler.sendEmptyMessage(H.RECHECK_ALL);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ if (mShowing) {
+ if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
+ dismissH(Events.DISMISS_REASON_TOUCH_OUTSIDE);
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
private final class VolumeSeekBarChangeListener implements OnSeekBarChangeListener {
private final VolumeRow mRow;
@@ -1614,7 +1418,6 @@ public class VolumeDialogImpl implements VolumeDialog,
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- rescheduleTimeoutH();
if (mRow.ss == null) return;
if (D.BUG) Log.d(TAG, AudioSystem.streamToString(mRow.stream)
+ " onProgressChanged " + progress + " fromUser=" + fromUser);
@@ -1698,7 +1501,7 @@ public class VolumeDialogImpl implements VolumeDialog,
private int iconState; // from Events
private ObjectAnimator anim; // slider progress animation for non-touch-related updates
private int animTargetProgress;
- private int lastAudibleLevel = 2;
+ private int lastAudibleLevel = 1;
private FrameLayout dndIcon;
}
}
diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
index c6e34fe1b47d..533d886d0188 100644
--- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
+++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
@@ -15,10 +15,10 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="24dp"
+ android:height="19dp"
android:viewportHeight="24"
android:viewportWidth="24"
- android:width="24dp" >
+ android:width="19dp" >
<path
android:fillColor="@android:color/white"
android:pathData="M9,4C7.9,4,7,4.9,7,6v12c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H9z M15.5,6v12c0,0.28-0.22,0.5-0.5,0.5H9 c-0.28,0-0.5-0.22-0.5-0.5V6c0-0.28,0.22-0.5,0.5-0.5h6C15.28,5.5,15.5,5.72,15.5,6z" />
diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
index 3df31d757dcd..9f8dbb7184f0 100644
--- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
+++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
@@ -15,10 +15,10 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="24dp"
+ android:height="19dp"
android:viewportHeight="24"
android:viewportWidth="24"
- android:width="24dp" >
+ android:width="19dp" >
<path
android:fillColor="@android:color/white"
android:pathData="M19,7c-0.55,0-1,0.45-1,1v8c0,0.55,0.45,1,1,1s1-0.45,1-1V8C20,7.45,19.55,7,19,7z" />
diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
index dd2024ad4b4d..3e40279aa629 100644
--- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
+++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_ringer_vibrate.xml
@@ -15,10 +15,10 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="24dp"
+ android:height="19dp"
android:viewportHeight="24"
android:viewportWidth="24"
- android:width="24dp" >
+ android:width="19dp" >
<path
android:fillColor="@android:color/white"
android:pathData="M9,4C7.9,4,7,4.9,7,6v12c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H9z M15.5,6v12c0,0.28-0.22,0.5-0.5,0.5H9 c-0.28,0-0.5-0.22-0.5-0.5V6c0-0.28,0.22-0.5,0.5-0.5h6C15.28,5.5,15.5,5.72,15.5,6z" />