Compare commits

...

9 Commits
0.1.7 ... 0.1.8

Author SHA1 Message Date
Marcel Kinard
6cce513237 CB-7571 Updated version and RELEASENOTES.md for release 0.1.8 2014-09-17 15:27:44 -04:00
twomz
921daccd2c CB-7549 - [StatusBar][iOS 8] Landscape issue
When starting an app in landscape mode in ios 8 and then calling StatusBar.overlaysWebView(false), the screen would be pushed down all the way.  Changing the orientation did not fix the issue, leaving the page pushed down the width of the device.

We found that excluding the changes above in ios 8 fixed the issue, although it's possible that this is hiding a landscape orientation bug in ios 8 that may get fixed later.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2014-09-16 16:40:15 -07:00
SayreBlades
61024e50b3 CB-7486 - Remove StatusBarBackgroundColor intial preference (black background) so background will be initially transparent
This should not be a default ios setting:
<preference name="StatusBarBackgroundColor" value="#000000" />
It makes it impossible to unset the initial background color (for transparent backgrounds).  Instead just have the default as no background color (which will effectively be transparent), and then allow users to override that with a desired color.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2014-09-15 15:58:34 -07:00
Edna Morales
03fbd9dedf Merge renamed tests dir 2014-08-13 13:27:10 -04:00
Jesse MacFadyen
d109b7ade7 Merge branch 'CB-7195' of https://github.com/stacic/cordova-plugin-statusbar 2014-08-07 13:40:41 -07:00
Steven Gill
c4638c8583 CB-7244 Incremented plugin version. 2014-08-06 19:24:29 -07:00
Staci Cooper
32fca02faa Renamed test dir, added nested plugin.xml 2014-08-01 16:39:12 -04:00
Edna Morales
0d52e1bf10 added documentation for manual tests, moved background color test below overlay test 2014-07-29 11:53:53 -04:00
Staci Cooper
83697e52ef CB-7195 ported statusbar tests to framework 2014-07-24 15:40:31 -04:00
5 changed files with 148 additions and 4 deletions

View File

@@ -44,3 +44,10 @@
* ios: Fix hide to adjust webview's frame only when status bar is not overlaying webview
* CB-6127 Updated translations for docs
* android: Fix StatusBar.initialize() not running on UI thread
### 0.1.8 (Sep 17, 2014)
* CB-7549 [StatusBar][iOS 8] Landscape issue
* CB-7486 Remove StatusBarBackgroundColor intial preference (black background) so background will be initially transparent
* Renamed test dir, added nested plugin.xml
* added documentation for manual tests, moved background color test below overlay test
* CB-7195 ported statusbar tests to framework

View File

@@ -22,7 +22,7 @@
xmlns:rim="http://www.blackberry.com/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
id="org.apache.cordova.statusbar"
version="0.1.7">
version="0.1.8">
<name>StatusBar</name>
<description>Cordova StatusBar Plugin</description>
<license>Apache 2.0</license>
@@ -54,7 +54,6 @@
<param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="lightcontent" />
</config-file>

View File

@@ -168,7 +168,7 @@ static const void *kStatusBarStyle = &kStatusBarStyle;
- (void) initializeStatusBarBackgroundView
{
CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;
if (UIDeviceOrientationIsLandscape(self.viewController.interfaceOrientation)) {
if (UIDeviceOrientationIsLandscape(self.viewController.interfaceOrientation) && !IsAtLeastiOSVersion(@"8.0")) {
// swap width and height. set origin to zero
statusBarFrame = CGRectMake(0, 0, statusBarFrame.size.height, statusBarFrame.size.width);
}
@@ -205,7 +205,7 @@ static const void *kStatusBarStyle = &kStatusBarStyle;
CGRect frame = self.webView.frame;
if (UIDeviceOrientationIsLandscape(self.viewController.interfaceOrientation)) {
if (UIDeviceOrientationIsLandscape(self.viewController.interfaceOrientation) && !IsAtLeastiOSVersion(@"8.0")) {
frame.origin.y = statusBarFrame.size.width;
frame.size.height -= statusBarFrame.size.width;
} else {

31
tests/plugin.xml Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:rim="http://www.blackberry.com/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
id="org.apache.cordova.statusbar.tests"
version="0.1.8">
<name>Cordova StatusBar Plugin Tests</name>
<license>Apache 2.0</license>
<js-module src="tests.js" name="tests">
</js-module>
</plugin>

107
tests/tests.js Normal file
View File

@@ -0,0 +1,107 @@
/*
*
* 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.
*
*/
exports.defineManualTests = function (contentEl, createActionButton) {
function log(msg) {
var el = document.getElementById("info");
var logLine = document.createElement('div');
logLine.innerHTML = msg;
el.appendChild(logLine);
}
function doShow() {
StatusBar.show();
log('StatusBar.isVisible=' + StatusBar.isVisible);
}
function doHide() {
StatusBar.hide();
log('StatusBar.isVisible=' + StatusBar.isVisible);
}
function doColor1() {
log('set color=red');
StatusBar.backgroundColorByName('red');
}
function doColor2() {
log('set style=translucent black');
StatusBar.styleBlackTranslucent();
}
function doColor3() {
log('set style=default');
StatusBar.styleDefault();
}
var showOverlay = true;
function doOverlay() {
showOverlay = !showOverlay;
StatusBar.overlaysWebView(showOverlay);
log('Set overlay=' + showOverlay);
}
/******************************************************************************/
contentEl.innerHTML = '<div id="info"></div>' +
'Also: tapping bar on iOS should emit a log.' +
'<div id="action-show"></div>' +
'Expected result: Status bar will be visible' +
'</p> <div id="action-hide"></div>' +
'Expected result: Status bar will be hidden' +
'</p> <div id="action-color2"></div>' +
'Expected result: Status bar text will be a light (white) color' +
'</p> <div id="action-color3"></div>' +
'Expected result: Status bar text will be a dark (black) color' +
'</p> <div id="action-overlays"></div>' +
'Expected result:<br>Overlay true = status bar will lay on top of web view content<br>Overlay false = status bar will be separate from web view and will not cover content' +
'</p> <div id="action-color1"></div>' +
'Expected result: If overlay false, background color for status bar will be red';
log('StatusBar.isVisible=' + StatusBar.isVisible);
window.addEventListener('statusTap', function () {
log('tap!');
}, false);
createActionButton("Show", function () {
doShow();
}, 'action-show');
createActionButton("Hide", function () {
doHide();
}, 'action-hide');
createActionButton("Style=red (background)", function () {
doColor1();
}, 'action-color1');
createActionButton("Style=translucent black", function () {
doColor2();
}, 'action-color2');
createActionButton("Style=default", function () {
doColor3();
}, 'action-color3');
createActionButton("Toggle Overlays", function () {
doOverlay();
}, 'action-overlays');
};