From 80ee6c1a9184754bdf431cf45470747237b3b86c Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Tue, 12 Jun 2012 10:03:50 -0700 Subject: [PATCH 01/14] Support showing the app title bar through a preference. This does not change the default behaviour, and will only show the title bar when the showTitle preference is true. This allows apps to show and make use of the ActionBar in Android 3.x and 4.0. --- framework/src/org/apache/cordova/DroidGap.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index 5e2586d0..a47ac87d 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -313,7 +313,9 @@ public class DroidGap extends Activity implements CordovaInterface { LOG.d(TAG, "DroidGap.onCreate()"); super.onCreate(savedInstanceState); - getWindow().requestFeature(Window.FEATURE_NO_TITLE); + if (!preferences.prefMatches("showTitle", "true")) { + getWindow().requestFeature(Window.FEATURE_NO_TITLE); + } if (preferences.prefMatches("fullscreen","true")) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, From 838fa5635fcddc55d0b4a17d50826cd465541e13 Mon Sep 17 00:00:00 2001 From: macdonst Date: Thu, 14 Jun 2012 10:33:44 -0400 Subject: [PATCH 02/14] CB-920: FileTransfer UTF-8 bug --- framework/src/org/apache/cordova/FileTransfer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/framework/src/org/apache/cordova/FileTransfer.java b/framework/src/org/apache/cordova/FileTransfer.java index 0f285ae1..4accd55c 100644 --- a/framework/src/org/apache/cordova/FileTransfer.java +++ b/framework/src/org/apache/cordova/FileTransfer.java @@ -219,9 +219,11 @@ public class FileTransfer extends Plugin { extraParams += LINE_START + BOUNDARY + LINE_END; extraParams += "Content-Disposition: form-data; name=\"" + fileKey + "\";" + " filename=\""; + byte[] extraBytes = extraParams.getBytes("UTF-8"); String midParams = "\"" + LINE_END + "Content-Type: " + mimeType + LINE_END + LINE_END; String tailParams = LINE_END + LINE_START + BOUNDARY + LINE_START + LINE_END; + byte[] fileNameBytes = fileName.getBytes("UTF-8"); // Should set this up as an option if (chunkedMode) { @@ -229,7 +231,7 @@ public class FileTransfer extends Plugin { } else { - int stringLength = extraParams.length() + midParams.length() + tailParams.length() + fileName.getBytes("UTF-8").length; + int stringLength = extraBytes.length + midParams.length() + tailParams.length() + fileNameBytes.length; Log.d(LOG_TAG, "String Length: " + stringLength); int fixedLength = (int) fileInputStream.getChannel().size() + stringLength; Log.d(LOG_TAG, "Content Length: " + fixedLength); @@ -238,9 +240,9 @@ public class FileTransfer extends Plugin { dos = new DataOutputStream( conn.getOutputStream() ); - dos.writeBytes(extraParams); - //We don't want to chagne encoding, we just want this to write for all Unicode. - dos.write(fileName.getBytes("UTF-8")); + //We don't want to change encoding, we just want this to write for all Unicode. + dos.write(extraBytes); + dos.write(fileNameBytes); dos.writeBytes(midParams); // create a buffer of maximum size From cdaf620f9241a1aab32c26ab45a04b17b3f2c3a9 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Thu, 14 Jun 2012 10:33:32 -0700 Subject: [PATCH 03/14] CB-582: Automating User WebView/WebViewClient/WebChromeClient tests --- .../apache/cordova/test/UserWebViewTest.java | 44 +++++++++++++++++++ .../org/apache/cordova/test/userwebview.java | 6 +++ 2 files changed, 50 insertions(+) diff --git a/test/src/org/apache/cordova/test/UserWebViewTest.java b/test/src/org/apache/cordova/test/UserWebViewTest.java index a3f82d86..1ddbbe4c 100644 --- a/test/src/org/apache/cordova/test/UserWebViewTest.java +++ b/test/src/org/apache/cordova/test/UserWebViewTest.java @@ -1,6 +1,12 @@ package org.apache.cordova.test; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaWebViewClient; +import org.apache.cordova.CordovaChromeClient; + import android.test.ActivityInstrumentationTestCase2; +import android.widget.FrameLayout; +import android.widget.LinearLayout; public class UserWebViewTest extends ActivityInstrumentationTestCase2 { @@ -8,4 +14,42 @@ public class UserWebViewTest extends ActivityInstrumentationTestCase2 Date: Thu, 14 Jun 2012 13:35:48 -0700 Subject: [PATCH 04/14] Adding the WebDriver Tests --- .../cordova/test/CordovaDriverAction.java | 78 ++++++++++++++++ .../cordova/test/CordovaViewFactory.java | 37 ++++++++ .../apache/cordova/test/WebDriverTest.java | 90 +++++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 test/src/org/apache/cordova/test/CordovaDriverAction.java create mode 100644 test/src/org/apache/cordova/test/CordovaViewFactory.java create mode 100644 test/src/org/apache/cordova/test/WebDriverTest.java diff --git a/test/src/org/apache/cordova/test/CordovaDriverAction.java b/test/src/org/apache/cordova/test/CordovaDriverAction.java new file mode 100644 index 00000000..11a11f62 --- /dev/null +++ b/test/src/org/apache/cordova/test/CordovaDriverAction.java @@ -0,0 +1,78 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.test; + +import org.apache.cordova.api.CordovaInterface; +import org.apache.cordova.api.IPlugin; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + + +public class CordovaDriverAction extends Activity implements CordovaInterface { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public void bindBackButton(boolean arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void cancelLoadUrl() { + // TODO Auto-generated method stub + + } + + @Override + public Activity getActivity() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isBackButtonBound() { + // TODO Auto-generated method stub + return false; + } + + @Override + public Object onMessage(String arg0, Object arg1) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setActivityResultCallback(IPlugin arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void startActivityForResult(IPlugin arg0, Intent arg1, int arg2) { + // TODO Auto-generated method stub + + } +} diff --git a/test/src/org/apache/cordova/test/CordovaViewFactory.java b/test/src/org/apache/cordova/test/CordovaViewFactory.java new file mode 100644 index 00000000..99686f24 --- /dev/null +++ b/test/src/org/apache/cordova/test/CordovaViewFactory.java @@ -0,0 +1,37 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.test; + +import org.openqa.selenium.android.library.ViewAdapter; +import org.openqa.selenium.android.library.ViewFactory; + +import org.apache.cordova.CordovaWebView; + +import android.app.Activity; +import android.webkit.WebView; + +public class CordovaViewFactory implements ViewFactory { + + public ViewAdapter createNewView(Activity arg0) { + // TODO Auto-generated method stub + return new ViewAdapter("org.apache.cordova.CordovaWebView", new CordovaWebView(arg0)); + } + +} diff --git a/test/src/org/apache/cordova/test/WebDriverTest.java b/test/src/org/apache/cordova/test/WebDriverTest.java new file mode 100644 index 00000000..6b39e084 --- /dev/null +++ b/test/src/org/apache/cordova/test/WebDriverTest.java @@ -0,0 +1,90 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.test; + +import org.apache.cordova.CordovaWebViewClient; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaChromeClient; + +import org.apache.cordova.test.CordovaViewFactory; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.android.library.AndroidWebDriver; +import org.openqa.selenium.android.library.ChromeClientWrapper; +import org.openqa.selenium.android.library.ViewClientWrapper; + +import android.test.ActivityInstrumentationTestCase2; + +public class WebDriverTest extends ActivityInstrumentationTestCase2 { + + private static final long TIMEOUT = 5000; + private CordovaDriverAction testActivity; + private CordovaWebView testView; + private CordovaViewFactory viewFactory; + private CordovaChromeClient appCode; + private CordovaWebViewClient viewHandler; + private AndroidWebDriver testDriver; + private ViewClientWrapper viewClientWrapper; + private ChromeClientWrapper chromeClientWrapper; + + public WebDriverTest() { + super("com.phonegap.test.activities",CordovaDriverAction.class); + } + + protected void setUp() throws Exception{ + super.setUp(); + + testActivity = this.getActivity(); + viewFactory = new CordovaViewFactory(); + appCode = new CordovaChromeClient(testActivity); + viewHandler = new CordovaWebViewClient(testActivity); + viewClientWrapper = new ViewClientWrapper("org.apache.cordova.CordovaWebViewClient", viewHandler); + chromeClientWrapper = new ChromeClientWrapper("org.apache.cordova.CordovaChromeClient", appCode); + testDriver = new AndroidWebDriver(testActivity, viewFactory, viewClientWrapper, chromeClientWrapper); + testView = (CordovaWebView) testDriver.getWebView(); + viewHandler.setWebView(testView); + appCode.setWebView(testView); + } + + public void testPreconditions(){ + assertNotNull(testView); + } + + public void testWebLoad() { + testDriver.get("file:///android_asset/www/index.html"); + sleep(); + String url = testView.getUrl(); + //Check the sanity! + boolean result = url.equals("file:///android_asset/www/index.html"); + assertTrue(result); + WebElement platformSpan = testDriver.findElement(By.id("platform")); + String text = platformSpan.getText(); + assertTrue(text.equals("Android")); + } + + + private void sleep() { + try { + Thread.sleep(TIMEOUT); + } catch (InterruptedException e) { + fail("Unexpected Timeout"); + } + } +} From f0f596c892f90695a486f6da71137177972723c7 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Thu, 14 Jun 2012 13:55:26 -0700 Subject: [PATCH 05/14] Fixing up tests --- test/src/org/apache/cordova/test/UserWebViewTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/test/src/org/apache/cordova/test/UserWebViewTest.java b/test/src/org/apache/cordova/test/UserWebViewTest.java index 1ddbbe4c..84c09303 100644 --- a/test/src/org/apache/cordova/test/UserWebViewTest.java +++ b/test/src/org/apache/cordova/test/UserWebViewTest.java @@ -22,7 +22,6 @@ public class UserWebViewTest extends ActivityInstrumentationTestCase2 Date: Thu, 14 Jun 2012 15:11:12 -0700 Subject: [PATCH 06/14] This is a poorly written test. What was I thinking? --- .../apache/cordova/test/LoadTimeoutTest.java | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 test/src/org/apache/cordova/test/LoadTimeoutTest.java diff --git a/test/src/org/apache/cordova/test/LoadTimeoutTest.java b/test/src/org/apache/cordova/test/LoadTimeoutTest.java deleted file mode 100644 index 1978f7ed..00000000 --- a/test/src/org/apache/cordova/test/LoadTimeoutTest.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.apache.cordova.test; - -import org.apache.cordova.CordovaWebView; - -import android.test.ActivityInstrumentationTestCase2; -import android.widget.FrameLayout; -import android.widget.LinearLayout; - -public class LoadTimeoutTest extends ActivityInstrumentationTestCase2 { - private loading testActivity; - private FrameLayout containerView; - private LinearLayout innerContainer; - private CordovaWebView testView; - private long TIMEOUT = 1000; - -public LoadTimeoutTest() - { - super("org.apache.cordova.test",loading.class); - } - - protected void setUp() throws Exception { - super.setUp(); - testActivity = this.getActivity(); - containerView = (FrameLayout) testActivity.findViewById(android.R.id.content); - innerContainer = (LinearLayout) containerView.getChildAt(0); - testView = (CordovaWebView) innerContainer.getChildAt(0); - } - - public void testPreconditions(){ - assertNotNull(innerContainer); - assertNotNull(testView); - } - - public void testUrl() - { - sleep(); - String good_url = "http://www.google.com"; - String url = testView.getUrl(); - assertNotNull(url); - assertFalse(url.equals(good_url)); - } - - private void sleep() { - try { - Thread.sleep(TIMEOUT ); - } catch (InterruptedException e) { - fail("Unexpected Timeout"); - } - } -} From f060d09272f94702e89f8f0ee5a2bb5af4868714 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Thu, 14 Jun 2012 13:55:26 -0700 Subject: [PATCH 07/14] Fixing up tests --- test/src/org/apache/cordova/test/UserWebViewTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/test/src/org/apache/cordova/test/UserWebViewTest.java b/test/src/org/apache/cordova/test/UserWebViewTest.java index 1ddbbe4c..84c09303 100644 --- a/test/src/org/apache/cordova/test/UserWebViewTest.java +++ b/test/src/org/apache/cordova/test/UserWebViewTest.java @@ -22,7 +22,6 @@ public class UserWebViewTest extends ActivityInstrumentationTestCase2 Date: Thu, 14 Jun 2012 15:11:12 -0700 Subject: [PATCH 08/14] This is a poorly written test. What was I thinking? --- .../apache/cordova/test/LoadTimeoutTest.java | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 test/src/org/apache/cordova/test/LoadTimeoutTest.java diff --git a/test/src/org/apache/cordova/test/LoadTimeoutTest.java b/test/src/org/apache/cordova/test/LoadTimeoutTest.java deleted file mode 100644 index 1978f7ed..00000000 --- a/test/src/org/apache/cordova/test/LoadTimeoutTest.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.apache.cordova.test; - -import org.apache.cordova.CordovaWebView; - -import android.test.ActivityInstrumentationTestCase2; -import android.widget.FrameLayout; -import android.widget.LinearLayout; - -public class LoadTimeoutTest extends ActivityInstrumentationTestCase2 { - private loading testActivity; - private FrameLayout containerView; - private LinearLayout innerContainer; - private CordovaWebView testView; - private long TIMEOUT = 1000; - -public LoadTimeoutTest() - { - super("org.apache.cordova.test",loading.class); - } - - protected void setUp() throws Exception { - super.setUp(); - testActivity = this.getActivity(); - containerView = (FrameLayout) testActivity.findViewById(android.R.id.content); - innerContainer = (LinearLayout) containerView.getChildAt(0); - testView = (CordovaWebView) innerContainer.getChildAt(0); - } - - public void testPreconditions(){ - assertNotNull(innerContainer); - assertNotNull(testView); - } - - public void testUrl() - { - sleep(); - String good_url = "http://www.google.com"; - String url = testView.getUrl(); - assertNotNull(url); - assertFalse(url.equals(good_url)); - } - - private void sleep() { - try { - Thread.sleep(TIMEOUT ); - } catch (InterruptedException e) { - fail("Unexpected Timeout"); - } - } -} From 6d879f19f82bcac9ed424c02699b399641c234ee Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 13:31:06 -0700 Subject: [PATCH 09/14] I think we need to rethink how we automate this test --- test/src/org/apache/cordova/test/WhitelistTest.java | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 test/src/org/apache/cordova/test/WhitelistTest.java diff --git a/test/src/org/apache/cordova/test/WhitelistTest.java b/test/src/org/apache/cordova/test/WhitelistTest.java deleted file mode 100644 index f3477c46..00000000 --- a/test/src/org/apache/cordova/test/WhitelistTest.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.apache.cordova.test; - -import android.test.ActivityInstrumentationTestCase2; - -public class WhitelistTest extends ActivityInstrumentationTestCase2 { - - public WhitelistTest() - { - super(whitelist.class); - } - -} From b5800ced612ebba9d5e0c11c499eb90770624ca9 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 14:54:46 -0700 Subject: [PATCH 10/14] Incrementing version to 1.9.0rc1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 27f9cd32..6ed8c32e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.8.0 +1.9.0rc1 From 07ed6daeda2df0bedfa13d9b82d3aae15147b573 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 15:01:46 -0700 Subject: [PATCH 11/14] Removed merge because I missed the preference set --- framework/src/org/apache/cordova/DroidGap.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index 9b7454b3..433026e8 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -256,17 +256,8 @@ public class DroidGap extends Activity implements CordovaInterface { LOG.d(TAG, "DroidGap.onCreate()"); super.onCreate(savedInstanceState); - if (!preferences.prefMatches("showTitle", "true")) { - getWindow().requestFeature(Window.FEATURE_NO_TITLE); - } - - if (preferences.prefMatches("fullscreen","true")) { - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } else { - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); - } // This builds the view. We could probably get away with NOT having a LinearLayout, but I like having a bucket! Display display = getWindowManager().getDefaultDisplay(); From ee0cd679d35f6150f7772623ee48970a49feba7d Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 15:16:14 -0700 Subject: [PATCH 12/14] Adding more undocumented features for app title bar and full-screen --- framework/src/org/apache/cordova/DroidGap.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index 433026e8..dc9591f9 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -256,9 +256,21 @@ public class DroidGap extends Activity implements CordovaInterface { LOG.d(TAG, "DroidGap.onCreate()"); super.onCreate(savedInstanceState); - getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, + if(this.getBooleanProperty("showTitle", true)) + { + getWindow().requestFeature(Window.FEATURE_NO_TITLE); + } + + if(this.getBooleanProperty("setFullscreen", true)) + { + 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); - + } // This builds the view. We could probably get away with NOT having a LinearLayout, but I like having a bucket! Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); From f60049f7136ed47a32b16989a8a6f00f7a26b720 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 15:34:26 -0700 Subject: [PATCH 13/14] Default should be false not true --- framework/src/org/apache/cordova/DroidGap.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index dc9591f9..3f790c7f 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -256,12 +256,12 @@ public class DroidGap extends Activity implements CordovaInterface { LOG.d(TAG, "DroidGap.onCreate()"); super.onCreate(savedInstanceState); - if(this.getBooleanProperty("showTitle", true)) + if(this.getBooleanProperty("showTitle", false)) { getWindow().requestFeature(Window.FEATURE_NO_TITLE); } - if(this.getBooleanProperty("setFullscreen", true)) + if(this.getBooleanProperty("setFullscreen", false)) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); From 451afabfbb7dcfd6f6ab5e53a5d01553deb9381f Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Fri, 15 Jun 2012 15:37:38 -0700 Subject: [PATCH 14/14] One more time, getting the title default right --- framework/src/org/apache/cordova/DroidGap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index 3f790c7f..d4c142d3 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -256,7 +256,7 @@ public class DroidGap extends Activity implements CordovaInterface { LOG.d(TAG, "DroidGap.onCreate()"); super.onCreate(savedInstanceState); - if(this.getBooleanProperty("showTitle", false)) + if(!this.getBooleanProperty("showTitle", false)) { getWindow().requestFeature(Window.FEATURE_NO_TITLE); }