Merge "Fix shadow and animation clipping for Global Actions Dialog." into qt-dev

This commit is contained in:
Aran Ink
2019-05-15 16:20:58 +00:00
committed by Android (Google) Code Review
8 changed files with 36 additions and 13 deletions

View File

@@ -5,19 +5,21 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal" android:orientation="horizontal"
android:clipToPadding="false"
android:theme="@style/qs_theme" android:theme="@style/qs_theme"
android:paddingLeft="@dimen/global_actions_top_padding"
android:gravity="right" android:gravity="right"
android:clipChildren="false" android:clipChildren="false"
android:clipToPadding="false"
android:paddingRight="@dimen/global_actions_grid_container_shadow_offset"
android:layout_marginRight="@dimen/global_actions_grid_container_negative_shadow_offset"
> >
<LinearLayout <LinearLayout
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:gravity="top|right" android:gravity="top|right"
android:padding="0dp"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginRight="@dimen/global_actions_grid_container_bottom_margin" android:layout_marginRight="@dimen/global_actions_grid_container_bottom_margin"
android:clipChildren="false"
android:clipToPadding="false"
> >
<!-- Grid of action items --> <!-- Grid of action items -->
<com.android.systemui.globalactions.ListGridLayout <com.android.systemui.globalactions.ListGridLayout

View File

@@ -5,11 +5,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal" android:orientation="horizontal"
android:clipToPadding="false"
android:theme="@style/qs_theme" android:theme="@style/qs_theme"
android:gravity="left" android:gravity="left"
android:paddingRight="@dimen/global_actions_top_padding"
android:clipChildren="false" android:clipChildren="false"
android:clipToPadding="false"
android:paddingLeft="@dimen/global_actions_grid_container_shadow_offset"
android:layout_marginLeft="@dimen/global_actions_grid_container_negative_shadow_offset"
> >
<LinearLayout <LinearLayout
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -17,6 +18,8 @@
android:gravity="bottom|left" android:gravity="bottom|left"
android:padding="0dp" android:padding="0dp"
android:orientation="vertical" android:orientation="vertical"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_marginLeft="@dimen/global_actions_grid_container_bottom_margin" android:layout_marginLeft="@dimen/global_actions_grid_container_bottom_margin"
> >
<!-- For separated items--> <!-- For separated items-->

View File

@@ -5,17 +5,20 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal" android:orientation="horizontal"
android:clipToPadding="false"
android:theme="@style/qs_theme" android:theme="@style/qs_theme"
android:gravity="bottom" android:gravity="bottom"
android:clipChildren="false" android:clipChildren="false"
android:clipToPadding="false"
android:paddingBottom="@dimen/global_actions_grid_container_shadow_offset"
android:layout_marginBottom="@dimen/global_actions_grid_container_negative_shadow_offset"
> >
<LinearLayout <LinearLayout
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:gravity="bottom | right" android:gravity="bottom | right"
android:padding="0dp"
android:layoutDirection="ltr" android:layoutDirection="ltr"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_marginBottom="@dimen/global_actions_grid_container_bottom_margin" android:layout_marginBottom="@dimen/global_actions_grid_container_bottom_margin"
> >
<!-- For separated items--> <!-- For separated items-->

View File

@@ -16,8 +16,6 @@
--> -->
<resources> <resources>
<!-- Global actions grid --> <!-- Global actions grid -->
<dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<dimen name="global_actions_grid_vertical_padding">0dp</dimen> <dimen name="global_actions_grid_vertical_padding">0dp</dimen>
<dimen name="global_actions_grid_horizontal_padding">3dp</dimen> <dimen name="global_actions_grid_horizontal_padding">3dp</dimen>

View File

@@ -16,8 +16,6 @@
--> -->
<resources> <resources>
<!-- Global actions grid --> <!-- Global actions grid -->
<dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<dimen name="global_actions_grid_vertical_padding">0dp</dimen> <dimen name="global_actions_grid_vertical_padding">0dp</dimen>
<dimen name="global_actions_grid_horizontal_padding">3dp</dimen> <dimen name="global_actions_grid_horizontal_padding">3dp</dimen>

View File

@@ -23,8 +23,6 @@
<dimen name="qs_detail_items_padding_top">16dp</dimen> <dimen name="qs_detail_items_padding_top">16dp</dimen>
<!-- Global actions grid --> <!-- Global actions grid -->
<dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<dimen name="global_actions_grid_vertical_padding">8dp</dimen> <dimen name="global_actions_grid_vertical_padding">8dp</dimen>
<dimen name="global_actions_grid_horizontal_padding">4dp</dimen> <dimen name="global_actions_grid_horizontal_padding">4dp</dimen>

View File

@@ -944,6 +944,12 @@
<!-- Global actions grid layout --> <!-- Global actions grid layout -->
<dimen name="global_actions_grid_side_margin">4dp</dimen> <dimen name="global_actions_grid_side_margin">4dp</dimen>
<dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<!-- Used to workaround a bug where shadows are clipped during animations by expanding
the bounds of the parent view. -->
<dimen name="global_actions_grid_container_shadow_offset">20dp</dimen>
<dimen name="global_actions_grid_container_negative_shadow_offset">-20dp</dimen>
<!-- The maximum offset in either direction that elements are moved horizontally to prevent <!-- The maximum offset in either direction that elements are moved horizontally to prevent
burn-in on AOD. --> burn-in on AOD. -->

View File

@@ -42,6 +42,8 @@ public class GlobalActionsGridLayout extends GlobalActionsLayout {
listView.setReverseSublists(shouldReverseSublists()); listView.setReverseSublists(shouldReverseSublists());
listView.setReverseItems(shouldReverseListItems()); listView.setReverseItems(shouldReverseListItems());
listView.setSwapRowsAndColumns(shouldSwapRowsAndColumns()); listView.setSwapRowsAndColumns(shouldSwapRowsAndColumns());
fixNavBarClipping();
} }
@Override @Override
@@ -73,6 +75,19 @@ public class GlobalActionsGridLayout extends GlobalActionsLayout {
} }
} }
/**
* Allows the dialog to clip over the navbar, which prevents shadows and animations from being
* cut off.
*/
private void fixNavBarClipping() {
ViewGroup parent = (ViewGroup) this.getParent();
ViewGroup parentParent = (ViewGroup) parent.getParent();
parent.setClipChildren(false);
parent.setClipToPadding(false);
parentParent.setClipChildren(false);
parentParent.setClipToPadding(false);
}
@Override @Override
protected ListGridLayout getListView() { protected ListGridLayout getListView() {
return (ListGridLayout) super.getListView(); return (ListGridLayout) super.getListView();