diff options
author | Aran Ink <nesciosquid@google.com> | 2019-05-15 17:54:48 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-05-15 17:54:48 -0700 |
commit | 9600d512fa09a81466071c1b648f60b9a45f7ccb (patch) | |
tree | c904f66cc541ff9a4ee9db22b6f9f26679978723 | |
parent | cedbf50e0fa953dd56ec3faee54157814fa36a76 (diff) | |
parent | c543db049d464e830a705183c48b5a9907d151f3 (diff) |
Merge "Fix shadow and animation clipping for Global Actions Dialog." into qt-dev
am: c543db049d
Change-Id: I41e136c1fb59b67eeb3da7729e13a1a571c99ab9
8 files changed, 36 insertions, 13 deletions
diff --git a/packages/SystemUI/res/layout-land/global_actions_grid.xml b/packages/SystemUI/res/layout-land/global_actions_grid.xml index 511910ea2f61..86b103d63f1a 100644 --- a/packages/SystemUI/res/layout-land/global_actions_grid.xml +++ b/packages/SystemUI/res/layout-land/global_actions_grid.xml @@ -5,19 +5,21 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" - android:clipToPadding="false" android:theme="@style/qs_theme" - android:paddingLeft="@dimen/global_actions_top_padding" android:gravity="right" 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 android:layout_height="match_parent" android:layout_width="wrap_content" android:gravity="top|right" - android:padding="0dp" android:orientation="vertical" android:layout_marginRight="@dimen/global_actions_grid_container_bottom_margin" + android:clipChildren="false" + android:clipToPadding="false" > <!-- Grid of action items --> <com.android.systemui.globalactions.ListGridLayout diff --git a/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml b/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml index ff2a7d8d6faa..4c3fcc0c87a0 100644 --- a/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml +++ b/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml @@ -5,11 +5,12 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" - android:clipToPadding="false" android:theme="@style/qs_theme" android:gravity="left" - android:paddingRight="@dimen/global_actions_top_padding" 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 android:layout_height="match_parent" @@ -17,6 +18,8 @@ android:gravity="bottom|left" android:padding="0dp" android:orientation="vertical" + android:clipChildren="false" + android:clipToPadding="false" android:layout_marginLeft="@dimen/global_actions_grid_container_bottom_margin" > <!-- For separated items--> diff --git a/packages/SystemUI/res/layout/global_actions_grid.xml b/packages/SystemUI/res/layout/global_actions_grid.xml index 3f10b388fdd5..43e6b49b4248 100644 --- a/packages/SystemUI/res/layout/global_actions_grid.xml +++ b/packages/SystemUI/res/layout/global_actions_grid.xml @@ -5,17 +5,20 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" - android:clipToPadding="false" android:theme="@style/qs_theme" android:gravity="bottom" 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 android:layout_height="wrap_content" android:layout_width="match_parent" android:gravity="bottom | right" - android:padding="0dp" android:layoutDirection="ltr" + android:clipChildren="false" + android:clipToPadding="false" android:layout_marginBottom="@dimen/global_actions_grid_container_bottom_margin" > <!-- For separated items--> diff --git a/packages/SystemUI/res/values-sw320dp/dimens.xml b/packages/SystemUI/res/values-sw320dp/dimens.xml index 8f27f45c5396..4390d35e2ad2 100644 --- a/packages/SystemUI/res/values-sw320dp/dimens.xml +++ b/packages/SystemUI/res/values-sw320dp/dimens.xml @@ -16,8 +16,6 @@ --> <resources> <!-- 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_horizontal_padding">3dp</dimen> diff --git a/packages/SystemUI/res/values-sw392dp/dimens.xml b/packages/SystemUI/res/values-sw392dp/dimens.xml index 6fa6692c4d90..2557ff4bb578 100644 --- a/packages/SystemUI/res/values-sw392dp/dimens.xml +++ b/packages/SystemUI/res/values-sw392dp/dimens.xml @@ -16,8 +16,6 @@ --> <resources> <!-- 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_horizontal_padding">3dp</dimen> diff --git a/packages/SystemUI/res/values-sw410dp/dimens.xml b/packages/SystemUI/res/values-sw410dp/dimens.xml index fea1ef11e139..6780dca130b8 100644 --- a/packages/SystemUI/res/values-sw410dp/dimens.xml +++ b/packages/SystemUI/res/values-sw410dp/dimens.xml @@ -23,8 +23,6 @@ <dimen name="qs_detail_items_padding_top">16dp</dimen> <!-- 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_horizontal_padding">4dp</dimen> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 62974238cd9f..6dbc3854b57c 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -944,6 +944,12 @@ <!-- Global actions grid layout --> <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 burn-in on AOD. --> diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java index e1462d15c887..03165f47c472 100644 --- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java +++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java @@ -42,6 +42,8 @@ public class GlobalActionsGridLayout extends GlobalActionsLayout { listView.setReverseSublists(shouldReverseSublists()); listView.setReverseItems(shouldReverseListItems()); listView.setSwapRowsAndColumns(shouldSwapRowsAndColumns()); + + fixNavBarClipping(); } @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 protected ListGridLayout getListView() { return (ListGridLayout) super.getListView(); |