From 77e1f47520958edd7ec04e203db65b932537bd1c Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Wed, 11 Sep 2013 10:09:51 -0400 Subject: Add system window inset support to DragLayer and children. Instead of fitting system windows as before, DragLayer now lays out under the system windows. DragLayer will simply add the system window insets to each child's layout margins by default. e.g. for Hotseat, Page Indicators, QSB, Search Overlay. Children that want to use the full viewport can declare so by implementing a new Insettable interface. System window insets will be passed to Insettable#setInsets(insets) and the child can do what it wants with them. Currently, two of DragLayer's children implement Insettable: 1) Workspace (for the -1 screen). Full screen pages are given the entire viewport, paged view offsets modified to end up in the right place now that the viewport is larger (the full screen height). Non-full screen pages like the normal icon pages simply apply the insets to end up in the same place they did before. NowClientCardsView uses the full viewport, applying the insets as padding. Will want to better take advantage of this new real estate in a future CL. 2) All Apps (AppsCustomizeTabHost). Applies the insets as layout margin one level down, so that the bar area is opaque during the transition, but visually the content lands in the same place. (Also add db_files to .gitignore to ignore the output of the db tool) Bug:10687177 Bug:10652189 Change-Id: I80b25d63884d244fcf704b24dad9497ee0d8b453 --- .gitignore | 1 + res/layout-port/launcher.xml | 3 +-- .../android/launcher3/AppsCustomizeTabHost.java | 15 +++++++++++++- src/com/android/launcher3/DragLayer.java | 22 ++++++++++++++++++++ src/com/android/launcher3/Insettable.java | 24 ++++++++++++++++++++++ src/com/android/launcher3/Launcher.java | 3 ++- src/com/android/launcher3/PagedView.java | 10 ++++----- src/com/android/launcher3/Workspace.java | 11 +++++++++- 8 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 .gitignore create mode 100644 src/com/android/launcher3/Insettable.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..f830c66eb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +db_files diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index dd3ad47e4..9844a370c 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -27,8 +27,7 @@ + android:layout_height="match_parent">