Loading libs/WindowManager/Shell/res/layout/bubble_manage_button.xml +2 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ android:layout_width="wrap_content" android:layout_height="40dp" android:layout_marginTop="8dp" android:layout_marginLeft="8dp" android:layout_marginLeft="16dp" android:layout_marginBottom="8dp" android:focusable="true" android:text="@string/manage_bubbles_text" android:textSize="@*android:dimen/text_size_body_2_material" Loading libs/WindowManager/Shell/res/layout/bubble_menu_view.xmldeleted 100644 → 0 +0 −45 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ Copyright (C) 2019 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. --> <com.android.wm.shell.bubbles.BubbleMenuView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:layout_width="match_parent" android:background="#66000000" android:visibility="gone" android:id="@+id/bubble_menu_container" tools:ignore="MissingClass"> <FrameLayout android:layout_height="@dimen/bubble_menu_item_height" android:layout_width="wrap_content" android:background="#FFFFFF" android:id="@+id/bubble_menu_view"> <ImageView android:id="@*android:id/icon" android:layout_width="@dimen/bubble_grid_item_icon_width" android:layout_height="@dimen/bubble_grid_item_icon_height" android:layout_marginTop="@dimen/bubble_grid_item_icon_top_margin" android:layout_marginBottom="@dimen/bubble_grid_item_icon_bottom_margin" android:layout_marginLeft="@dimen/bubble_grid_item_icon_side_margin" android:layout_marginRight="@dimen/bubble_grid_item_icon_side_margin" android:scaleType="centerInside" android:tint="@color/bubbles_icon_tint" /> </FrameLayout> </com.android.wm.shell.bubbles.BubbleMenuView> libs/WindowManager/Shell/res/values/dimen.xml +4 −11 Original line number Diff line number Diff line Loading @@ -85,13 +85,6 @@ <!-- The amount to inset the drop target regions from the edge of the display --> <dimen name="drop_layout_display_margin">16dp</dimen> <!-- The menu grid size for bubble menu. --> <dimen name="bubble_grid_item_icon_width">20dp</dimen> <dimen name="bubble_grid_item_icon_height">20dp</dimen> <dimen name="bubble_grid_item_icon_top_margin">12dp</dimen> <dimen name="bubble_grid_item_icon_bottom_margin">4dp</dimen> <dimen name="bubble_grid_item_icon_side_margin">22dp</dimen> <!-- How much each bubble is elevated. --> <dimen name="bubble_elevation">1dp</dimen> <!-- How much the bubble flyout text container is elevated. --> Loading @@ -109,7 +102,7 @@ <!-- Padding between status bar and bubbles when displayed in expanded state --> <dimen name="bubble_padding_top">16dp</dimen> <!-- Max amount of space between bubbles when expanded. --> <dimen name="bubble_max_spacing">16dp</dimen> <dimen name="bubble_max_spacing">8dp</dimen> <!-- Size of individual bubbles. --> <dimen name="individual_bubble_size">60dp</dimen> <!-- Size of bubble bitmap. --> Loading @@ -119,7 +112,7 @@ <!-- Size of the circle around the bubbles when they're in the dismiss target. --> <dimen name="bubble_dismiss_encircle_size">52dp</dimen> <!-- Padding around the view displayed when the bubble is expanded --> <dimen name="bubble_expanded_view_padding">4dp</dimen> <dimen name="bubble_expanded_view_padding">16dp</dimen> <!-- This should be at least the size of bubble_expanded_view_padding; it is used to include a slight touch slop around the expanded view. --> <dimen name="bubble_expanded_view_slop">8dp</dimen> Loading Loading @@ -151,7 +144,7 @@ <!-- Extra padding around the dismiss target for bubbles --> <dimen name="bubble_dismiss_slop">16dp</dimen> <!-- Height of button allowing users to adjust settings for bubbles. --> <dimen name="bubble_manage_button_height">48dp</dimen> <dimen name="bubble_manage_button_height">56dp</dimen> <!-- Height of an item in the bubble manage menu. --> <dimen name="bubble_menu_item_height">60dp</dimen> <!-- Max width of the message bubble--> Loading @@ -170,7 +163,7 @@ <!-- How far down the screen the stack starts. --> <dimen name="bubble_stack_starting_offset_y">120dp</dimen> <!-- Space between the pointer triangle and the bubble expanded view --> <dimen name="bubble_pointer_margin">8dp</dimen> <dimen name="bubble_pointer_margin">5dp</dimen> <!-- Padding applied to the bubble dismiss target. Touches in this padding cause the bubbles to snap to the dismiss target. --> <dimen name="bubble_dismiss_target_padding_x">40dp</dimen> Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java +10 −11 Original line number Diff line number Diff line Loading @@ -113,7 +113,6 @@ public class BubbleExpandedView extends LinearLayout { private ShapeDrawable mTopPointer; private ShapeDrawable mLeftPointer; private ShapeDrawable mRightPointer; private int mExpandedViewPadding; private float mCornerRadius = 0f; private int mBackgroundColorFloating; Loading Loading @@ -349,7 +348,6 @@ public class BubbleExpandedView extends LinearLayout { Resources res = getResources(); mMinHeight = res.getDimensionPixelSize(R.dimen.bubble_expanded_default_height); mOverflowHeight = res.getDimensionPixelSize(R.dimen.bubble_overflow_height); mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding); updateFontSize(); Loading Loading @@ -667,13 +665,15 @@ public class BubbleExpandedView extends LinearLayout { ? mExpandedViewContainerLocation[1] - mPositioner.getInsets().top : 0; int settingsHeight = mIsOverflow ? 0 : mManageButtonHeight; int pointerHeight = mPositioner.showBubblesVertically() ? mPointerWidth : (int) (mPointerHeight - mPointerOverlap + mPointerMargin); return mPositioner.getAvailableRect().height() - expandedContainerY - getPaddingTop() - getPaddingBottom() - settingsHeight - mPointerHeight - mPointerMargin; - pointerHeight; } /** Loading Loading @@ -721,15 +721,14 @@ public class BubbleExpandedView extends LinearLayout { : 0; final float paddingRight = (showVertically && !onLeft) ? mPointerHeight - mPointerOverlap : 0; final int paddingTop = showVertically ? 0 : mExpandedViewPadding; setPadding((int) paddingLeft, paddingTop, (int) paddingRight, 0); final float paddingTop = showVertically ? 0 : mPointerHeight - mPointerOverlap; setPadding((int) paddingLeft, (int) paddingTop, (int) paddingRight, 0); final float expandedViewY = mPositioner.getExpandedViewY(); final float bubbleSize = mPositioner.getBubbleBitmapSize(); final float bubbleCenter = showVertically ? bubblePosition + (bubbleSize / 2f) - expandedViewY : bubblePosition + (bubbleSize / 2f); ? bubblePosition + (mPositioner.getBubbleSize() / 2f) - expandedViewY : bubblePosition + (mPositioner.getBubbleBitmapSize() / 2f) - mPointerWidth; // Post because we need the width of the view post(() -> { float pointerY; Loading @@ -741,7 +740,7 @@ public class BubbleExpandedView extends LinearLayout { : getWidth() - mPaddingRight - mPointerOverlap; } else { pointerY = mPointerOverlap; pointerX = bubbleCenter - mPaddingLeft - (mPointerWidth / 2f); pointerX = bubbleCenter - (mPointerWidth / 2f); } mPointerView.setTranslationY(pointerY); mPointerView.setTranslationX(pointerX); Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java +16 −12 Original line number Diff line number Diff line Loading @@ -72,12 +72,13 @@ public class BubblePositioner { private int mBubbleBitmapSize; private int mExpandedViewLargeScreenWidth; private int mExpandedViewPadding; private int mPointerHeight; private int mBubblePaddingTop; private int mPointerMargin; private float mPointerWidth; private float mPointerHeight; private PointF mPinLocation; private PointF mRestingStackPosition; private int[] mLeftRightPadding = new int[2]; private int[] mPaddings = new int[4]; private boolean mIsLargeScreen; private boolean mShowingInTaskbar; Loading Loading @@ -154,8 +155,9 @@ public class BubblePositioner { mExpandedViewLargeScreenWidth = res.getDimensionPixelSize( R.dimen.bubble_expanded_view_tablet_width); mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); if (mShowingInTaskbar) { adjustForTaskbar(); } Loading Loading @@ -251,30 +253,32 @@ public class BubblePositioner { final boolean isLargeOrOverflow = mIsLargeScreen || isOverflow; if (showBubblesVertically()) { if (!onLeft) { rightPadding += mPointerHeight + mBubbleSize; rightPadding += mBubbleSize - mPointerHeight; leftPadding += isLargeOrOverflow ? (mPositionRect.width() - rightPadding - mExpandedViewLargeScreenWidth) : 0; } else { //TODO: pointer height should be padding between pointer & bubbles here & above leftPadding += mPointerHeight + mBubbleSize; leftPadding += mBubbleSize - mPointerHeight; rightPadding += isLargeOrOverflow ? (mPositionRect.width() - leftPadding - mExpandedViewLargeScreenWidth) : 0; } } mLeftRightPadding[0] = leftPadding; mLeftRightPadding[1] = rightPadding; return mLeftRightPadding; // [left, top, right, bottom] mPaddings[0] = leftPadding; mPaddings[1] = showBubblesVertically() ? 0 : mPointerMargin; mPaddings[2] = rightPadding; mPaddings[3] = 0; return mPaddings; } /** Calculates the y position of the expanded view when it is expanded. */ public float getExpandedViewY() { final int top = getAvailableRect().top; if (showBubblesVertically()) { return top + mExpandedViewPadding; return top - mPointerWidth; } else { return top + mBubbleSize + mBubblePaddingTop; return top + mBubbleSize + mPointerMargin; } } Loading Loading
libs/WindowManager/Shell/res/layout/bubble_manage_button.xml +2 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ android:layout_width="wrap_content" android:layout_height="40dp" android:layout_marginTop="8dp" android:layout_marginLeft="8dp" android:layout_marginLeft="16dp" android:layout_marginBottom="8dp" android:focusable="true" android:text="@string/manage_bubbles_text" android:textSize="@*android:dimen/text_size_body_2_material" Loading
libs/WindowManager/Shell/res/layout/bubble_menu_view.xmldeleted 100644 → 0 +0 −45 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ Copyright (C) 2019 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. --> <com.android.wm.shell.bubbles.BubbleMenuView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:layout_width="match_parent" android:background="#66000000" android:visibility="gone" android:id="@+id/bubble_menu_container" tools:ignore="MissingClass"> <FrameLayout android:layout_height="@dimen/bubble_menu_item_height" android:layout_width="wrap_content" android:background="#FFFFFF" android:id="@+id/bubble_menu_view"> <ImageView android:id="@*android:id/icon" android:layout_width="@dimen/bubble_grid_item_icon_width" android:layout_height="@dimen/bubble_grid_item_icon_height" android:layout_marginTop="@dimen/bubble_grid_item_icon_top_margin" android:layout_marginBottom="@dimen/bubble_grid_item_icon_bottom_margin" android:layout_marginLeft="@dimen/bubble_grid_item_icon_side_margin" android:layout_marginRight="@dimen/bubble_grid_item_icon_side_margin" android:scaleType="centerInside" android:tint="@color/bubbles_icon_tint" /> </FrameLayout> </com.android.wm.shell.bubbles.BubbleMenuView>
libs/WindowManager/Shell/res/values/dimen.xml +4 −11 Original line number Diff line number Diff line Loading @@ -85,13 +85,6 @@ <!-- The amount to inset the drop target regions from the edge of the display --> <dimen name="drop_layout_display_margin">16dp</dimen> <!-- The menu grid size for bubble menu. --> <dimen name="bubble_grid_item_icon_width">20dp</dimen> <dimen name="bubble_grid_item_icon_height">20dp</dimen> <dimen name="bubble_grid_item_icon_top_margin">12dp</dimen> <dimen name="bubble_grid_item_icon_bottom_margin">4dp</dimen> <dimen name="bubble_grid_item_icon_side_margin">22dp</dimen> <!-- How much each bubble is elevated. --> <dimen name="bubble_elevation">1dp</dimen> <!-- How much the bubble flyout text container is elevated. --> Loading @@ -109,7 +102,7 @@ <!-- Padding between status bar and bubbles when displayed in expanded state --> <dimen name="bubble_padding_top">16dp</dimen> <!-- Max amount of space between bubbles when expanded. --> <dimen name="bubble_max_spacing">16dp</dimen> <dimen name="bubble_max_spacing">8dp</dimen> <!-- Size of individual bubbles. --> <dimen name="individual_bubble_size">60dp</dimen> <!-- Size of bubble bitmap. --> Loading @@ -119,7 +112,7 @@ <!-- Size of the circle around the bubbles when they're in the dismiss target. --> <dimen name="bubble_dismiss_encircle_size">52dp</dimen> <!-- Padding around the view displayed when the bubble is expanded --> <dimen name="bubble_expanded_view_padding">4dp</dimen> <dimen name="bubble_expanded_view_padding">16dp</dimen> <!-- This should be at least the size of bubble_expanded_view_padding; it is used to include a slight touch slop around the expanded view. --> <dimen name="bubble_expanded_view_slop">8dp</dimen> Loading Loading @@ -151,7 +144,7 @@ <!-- Extra padding around the dismiss target for bubbles --> <dimen name="bubble_dismiss_slop">16dp</dimen> <!-- Height of button allowing users to adjust settings for bubbles. --> <dimen name="bubble_manage_button_height">48dp</dimen> <dimen name="bubble_manage_button_height">56dp</dimen> <!-- Height of an item in the bubble manage menu. --> <dimen name="bubble_menu_item_height">60dp</dimen> <!-- Max width of the message bubble--> Loading @@ -170,7 +163,7 @@ <!-- How far down the screen the stack starts. --> <dimen name="bubble_stack_starting_offset_y">120dp</dimen> <!-- Space between the pointer triangle and the bubble expanded view --> <dimen name="bubble_pointer_margin">8dp</dimen> <dimen name="bubble_pointer_margin">5dp</dimen> <!-- Padding applied to the bubble dismiss target. Touches in this padding cause the bubbles to snap to the dismiss target. --> <dimen name="bubble_dismiss_target_padding_x">40dp</dimen> Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java +10 −11 Original line number Diff line number Diff line Loading @@ -113,7 +113,6 @@ public class BubbleExpandedView extends LinearLayout { private ShapeDrawable mTopPointer; private ShapeDrawable mLeftPointer; private ShapeDrawable mRightPointer; private int mExpandedViewPadding; private float mCornerRadius = 0f; private int mBackgroundColorFloating; Loading Loading @@ -349,7 +348,6 @@ public class BubbleExpandedView extends LinearLayout { Resources res = getResources(); mMinHeight = res.getDimensionPixelSize(R.dimen.bubble_expanded_default_height); mOverflowHeight = res.getDimensionPixelSize(R.dimen.bubble_overflow_height); mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding); updateFontSize(); Loading Loading @@ -667,13 +665,15 @@ public class BubbleExpandedView extends LinearLayout { ? mExpandedViewContainerLocation[1] - mPositioner.getInsets().top : 0; int settingsHeight = mIsOverflow ? 0 : mManageButtonHeight; int pointerHeight = mPositioner.showBubblesVertically() ? mPointerWidth : (int) (mPointerHeight - mPointerOverlap + mPointerMargin); return mPositioner.getAvailableRect().height() - expandedContainerY - getPaddingTop() - getPaddingBottom() - settingsHeight - mPointerHeight - mPointerMargin; - pointerHeight; } /** Loading Loading @@ -721,15 +721,14 @@ public class BubbleExpandedView extends LinearLayout { : 0; final float paddingRight = (showVertically && !onLeft) ? mPointerHeight - mPointerOverlap : 0; final int paddingTop = showVertically ? 0 : mExpandedViewPadding; setPadding((int) paddingLeft, paddingTop, (int) paddingRight, 0); final float paddingTop = showVertically ? 0 : mPointerHeight - mPointerOverlap; setPadding((int) paddingLeft, (int) paddingTop, (int) paddingRight, 0); final float expandedViewY = mPositioner.getExpandedViewY(); final float bubbleSize = mPositioner.getBubbleBitmapSize(); final float bubbleCenter = showVertically ? bubblePosition + (bubbleSize / 2f) - expandedViewY : bubblePosition + (bubbleSize / 2f); ? bubblePosition + (mPositioner.getBubbleSize() / 2f) - expandedViewY : bubblePosition + (mPositioner.getBubbleBitmapSize() / 2f) - mPointerWidth; // Post because we need the width of the view post(() -> { float pointerY; Loading @@ -741,7 +740,7 @@ public class BubbleExpandedView extends LinearLayout { : getWidth() - mPaddingRight - mPointerOverlap; } else { pointerY = mPointerOverlap; pointerX = bubbleCenter - mPaddingLeft - (mPointerWidth / 2f); pointerX = bubbleCenter - (mPointerWidth / 2f); } mPointerView.setTranslationY(pointerY); mPointerView.setTranslationX(pointerX); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java +16 −12 Original line number Diff line number Diff line Loading @@ -72,12 +72,13 @@ public class BubblePositioner { private int mBubbleBitmapSize; private int mExpandedViewLargeScreenWidth; private int mExpandedViewPadding; private int mPointerHeight; private int mBubblePaddingTop; private int mPointerMargin; private float mPointerWidth; private float mPointerHeight; private PointF mPinLocation; private PointF mRestingStackPosition; private int[] mLeftRightPadding = new int[2]; private int[] mPaddings = new int[4]; private boolean mIsLargeScreen; private boolean mShowingInTaskbar; Loading Loading @@ -154,8 +155,9 @@ public class BubblePositioner { mExpandedViewLargeScreenWidth = res.getDimensionPixelSize( R.dimen.bubble_expanded_view_tablet_width); mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); if (mShowingInTaskbar) { adjustForTaskbar(); } Loading Loading @@ -251,30 +253,32 @@ public class BubblePositioner { final boolean isLargeOrOverflow = mIsLargeScreen || isOverflow; if (showBubblesVertically()) { if (!onLeft) { rightPadding += mPointerHeight + mBubbleSize; rightPadding += mBubbleSize - mPointerHeight; leftPadding += isLargeOrOverflow ? (mPositionRect.width() - rightPadding - mExpandedViewLargeScreenWidth) : 0; } else { //TODO: pointer height should be padding between pointer & bubbles here & above leftPadding += mPointerHeight + mBubbleSize; leftPadding += mBubbleSize - mPointerHeight; rightPadding += isLargeOrOverflow ? (mPositionRect.width() - leftPadding - mExpandedViewLargeScreenWidth) : 0; } } mLeftRightPadding[0] = leftPadding; mLeftRightPadding[1] = rightPadding; return mLeftRightPadding; // [left, top, right, bottom] mPaddings[0] = leftPadding; mPaddings[1] = showBubblesVertically() ? 0 : mPointerMargin; mPaddings[2] = rightPadding; mPaddings[3] = 0; return mPaddings; } /** Calculates the y position of the expanded view when it is expanded. */ public float getExpandedViewY() { final int top = getAvailableRect().top; if (showBubblesVertically()) { return top + mExpandedViewPadding; return top - mPointerWidth; } else { return top + mBubbleSize + mBubblePaddingTop; return top + mBubbleSize + mPointerMargin; } } Loading