Supportleanbackshowcase: Polishing

Support staggered slide in/out transition for VerticalGrid.

Move background from layout file to windowBackground in theme.  Defining
background on view conflicts with transitions.

Change-Id: If823f492fd5bdd0b16c1d1e735f4214f925f3ae3
diff --git a/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml b/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
index 756ef94..cc84e9c 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
@@ -47,7 +47,7 @@
             android:theme="@style/Theme.Example.LeanbackBrowse"></activity>
         <activity
             android:name=".app.grid.GridExampleActivity"
-            android:theme="@style/Theme.Example.Leanback"></activity>
+            android:theme="@style/Theme.Example.LeanbackVerticalGrid"></activity>
         <activity
             android:name=".app.media.VideoExampleActivity"
             android:theme="@style/Theme.Example.Leanback"></activity>
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleFragment.java
index 8002bf2..6640b51 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleFragment.java
@@ -15,6 +15,7 @@
 package android.support.v17.leanback.supportleanbackshowcase.app.grid;
 
 import android.os.Bundle;
+import android.os.Handler;
 import android.support.v17.leanback.app.VerticalGridFragment;
 import android.support.v17.leanback.supportleanbackshowcase.R;
 import android.support.v17.leanback.supportleanbackshowcase.utils.Utils;
@@ -35,6 +36,8 @@
     private static final int COLUMNS = 4;
     private static final int ZOOM_FACTOR = FocusHighlight.ZOOM_FACTOR_MEDIUM;
 
+    private ArrayObjectAdapter mAdapter;
+
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setTitle(getString(R.string.grid_example_title));
@@ -47,11 +50,23 @@
         setGridPresenter(gridPresenter);
 
         PresenterSelector cardPresenterSelector = new CardPresenterSelector(getActivity());
-        ArrayObjectAdapter adapter = new ArrayObjectAdapter(cardPresenterSelector);
-        String json = Utils.inputStreamToString(getResources().openRawResource(R.raw.grid_example));
-        CardRow row = new Gson().fromJson(json, CardRow.class);
-        adapter.addAll(0, row.getCards());
-        setAdapter(adapter);
+        mAdapter = new ArrayObjectAdapter(cardPresenterSelector);
+        setAdapter(mAdapter);
+
+        prepareEntranceTransition();
+        new Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                createRows();
+                startEntranceTransition();
+            }
+        }, 1000);
     }
 
+    private void createRows() {
+        String json = Utils.inputStreamToString(getResources()
+                .openRawResource(R.raw.grid_example));
+        CardRow row = new Gson().fromJson(json, CardRow.class);
+        mAdapter.addAll(0, row.getCards());
+    }
 }
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_grid_example.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_grid_example.xml
index c8b0a37..f3fcdea 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_grid_example.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_grid_example.xml
@@ -16,7 +16,6 @@
 -->
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="match_parent"
-                android:background="@drawable/background_food"
                 android:layout_height="match_parent">
 
     <fragment
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
index e3c6889..9d2eda6 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
@@ -21,6 +21,5 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:deviceIds="tv"
-    android:background="@drawable/bg_living_room_wide"
     tools:ignore="MergeRootFrame">
 </RelativeLayout>
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
index 12343de..2f6822b 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
@@ -16,25 +16,23 @@
 <resources>
 
     <style name="Theme.Example.Leanback" parent="Theme.Leanback">
-        <item name="android:windowEnterTransition">@android:transition/fade</item>
-        <item name="android:windowExitTransition">@android:transition/fade</item>
-        <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
-        <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
-        <item name="android:windowAllowReturnTransitionOverlap">true</item>
-        <item name="android:windowAllowEnterTransitionOverlap">true</item>
-        <item name="android:windowContentTransitions">true</item>
         <item name="android:colorPrimary">#00A2B8</item>
         <item name="android:colorAccent">@color/accent</item>
         <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14</item>
     </style>
 
     <style name="Theme.Example.LeanbackLauncher" parent="Theme.Example.Leanback">
+        <item name="android:windowBackground">@drawable/bg_living_room_wide</item>
         <item name="browseRowsMarginTop">275dp</item>
     </style>
 
     <style name="Theme.Example.LeanbackBrowse" parent="Theme.Leanback.Browse">
     </style>
 
+    <style name="Theme.Example.LeanbackVerticalGrid" parent="Theme.Leanback.VerticalGrid">
+        <item name="android:windowBackground">@drawable/background_food</item>
+    </style>
+
     <style name="Theme.Example.LeanbackWizard" parent="Theme.Leanback.GuidedStep">
         <item name="guidedActionsContainerStyle">@style/WizardActionsContainerStyle</item>
     </style>