mirror of
https://github.com/apache/cordova-plugin-screen-orientation.git
synced 2025-05-05 01:32:59 +08:00
Added initial readme and cleanup of old code.
This commit is contained in:
parent
9602b540d9
commit
37b6ff8359
41
README.md
41
README.md
@ -1,2 +1,43 @@
|
|||||||
cordova-yoik-screenorientation
|
cordova-yoik-screenorientation
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
|
Cordova plugin to set/lock the screen orientation in a common way for both iOS and Android.
|
||||||
|
|
||||||
|
|
||||||
|
Android
|
||||||
|
====
|
||||||
|
The android version is implemented via the standard _activity.setRequestedOrientation_ as used in other screen orientation plugins
|
||||||
|
|
||||||
|
iOS
|
||||||
|
====
|
||||||
|
The iOS version is a combination of the cordova JS callback _window.shouldRotateToOrientation_ and the workaround to recheck the orientation as implemented in https://github.com/Adlotto/cordova-plugin-recheck-screen-orientation.
|
||||||
|
|
||||||
|
If you have a custom impelemntation of the _window.shouldRotateToOrientation_ it will have to be removed for the plugin to function as expected.
|
||||||
|
|
||||||
|
Constants
|
||||||
|
====
|
||||||
|
Orientation: {
|
||||||
|
UNSPECIFIED: "unspecified",
|
||||||
|
LANDSCAPE: "landscape",
|
||||||
|
PORTRAIT: "portrait",
|
||||||
|
USER: "user",
|
||||||
|
BEHIND: "behind",
|
||||||
|
SENSOR: "sensor",
|
||||||
|
NOSENSOR: "nosensor",
|
||||||
|
SENSOR_LANDSCAPE: "sensorLandscape",
|
||||||
|
SENSOR_PORTRAIT: "sensorPortrait",
|
||||||
|
REVERSE_LANDSCAPE: "reverseLandscape",
|
||||||
|
REVERSE_PORTRAIT: "reversePortrait",
|
||||||
|
FULL_SENSOR: "fullSensor"
|
||||||
|
}
|
||||||
|
|
||||||
|
Usage
|
||||||
|
====
|
||||||
|
|
||||||
|
var so = cordova.plugins.screenorientation;
|
||||||
|
|
||||||
|
// with callbacks
|
||||||
|
so.setOrientation(successCallback, errorCallback, so.Orientation.PORTRAIT);
|
||||||
|
|
||||||
|
// no callbacks
|
||||||
|
so.setOrientation(so.Orientation.SENSOR_LANDSCAPE);
|
@ -1,3 +1,26 @@
|
|||||||
|
/*
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
*/
|
||||||
package net.yoik.cordova.plugins.screenorientation;
|
package net.yoik.cordova.plugins.screenorientation;
|
||||||
|
|
||||||
import org.apache.cordova.CallbackContext;
|
import org.apache.cordova.CallbackContext;
|
||||||
@ -9,9 +32,6 @@ import org.json.JSONException;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.webkit.CookieSyncManager;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
|
|
||||||
public class YoikScreenOrientation extends CordovaPlugin {
|
public class YoikScreenOrientation extends CordovaPlugin {
|
||||||
|
|
||||||
@ -40,10 +60,8 @@ public class YoikScreenOrientation extends CordovaPlugin {
|
|||||||
// an index for the toast message
|
// an index for the toast message
|
||||||
private static final int TOAST_MESSAGE_INDEX = 0;
|
private static final int TOAST_MESSAGE_INDEX = 0;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(String action, JSONArray args,
|
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
|
||||||
CallbackContext callbackContext) {
|
|
||||||
|
|
||||||
Log.d(TAG, "execute action: " + action);
|
Log.d(TAG, "execute action: " + action);
|
||||||
|
|
||||||
@ -57,14 +75,7 @@ public class YoikScreenOrientation extends CordovaPlugin {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
private boolean routeScreenOrientation(JSONArray args, CallbackContext callbackContext) {
|
||||||
* Screen Orientation Methods
|
|
||||||
*
|
|
||||||
* @author Ronald Diaz <r.diaz@pni.com.au>
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
private boolean routeScreenOrientation(JSONArray args,
|
|
||||||
CallbackContext callbackContext) {
|
|
||||||
|
|
||||||
String action = args.optString(0);
|
String action = args.optString(0);
|
||||||
|
|
||||||
@ -115,5 +126,4 @@ public class YoikScreenOrientation extends CordovaPlugin {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Utility.m
|
// YoikScreenOrientation.m
|
||||||
// Yoik
|
// Yoik
|
||||||
//
|
//
|
||||||
// Created by Nick Luo on 14/06/13.
|
// Created by Nick Luo on 14/06/13.
|
||||||
@ -8,37 +8,10 @@
|
|||||||
|
|
||||||
#import "YoikScreenOrientation.h"
|
#import "YoikScreenOrientation.h"
|
||||||
|
|
||||||
// #import "AppDelegate.h"
|
|
||||||
// #import "MainViewController.h"
|
|
||||||
// #import "TempViewController.h"
|
|
||||||
|
|
||||||
@implementation YoikScreenOrientation
|
@implementation YoikScreenOrientation
|
||||||
|
|
||||||
|
|
||||||
-(void)screenOrientation:(CDVInvokedUrlCommand *)command
|
-(void)screenOrientation:(CDVInvokedUrlCommand *)command
|
||||||
{
|
{
|
||||||
// NSString *action = [command.arguments objectAtIndex:0];
|
|
||||||
|
|
||||||
// AppDelegate *delegate = [UIApplication sharedApplication].delegate;
|
|
||||||
|
|
||||||
// MainViewController *viewController =(MainViewController *)delegate.viewController;
|
|
||||||
|
|
||||||
// if ([action isEqual:@"portrait"]) {
|
|
||||||
// [viewController forcePortrait];
|
|
||||||
// } else {
|
|
||||||
// [viewController forceLandscape];
|
|
||||||
// }
|
|
||||||
|
|
||||||
// TempViewController *temp = [[[TempViewController alloc] init] autorelease];
|
|
||||||
|
|
||||||
// [delegate.viewController presentViewController:temp animated:NO completion:^{
|
|
||||||
// [temp dismissModalViewControllerAnimated:NO];
|
|
||||||
|
|
||||||
// CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
|
|
||||||
// [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
|
|
||||||
|
|
||||||
// }];
|
|
||||||
|
|
||||||
// HACK: Force rotate by changing the view hierarchy. Present modal view then dismiss it immediately.
|
// HACK: Force rotate by changing the view hierarchy. Present modal view then dismiss it immediately.
|
||||||
[self.viewController presentViewController:[UIViewController new] animated:NO completion:^{ [self.viewController dismissViewControllerAnimated:NO completion:nil]; }];
|
[self.viewController presentViewController:[UIViewController new] animated:NO completion:^{ [self.viewController dismissViewControllerAnimated:NO completion:nil]; }];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user