powermanagement plugin for iOS
This commit is contained in:
parent
6b1b27eca5
commit
b864c5d72a
@ -8,6 +8,7 @@ It should be used for applications which keep running for a long time without an
|
||||
For details on power functionality see:
|
||||
|
||||
* WindowsPhone: [UserIdleDetectionMode](http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.phoneapplicationservice.useridledetectionmode%28v=vs.105%29.aspx)
|
||||
* iOS: [idleTimerDisabled](http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instp/UIApplication/idleTimerDisabled)
|
||||
|
||||
Installation
|
||||
---------
|
||||
|
14
plugin.xml
14
plugin.xml
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
|
||||
id="at.gofg.sportscomputer.powermanagement"
|
||||
version="1.0.0">
|
||||
version="1.1.0">
|
||||
<name>PowerManagement</name>
|
||||
<description>PowerManagement plugin for Cordova</description>
|
||||
<license>GPL</license>
|
||||
@ -32,4 +32,16 @@
|
||||
|
||||
<source-file src="src/wp/PowerManagement.cs" />
|
||||
</platform>
|
||||
|
||||
<!-- ios -->
|
||||
<platform name="ios">
|
||||
<config-file target="config.xml" parent="/widget">
|
||||
<feature name="PowerManagement">
|
||||
<param name="ios-package" value="PowerManagement" />
|
||||
</feature>
|
||||
</config-file>
|
||||
|
||||
<header-file src="src/ios/PowerManagement.h" />
|
||||
<source-file src="src/ios/PowerManagement.m" />
|
||||
</platform>
|
||||
</plugin>
|
||||
|
45
src/ios/PowerManagement.h
Normal file
45
src/ios/PowerManagement.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 Wolfgang Koller
|
||||
*
|
||||
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
|
||||
*
|
||||
* GOFG Sports Computer is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GOFG Sports Computer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Cordova (iOS) plugin for accessing the power-management functions of the device
|
||||
*/
|
||||
|
||||
#ifdef CORDOVA_FRAMEWORK
|
||||
#import <CORDOVA/CDVPlugin.h>
|
||||
#else
|
||||
#import "CORDOVA/CDVPlugin.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Interface which does the actual handling
|
||||
*/
|
||||
@interface PowerManagement :CDVPlugin {
|
||||
}
|
||||
/**
|
||||
* Sets the idleTimerDisable property to true so that the idle timeout is disabled
|
||||
*/
|
||||
- (void) acquire:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
/**
|
||||
* Sets the idleTimerDisable property to false so that the idle timeout is enabled
|
||||
*/
|
||||
- (void) release:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
@end
|
75
src/ios/PowerManagement.m
Normal file
75
src/ios/PowerManagement.m
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 Wolfgang Koller
|
||||
*
|
||||
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
|
||||
*
|
||||
* GOFG Sports Computer is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GOFG Sports Computer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Cordova (iOS) plugin for accessing the power-management functions of the device
|
||||
*/
|
||||
#import "PowerManagement.h"
|
||||
|
||||
/**
|
||||
* Actual implementation of the interface
|
||||
*/
|
||||
@implementation PowerManagement
|
||||
- (void) acquire:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
CDVPluginResult* result = nil;
|
||||
NSString* jsString = nil;
|
||||
NSString* callbackId = command.callbackId;
|
||||
|
||||
// Acquire a reference to the local UIApplication singleton
|
||||
UIApplication* app = [UIApplication sharedApplication];
|
||||
|
||||
if( ![app isIdleTimerDisabled] ) {
|
||||
[app setIdleTimerDisabled:true];
|
||||
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
|
||||
jsString = [result toSuccessCallbackString:callbackId];
|
||||
}
|
||||
else {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer already disabled"];
|
||||
jsString = [result toErrorCallbackString:callbackId];
|
||||
}
|
||||
|
||||
[self writeJavascript:jsString];
|
||||
}
|
||||
|
||||
|
||||
- (void) release:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
CDVPluginResult* result = nil;
|
||||
NSString* jsString = nil;
|
||||
NSString* callbackId = command.callbackId;
|
||||
|
||||
// Acquire a reference to the local UIApplication singleton
|
||||
UIApplication* app = [UIApplication sharedApplication];
|
||||
|
||||
if( [app isIdleTimerDisabled] ) {
|
||||
[app setIdleTimerDisabled:false];
|
||||
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
|
||||
jsString = [result toSuccessCallbackString:callbackId];
|
||||
}
|
||||
else {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer not disabled"];
|
||||
jsString = [result toErrorCallbackString:callbackId];
|
||||
}
|
||||
|
||||
[self writeJavascript:jsString];
|
||||
}
|
||||
@end
|
Loading…
x
Reference in New Issue
Block a user