diff --git a/README.md b/README.md
index af4b755..51ee123 100644
--- a/README.md
+++ b/README.md
@@ -36,12 +36,6 @@ The plugin adds the following to the screen object (`window.screen`):
## Install
-_cordova < 4_
-
-```bash
-cordova plugin add net.yoik.cordova.plugins.screenorientation
-```
-_cordova > 4_
```bash
cordova plugin add cordova-plugin-screen-orientation
@@ -68,7 +62,7 @@ cordova plugin add cordova-plugin-screen-orientation
> The orientation is either landscape-primary or landscape-secondary (sensor).
#### any
-> orientation is landscape-primary or landscape-secondary (sensor).
+> orientation is unlocked - all orientations are supported.
## Usage
@@ -88,9 +82,6 @@ console.log('Orientation is ' + screen.orientation);
Both android and iOS will fire the orientationchange event on the window object.
For this version of the plugin use the window object if you require notification.
-For this plugin to follow the full API events should be fired on the screen object.
-iOS and BB10 do not currently support events on the _screen_ object so custom event
-handling will need to be added (Suggestions welcome!).
### Example usage
@@ -110,7 +101,7 @@ Wraps the com.blackberry.app plugin functions, auto installed as a dependancy.
# Changelog
-## 2.0
+## 2.0.0
* Common javascript for iOS, Android and Windows.
## 1.4.2
diff --git a/demo/config.xml b/demo/config.xml
new file mode 100644
index 0000000..97595db
--- /dev/null
+++ b/demo/config.xml
@@ -0,0 +1,26 @@
+
+
+ ScreenOrientationDemo
+
+ A sample Apache Cordova application that showcases the Screenorientation plugin.
+
+
+ Apache Cordova Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/www/css/index.css b/demo/www/css/index.css
new file mode 100644
index 0000000..51daa79
--- /dev/null
+++ b/demo/www/css/index.css
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+* {
+ -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
+}
+
+body {
+ -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
+ -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
+ -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
+ background-color:#E4E4E4;
+ background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
+ background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
+ background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
+ background-image:-webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ color-stop(0, #A7A7A7),
+ color-stop(0.51, #E4E4E4)
+ );
+ background-attachment:fixed;
+ font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
+ font-size:12px;
+ height:100%;
+ margin:0px;
+ padding:0px;
+ text-transform:uppercase;
+ width:100%;
+}
+
+/* Portrait layout (default) */
+.app {
+ background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
+ position:absolute; /* position in the center of the screen */
+ left:50%;
+ top:50%;
+ height:50px; /* text area height */
+ width:225px; /* text area width */
+ text-align:center;
+ padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */
+ margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */
+ /* offset horizontal: half of text area width */
+}
+
+/* Landscape layout (with min-width) */
+@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
+ .app {
+ background-position:left center;
+ padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */
+ margin:-90px 0px 0px -198px; /* offset vertical: half of image height */
+ /* offset horizontal: half of image width and text area width */
+ }
+}
+
+h1 {
+ font-size:24px;
+ font-weight:normal;
+ margin:0px;
+ overflow:visible;
+ padding:0px;
+ text-align:center;
+}
+
+.event {
+ border-radius:4px;
+ -webkit-border-radius:4px;
+ color:#FFFFFF;
+ font-size:12px;
+ margin:0px 30px;
+ padding:2px 0px;
+}
+
+.event.listening {
+ background-color:#333333;
+ display:block;
+}
+
+.event.received {
+ background-color:#4B946A;
+ display:none;
+}
+
+@keyframes fade {
+ from { opacity: 1.0; }
+ 50% { opacity: 0.4; }
+ to { opacity: 1.0; }
+}
+
+@-webkit-keyframes fade {
+ from { opacity: 1.0; }
+ 50% { opacity: 0.4; }
+ to { opacity: 1.0; }
+}
+
+.blink {
+ animation:fade 3000ms infinite;
+ -webkit-animation:fade 3000ms infinite;
+}
diff --git a/demo/www/img/logo.png b/demo/www/img/logo.png
new file mode 100644
index 0000000..9519e7d
Binary files /dev/null and b/demo/www/img/logo.png differ
diff --git a/demo/www/index.html b/demo/www/index.html
new file mode 100644
index 0000000..36f0596
--- /dev/null
+++ b/demo/www/index.html
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+ Hello World
+
+
+
+
Apache Cordova
+
+
Connecting to Device
+
Device is Ready
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/www/js/index.js b/demo/www/js/index.js
new file mode 100644
index 0000000..3df971c
--- /dev/null
+++ b/demo/www/js/index.js
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+var app = {
+ // Application Constructor
+ initialize: function() {
+ this.bindEvents();
+ },
+ // Bind Event Listeners
+ //
+ // Bind any events that are required on startup. Common events are:
+ // 'load', 'deviceready', 'offline', and 'online'.
+ bindEvents: function() {
+ document.addEventListener('deviceready', this.onDeviceReady, false);
+
+ },
+ // deviceready Event Handler
+ //
+ // The scope of 'this' is the event. In order to call the 'receivedEvent'
+ // function, we must explicitly call 'app.receivedEvent(...);'
+ onDeviceReady: function() {
+ app.receivedEvent('deviceready');
+ btnPortrait.addEventListener("click", function() {
+ // alert('Orientation is ' + screen.orientation);
+ screen.lockOrientation('portrait').then(function(obj) {
+ console.log(obj);
+ }).catch(function(obj) {
+ console.log(obj);
+ });
+ });
+ btnLandscape.addEventListener("click", function() {
+ // alert('Orientation is ' + screen.orientation);
+ screen.lockOrientation('landscape').then(function(obj) {
+ console.log(obj);
+ }).catch(function(obj) {
+ console.log(obj);
+ });
+ });
+ btnPortPrimary.addEventListener("click", function() {
+ // alert('Orientation is ' + screen.orientation);
+ screen.lockOrientation('portrait-primary').then(function(obj) {
+ console.log(obj);
+ }).catch(function(obj) {
+ console.log(obj);
+ });
+ });
+ btnLandPrimary.addEventListener("click", function() {
+ // alert('Orientation is ' + screen.orientation);
+ screen.lockOrientation('landscape-primary').then(function(obj) {
+ console.log(obj);
+ }).catch(function(obj) {
+ console.log(obj);
+ });
+ });
+ btnAny.addEventListener("click", function() {
+ // alert('Orientation is ' + screen.orientation);
+ screen.lockOrientation('any').then(function(obj) {
+ console.log(obj);
+ }).catch(function(obj) {
+ console.log(obj);
+ });
+ });
+
+
+
+
+ },
+ // Update DOM on a Received Event
+ receivedEvent: function(id) {
+ var parentElement = document.getElementById(id);
+ var listeningElement = parentElement.querySelector('.listening');
+ var receivedElement = parentElement.querySelector('.received');
+
+ listeningElement.setAttribute('style', 'display:none;');
+ receivedElement.setAttribute('style', 'display:block;');
+
+ console.log('Received Event: ' + id);
+ }
+};
+
+app.initialize();
\ No newline at end of file
diff --git a/package.json b/package.json
index 62589d9..b440fa4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "cordova-plugin-screen-orientation",
- "version": "1.4.2",
+ "version": "2.0.0-dev",
"description": "Adds Screen Orientation API lock and unlock functions to the global screen object in android, iOS, WP8, W8.1, and BB10.",
"repository": {
"type": "git",
diff --git a/plugin.xml b/plugin.xml
index 205a6a5..b777d6f 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -18,7 +18,7 @@
+ version="2.0.0-dev">
Screen OrientationAdds Screen Orientation API lock and unlock functions to the global screen object in android, iOS, WP8, W8.1, and BB10.
diff --git a/www/screenorientation.js b/www/screenorientation.js
index e03f7ee..d574faa 100644
--- a/www/screenorientation.js
+++ b/www/screenorientation.js
@@ -35,7 +35,7 @@ cordova.define("cordova-plugin-screen-orientation.screenorientation", function(r
'landscape',
// The orientation is either landscape-primary or landscape-secondary.
'any'
- // All orientations are supported
+ // All orientations are supported (unlocked orientation)
];
screenOrientation.Orientations = Orientations;