Loading libs/WindowManager/Shell/res/layout/bubble_overflow_container.xml +2 −3 Original line number Original line Diff line number Diff line Loading @@ -19,9 +19,8 @@ android:id="@+id/bubble_overflow_container" android:id="@+id/bubble_overflow_container" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/bubble_overflow_padding" android:paddingLeft="@dimen/bubble_overflow_container_padding_horizontal" android:paddingLeft="@dimen/bubble_overflow_padding" android:paddingRight="@dimen/bubble_overflow_container_padding_horizontal" android:paddingRight="@dimen/bubble_overflow_padding" android:orientation="vertical" android:orientation="vertical" android:layout_gravity="center_horizontal"> android:layout_gravity="center_horizontal"> Loading libs/WindowManager/Shell/res/layout/bubble_overflow_view.xml +3 −6 Original line number Original line Diff line number Diff line Loading @@ -22,7 +22,6 @@ android:orientation="vertical"> android:orientation="vertical"> <com.android.wm.shell.bubbles.BadgedImageView <com.android.wm.shell.bubbles.BadgedImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/bubble_view" android:id="@+id/bubble_view" android:layout_gravity="center" android:layout_gravity="center" android:layout_width="@dimen/bubble_size" android:layout_width="@dimen/bubble_size" Loading @@ -30,16 +29,14 @@ <TextView <TextView android:id="@+id/bubble_view_name" android:id="@+id/bubble_view_name" android:textAppearance="@*android:style/TextAppearance.DeviceDefault.ListItem" android:textSize="14sp" android:textSize="13sp" android:layout_width="@dimen/bubble_name_width" android:layout_width="@dimen/bubble_name_width" android:layout_height="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:lines="1" android:lines="2" android:ellipsize="end" android:ellipsize="end" android:layout_gravity="center" android:layout_gravity="center" android:paddingTop="@dimen/bubble_overflow_text_padding" android:paddingTop="@dimen/bubble_overflow_text_padding" android:paddingEnd="@dimen/bubble_overflow_text_padding" android:paddingEnd="@dimen/bubble_overflow_text_padding" android:paddingStart="@dimen/bubble_overflow_text_padding" android:paddingStart="@dimen/bubble_overflow_text_padding" android:gravity="center"/> android:gravity="center_horizontal|top"/> </LinearLayout> </LinearLayout> libs/WindowManager/Shell/res/values/dimen.xml +9 −4 Original line number Original line Diff line number Diff line Loading @@ -139,16 +139,21 @@ If this value changes then R.dimen.bubble_expanded_view_min_height in CtsVerifier If this value changes then R.dimen.bubble_expanded_view_min_height in CtsVerifier should also be updated. --> should also be updated. --> <dimen name="bubble_expanded_default_height">180dp</dimen> <dimen name="bubble_expanded_default_height">180dp</dimen> <!-- On large screens the width of the expanded view is restricted to this size. --> <!-- The width of the overflow view on large screens or in landscape on phone. --> <dimen name="bubble_expanded_view_phone_landscape_overflow_width">412dp</dimen> <dimen name="bubble_expanded_view_overflow_width">380dp</dimen> <!-- Inset to apply to the icon in the overflow button. --> <!-- Inset to apply to the icon in the overflow button. --> <dimen name="bubble_overflow_icon_inset">30dp</dimen> <dimen name="bubble_overflow_icon_inset">30dp</dimen> <!-- Default (and minimum) height of bubble overflow --> <!-- Default (and minimum) height of bubble overflow --> <dimen name="bubble_overflow_height">480dp</dimen> <dimen name="bubble_overflow_height">480dp</dimen> <!-- Bubble overflow padding when there are no bubbles --> <!-- Bubble overflow padding when there are no bubbles --> <dimen name="bubble_overflow_empty_state_padding">16dp</dimen> <dimen name="bubble_overflow_empty_state_padding">16dp</dimen> <!-- Padding of container for overflow bubbles --> <!-- Horizontal padding of the overflow container. Total desired padding is 16dp but the items <dimen name="bubble_overflow_padding">15dp</dimen> already have 5dp added to each side. --> <dimen name="bubble_overflow_container_padding_horizontal">11dp</dimen> <!-- Horizontal padding between items in the overflow view, half of the desired amount. --> <dimen name="bubble_overflow_item_padding_horizontal">5dp</dimen> <!-- Vertical padding between items in the overflow view, half the desired amount. --> <dimen name="bubble_overflow_item_padding_vertical">16dp</dimen> <!-- Padding of label for bubble overflow view --> <!-- Padding of label for bubble overflow view --> <dimen name="bubble_overflow_text_padding">7dp</dimen> <dimen name="bubble_overflow_text_padding">7dp</dimen> <!-- Height of bubble overflow empty state illustration --> <!-- Height of bubble overflow empty state illustration --> Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleOverflowContainerView.java +26 −8 Original line number Original line Diff line number Diff line Loading @@ -20,11 +20,13 @@ import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_OVERFLOW; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME; import android.annotation.NonNull; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.Color; import android.graphics.Rect; import android.util.AttributeSet; import android.util.AttributeSet; import android.util.Log; import android.util.Log; import android.util.TypedValue; import android.util.TypedValue; Loading Loading @@ -58,6 +60,8 @@ public class BubbleOverflowContainerView extends LinearLayout { private TextView mEmptyStateTitle; private TextView mEmptyStateTitle; private TextView mEmptyStateSubtitle; private TextView mEmptyStateSubtitle; private ImageView mEmptyStateImage; private ImageView mEmptyStateImage; private int mHorizontalMargin; private int mVerticalMargin; private BubbleController mController; private BubbleController mController; private BubbleOverflowAdapter mAdapter; private BubbleOverflowAdapter mAdapter; private RecyclerView mRecyclerView; private RecyclerView mRecyclerView; Loading @@ -77,12 +81,6 @@ public class BubbleOverflowContainerView extends LinearLayout { super(context, columns); super(context, columns); } } // @Override // public boolean canScrollVertically() { // // TODO (b/162006693): this should be based on items in the list & available height // return true; // } @Override @Override public int getColumnCountForAccessibility(RecyclerView.Recycler recycler, public int getColumnCountForAccessibility(RecyclerView.Recycler recycler, RecyclerView.State state) { RecyclerView.State state) { Loading @@ -98,6 +96,17 @@ public class BubbleOverflowContainerView extends LinearLayout { } } } } private class OverflowItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { outRect.left = mHorizontalMargin; outRect.top = mVerticalMargin; outRect.right = mHorizontalMargin; outRect.bottom = mVerticalMargin; } } public BubbleOverflowContainerView(Context context) { public BubbleOverflowContainerView(Context context) { this(context, null); this(context, null); } } Loading Loading @@ -161,6 +170,9 @@ public class BubbleOverflowContainerView extends LinearLayout { final int columns = res.getInteger(R.integer.bubbles_overflow_columns); final int columns = res.getInteger(R.integer.bubbles_overflow_columns); mRecyclerView.setLayoutManager( mRecyclerView.setLayoutManager( new OverflowGridLayoutManager(getContext(), columns)); new OverflowGridLayoutManager(getContext(), columns)); if (mRecyclerView.getItemDecorationCount() == 0) { mRecyclerView.addItemDecoration(new OverflowItemDecoration()); } mAdapter = new BubbleOverflowAdapter(getContext(), mOverflowBubbles, mAdapter = new BubbleOverflowAdapter(getContext(), mOverflowBubbles, mController::promoteBubbleFromOverflow, mController::promoteBubbleFromOverflow, mController.getPositioner()); mController.getPositioner()); Loading Loading @@ -188,6 +200,13 @@ public class BubbleOverflowContainerView extends LinearLayout { final int mode = res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; final int mode = res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; final boolean isNightMode = (mode == Configuration.UI_MODE_NIGHT_YES); final boolean isNightMode = (mode == Configuration.UI_MODE_NIGHT_YES); mHorizontalMargin = res.getDimensionPixelSize( R.dimen.bubble_overflow_item_padding_horizontal); mVerticalMargin = res.getDimensionPixelSize(R.dimen.bubble_overflow_item_padding_vertical); if (mRecyclerView != null) { mRecyclerView.invalidateItemDecorations(); } mEmptyStateImage.setImageDrawable(isNightMode mEmptyStateImage.setImageDrawable(isNightMode ? res.getDrawable(R.drawable.bubble_ic_empty_overflow_dark) ? res.getDrawable(R.drawable.bubble_ic_empty_overflow_dark) : res.getDrawable(R.drawable.bubble_ic_empty_overflow_light)); : res.getDrawable(R.drawable.bubble_ic_empty_overflow_light)); Loading Loading @@ -277,8 +296,7 @@ class BubbleOverflowAdapter extends RecyclerView.Adapter<BubbleOverflowAdapter.V } } @Override @Override public BubbleOverflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, public BubbleOverflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { int viewType) { // Set layout for overflow bubble view. // Set layout for overflow bubble view. LinearLayout overflowView = (LinearLayout) LayoutInflater.from(parent.getContext()) LinearLayout overflowView = (LinearLayout) LayoutInflater.from(parent.getContext()) Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java +14 −6 Original line number Original line Diff line number Diff line Loading @@ -212,10 +212,7 @@ public class BubblePositioner { mExpandedViewLargeScreenInsetFurthestEdge = mExpandedViewPadding; mExpandedViewLargeScreenInsetFurthestEdge = mExpandedViewPadding; } } mOverflowWidth = mIsLargeScreen mOverflowWidth = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_overflow_width); ? mExpandedViewLargeScreenWidth : res.getDimensionPixelSize( R.dimen.bubble_expanded_view_phone_landscape_overflow_width); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); Loading Loading @@ -348,6 +345,15 @@ public class BubblePositioner { mImeHeight = height; mImeHeight = height; } } private int getExpandedViewLargeScreenInsetFurthestEdge(boolean isOverflow) { if (isOverflow && mIsLargeScreen) { return mScreenRect.width() - mExpandedViewLargeScreenInsetClosestEdge - mOverflowWidth; } return mExpandedViewLargeScreenInsetFurthestEdge; } /** /** * Calculates the padding for the bubble expanded view. * Calculates the padding for the bubble expanded view. * * Loading @@ -362,6 +368,8 @@ public class BubblePositioner { */ */ public int[] getExpandedViewContainerPadding(boolean onLeft, boolean isOverflow) { public int[] getExpandedViewContainerPadding(boolean onLeft, boolean isOverflow) { final int pointerTotalHeight = mPointerHeight - mPointerOverlap; final int pointerTotalHeight = mPointerHeight - mPointerOverlap; final int expandedViewLargeScreenInsetFurthestEdge = getExpandedViewLargeScreenInsetFurthestEdge(isOverflow); if (mIsLargeScreen) { if (mIsLargeScreen) { // Note: // Note: // If we're in portrait OR if we're a small tablet, then the two insets values will // If we're in portrait OR if we're a small tablet, then the two insets values will Loading @@ -369,10 +377,10 @@ public class BubblePositioner { // [left, top, right, bottom] // [left, top, right, bottom] mPaddings[0] = onLeft mPaddings[0] = onLeft ? mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight ? mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight : mExpandedViewLargeScreenInsetFurthestEdge; : expandedViewLargeScreenInsetFurthestEdge; mPaddings[1] = 0; mPaddings[1] = 0; mPaddings[2] = onLeft mPaddings[2] = onLeft ? mExpandedViewLargeScreenInsetFurthestEdge ? expandedViewLargeScreenInsetFurthestEdge : mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight; : mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight; // Overflow doesn't show manage button / get padding from it so add padding here // Overflow doesn't show manage button / get padding from it so add padding here mPaddings[3] = isOverflow ? mExpandedViewPadding : 0; mPaddings[3] = isOverflow ? mExpandedViewPadding : 0; Loading Loading
libs/WindowManager/Shell/res/layout/bubble_overflow_container.xml +2 −3 Original line number Original line Diff line number Diff line Loading @@ -19,9 +19,8 @@ android:id="@+id/bubble_overflow_container" android:id="@+id/bubble_overflow_container" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/bubble_overflow_padding" android:paddingLeft="@dimen/bubble_overflow_container_padding_horizontal" android:paddingLeft="@dimen/bubble_overflow_padding" android:paddingRight="@dimen/bubble_overflow_container_padding_horizontal" android:paddingRight="@dimen/bubble_overflow_padding" android:orientation="vertical" android:orientation="vertical" android:layout_gravity="center_horizontal"> android:layout_gravity="center_horizontal"> Loading
libs/WindowManager/Shell/res/layout/bubble_overflow_view.xml +3 −6 Original line number Original line Diff line number Diff line Loading @@ -22,7 +22,6 @@ android:orientation="vertical"> android:orientation="vertical"> <com.android.wm.shell.bubbles.BadgedImageView <com.android.wm.shell.bubbles.BadgedImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/bubble_view" android:id="@+id/bubble_view" android:layout_gravity="center" android:layout_gravity="center" android:layout_width="@dimen/bubble_size" android:layout_width="@dimen/bubble_size" Loading @@ -30,16 +29,14 @@ <TextView <TextView android:id="@+id/bubble_view_name" android:id="@+id/bubble_view_name" android:textAppearance="@*android:style/TextAppearance.DeviceDefault.ListItem" android:textSize="14sp" android:textSize="13sp" android:layout_width="@dimen/bubble_name_width" android:layout_width="@dimen/bubble_name_width" android:layout_height="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:lines="1" android:lines="2" android:ellipsize="end" android:ellipsize="end" android:layout_gravity="center" android:layout_gravity="center" android:paddingTop="@dimen/bubble_overflow_text_padding" android:paddingTop="@dimen/bubble_overflow_text_padding" android:paddingEnd="@dimen/bubble_overflow_text_padding" android:paddingEnd="@dimen/bubble_overflow_text_padding" android:paddingStart="@dimen/bubble_overflow_text_padding" android:paddingStart="@dimen/bubble_overflow_text_padding" android:gravity="center"/> android:gravity="center_horizontal|top"/> </LinearLayout> </LinearLayout>
libs/WindowManager/Shell/res/values/dimen.xml +9 −4 Original line number Original line Diff line number Diff line Loading @@ -139,16 +139,21 @@ If this value changes then R.dimen.bubble_expanded_view_min_height in CtsVerifier If this value changes then R.dimen.bubble_expanded_view_min_height in CtsVerifier should also be updated. --> should also be updated. --> <dimen name="bubble_expanded_default_height">180dp</dimen> <dimen name="bubble_expanded_default_height">180dp</dimen> <!-- On large screens the width of the expanded view is restricted to this size. --> <!-- The width of the overflow view on large screens or in landscape on phone. --> <dimen name="bubble_expanded_view_phone_landscape_overflow_width">412dp</dimen> <dimen name="bubble_expanded_view_overflow_width">380dp</dimen> <!-- Inset to apply to the icon in the overflow button. --> <!-- Inset to apply to the icon in the overflow button. --> <dimen name="bubble_overflow_icon_inset">30dp</dimen> <dimen name="bubble_overflow_icon_inset">30dp</dimen> <!-- Default (and minimum) height of bubble overflow --> <!-- Default (and minimum) height of bubble overflow --> <dimen name="bubble_overflow_height">480dp</dimen> <dimen name="bubble_overflow_height">480dp</dimen> <!-- Bubble overflow padding when there are no bubbles --> <!-- Bubble overflow padding when there are no bubbles --> <dimen name="bubble_overflow_empty_state_padding">16dp</dimen> <dimen name="bubble_overflow_empty_state_padding">16dp</dimen> <!-- Padding of container for overflow bubbles --> <!-- Horizontal padding of the overflow container. Total desired padding is 16dp but the items <dimen name="bubble_overflow_padding">15dp</dimen> already have 5dp added to each side. --> <dimen name="bubble_overflow_container_padding_horizontal">11dp</dimen> <!-- Horizontal padding between items in the overflow view, half of the desired amount. --> <dimen name="bubble_overflow_item_padding_horizontal">5dp</dimen> <!-- Vertical padding between items in the overflow view, half the desired amount. --> <dimen name="bubble_overflow_item_padding_vertical">16dp</dimen> <!-- Padding of label for bubble overflow view --> <!-- Padding of label for bubble overflow view --> <dimen name="bubble_overflow_text_padding">7dp</dimen> <dimen name="bubble_overflow_text_padding">7dp</dimen> <!-- Height of bubble overflow empty state illustration --> <!-- Height of bubble overflow empty state illustration --> Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleOverflowContainerView.java +26 −8 Original line number Original line Diff line number Diff line Loading @@ -20,11 +20,13 @@ import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_OVERFLOW; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME; import android.annotation.NonNull; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.Color; import android.graphics.Rect; import android.util.AttributeSet; import android.util.AttributeSet; import android.util.Log; import android.util.Log; import android.util.TypedValue; import android.util.TypedValue; Loading Loading @@ -58,6 +60,8 @@ public class BubbleOverflowContainerView extends LinearLayout { private TextView mEmptyStateTitle; private TextView mEmptyStateTitle; private TextView mEmptyStateSubtitle; private TextView mEmptyStateSubtitle; private ImageView mEmptyStateImage; private ImageView mEmptyStateImage; private int mHorizontalMargin; private int mVerticalMargin; private BubbleController mController; private BubbleController mController; private BubbleOverflowAdapter mAdapter; private BubbleOverflowAdapter mAdapter; private RecyclerView mRecyclerView; private RecyclerView mRecyclerView; Loading @@ -77,12 +81,6 @@ public class BubbleOverflowContainerView extends LinearLayout { super(context, columns); super(context, columns); } } // @Override // public boolean canScrollVertically() { // // TODO (b/162006693): this should be based on items in the list & available height // return true; // } @Override @Override public int getColumnCountForAccessibility(RecyclerView.Recycler recycler, public int getColumnCountForAccessibility(RecyclerView.Recycler recycler, RecyclerView.State state) { RecyclerView.State state) { Loading @@ -98,6 +96,17 @@ public class BubbleOverflowContainerView extends LinearLayout { } } } } private class OverflowItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { outRect.left = mHorizontalMargin; outRect.top = mVerticalMargin; outRect.right = mHorizontalMargin; outRect.bottom = mVerticalMargin; } } public BubbleOverflowContainerView(Context context) { public BubbleOverflowContainerView(Context context) { this(context, null); this(context, null); } } Loading Loading @@ -161,6 +170,9 @@ public class BubbleOverflowContainerView extends LinearLayout { final int columns = res.getInteger(R.integer.bubbles_overflow_columns); final int columns = res.getInteger(R.integer.bubbles_overflow_columns); mRecyclerView.setLayoutManager( mRecyclerView.setLayoutManager( new OverflowGridLayoutManager(getContext(), columns)); new OverflowGridLayoutManager(getContext(), columns)); if (mRecyclerView.getItemDecorationCount() == 0) { mRecyclerView.addItemDecoration(new OverflowItemDecoration()); } mAdapter = new BubbleOverflowAdapter(getContext(), mOverflowBubbles, mAdapter = new BubbleOverflowAdapter(getContext(), mOverflowBubbles, mController::promoteBubbleFromOverflow, mController::promoteBubbleFromOverflow, mController.getPositioner()); mController.getPositioner()); Loading Loading @@ -188,6 +200,13 @@ public class BubbleOverflowContainerView extends LinearLayout { final int mode = res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; final int mode = res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; final boolean isNightMode = (mode == Configuration.UI_MODE_NIGHT_YES); final boolean isNightMode = (mode == Configuration.UI_MODE_NIGHT_YES); mHorizontalMargin = res.getDimensionPixelSize( R.dimen.bubble_overflow_item_padding_horizontal); mVerticalMargin = res.getDimensionPixelSize(R.dimen.bubble_overflow_item_padding_vertical); if (mRecyclerView != null) { mRecyclerView.invalidateItemDecorations(); } mEmptyStateImage.setImageDrawable(isNightMode mEmptyStateImage.setImageDrawable(isNightMode ? res.getDrawable(R.drawable.bubble_ic_empty_overflow_dark) ? res.getDrawable(R.drawable.bubble_ic_empty_overflow_dark) : res.getDrawable(R.drawable.bubble_ic_empty_overflow_light)); : res.getDrawable(R.drawable.bubble_ic_empty_overflow_light)); Loading Loading @@ -277,8 +296,7 @@ class BubbleOverflowAdapter extends RecyclerView.Adapter<BubbleOverflowAdapter.V } } @Override @Override public BubbleOverflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, public BubbleOverflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { int viewType) { // Set layout for overflow bubble view. // Set layout for overflow bubble view. LinearLayout overflowView = (LinearLayout) LayoutInflater.from(parent.getContext()) LinearLayout overflowView = (LinearLayout) LayoutInflater.from(parent.getContext()) Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java +14 −6 Original line number Original line Diff line number Diff line Loading @@ -212,10 +212,7 @@ public class BubblePositioner { mExpandedViewLargeScreenInsetFurthestEdge = mExpandedViewPadding; mExpandedViewLargeScreenInsetFurthestEdge = mExpandedViewPadding; } } mOverflowWidth = mIsLargeScreen mOverflowWidth = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_overflow_width); ? mExpandedViewLargeScreenWidth : res.getDimensionPixelSize( R.dimen.bubble_expanded_view_phone_landscape_overflow_width); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mPointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); mPointerMargin = res.getDimensionPixelSize(R.dimen.bubble_pointer_margin); Loading Loading @@ -348,6 +345,15 @@ public class BubblePositioner { mImeHeight = height; mImeHeight = height; } } private int getExpandedViewLargeScreenInsetFurthestEdge(boolean isOverflow) { if (isOverflow && mIsLargeScreen) { return mScreenRect.width() - mExpandedViewLargeScreenInsetClosestEdge - mOverflowWidth; } return mExpandedViewLargeScreenInsetFurthestEdge; } /** /** * Calculates the padding for the bubble expanded view. * Calculates the padding for the bubble expanded view. * * Loading @@ -362,6 +368,8 @@ public class BubblePositioner { */ */ public int[] getExpandedViewContainerPadding(boolean onLeft, boolean isOverflow) { public int[] getExpandedViewContainerPadding(boolean onLeft, boolean isOverflow) { final int pointerTotalHeight = mPointerHeight - mPointerOverlap; final int pointerTotalHeight = mPointerHeight - mPointerOverlap; final int expandedViewLargeScreenInsetFurthestEdge = getExpandedViewLargeScreenInsetFurthestEdge(isOverflow); if (mIsLargeScreen) { if (mIsLargeScreen) { // Note: // Note: // If we're in portrait OR if we're a small tablet, then the two insets values will // If we're in portrait OR if we're a small tablet, then the two insets values will Loading @@ -369,10 +377,10 @@ public class BubblePositioner { // [left, top, right, bottom] // [left, top, right, bottom] mPaddings[0] = onLeft mPaddings[0] = onLeft ? mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight ? mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight : mExpandedViewLargeScreenInsetFurthestEdge; : expandedViewLargeScreenInsetFurthestEdge; mPaddings[1] = 0; mPaddings[1] = 0; mPaddings[2] = onLeft mPaddings[2] = onLeft ? mExpandedViewLargeScreenInsetFurthestEdge ? expandedViewLargeScreenInsetFurthestEdge : mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight; : mExpandedViewLargeScreenInsetClosestEdge - pointerTotalHeight; // Overflow doesn't show manage button / get padding from it so add padding here // Overflow doesn't show manage button / get padding from it so add padding here mPaddings[3] = isOverflow ? mExpandedViewPadding : 0; mPaddings[3] = isOverflow ? mExpandedViewPadding : 0; Loading