Bug 1031519 - Use immersive fullscreen when available. r?mcomella
This is Deepthi Venkitaramanan's patch with feedback comments addressed.
MozReview-Commit-ID: 7vs0ZgefOVy
--- a/mobile/android/base/java/org/mozilla/gecko/util/ActivityUtils.java
+++ b/mobile/android/base/java/org/mozilla/gecko/util/ActivityUtils.java
@@ -16,20 +16,28 @@ public class ActivityUtils {
private ActivityUtils() {
}
public static void setFullScreen(Activity activity, boolean fullscreen) {
// Hide/show the system notification bar
Window window = activity.getWindow();
if (Versions.feature16Plus) {
- final int newVis;
+ int newVis;
if (fullscreen) {
- newVis = View.SYSTEM_UI_FLAG_FULLSCREEN |
- View.SYSTEM_UI_FLAG_LOW_PROFILE;
+ newVis = View.SYSTEM_UI_FLAG_FULLSCREEN;
+ if (Versions.feature19Plus) {
+ newVis |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
+ View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
+ View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
+ View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
+ View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+ } else {
+ newVis |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
+ }
} else {
newVis = View.SYSTEM_UI_FLAG_VISIBLE;
}
window.getDecorView().setSystemUiVisibility(newVis);
} else {
window.setFlags(fullscreen ?
WindowManager.LayoutParams.FLAG_FULLSCREEN : 0,