Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(power-management): add power management support #4443

Merged
merged 1 commit into from Dec 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 19 additions & 0 deletions docs/plugins/power-management.md
@@ -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

19 changes: 19 additions & 0 deletions docs/plugins/power-management/power-management.md
@@ -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 src/@awesome-cordova-plugins/plugins/power-management/index.ts
@@ -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;
}
}