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