-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(power-management): add power management support (#4443)
Co-authored-by: Fabio Martino <[email protected]>
- Loading branch information
1 parent
cc2a78c
commit b283dc2
Showing
3 changed files
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Power Management | ||
|
||
```text | ||
$ ionic cordova plugin add cordova-plugin-powermanagement | ||
$ npm install @awesome-cordova-plugins/power-management | ||
``` | ||
|
||
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/) | ||
|
||
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement) | ||
|
||
A Cordova plugin that offers access to the devices power-management functionality. | ||
It should be used for applications which keep running for a long time without any user interaction. | ||
|
||
## Supported platforms | ||
|
||
* Android | ||
* iOS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Power Management | ||
|
||
```text | ||
$ ionic cordova plugin add cordova-plugin-powermanagement | ||
$ npm install @awesome-cordova-plugins/power-management | ||
``` | ||
|
||
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/) | ||
|
||
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement) | ||
|
||
A Cordova plugin that offers access to the devices power-management functionality. | ||
It should be used for applications which keep running for a long time without any user interaction. | ||
|
||
## Supported platforms | ||
|
||
* Android | ||
* iOS | ||
|
68 changes: 68 additions & 0 deletions
68
src/@awesome-cordova-plugins/plugins/power-management/index.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
import { Injectable } from '@angular/core'; | ||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core'; | ||
/** | ||
* @name Power Management | ||
* @description | ||
* The PowerManagement plugin offers access to the devices power-management functionality. | ||
* It should be used for applications which keep running for a long time without any user interaction. | ||
* @usage | ||
* ``` | ||
* import { PowerManagement } from '@awesome-cordova-plugins/power-management/ngx'; | ||
* | ||
* constructor(private powerManagement: PowerManagement) { } | ||
* | ||
* ... | ||
* | ||
* this.powerManagement.acquire() | ||
* .then(onSuccess) | ||
* .catch(onError); | ||
* | ||
* ``` | ||
*/ | ||
@Plugin({ | ||
pluginName: 'PowerManagement', | ||
plugin: 'cordova-plugin-powermanagement-orig', | ||
pluginRef: 'powerManagement', | ||
repo: 'https://github.com/Viras-/cordova-plugin-powermanagement', | ||
platforms: ['Android', 'iOS'], | ||
}) | ||
@Injectable() | ||
export class PowerManagement extends AwesomeCordovaNativePlugin { | ||
/** | ||
* Acquire a wakelock by calling this. | ||
* @returns {Promise<any>} | ||
*/ | ||
@Cordova() | ||
acquire(): Promise<any> { | ||
return; | ||
} | ||
|
||
/** | ||
* This acquires a partial wakelock, allowing the screen to be dimmed. | ||
* @returns {Promise<any>} | ||
*/ | ||
@Cordova() | ||
dim(): Promise<any> { | ||
return; | ||
} | ||
|
||
/** | ||
* Release the wakelock. It's important to do this when you're finished with the wakelock, to avoid unnecessary battery drain. | ||
* @returns {Promise<any>} | ||
*/ | ||
@Cordova() | ||
release(): Promise<any> { | ||
return; | ||
} | ||
|
||
/** | ||
* By default, the plugin will automatically release a wakelock when your app is paused (e.g. when the screen is turned off, or the user switches to another app). | ||
* It will reacquire the wakelock upon app resume. If you would prefer to disable this behaviour, you can use this function. | ||
* @param set {boolean} | ||
* @returns {Promise<any>} | ||
*/ | ||
@Cordova() | ||
setReleaseOnPause(set: boolean): Promise<any> { | ||
return; | ||
} | ||
} |