UI Improvements
am: 1ebb52cc97

Change-Id: If971e42d676b092d82f24659a55305680340668b
diff --git a/res/layout/fragment_individual_picker.xml b/res/layout/fragment_individual_picker.xml
index 355ec0e..8240d6b 100755
--- a/res/layout/fragment_individual_picker.xml
+++ b/res/layout/fragment_individual_picker.xml
@@ -30,6 +30,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:clipToPadding="false"
+            android:fitsSystemWindows="true"
             android:paddingLeft="@dimen/grid_padding"
             android:paddingTop="@dimen/grid_padding"
             android:scrollbarSize="@dimen/grid_padding"
diff --git a/res/layout/section_header.xml b/res/layout/section_header.xml
index 7ca9ec0..e505b14 100644
--- a/res/layout/section_header.xml
+++ b/res/layout/section_header.xml
@@ -20,7 +20,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    app:elevation="0dp">
+    android:elevation="8dp">
 
     <androidx.appcompat.widget.Toolbar
         style="@style/RegularToolbarStyle"
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 50548c4..bc1e5a7 100755
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -18,6 +18,9 @@
     <style name="WallpaperTheme" parent="@style/Theme.AppCompat.NoActionBar">
         <item name="colorControlActivated">?attr/colorPrimary</item>
         <item name="android:statusBarColor">?attr/colorPrimary</item>
+        <item name="android:navigationBarColor">@color/translucent_black</item>
+        <item name="android:navigationBarDividerColor">@android:color/transparent</item>
+        <item name="android:windowLightStatusBar">false</item>
     </style>
 
     <style name="WallpaperTheme.Preview" parent="@style/Theme.AppCompat.NoActionBar">
diff --git a/src/com/android/wallpaper/compat/BuildCompat.java b/src/com/android/wallpaper/compat/BuildCompat.java
index 325b992..67ae485 100755
--- a/src/com/android/wallpaper/compat/BuildCompat.java
+++ b/src/com/android/wallpaper/compat/BuildCompat.java
@@ -94,4 +94,8 @@
     public static void setSdkVersionForTesting(int sdk) {
         sSdk = sdk;
     }
+
+    public static boolean isAtLeastQ() {
+        return sSdk > VERSION_CODES.P;
+    }
 }
diff --git a/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java b/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
index 2d77608..4df59eb 100755
--- a/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
+++ b/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
@@ -21,12 +21,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources.NotFoundException;
+import android.graphics.Insets;
 import android.graphics.PorterDuff.Mode;
 import android.graphics.drawable.Drawable;
 import android.os.Build.VERSION;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.MenuItem;
+import android.view.View;
+import android.view.WindowInsets;
 import android.widget.Toast;
 
 import androidx.appcompat.widget.Toolbar;
@@ -122,6 +125,28 @@
             toolbar.setNavigationIcon(navigationIcon);
         }
 
+        getWindow().getDecorView().setSystemUiVisibility(
+                getWindow().getDecorView().getSystemUiVisibility() |
+                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
+        getWindow().getDecorView().setOnApplyWindowInsetsListener((view, windowInsets) -> {
+            view.setPadding(view.getPaddingLeft(), windowInsets.getSystemWindowInsetTop(),
+                    view.getPaddingRight(), view.getBottom());
+            // Consume only the top inset (status bar), to let other content in the Activity consume
+            // the nav bar (ie, by using "fitSystemWindows")
+            if (BuildCompat.isAtLeastQ()) {
+                WindowInsets.Builder builder = new WindowInsets.Builder(windowInsets);
+                builder.setSystemWindowInsets(Insets.of(windowInsets.getSystemWindowInsetLeft(),
+                        0, windowInsets.getStableInsetRight(),
+                        windowInsets.getSystemWindowInsetBottom()));
+                return builder.build();
+            } else {
+                return windowInsets.replaceSystemWindowInsets(
+                        windowInsets.getSystemWindowInsetLeft(),
+                        0, windowInsets.getStableInsetRight(),
+                        windowInsets.getSystemWindowInsetBottom());
+            }
+        });
+
         if (fragment == null) {
             fragment = injector.getIndividualPickerFragment(mCategoryCollectionId);
             fm.beginTransaction()