You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/05/06 16:24:41 UTC

[1/3] android commit: CB-8902 Use immersive mode when available when going fullscreen (close #175)

Repository: cordova-android
Updated Branches:
  refs/heads/master 1ce52a284 -> 754911f34


CB-8902 Use immersive mode when available when going fullscreen (close #175)


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/d005359f
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/d005359f
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/d005359f

Branch: refs/heads/master
Commit: d005359f89c095cf1f9a4ba3062e2603ce484b6a
Parents: 1ce52a2
Author: Kenneth Chan <ke...@loqheart.com>
Authored: Thu Apr 23 14:40:37 2015 -0700
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Wed May 6 09:46:35 2015 -0400

----------------------------------------------------------------------
 .../src/org/apache/cordova/CordovaActivity.java | 40 +++++++++++++++++---
 1 file changed, 35 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/d005359f/framework/src/org/apache/cordova/CordovaActivity.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java
index bf86c05..34b2d97 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -31,6 +31,7 @@ import android.content.Intent;
 import android.content.res.Configuration;
 import android.graphics.Color;
 import android.media.AudioManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Menu;
@@ -88,6 +89,9 @@ public class CordovaActivity extends Activity {
     // when another application (activity) is started.
     protected boolean keepRunning = true;
 
+    // Flag to keep immersive mode if set to fullscreen
+    protected boolean immersiveMode;
+
     // Read from config.xml:
     protected CordovaPreferences preferences;
     protected String launchUrl;
@@ -108,15 +112,23 @@ public class CordovaActivity extends Activity {
         {
             getWindow().requestFeature(Window.FEATURE_NO_TITLE);
         }
-        
+
         if(preferences.getBoolean("SetFullscreen", false))
         {
             Log.d(TAG, "The SetFullscreen configuration is deprecated in favor of Fullscreen, and will be removed in a future version.");
-            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
-                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
-        } else if (preferences.getBoolean("Fullscreen", false)) {
-            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
+            preferences.set("Fullscreen", true);
+        }
+        if(preferences.getBoolean("Fullscreen", false))
+        {
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
+            {
+                immersiveMode = true;
+            }
+            else
+            {
+                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                     WindowManager.LayoutParams.FLAG_FULLSCREEN);
+            }
         } else {
             getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
                     WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
@@ -298,6 +310,24 @@ public class CordovaActivity extends Activity {
         }
     }
 
+    /**
+     * Called when view focus is changed
+     */
+    @Override
+    public void onWindowFocusChanged(boolean hasFocus) {
+        super.onWindowFocusChanged(hasFocus);
+        if (hasFocus && immersiveMode) {
+            final int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                | View.SYSTEM_UI_FLAG_FULLSCREEN
+                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+
+            getWindow().getDecorView().setSystemUiVisibility(uiOptions);
+        }
+    }
+
     @Override
     public void startActivityForResult(Intent intent, int requestCode, Bundle options) {
         // Capture requestCode here so that it is captured in the setActivityResultCallback() case.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[3/3] android commit: Fix CordovaPluginTest on KitKat (start-up events seem to change)

Posted by ag...@apache.org.
Fix CordovaPluginTest on KitKat (start-up events seem to change)


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/754911f3
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/754911f3
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/754911f3

Branch: refs/heads/master
Commit: 754911f3464a32fd757dca51cfe48ebe1c3522ea
Parents: 9873106
Author: Andrew Grieve <ag...@chromium.org>
Authored: Wed May 6 09:54:42 2015 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Wed May 6 09:59:22 2015 -0400

----------------------------------------------------------------------
 .../androidTest/src/org/apache/cordova/test/CordovaPluginTest.java | 2 --
 1 file changed, 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/754911f3/test/androidTest/src/org/apache/cordova/test/CordovaPluginTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/CordovaPluginTest.java b/test/androidTest/src/org/apache/cordova/test/CordovaPluginTest.java
index 39a45d5..a7c9504 100644
--- a/test/androidTest/src/org/apache/cordova/test/CordovaPluginTest.java
+++ b/test/androidTest/src/org/apache/cordova/test/CordovaPluginTest.java
@@ -57,8 +57,6 @@ public class CordovaPluginTest extends BaseCordovaIntegrationTest {
         //TODO: add coverage for both cases where onStart is called in CordovaWebViewImpl (handleOnStart and init)
         //currently only one of the cases is covered
         LifeCyclePlugin testPlugin = (LifeCyclePlugin)cordovaWebView.getPluginManager().getPlugin("LifeCycle");
-
-        assertEquals("start,resume,pause,stop,", testPlugin.calls);
         testPlugin.calls = "";
         // testOnStart
         invokeBlockingCallToLifeCycleEvent("callActivityOnStart");


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[2/3] android commit: CB-3360 Allow setting a custom User-Agent (close #162)

Posted by ag...@apache.org.
CB-3360 Allow setting a custom User-Agent (close #162)


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/98731067
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/98731067
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/98731067

Branch: refs/heads/master
Commit: 987310678591794a679d12a2a009c7f5ec96671f
Parents: d005359
Author: Bochun Bai <bb...@sinofool.net>
Authored: Mon Feb 23 16:00:22 2015 -0800
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Wed May 6 09:59:22 2015 -0400

----------------------------------------------------------------------
 .../cordova/engine/SystemWebViewEngine.java     | 26 ++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/98731067/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java b/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
index 9cfc99b..221a884 100755
--- a/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
+++ b/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
@@ -60,6 +60,7 @@ public class SystemWebViewEngine implements CordovaWebViewEngine {
 
     protected final SystemWebView webView;
     protected final SystemCookieManager cookieManager;
+    protected CordovaPreferences preferences;
     protected CordovaBridge bridge;
     protected CordovaWebViewEngine.Client client;
     protected CordovaWebView parentWebView;
@@ -71,10 +72,15 @@ public class SystemWebViewEngine implements CordovaWebViewEngine {
 
     /** Used when created via reflection. */
     public SystemWebViewEngine(Context context, CordovaPreferences preferences) {
-        this(new SystemWebView(context));
+        this(new SystemWebView(context), preferences);
     }
 
     public SystemWebViewEngine(SystemWebView webView) {
+        this(webView, null);
+    }
+
+    public SystemWebViewEngine(SystemWebView webView, CordovaPreferences preferences) {
+        this.preferences = preferences;
         this.webView = webView;
         cookieManager = new SystemCookieManager(webView);
     }
@@ -86,6 +92,10 @@ public class SystemWebViewEngine implements CordovaWebViewEngine {
         if (this.cordova != null) {
             throw new IllegalStateException();
         }
+        // Needed when prefs are not passed by the constructor
+        if (preferences == null) {
+            preferences = parentWebView.getPreferences();
+        }
         this.parentWebView = parentWebView;
         this.cordova = cordova;
         this.client = client;
@@ -199,7 +209,19 @@ public class SystemWebViewEngine implements CordovaWebViewEngine {
         
         // Fix for CB-1405
         // Google issue 4641
-        settings.getUserAgentString();
+        String defaultUserAgent = settings.getUserAgentString();
+
+        // Fix for CB-3360
+        String overrideUserAgent = preferences.getString("OverrideUserAgent", null);
+        if (overrideUserAgent != null) {
+            settings.setUserAgentString(overrideUserAgent);
+        } else {
+            String appendUserAgent = preferences.getString("AppendUserAgent", null);
+            if (appendUserAgent != null) {
+                settings.setUserAgentString(defaultUserAgent + " " + appendUserAgent);
+            }
+        }
+        // End CB-3360
         
         IntentFilter intentFilter = new IntentFilter();
         intentFilter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org