summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAran Ink <nesciosquid@google.com>2019-05-15 17:54:48 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-05-15 17:54:48 -0700
commit9600d512fa09a81466071c1b648f60b9a45f7ccb (patch)
treec904f66cc541ff9a4ee9db22b6f9f26679978723
parentcedbf50e0fa953dd56ec3faee54157814fa36a76 (diff)
parentc543db049d464e830a705183c48b5a9907d151f3 (diff)
Merge "Fix shadow and animation clipping for Global Actions Dialog." into qt-dev
am: c543db049d Change-Id: I41e136c1fb59b67eeb3da7729e13a1a571c99ab9
-rw-r--r--packages/SystemUI/res/layout-land/global_actions_grid.xml8
-rw-r--r--packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml7
-rw-r--r--packages/SystemUI/res/layout/global_actions_grid.xml7
-rw-r--r--packages/SystemUI/res/values-sw320dp/dimens.xml2
-rw-r--r--packages/SystemUI/res/values-sw392dp/dimens.xml2
-rw-r--r--packages/SystemUI/res/values-sw410dp/dimens.xml2
-rw-r--r--packages/SystemUI/res/values/dimens.xml6
-rw-r--r--packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java15
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();