Bug 1369815 - Set the display mode for standalone PWA r=droeh draft
authorJames Willcox <snorp@snorp.net>
Thu, 10 Aug 2017 11:56:17 -0500
changeset 644919 9d1e1bb9186e844783b408422ebb1f4e37cc537b
parent 644918 0d552db9a003173cc2cefa4b1d799005504be593
child 644920 4a2cfc7bd35503e18ecbd0fb337b3f3e94307a58
push id73589
push userbmo:snorp@snorp.net
push dateFri, 11 Aug 2017 14:50:20 +0000
reviewersdroeh
bugs1369815
milestone57.0a1
Bug 1369815 - Set the display mode for standalone PWA r=droeh MozReview-Commit-ID: EGCskj6pwkC
mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
--- a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
@@ -177,16 +177,39 @@ public class WebAppActivity extends AppC
 
         GeckoScreenOrientation.ScreenOrientation orientation =
             GeckoScreenOrientation.screenOrientationFromString(orientString);
         int activityOrientation = GeckoScreenOrientation.screenOrientationToAndroidOrientation(orientation);
 
         setRequestedOrientation(activityOrientation);
     }
 
+    private void updateDisplayMode(JSONObject manifest) {
+        String displayMode = manifest.optString("display");
+
+        GeckoViewSettings.DisplayMode mode;
+        switch (displayMode) {
+            case "standalone":
+                mode = GeckoViewSettings.DisplayMode.STANDALONE;
+                break;
+            case "fullscreen":
+                mode = GeckoViewSettings.DisplayMode.FULLSCREEN;
+                break;
+            case "minimal-ui":
+                mode = GeckoViewSettings.DisplayMode.MINIMAL_UI;
+                break;
+            case "browser":
+            default:
+                mode = GeckoViewSettings.DisplayMode.BROWSER;
+                break;
+        }
+
+        mGeckoView.getSettings().setInt(GeckoViewSettings.USE_DISPLAY_MODE, mode.value());
+    }
+
     private Integer readColorFromManifest(JSONObject manifest) {
         final String colorStr = manifest.optString("theme_color", null);
         if (colorStr != null) {
             return ColorUtil.parseStringColor(colorStr);
         }
         return null;
     }