Move bubbles top, manage button below
Bug: 131849856 Test: manual Change-Id: I75a0a66d8d8177d1426f6951287986e37128243e
This commit is contained in:
@@ -30,11 +30,12 @@
|
||||
<com.android.systemui.statusbar.AlphaOptimizedButton
|
||||
style="@android:style/Widget.Material.Button.Borderless"
|
||||
android:id="@+id/settings_button"
|
||||
android:layout_gravity="end"
|
||||
android:layout_gravity="start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true"
|
||||
android:text="@string/manage_bubbles_text"
|
||||
android:textColor="?attr/wallpaperTextColor"/>
|
||||
android:textColor="?attr/wallpaperTextColor"
|
||||
/>
|
||||
|
||||
</com.android.systemui.bubbles.BubbleExpandedView>
|
||||
|
||||
@@ -174,7 +174,7 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
|
||||
|
||||
|
||||
mPointerDrawable = new ShapeDrawable(TriangleShape.create(
|
||||
mPointerWidth, mPointerHeight, false /* pointUp */));
|
||||
mPointerWidth, mPointerHeight, true /* pointUp */));
|
||||
mPointerView.setBackground(mPointerDrawable);
|
||||
|
||||
mSettingsIconHeight = getContext().getResources().getDimensionPixelSize(
|
||||
@@ -186,8 +186,14 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
|
||||
true /* singleTaskInstance */);
|
||||
addView(mActivityView);
|
||||
|
||||
// Make sure pointer is below activity view
|
||||
bringChildToFront(mPointerView);
|
||||
// Expanded stack layout, top to bottom:
|
||||
// Expanded view container
|
||||
// ==> bubble row
|
||||
// ==> expanded view
|
||||
// ==> activity view
|
||||
// ==> manage button
|
||||
bringChildToFront(mActivityView);
|
||||
bringChildToFront(mSettingsIcon);
|
||||
|
||||
applyThemeAttrs();
|
||||
|
||||
|
||||
@@ -176,6 +176,7 @@ public class BubbleStackView extends FrameLayout {
|
||||
private int mExpandedViewPadding;
|
||||
private int mExpandedAnimateXDistance;
|
||||
private int mExpandedAnimateYDistance;
|
||||
private int mPointerHeight;
|
||||
private int mStatusBarHeight;
|
||||
private int mPipDismissHeight;
|
||||
private int mImeOffset;
|
||||
@@ -303,6 +304,8 @@ public class BubbleStackView extends FrameLayout {
|
||||
res.getDimensionPixelSize(R.dimen.bubble_expanded_animate_x_distance);
|
||||
mExpandedAnimateYDistance =
|
||||
res.getDimensionPixelSize(R.dimen.bubble_expanded_animate_y_distance);
|
||||
mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height);
|
||||
|
||||
mStatusBarHeight =
|
||||
res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height);
|
||||
mPipDismissHeight = mContext.getResources().getDimensionPixelSize(
|
||||
@@ -1282,15 +1285,16 @@ public class BubbleStackView extends FrameLayout {
|
||||
*/
|
||||
int getMaxExpandedHeight() {
|
||||
int expandedY = (int) mExpandedAnimationController.getExpandedY();
|
||||
return expandedY - getStatusBarHeight();
|
||||
// PIP dismiss view uses FLAG_LAYOUT_IN_SCREEN so we need to subtract the bottom inset
|
||||
int pipDismissHeight = mPipDismissHeight - getBottomInset();
|
||||
return mDisplaySize.y - expandedY - mBubbleSize - pipDismissHeight;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the y position of the expanded view when it is expanded.
|
||||
*/
|
||||
float getYPositionForExpandedView() {
|
||||
return mExpandedAnimationController.getExpandedY()
|
||||
- mExpandedBubble.expandedView.getExpandedSize() - mBubblePadding;
|
||||
return getStatusBarHeight() + mBubbleSize + mBubblePadding + mPointerHeight;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -301,13 +301,11 @@ public class ExpandedAnimationController
|
||||
return 0;
|
||||
}
|
||||
final WindowInsets insets = mLayout.getRootWindowInsets();
|
||||
int keyboardHeight = insets.getSystemWindowInsetBottom()
|
||||
- insets.getStableInsetBottom();
|
||||
float bottomInset = keyboardHeight > 0
|
||||
? keyboardHeight
|
||||
: (mPipDismissHeight - insets.getStableInsetBottom());
|
||||
// Stable insets are excluded from display size, so we must subtract it
|
||||
return mDisplaySize.y - mBubbleSizePx - mBubblePaddingPx - bottomInset;
|
||||
return mBubblePaddingPx + Math.max(
|
||||
mStatusBarHeight,
|
||||
insets.getDisplayCutout() != null
|
||||
? insets.getDisplayCutout().getSafeInsetTop()
|
||||
: 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user