Merge "Restore immersive mode when volume button has been pressed."
diff --git a/ndk/platforms/android-17/samples/Teapot/src/com/sample/teapot/TeapotNativeActivity.java b/ndk/platforms/android-17/samples/Teapot/src/com/sample/teapot/TeapotNativeActivity.java
index 32696b8..9e296e4 100644
--- a/ndk/platforms/android-17/samples/Teapot/src/com/sample/teapot/TeapotNativeActivity.java
+++ b/ndk/platforms/android-17/samples/Teapot/src/com/sample/teapot/TeapotNativeActivity.java
@@ -31,6 +31,22 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        //Hide toolbar
+        int SDK_INT = android.os.Build.VERSION.SDK_INT;
+        if(SDK_INT >= 19)
+        {
+            setImmersiveSticky();
+
+            View decorView = getWindow().getDecorView();
+            decorView.setOnSystemUiVisibilityChangeListener
+                    (new View.OnSystemUiVisibilityChangeListener() {
+                @Override
+                public void onSystemUiVisibilityChange(int visibility) {
+                    setImmersiveSticky();
+                }
+            });
+        }
+
     }
 
     protected void onResume() {
@@ -48,14 +64,22 @@
         }
         else if(SDK_INT >= 19)
         {
-            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
-                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
+            setImmersiveSticky();
         }
 
     }
     // Our popup window, you will call it from your C/C++ code later
 
+    void setImmersiveSticky() {
+        View decorView = getWindow().getDecorView();
+        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+    }
+
     TeapotNativeActivity _activity;
     PopupWindow _popupWindow;
     TextView _label;
diff --git a/ndk/platforms/android-18/samples/MoreTeapots/src/com/sample/moreteapots/MoreTeapotsNativeActivity.java b/ndk/platforms/android-18/samples/MoreTeapots/src/com/sample/moreteapots/MoreTeapotsNativeActivity.java
index ed5b1d3..14fe1ba 100644
--- a/ndk/platforms/android-18/samples/MoreTeapots/src/com/sample/moreteapots/MoreTeapotsNativeActivity.java
+++ b/ndk/platforms/android-18/samples/MoreTeapots/src/com/sample/moreteapots/MoreTeapotsNativeActivity.java
@@ -17,7 +17,9 @@
 package com.sample.moreteapots;
 
 import android.app.NativeActivity;
+import android.content.res.Configuration;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -31,6 +33,22 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        //Hide toolbar
+        int SDK_INT = android.os.Build.VERSION.SDK_INT;
+        Log.i("OnCreate", "OnCreate!!!");
+        if(SDK_INT >= 19)
+        {
+            setImmersiveSticky();
+            View decorView = getWindow().getDecorView();
+            decorView.setOnSystemUiVisibilityChangeListener
+                    (new View.OnSystemUiVisibilityChangeListener() {
+                @Override
+                public void onSystemUiVisibilityChange(int visibility) {
+                    setImmersiveSticky();
+                }
+            });
+        }
+
     }
 
     protected void onResume() {
@@ -48,9 +66,7 @@
         }
         else if(SDK_INT >= 19)
         {
-            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
-                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
+            setImmersiveSticky();
         }
     }
 
@@ -65,6 +81,16 @@
     }
     // Our popup window, you will call it from your C/C++ code later
 
+    void setImmersiveSticky() {
+        View decorView = getWindow().getDecorView();
+        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+    }
+
     MoreTeapotsNativeActivity _activity;
     PopupWindow _popupWindow;
     TextView _label;
@@ -112,7 +138,6 @@
             @Override
             public void run()  {
                 _label.setText(String.format("%2.2f FPS", fFPS));
-
             }});
     }
 }