You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2016/12/13 23:48:36 UTC

[08/16] cordova-plugin-screen-orientation git commit: added demo project and modified version

 added demo project and modified version


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/commit/5d97d511
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/tree/5d97d511
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/diff/5d97d511

Branch: refs/heads/master
Commit: 5d97d51144c5b1dad40b650e160e3ef8bde41a1b
Parents: 84b013f
Author: maverickmishra <vi...@gmail.com>
Authored: Mon Oct 17 16:25:16 2016 -0700
Committer: maverickmishra <vi...@gmail.com>
Committed: Mon Oct 17 16:25:16 2016 -0700

----------------------------------------------------------------------
 README.md                |  13 +----
 demo/config.xml          |  26 ++++++++++
 demo/www/css/index.css   | 115 ++++++++++++++++++++++++++++++++++++++++++
 demo/www/img/logo.png    | Bin 0 -> 21814 bytes
 demo/www/index.html      |  58 +++++++++++++++++++++
 demo/www/js/index.js     |  96 +++++++++++++++++++++++++++++++++++
 package.json             |   2 +-
 plugin.xml               |   2 +-
 www/screenorientation.js |   2 +-
 9 files changed, 300 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/README.md
----------------------------------------------------------------------
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

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/demo/config.xml
----------------------------------------------------------------------
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 @@
+<?xml version='1.0' encoding='utf-8'?>
+<widget id="com.cordova.screenorientationdemo" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+    <name>ScreenOrientationDemo</name>
+    <description>
+        A sample Apache Cordova application that showcases the Screenorientation plugin.
+    </description>
+    <author email="dev@cordova.apache.org" href="http://cordova.io">
+        Apache Cordova Team
+    </author>
+    <content src="index.html" />
+    <plugin name="cordova-plugin-whitelist" spec="1" />
+    <access origin="*" />
+    <allow-intent href="http://*/*" />
+    <allow-intent href="https://*/*" />
+    <allow-intent href="tel:*" />
+    <allow-intent href="sms:*" />
+    <allow-intent href="mailto:*" />
+    <allow-intent href="geo:*" />
+    <platform name="android">
+        <allow-intent href="market:*" />
+    </platform>
+    <platform name="ios">
+        <allow-intent href="itms:*" />
+        <allow-intent href="itms-apps:*" />
+    </platform>
+</widget>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/demo/www/css/index.css
----------------------------------------------------------------------
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;
+}

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/demo/www/img/logo.png
----------------------------------------------------------------------
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

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/demo/www/index.html
----------------------------------------------------------------------
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 @@
+<!DOCTYPE html>
+<!--
+ 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.
+ -->
+<html>
+    <head>
+        <!--
+         Customize this policy to fit your own app's needs. For more guidance, see:
+         https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md#content-security-policy
+         Some notes:
+         * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
+         * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
+         * Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
+         * Enable inline JS: add 'unsafe-inline' to default-src
+         -->
+        <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
+            <meta name="format-detection" content="telephone=no">
+                <meta name="msapplication-tap-highlight" content="no">
+                    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
+                        <link rel="stylesheet" type="text/css" href="css/index.css">
+                            <title>Hello World</title>
+                            </head>
+    <body>
+        <div class="app">
+            <h1>Apache Cordova</h1>
+            <div id="deviceready" class="blink">
+                <p class="event listening">Connecting to Device</p>
+                <p class="event received">Device is Ready</p>
+            </div>
+            <div>
+                <button id="btnPortrait">Portrait</button>
+                <button id="btnLandscape">Landscape</button>
+            </div>
+            <div>
+                <button id="btnPortPrimary">Portrait - Primary</button>
+                <button id="btnLandPrimary">Landscape - Primary</button>
+            </div>
+            <button id="btnAny">Any</button>
+        </div>
+        <script type="text/javascript" src="cordova.js"></script>
+        <script type="text/javascript" src="js/index.js"></script>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/demo/www/js/index.js
----------------------------------------------------------------------
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

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/package.json
----------------------------------------------------------------------
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",

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index 205a6a5..b777d6f 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -18,7 +18,7 @@
 
 <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
     id="cordova-plugin-screen-orientation"
-    version="1.4.2">
+    version="2.0.0-dev">
     
     <name>Screen Orientation</name>
     <description>Adds Screen Orientation API lock and unlock functions to the global screen object in android, iOS, WP8, W8.1, and BB10.</description>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-screen-orientation/blob/5d97d511/www/screenorientation.js
----------------------------------------------------------------------
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;


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