diff options
6 files changed, 36 insertions, 10 deletions
diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml index 90e78e85ed19..5a8c5dc68bdf 100644 --- a/packages/SystemUI/res/values-land/dimens.xml +++ b/packages/SystemUI/res/values-land/dimens.xml @@ -36,4 +36,8 @@ <dimen name="volume_tool_tip_right_margin">136dp</dimen> <dimen name="volume_tool_tip_top_margin">12dp</dimen> + + <!-- Padding between status bar and bubbles when displayed in expanded state, smaller + value in landscape since we have limited vertical space--> + <dimen name="bubble_padding_top">4dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index e40ef272be0b..71aa20e52240 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -1135,10 +1135,8 @@ <dimen name="bubble_pointer_width">6dp</dimen> <!-- Extra padding around the dismiss target for bubbles --> <dimen name="bubble_dismiss_slop">16dp</dimen> - <!-- Height of the header within the expanded view. --> - <dimen name="bubble_expanded_header_height">48dp</dimen> - <!-- Left and right padding applied to the header. --> - <dimen name="bubble_expanded_header_horizontal_padding">24dp</dimen> + <!-- Height of button allowing users to adjust settings for bubbles. --> + <dimen name="bubble_settings_size">48dp</dimen> <!-- How far, horizontally, to animate the expanded view over when animating in/out. --> <dimen name="bubble_expanded_animate_x_distance">100dp</dimen> <!-- How far, vertically, to animate the expanded view over when animating in/out. --> @@ -1155,8 +1153,6 @@ <dimen name="bubble_stack_offscreen">9dp</dimen> <!-- How far down the screen the stack starts. --> <dimen name="bubble_stack_starting_offset_y">96dp</dimen> - <!-- Size of image buttons in the bubble header --> - <dimen name="bubble_header_icon_size">48dp</dimen> <!-- Space between the pointer triangle and the bubble expanded view --> <dimen name="bubble_pointer_margin">8dp</dimen> <!-- Height of the permission prompt shown with bubbles --> diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java index 322bbf00a572..59ee46de16fe 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java @@ -230,7 +230,7 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList mPointerView.setVisibility(INVISIBLE); mSettingsIconHeight = getContext().getResources().getDimensionPixelSize( - R.dimen.bubble_expanded_header_height); + R.dimen.bubble_settings_size); mSettingsIcon = findViewById(R.id.settings_button); mSettingsIcon.setOnClickListener(this); diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index c091827090a9..335f62cfae05 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -488,6 +488,12 @@ public class BubbleStackView extends FrameLayout { public void onOrientationChanged(int orientation) { mOrientation = orientation; + // Some resources change depending on orientation + Resources res = getContext().getResources(); + mStatusBarHeight = res.getDimensionPixelSize( + com.android.internal.R.dimen.status_bar_height); + mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); + final RectF allowablePos = mStackAnimationController.getAllowableStackPositionRegion(); mWasOnLeftBeforeRotation = mStackAnimationController.isStackOnLeftSide(); mVerticalPosPercentBeforeRotation = diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java index 8c2ab341aeab..c332d15a9b47 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java @@ -140,9 +140,15 @@ public class ExpandedAnimationController public void updateOrientation(int orientation) { if (orientation == Configuration.ORIENTATION_LANDSCAPE) { mScreenWidth = mDisplaySize.y; - return; + } else { + mScreenWidth = mDisplaySize.x; + } + if (mLayout != null) { + Resources res = mLayout.getContext().getResources(); + mStatusBarHeight = res.getDimensionPixelSize( + com.android.internal.R.dimen.status_bar_height); + mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); } - mScreenWidth = mDisplaySize.x; } /** diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java index 78384891c887..e503911f88c4 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java @@ -459,7 +459,7 @@ public class StackAnimationController extends : 0); allowableRegion.bottom = mLayout.getHeight() - - mBubbleIconBitmapSize + - mBubbleSize - mBubblePaddingTop - (mImeHeight > Float.MIN_VALUE ? mImeHeight + mBubblePaddingTop : 0f) - Math.max( @@ -682,6 +682,20 @@ public class StackAnimationController extends res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height); } + /** + * Update effective screen width based on current orientation. + * @param orientation Landscape or portrait. + */ + public void updateOrientation(int orientation) { + if (mLayout != null) { + Resources res = mLayout.getContext().getResources(); + mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); + mStatusBarHeight = res.getDimensionPixelSize( + com.android.internal.R.dimen.status_bar_height); + } + } + + /** Moves the stack, without any animation, to the starting position. */ private void moveStackToStartPosition() { // Post to ensure that the layout's width and height have been calculated. |