mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-02-16 00:00:02 +08:00
Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a589dac215 | ||
|
|
950a1bb4ff | ||
|
|
1b15bf4557 | ||
|
|
bfd111e9d6 | ||
|
|
9715ef8755 | ||
|
|
e21bd1a50e | ||
|
|
99ec80e2e7 | ||
|
|
91da2e5020 | ||
|
|
e1ff6de9ef | ||
|
|
d9b3638f3d | ||
|
|
82f7fd9e0a | ||
|
|
0579e67e96 | ||
|
|
2d55ad694c | ||
|
|
5ae27d8ad4 | ||
|
|
0ec396b25c | ||
|
|
a095422889 | ||
|
|
a924fb519f | ||
|
|
63cfd4488d | ||
|
|
9b4502f929 | ||
|
|
ba37646fc4 | ||
|
|
3b1d0593da | ||
|
|
ff78ca7fb4 | ||
|
|
b283dc2e76 | ||
|
|
cc2a78c858 | ||
|
|
65d3053a53 | ||
|
|
f02bc78ec2 | ||
|
|
7fe3ad1daa | ||
|
|
e51a1a79ef | ||
|
|
74a80c0953 | ||
|
|
e32ac8c6c9 | ||
|
|
cf23a52ea2 | ||
|
|
e7aab1d814 | ||
|
|
34afbd1c53 | ||
|
|
56054d036e | ||
|
|
c654ea5925 | ||
|
|
70d7acc113 |
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,7 +1,7 @@
|
||||
**I'm submitting a ...** (check one with "x")
|
||||
[ ] bug report
|
||||
[ ] feature request
|
||||
[ ] support request => Please do not submit support requests here, use the discussions section https://github.com/danielsogl/awesome-cordova-plugins/discussions
|
||||
- [ ] bug report
|
||||
- [ ] feature request
|
||||
- [ ] support request => Please do not submit support requests here, use the discussions section https://github.com/danielsogl/awesome-cordova-plugins/discussions
|
||||
|
||||
**Current behavior:**
|
||||
<!-- Describe how the bug manifests. -->
|
||||
|
||||
2
.github/workflows/nodejs.yml
vendored
2
.github/workflows/nodejs.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
node-version: [16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.1.0
|
||||
- uses: actions/checkout@v3.2.0
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
|
||||
4
.github/workflows/npmpublish.yml
vendored
4
.github/workflows/npmpublish.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.1.0
|
||||
- uses: actions/checkout@v3.2.0
|
||||
- uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
node-version: 16
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.1.0
|
||||
- uses: actions/checkout@v3.2.0
|
||||
- uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v6
|
||||
- uses: actions/stale@v7
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'There has been no recent activity and this issue has been marked inactive.'
|
||||
|
||||
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,3 +1,27 @@
|
||||
# [6.3.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.2.0...v6.3.0) (2022-12-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **chooser:** Update for support android 11+ ([#4436](https://github.com/danielsogl/awesome-cordova-plugins/issues/4436)) ([ba37646](https://github.com/danielsogl/awesome-cordova-plugins/commit/ba37646fc4b7cc86b497affa0ef932ad374b9080))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **advanced-image-picker:** add plugin ([#4434](https://github.com/danielsogl/awesome-cordova-plugins/issues/4434)) ([63cfd44](https://github.com/danielsogl/awesome-cordova-plugins/commit/63cfd4488d17b5cdac8a8302b310acc6c308c5a2))
|
||||
* **brightness:** add brightness plugin ([#4454](https://github.com/danielsogl/awesome-cordova-plugins/issues/4454)) ([f02bc78](https://github.com/danielsogl/awesome-cordova-plugins/commit/f02bc78ec253f6388750e662571300c82e990b51))
|
||||
* **clevertap:** support clevertap-cordova 2.6.0 ([#4458](https://github.com/danielsogl/awesome-cordova-plugins/issues/4458)) ([74a80c0](https://github.com/danielsogl/awesome-cordova-plugins/commit/74a80c0953577478bd15fe16ab9edf28dcb27280)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
* **diagnostics:** add getBluetoothAuthorizationStatuses function ([#4442](https://github.com/danielsogl/awesome-cordova-plugins/issues/4442)) ([ff78ca7](https://github.com/danielsogl/awesome-cordova-plugins/commit/ff78ca7fb4335698076282ec9da99433939f276a))
|
||||
* **fbsdk:** add plugin ([#4431](https://github.com/danielsogl/awesome-cordova-plugins/issues/4431)) ([a095422](https://github.com/danielsogl/awesome-cordova-plugins/commit/a0954228896b53dc42db3cbf6d6e89764d83646d))
|
||||
* **ffmpeg:** add plugin ([#4435](https://github.com/danielsogl/awesome-cordova-plugins/issues/4435)) ([9b4502f](https://github.com/danielsogl/awesome-cordova-plugins/commit/9b4502f9297d1a0a579db3fd0165c98e0897625e))
|
||||
* **fingerprint-aio:** update plugin ([#4423](https://github.com/danielsogl/awesome-cordova-plugins/issues/4423)) ([0579e67](https://github.com/danielsogl/awesome-cordova-plugins/commit/0579e67e966eb0469bccd22ee88d0c4c9c375838))
|
||||
* **mobile-accessibility:** add mobile-accessibility plugin ([#4456](https://github.com/danielsogl/awesome-cordova-plugins/issues/4456)) ([e51a1a7](https://github.com/danielsogl/awesome-cordova-plugins/commit/e51a1a79efcfd99e05783d567472251277f1bf93))
|
||||
* **power-management:** add power management support ([#4443](https://github.com/danielsogl/awesome-cordova-plugins/issues/4443)) ([b283dc2](https://github.com/danielsogl/awesome-cordova-plugins/commit/b283dc2e761dd897556a8ed955a312b663ca9c5e))
|
||||
* **unique-device-id:** add unique-device-id plugin ([#4455](https://github.com/danielsogl/awesome-cordova-plugins/issues/4455)) ([7fe3ad1](https://github.com/danielsogl/awesome-cordova-plugins/commit/7fe3ad1daabeac6c8365ddfce4d2b44df94ed00b))
|
||||
* **wonderpush:** expose getters and setters ([#4441](https://github.com/danielsogl/awesome-cordova-plugins/issues/4441)) ([3b1d059](https://github.com/danielsogl/awesome-cordova-plugins/commit/3b1d0593daf5732ea9f6268af84a612a575a3941))
|
||||
|
||||
|
||||
|
||||
# [6.2.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.1.0...v6.2.0) (2022-11-04)
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ To learn more about the reasons why Ionic Native was renamed to Awesome Cordova
|
||||
|
||||
## Capacitor Support
|
||||
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitor.ionicframework.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitor.ionicframework.com/docs/cordova/using-cordova-plugins).
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/v2/cordova/using-cordova-plugins).
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
20
docs/plugins/newrelic/README.md
Normal file
20
docs/plugins/newrelic/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# newrelic mobile
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add https://github.com/newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"
|
||||
$ npm install @awesome-cordova-plugins/newrelic
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/newrelic/)
|
||||
|
||||
Plugin Repo: [https://github.com/newrelic/newrelic-cordova-plugin](https://github.com/newrelic/newrelic-cordova-plugin)
|
||||
|
||||
This NewRelic plugin collect crashes, network traffic, and other information for hybrid apps using native components.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
19
docs/plugins/power-management.md
Normal file
19
docs/plugins/power-management.md
Normal file
@@ -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
docs/plugins/power-management/power-management.md
Normal file
19
docs/plugins/power-management/power-management.md
Normal file
@@ -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
|
||||
|
||||
546
package-lock.json
generated
546
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
26
package.json
26
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "awesome-cordova-plugins",
|
||||
"version": "6.2.0",
|
||||
"version": "6.3.0",
|
||||
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
|
||||
"homepage": "https://awesome-cordova-plugins.com",
|
||||
"author": "Daniel Sogl <me@danielsogl.com> (https://danielsogl.com)",
|
||||
@@ -34,33 +34,33 @@
|
||||
"@types/cordova": "0.0.34",
|
||||
"@types/fs-extra": "9.0.13",
|
||||
"@types/jest": "27.5.2",
|
||||
"@types/lodash": "4.14.186",
|
||||
"@types/node": "16.18.3",
|
||||
"@types/lodash": "4.14.191",
|
||||
"@types/node": "18.11.18",
|
||||
"@types/rimraf": "3.0.2",
|
||||
"@types/webpack": "5.28.0",
|
||||
"@typescript-eslint/eslint-plugin": "5.42.0",
|
||||
"@typescript-eslint/parser": "5.42.0",
|
||||
"@typescript-eslint/eslint-plugin": "5.47.1",
|
||||
"@typescript-eslint/parser": "5.47.1",
|
||||
"async-promise-queue": "1.0.5",
|
||||
"conventional-changelog-cli": "2.2.2",
|
||||
"cz-conventional-changelog": "3.3.0",
|
||||
"dgeni": "0.4.14",
|
||||
"dgeni-packages": "0.16.10",
|
||||
"eslint": "8.26.0",
|
||||
"eslint": "8.31.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
"eslint-plugin-jsdoc": "39.4.0",
|
||||
"fs-extra": "10.1.0",
|
||||
"eslint-plugin-jsdoc": "39.6.4",
|
||||
"fs-extra": "11.1.0",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.1.3",
|
||||
"husky": "8.0.1",
|
||||
"gulp-replace": "1.1.4",
|
||||
"husky": "8.0.2",
|
||||
"is-ci": "3.0.1",
|
||||
"jest": "27.5.1",
|
||||
"lint-staged": "13.0.3",
|
||||
"lint-staged": "13.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"minimist": "1.2.7",
|
||||
"prettier": "2.7.1",
|
||||
"prettier": "2.8.1",
|
||||
"rimraf": "3.0.2",
|
||||
"rollup": "3.2.5",
|
||||
"rollup": "3.9.0",
|
||||
"rxjs": "6.6.7",
|
||||
"terser-webpack-plugin": "5.3.6",
|
||||
"ts-jest": "27.1.5",
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
interface PresentOptions {
|
||||
/**
|
||||
* Which Media Types are allowed to be selected
|
||||
* default: "IMAGE"
|
||||
*/
|
||||
mediaType?: 'IMAGE' | 'VIDEO' | 'ALL';
|
||||
/**
|
||||
* Show possibility to take via Camera
|
||||
* default: true
|
||||
*/
|
||||
showCameraTile?: boolean;
|
||||
/**
|
||||
* On which Screen the Picker should be started (iOS only)
|
||||
* default: "LIBRARY"
|
||||
*/
|
||||
startOnScreen?: 'LIBRARY' | 'IMAGE' | 'VIDEO';
|
||||
/**
|
||||
* Date format of the Scroll Indicator (Android only)
|
||||
* default: "YYYY.MM"
|
||||
*/
|
||||
scrollIndicatorDateFormat?: string;
|
||||
/**
|
||||
* Show Title (Android only)
|
||||
* default: true
|
||||
*/
|
||||
showTitle?: boolean;
|
||||
/**
|
||||
* Customize the Title (Android only)
|
||||
* default: "Select Image"
|
||||
*/
|
||||
title?: string;
|
||||
/**
|
||||
* Show the zoomIndicator at the Images (Android only)
|
||||
* default: true
|
||||
*/
|
||||
zoomIndicator?: boolean;
|
||||
/**
|
||||
* Min Count of files to be selected
|
||||
* default: 0 (android), 1 (iOS)
|
||||
*/
|
||||
min?: number;
|
||||
/**
|
||||
* Message to be shown if min Count not reached (Android only)
|
||||
* default: "You need to select a minimum of ... pictures")"
|
||||
*/
|
||||
minCountMessage?: string;
|
||||
/**
|
||||
* Max Count of files can selected
|
||||
* default: 0 (android), 1 (iOS)
|
||||
*/
|
||||
max?: number;
|
||||
/**
|
||||
* Message to be shown if max Count is reached
|
||||
* default: "You can select a maximum of ... pictures"
|
||||
*/
|
||||
maxCountMessage?: string;
|
||||
/**
|
||||
* Change Done Button Text
|
||||
*/
|
||||
buttonText?: string;
|
||||
/**
|
||||
* Show Library as Dropdown (Android only)
|
||||
* default: false
|
||||
*/
|
||||
asDropdown?: boolean;
|
||||
/**
|
||||
* Return the Result as base64
|
||||
* default: false
|
||||
*/
|
||||
asBase64?: boolean;
|
||||
/**
|
||||
* Return the Image as JPEG
|
||||
* default: false
|
||||
*/
|
||||
asJpeg?: boolean;
|
||||
/**
|
||||
* Video Compression Option (iOS only)
|
||||
* available options: https://github.com/Yummypets/YPImagePicker/blob/23158e138bd649b40762bf2e4aa4beb0d463a121/Source/Configuration/YPImagePickerConfiguration.swift#L226-L240
|
||||
* default: AVAssetExportPresetHighestQuality
|
||||
*/
|
||||
videoCompression?: string;
|
||||
}
|
||||
|
||||
interface Result {
|
||||
type: 'image' | 'video';
|
||||
isBase64: boolean;
|
||||
src: string;
|
||||
}
|
||||
|
||||
export enum ErrorCodes {
|
||||
UnsupportedAction = 1,
|
||||
WrongJsonObject = 2,
|
||||
PickerCanceled = 3,
|
||||
UnknownError = 10,
|
||||
}
|
||||
|
||||
/**
|
||||
* Used for every Plugin Error Callback
|
||||
*/
|
||||
interface AdvancedImagePickerError {
|
||||
/**
|
||||
* One of the AdvancedImagePickerErrorCodes
|
||||
*/
|
||||
code: ErrorCodes;
|
||||
|
||||
/**
|
||||
* If available some more info (mostly exception message)
|
||||
*/
|
||||
message: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name AdvancedImagePicker
|
||||
* @description
|
||||
* This Cordova Plugin is for a better (multiple) ImagePicker with more options.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AdvancedImagePicker } from '@awesome-cordova-plugins/advanced-image-picker/npx';
|
||||
*
|
||||
*
|
||||
* constructor(private advancedImagePicker: AdvancedImagePicker) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.advancedImagePicker.present{
|
||||
* // config here
|
||||
* })
|
||||
* .then((res: Result[]) => console.log(res))
|
||||
* .catch((error: AdvancedImagePickerError) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AdvancedImagePicker',
|
||||
plugin: 'cordova-plugin-advanced-imagepicker',
|
||||
pluginRef: 'AdvancedImagePicker',
|
||||
repo: 'https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker',
|
||||
install: 'ionic cordova plugin add cordova-plugin-advanced-imagepicker',
|
||||
installVariables: ['ANDROID_IMAGE_PICKER_VERSION'],
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class AdvancedImagePicker extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Present the ImagePicker
|
||||
* @param options {PresentOptions} https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker/tree/master#parameters
|
||||
* @return {Promise<Result[]>}
|
||||
*/
|
||||
@Cordova()
|
||||
present(options: PresentOptions): Promise<Result[]> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleans all temp stored Files that was created by this Plugin (iOS only)
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
cleanup(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
62
src/@awesome-cordova-plugins/plugins/brightness/index.ts
Normal file
62
src/@awesome-cordova-plugins/plugins/brightness/index.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name Brightness
|
||||
* @description
|
||||
* The Brightness plugin let you control the display brightness of your device.
|
||||
*
|
||||
* Requires Cordova plugin: `cordova-plugin-brightness`. For more info, please see the [Brightness plugin docs](https://github.com/mgcrea/cordova-plugin-brightness).
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Brightness } from '@awesome-cordova-plugins/brightness/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private brightness: Brightness) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* let brightnessValue = 0.8;
|
||||
* this.brightness.setBrightness(brightnessValue);
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Brightness',
|
||||
plugin: 'cordova-plugin-brightness',
|
||||
pluginRef: 'cordova.plugins.brightness',
|
||||
repo: 'https://github.com/mgcrea/cordova-plugin-brightness',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class Brightness extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Sets the brightness of the display.
|
||||
* @param value {number} Floating number between 0 and 1 in which case 1 means 100% brightness and 0 means 0% brightness.
|
||||
* @returns {Promise<any>} Returns a Promise that resolves if setting brightness was successful.
|
||||
*/
|
||||
@Cordova()
|
||||
setBrightness(value: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the current brightness of the device display.
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the
|
||||
* brightness value of the device display (floating number between 0 and 1).
|
||||
*/
|
||||
@Cordova()
|
||||
getBrightness(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Keeps the screen on. Prevents the device from setting the screen to sleep.
|
||||
* @param {boolean} value
|
||||
*/
|
||||
@Cordova()
|
||||
setKeepScreenOn(value: boolean): void {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,24 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface ChooserOptions {
|
||||
mimeTypes?: string;
|
||||
maxFileSize?: number;
|
||||
}
|
||||
|
||||
export interface ChooserResult {
|
||||
data?: Uint8Array;
|
||||
dataURI?: string;
|
||||
mediaType: string;
|
||||
path: string;
|
||||
/**
|
||||
* without extension
|
||||
*/
|
||||
name: string;
|
||||
uri: string;
|
||||
/**
|
||||
* with extension
|
||||
*/
|
||||
displayName: string;
|
||||
mimeType: string;
|
||||
extension: string;
|
||||
size: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,32 +59,23 @@ export interface ChooserResult {
|
||||
pluginName: 'Chooser',
|
||||
plugin: 'cordova-plugin-chooser',
|
||||
pluginRef: 'chooser',
|
||||
repo: 'https://github.com/cyph/cordova-plugin-chooser',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-chooser',
|
||||
platforms: ['Android', 'iOS'],
|
||||
install: 'ionic cordova plugin add http://github.com/MaximBelov/cordova-plugin-chooser.git',
|
||||
})
|
||||
@Injectable()
|
||||
export class Chooser extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Displays native prompt for user to select a file.
|
||||
*
|
||||
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @returns {Promise<any>} Promise containing selected file's raw binary data,
|
||||
* base64-encoded data: URI, MIME type, display name, and original URI.
|
||||
* @param {Object} options
|
||||
* @param {string} options.mimeTypes Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @param {string} options.maxFileSize Optional Max file size.
|
||||
* @returns {Promise<any>} Promise containing selected file's
|
||||
* data: MIME type, display name, and original URI.
|
||||
*/
|
||||
@Cordova()
|
||||
getFile(accept?: string): Promise<ChooserResult | undefined> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Displays native prompt for user to select a file.
|
||||
*
|
||||
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @returns {Promise<any>} Promise containing selected file's MIME type, display name, and original URI.
|
||||
* If user cancels, promise will be resolved as undefined.
|
||||
* If error occurs, promise will be rejected.
|
||||
*/
|
||||
@Cordova()
|
||||
getFileMetadata(accept?: string): Promise<ChooserResult | undefined> {
|
||||
getFile(options?: ChooserOptions): Promise<ChooserResult | undefined> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,13 +121,14 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the device's Xiaomi push token
|
||||
*
|
||||
* Sets the device's Xiaomi push token.
|
||||
* clevertap-cordova 2.6.0 onwards method requires region as a mandatory parameter.
|
||||
* @param token {string}
|
||||
* @param region {string}
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setPushXiaomiToken(token: string): Promise<any> {
|
||||
setPushXiaomiToken(token: string, region: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -804,6 +805,17 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method to delete bulk Inbox Messages for Given Message Ids
|
||||
*
|
||||
* @param messageIds {any} array of strings
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
deleteInboxMessagesForIds(messageIds: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to Mark Read Inbox Message For Id
|
||||
*
|
||||
|
||||
@@ -696,6 +696,17 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
getBluetoothAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the individual authorization status for each Bluetooth run-time permission on Android 12+ / API 31+
|
||||
* On Android 11 / API 30 and below, all will be returned as GRANTED if the manifest has BLUETOOTH since they are implicitly granted at build-time.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getBluetoothAuthorizationStatuses(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use external storage.
|
||||
|
||||
484
src/@awesome-cordova-plugins/plugins/fbsdk/index.ts
Normal file
484
src/@awesome-cordova-plugins/plugins/fbsdk/index.ts
Normal file
@@ -0,0 +1,484 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface FbSdkLoginResponse {
|
||||
status: string;
|
||||
|
||||
authResponse: {
|
||||
accessToken: string;
|
||||
|
||||
data_access_expiration_time: string;
|
||||
|
||||
expiresIn: number;
|
||||
|
||||
userID: string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @name FbSdk
|
||||
* @description
|
||||
* Use the Facebook SDK plugin to obtain access to the native FB application on iOS and Android.
|
||||
*
|
||||
* Requires Cordova plugin: `cordova-plugin-fbsdk`. For more info, please see the [Facebook SDK](https://github.com/MaximBelov/cordova-plugin-fbsdk).
|
||||
*
|
||||
* #### Installation
|
||||
*
|
||||
* To use the FB plugin, you first have to create a new Facebook App inside of the Facebook developer portal at [https://developers.facebook.com/apps](https://developers.facebook.com/apps).
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Retrieve the `App ID` and `App Name`.
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Then type in the following command in your Terminal, where APP_ID and APP_NAME are the values from the Facebook Developer portal.
|
||||
*
|
||||
* ```bash
|
||||
* ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
|
||||
* ```
|
||||
*
|
||||
* After, you'll need to add the native platforms you'll be using to your app in the Facebook Developer portal under your app's Settings:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Click `'Add Platform'`.
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
|
||||
*
|
||||
* Take note of the `id` for the next step:
|
||||
* ```
|
||||
* <widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
* ```
|
||||
*
|
||||
* You can also edit the `id` to whatever you'd like it to be.
|
||||
*
|
||||
* #### Client Access Tokens
|
||||
*
|
||||
* [](https://developers.facebook.com/docs/facebook-login/guides/access-tokens#clienttokens)
|
||||
*
|
||||
*
|
||||
* #### iOS Install
|
||||
* Under 'Bundle ID', add the `id` from your `config.xml` file:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
*
|
||||
* #### Android Install
|
||||
* Under 'Google Play Package Name', add the `id` from your `config.xml` file:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
*
|
||||
* And that's it! You can now make calls to Facebook using the plugin.
|
||||
*
|
||||
* ## Events
|
||||
*
|
||||
* App events allow you to understand the makeup of users engaging with your app, measure the performance of your Facebook mobile app ads, and reach specific sets of your users with Facebook mobile app ads.
|
||||
*
|
||||
* - [iOS] [https://developers.facebook.com/docs/ios/app-events](https://developers.facebook.com/docs/ios/app-events)
|
||||
* - [Android] [https://developers.facebook.com/docs/android/app-events](https://developers.facebook.com/docs/android/app-events)
|
||||
* - [JS] Does not have an Events API, so the plugin functions are empty and will return an automatic success
|
||||
*
|
||||
* Activation events are automatically tracked for you in the plugin.
|
||||
*
|
||||
* Events are listed on the [insights page](https://www.facebook.com/insights/).
|
||||
*
|
||||
* For tracking events, see `logEvent` and `logPurchase`.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FbSdk, FbSdkLoginResponse } from '@awesome-cordova-plugins/fbsdk/ngx';
|
||||
*
|
||||
* constructor(private fbSdk: FbSdk) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.fbSdk.login(['public_profile', 'user_friends', 'email'])
|
||||
* .then((res: FbSdkLoginResponse) => console.log('Logged into Facebook!', res))
|
||||
* .catch(e => console.log('Error logging into Facebook', e));
|
||||
*
|
||||
*
|
||||
* this.fb.logEvent(this.fb.EVENTS.EVENT_NAME_ADDED_TO_CART);
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Facebook',
|
||||
plugin: 'cordova-plugin-fbsdk',
|
||||
pluginRef: 'facebookConnectPlugin',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-fbsdk',
|
||||
install:
|
||||
'ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"',
|
||||
installVariables: ['APP_ID', 'APP_NAME', 'CLIENT_TOKEN'],
|
||||
platforms: ['Android', 'iOS', 'Browser'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FbSdk extends AwesomeCordovaNativePlugin {
|
||||
EVENTS = {
|
||||
EVENT_NAME_ACTIVATED_APP: 'fb_mobile_activate_app',
|
||||
EVENT_NAME_DEACTIVATED_APP: 'fb_mobile_deactivate_app',
|
||||
EVENT_NAME_SESSION_INTERRUPTIONS: 'fb_mobile_app_interruptions',
|
||||
EVENT_NAME_TIME_BETWEEN_SESSIONS: 'fb_mobile_time_between_sessions',
|
||||
EVENT_NAME_COMPLETED_REGISTRATION: 'fb_mobile_complete_registration',
|
||||
EVENT_NAME_VIEWED_CONTENT: 'fb_mobile_content_view',
|
||||
EVENT_NAME_SEARCHED: 'fb_mobile_search',
|
||||
EVENT_NAME_RATED: 'fb_mobile_rate',
|
||||
EVENT_NAME_COMPLETED_TUTORIAL: 'fb_mobile_tutorial_completion',
|
||||
EVENT_NAME_PUSH_TOKEN_OBTAINED: 'fb_mobile_obtain_push_token',
|
||||
EVENT_NAME_ADDED_TO_CART: 'fb_mobile_add_to_cart',
|
||||
EVENT_NAME_ADDED_TO_WISHLIST: 'fb_mobile_add_to_wishlist',
|
||||
EVENT_NAME_INITIATED_CHECKOUT: 'fb_mobile_initiated_checkout',
|
||||
EVENT_NAME_ADDED_PAYMENT_INFO: 'fb_mobile_add_payment_info',
|
||||
EVENT_NAME_PURCHASED: 'fb_mobile_purchase',
|
||||
EVENT_NAME_ACHIEVED_LEVEL: 'fb_mobile_level_achieved',
|
||||
EVENT_NAME_UNLOCKED_ACHIEVEMENT: 'fb_mobile_achievement_unlocked',
|
||||
EVENT_NAME_SPENT_CREDITS: 'fb_mobile_spent_credits',
|
||||
EVENT_PARAM_CURRENCY: 'fb_currency',
|
||||
EVENT_PARAM_REGISTRATION_METHOD: 'fb_registration_method',
|
||||
EVENT_PARAM_CONTENT_TYPE: 'fb_content_type',
|
||||
EVENT_PARAM_CONTENT_ID: 'fb_content_id',
|
||||
EVENT_PARAM_SEARCH_STRING: 'fb_search_string',
|
||||
EVENT_PARAM_SUCCESS: 'fb_success',
|
||||
EVENT_PARAM_MAX_RATING_VALUE: 'fb_max_rating_value',
|
||||
EVENT_PARAM_PAYMENT_INFO_AVAILABLE: 'fb_payment_info_available',
|
||||
EVENT_PARAM_NUM_ITEMS: 'fb_num_items',
|
||||
EVENT_PARAM_LEVEL: 'fb_level',
|
||||
EVENT_PARAM_DESCRIPTION: 'fb_description',
|
||||
EVENT_PARAM_SOURCE_APPLICATION: 'fb_mobile_launch_source',
|
||||
EVENT_PARAM_VALUE_YES: '1',
|
||||
EVENT_PARAM_VALUE_NO: '0',
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the current application ID
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the current application ID
|
||||
*/
|
||||
@Cordova()
|
||||
getApplicationId(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the application ID
|
||||
*
|
||||
* @param {string} id application ID
|
||||
*/
|
||||
@Cordova()
|
||||
setApplicationId(id: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current application name
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the current application name
|
||||
*/
|
||||
@Cordova()
|
||||
getApplicationName(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the application name
|
||||
*
|
||||
* @param {string} name application name
|
||||
*/
|
||||
@Cordova()
|
||||
setApplicationName(name: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Login to Facebook to authenticate this app.
|
||||
*
|
||||
* ```typescript
|
||||
* {
|
||||
* status: 'connected',
|
||||
* authResponse: {
|
||||
* accessToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* data_access_expiration_time: '1623680244',
|
||||
* expiresIn: 5183979,
|
||||
* userID: '634565435'
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) this app has upon logging in.
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
login(permissions: string[]): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Login to Facebook using Limited Login (iOS Only)
|
||||
*
|
||||
* ```typescript
|
||||
* {
|
||||
* status: 'connected',
|
||||
* authResponse: {
|
||||
* authenticationToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* nonce: 'foo',
|
||||
* userID: '634565435'
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/limited-login/permissions) this app has upon logging in.
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
loginWithLimitedTracking(permissions: string[]): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the user has approved all necessary permissions
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) to check for
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with a success string if all passed permissions are granted, or an error string if any permissions are not granted
|
||||
*/
|
||||
@Cordova()
|
||||
checkHasCorrectPermissions(permissions: string[]): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if data access has expired for the user
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with a success string if data access is expired, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
isDataAccessExpired(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reauthorize data access after it has expired
|
||||
*
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
reauthorizeDataAccess(): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logout of Facebook.
|
||||
*
|
||||
* For more info see the [Facebook docs](https://developers.facebook.com/docs/reference/javascript/FB.logout)
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves on a successful logout, and rejects if logout fails.
|
||||
*/
|
||||
@Cordova()
|
||||
logout(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a user is logged in to Facebook and has authenticated your app. There are three possible states for a user:
|
||||
*
|
||||
* 1) the user is logged into Facebook and has authenticated your application (connected)
|
||||
* 2) the user is logged into Facebook but has not authenticated your application (not_authorized)
|
||||
* 3) the user is either not logged into Facebook or explicitly logged out of your application so it doesn't attempt to connect to Facebook and thus, we don't know if they've authenticated your application or not (unknown)
|
||||
*
|
||||
* Resolves with a response like:
|
||||
*
|
||||
* ```
|
||||
* {
|
||||
* authResponse: {
|
||||
* userID: '12345678912345',
|
||||
* accessToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* data_access_expiration_time: '1623680244',
|
||||
* expiresIn: '5183738'
|
||||
* },
|
||||
* status: 'connected'
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* For more information see the [Facebook docs](https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus)
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with a status, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getLoginStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a Facebook access token for using Facebook services.
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with an access token, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getAccessToken(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get profile information for the currently logged in user
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getCurrentProfile(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show one of various Facebook dialogs. Example of options for a Share dialog:
|
||||
*
|
||||
* ```
|
||||
* {
|
||||
* method: 'share',
|
||||
* href: 'http://example.com'
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* For more options see the [Cordova plugin docs](https://github.com/MaximBelov/cordova-plugin-fbsdk#show-a-dialog) and the [Facebook docs](https://developers.facebook.com/docs/javascript/reference/FB.ui)
|
||||
*
|
||||
* @param {Object} options The dialog options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
showDialog(options: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a call to Facebook Graph API. Can take additional permissions beyond those granted on login.
|
||||
*
|
||||
* For more information see:
|
||||
*
|
||||
* Calling the Graph API - https://developers.facebook.com/docs/javascript/reference/FB.api
|
||||
* Graph Explorer - https://developers.facebook.com/tools/explorer
|
||||
* Graph API - https://developers.facebook.com/docs/graph-api
|
||||
*
|
||||
* @param {string} requestPath Graph API endpoint you want to call
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) for this request.
|
||||
* @param {string} httpMethod HTTP method for the request, one of "GET", "POST", or "DELETE" (default is "GET")
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the result of the request, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
api(requestPath: string, permissions: string[], httpMethod?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Data Processing Options for App events. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/guides/ccpa)
|
||||
*
|
||||
* @param {string[]} options List of options, i.e. ["LDU"]
|
||||
* @param {number} country The numeric identifier for the country
|
||||
* @param {number} state The numeric identifier for the state
|
||||
*/
|
||||
@Cordova()
|
||||
setDataProcessingOptions(options: string[], country?: number, state?: number): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set user data for Advanced Matching. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/advanced-matching/)
|
||||
*
|
||||
* @param {Object} userData An object containing data about the user
|
||||
*/
|
||||
@Cordova()
|
||||
setUserData(userData: Object): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear user data. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/advanced-matching/)
|
||||
*/
|
||||
@Cordova()
|
||||
clearUserData(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log an event. For more information see the Events section above.
|
||||
*
|
||||
* @param {string} name Name of the event
|
||||
* @param {Object} [params] An object containing extra data to log with the event
|
||||
* @param {number} [valueToSum] any value to be added to added to a sum on each event
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 3,
|
||||
errorIndex: 4,
|
||||
})
|
||||
logEvent(name: string, params?: Object, valueToSum?: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable the auto log app event feature - https://developers.facebook.com/docs/app-events/gdpr-compliance/
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 2,
|
||||
})
|
||||
setAutoLogAppEventsEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable collection of advertiser-id
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova()
|
||||
setAdvertiserIDCollectionEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable advertiser tracking (iOS Only)
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova()
|
||||
setAdvertiserTrackingEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a purchase. For more information see the Events section above.
|
||||
*
|
||||
* @param {number} value Value of the purchase.
|
||||
* @param {string} currency The currency, as an [ISO 4217 currency code](http://en.wikipedia.org/wiki/ISO_4217)
|
||||
* @param {Object} params An object containing extra data to log with the event
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
logPurchase(value: number, currency: string, params?: Object): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the deferred app link
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the deep link
|
||||
*/
|
||||
@Cordova()
|
||||
getDeferredApplink(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Manually log activation events
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
activateApp(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
74
src/@awesome-cordova-plugins/plugins/ffmpeg/index.ts
Normal file
74
src/@awesome-cordova-plugins/plugins/ffmpeg/index.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface VideoInformation {
|
||||
format: {
|
||||
bit_rate: string;
|
||||
duration: string;
|
||||
filename: string;
|
||||
format_name: string;
|
||||
nb_programs: string;
|
||||
nb_streams: string;
|
||||
probe_score: string;
|
||||
size: string;
|
||||
start_time: string;
|
||||
};
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name FFMpeg
|
||||
* @description
|
||||
* Simple plugin that binds mobile ffmpeg to execute ffmpeg commands
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FFMpeg } from '@awesome-cordova-plugins/ffmpeg/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private ffMpeg: FFMpeg) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.fFMpeg.exec('-i someinput.mp4 -vn -c:a copy out.mp3')
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* this.fFMpeg.probe('somefile.mp4"')
|
||||
* .then((res: VideoInformation) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FFMpeg',
|
||||
plugin: 'cordova-plugin-ffmpeg',
|
||||
pluginRef: 'ffmpeg',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-ffmpeg',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FFMpeg extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Execute ffmpeg command
|
||||
* @param cmd {string} command
|
||||
* @return {Promise<any>} Returns a promise that resolves when execute finished
|
||||
*/
|
||||
@Cordova()
|
||||
exec(cmd: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts media information for the file specified with path
|
||||
* @param filePath {string} file path
|
||||
* @return {Promise<VideoInformation>} Returns a promise that resolves when media information received
|
||||
*/
|
||||
@Cordova()
|
||||
probe(filePath: string): Promise<VideoInformation> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,96 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
// Biometric type
|
||||
export type BIOMETRIC_TYPE = 'finger' | 'face' | 'biometric';
|
||||
|
||||
export enum BIOMETRIC_ERRORS {
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNKNOWN_ERROR = -100,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNAVAILABLE = -101,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_AUTHENTICATION_FAILED = -102,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SDK_NOT_SUPPORTED = -103,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_HARDWARE_NOT_SUPPORTED = -104,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PERMISSION_NOT_GRANTED = -105,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_NOT_ENROLLED = -106,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_INTERNAL_PLUGIN_ERROR = -107,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_DISMISSED = -108,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PIN_OR_PATTERN_DISMISSED = -109,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SCREEN_GUARD_UNSECURED = -110,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT = -111,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT_PERMANENT = -112,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SECRET_NOT_FOUND = -113
|
||||
}
|
||||
|
||||
export interface FingerprintOptions {
|
||||
/**
|
||||
* Title in biometric prompt (android only)
|
||||
@@ -43,6 +133,14 @@ export interface FingerprintOptions {
|
||||
* @default false
|
||||
*/
|
||||
disableBackup?: boolean;
|
||||
|
||||
/**
|
||||
* (Android): If false user confirmation is NOT required after a biometric has been authenticated.
|
||||
*
|
||||
* @default true.
|
||||
* See https://developer.android.com/training/sign-in/biometric-auth#no-explicit-user-action
|
||||
*/
|
||||
confirmationRequired?: boolean;
|
||||
}
|
||||
|
||||
export interface FingerprintSecretOptions extends FingerprintOptions {
|
||||
@@ -121,98 +219,15 @@ export interface FingerprintSecretOptions extends FingerprintOptions {
|
||||
})
|
||||
@Injectable()
|
||||
export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNKNOWN_ERROR = -100;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNAVAILABLE = -101;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_AUTHENTICATION_FAILED = -102;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SDK_NOT_SUPPORTED = -103;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_HARDWARE_NOT_SUPPORTED = -104;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PERMISSION_NOT_GRANTED = -105;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_NOT_ENROLLED = -106;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_INTERNAL_PLUGIN_ERROR = -107;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_DISMISSED = -108;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PIN_OR_PATTERN_DISMISSED = -109;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SCREEN_GUARD_UNSECURED = -110;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT = -111;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT_PERMANENT = -112;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SECRET_NOT_FOUND = -113;
|
||||
|
||||
/**
|
||||
* Check if fingerprint authentication is available
|
||||
*
|
||||
* @returns {Promise<any>} Returns a promise with result
|
||||
* @returns {Promise<BIOMETRIC_TYPE>} Returns a promise with result which depends on device and os.
|
||||
* iPhone X will return 'face' other Android or iOS devices will return 'finger' Android P+ will return 'biometric'
|
||||
*/
|
||||
@Cordova()
|
||||
isAvailable(): Promise<any> {
|
||||
isAvailable(): Promise<BIOMETRIC_TYPE> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -220,10 +235,10 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue and register secret
|
||||
*
|
||||
* @param {FingerprintSecretOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<void>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
registerBiometricSecret(options: FingerprintSecretOptions): Promise<any> {
|
||||
registerBiometricSecret(options: FingerprintSecretOptions): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -231,7 +246,7 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue and load secret
|
||||
*
|
||||
* @param {FingerprintOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<string>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
loadBiometricSecret(options: FingerprintOptions): Promise<string> {
|
||||
@@ -242,10 +257,10 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue
|
||||
*
|
||||
* @param {FingerprintOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<void>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
show(options: FingerprintOptions): Promise<any> {
|
||||
show(options: FingerprintOptions): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,258 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name Mobile Accessibility
|
||||
* @description
|
||||
* This plugin exposes information on the status of various accessibility features of mobile operating systems, including, for example, whether a screen reader is running, invert colors is enabled, and the preferred scaling for text.
|
||||
* It also allows an application to send a string to be spoken by the screen reader, or a command to stop the screen reader from speaking.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { MobileAccessibility } from '@awesome-cordova-plugins/mobile-accessibility/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private mobileAccessibility: MobileAccessibility) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.mobileAccessibility.isScreenReaderRunningCallback();
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'MobileAccessibility',
|
||||
plugin: 'phonegap-plugin-mobile-accessibility',
|
||||
pluginRef: 'window.MobileAccessibility',
|
||||
repo: 'https://github.com/phonegap/phonegap-mobile-accessibility',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS', 'Amazon Fire OS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class MobileAccessibility extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* This function does something
|
||||
* @param arg1 {string} Some param to configure something
|
||||
* @param arg2 {number} Another param to configure something
|
||||
* @return {Promise<any>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova()
|
||||
functionName(arg1: string, arg2: number): Promise<any> {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
MobileAccessibilityNotifications: {
|
||||
ANNOUNCEMENT: 'ANNOUNCEMENT';
|
||||
BOLD_TEXT_STATUS_CHANGED: 'BOLD_TEXT_STATUS_CHANGED';
|
||||
CLOSED_CAPTIONING_STATUS_CHANGED: 'CLOSED_CAPTIONING_STATUS_CHANGED';
|
||||
DARKER_SYSTEM_COLORS_STATUS_CHANGED: 'DARKER_SYSTEM_COLORS_STATUS_CHANGED';
|
||||
GRAYSCALE_STATUS_CHANGED: 'GRAYSCALE_STATUS_CHANGED';
|
||||
GUIDED_ACCESS_STATUS_CHANGED: 'GUIDED_ACCESS_STATUS_CHANGED';
|
||||
INVERT_COLORS_STATUS_CHANGED: 'INVERT_COLORS_STATUS_CHANGED';
|
||||
LAYOUT_CHANGED: 'LAYOUT_CHANGED';
|
||||
MONO_AUDIO_STATUS_CHANGED: 'MONO_AUDIO_STATUS_CHANGED';
|
||||
PAGE_SCROLLED: 'PAGE_SCROLLED';
|
||||
REDUCE_MOTION_STATUS_CHANGED: 'REDUCE_MOTION_STATUS_CHANGED';
|
||||
REDUCE_TRANSPARENCY_STATUS_CHANGED: 'REDUCE_TRANSPARENCY_STATUS_CHANGED';
|
||||
SCREEN_CHANGED: 'SCREEN_CHANGED';
|
||||
SCREEN_READER_STATUS_CHANGED: 'SCREEN_READER_STATUS_CHANGED';
|
||||
SPEAK_SCREEN_STATUS_CHANGED: 'SPEAK_SCREEN_STATUS_CHANGED';
|
||||
SPEAK_SELECTION_STATUS_CHANGED: 'SPEAK_SELECTION_STATUS_CHANGED';
|
||||
SWITCH_CONTROL_STATUS_CHANGED: 'SWITCH_CONTROL_STATUS_CHANGED';
|
||||
TOUCH_EXPLORATION_STATUS_CHANGED: 'TOUCH_EXPLORATION_STATUS_CHANGED';
|
||||
};
|
||||
|
||||
/**
|
||||
* Makes an asynchronous call to native MobileAccessibility to determine if a screen reader is running.
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isScreenReaderRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* An iOS-specific proxy for the MobileAccessibility.isScreenReaderRunning method
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isVoiceOverRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* An Android/Amazon Fire OS-specific proxy for the MobileAccessibility.isScreenReaderRunning method.
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isTalkBackRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* On Android, this method returns true if ChromeVox is active and properly initialized with access to the text to speech API in the WebView.
|
||||
* If TalkBack is running but ChromeVox is not active, this method is useful to alert the user of a potential problem.
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isChromeVoxActive(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isBoldTextEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isClosedCaptioningEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isDarkerSystemColorsEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isGrayscaleEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isGuidedAccessEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isInvertColorsEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isMonoAudioEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isReduceMotionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isReduceTransparencyEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSpeakScreenEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSpeakSelectionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSwitchControlRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isTouchExplorationEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* * @returns {Promise<number>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
getTextZoom(): Promise<number> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* @param textZoom {number} A percentage value by which text in the WebView should be scaled.
|
||||
*/
|
||||
@Cordova()
|
||||
setTextZoom(textZoom: number): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Cordova()
|
||||
updateTextZoom(): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* A Boolean value which specifies whether to use the preferred text zoom of a default percent value of 100.
|
||||
* @param value {boolean} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
usePreferredTextZoom(value: boolean): void {}
|
||||
/**
|
||||
* Posts a notification with a string for the screen reader to announce if it is running.
|
||||
* @param mobileAccessibilityNotification {any}
|
||||
* @param value {string} A string to be announced by a screen reader.
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
postNotification(mobileAccessibilityNotification: any, value: string): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Speaks a given string through the screenreader. On Android, if ChromeVox is active, it will use the specified queueMode and properties.
|
||||
* @param value {string}
|
||||
* @param queueMode {mumber}
|
||||
* @param properties {any}
|
||||
*/
|
||||
@Cordova()
|
||||
speak(value: string, queueMode?: number, properties?: any): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Stops speech.
|
||||
*/
|
||||
@Cordova()
|
||||
stop(): void {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ import { Observable } from 'rxjs';
|
||||
pluginRef: 'NewRelic', // the variable reference to call the plugin, example: navigator.geolocation
|
||||
repo: 'https://github.com/newrelic/newrelic-cordova-plugin', // the github repository URL for the plugin
|
||||
install:
|
||||
'ionic cordova plugin add https://github.com/ndesai-newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"', // OPTIONAL install command, in case the plugin requires variables
|
||||
'ionic cordova plugin add https://github.com/newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"', // OPTIONAL install command, in case the plugin requires variables
|
||||
installVariables: ['IOS_APP_TOKEN', 'ANDROID_APP_TOKEN'], // OPTIONAL the plugin requires variables
|
||||
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
||||
})
|
||||
@@ -56,7 +56,7 @@ export class NewRelic extends AwesomeCordovaNativePlugin {
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
setAttribute(name: string, value: string): void {
|
||||
setAttribute(name: string, value: any): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
@@ -124,19 +124,6 @@ export class NewRelic extends AwesomeCordovaNativePlugin {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Records JavaScript errors for ionic.
|
||||
* @param {string} name The name of the error.
|
||||
* @param {string} message The message of the error.
|
||||
* @param {string} stack The error stack of the error.
|
||||
* @param {boolean} isFatal The flag for whether the error is fatal.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordError(name: string, message: string, stack: string, isFatal: boolean): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws a demo run-time exception to test New Relic crash reporting.
|
||||
@@ -317,4 +304,16 @@ export class NewRelic extends AwesomeCordovaNativePlugin {
|
||||
noticeNetworkFailure(url: string, method: string, startTime: Number, endTime: Number, failure: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Records JavaScript errors for ionic.
|
||||
* @param {Error} err The error to report.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordError(err: Error): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name Unique Device ID
|
||||
* @description
|
||||
* This plugin produces a unique, cross-install, app-specific device id.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { UniqueDeviceID } from '@awesome-cordova-plugins/unique-device-id/ngx';
|
||||
*
|
||||
* constructor(private uniqueDeviceID: UniqueDeviceID) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.uniqueDeviceID.get()
|
||||
* .then((uuid: any) => console.log(uuid))
|
||||
* .catch((error: any) => console.log(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'UniqueDeviceID',
|
||||
plugin: 'cordova-plugin-uniquedeviceid',
|
||||
pluginRef: 'window.plugins.uniqueDeviceID',
|
||||
repo: 'https://github.com/Paldom/UniqueDeviceID',
|
||||
install: '', // OPTIONAL install command, in case the plugin requires variables
|
||||
installVariables: [], // OPTIONAL the plugin requires variables
|
||||
platforms: ['Android', 'iOS', 'Windows Phone 8'], // Array of platforms supported, example: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class UniqueDeviceID extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Gets a unique, cross-install, app-specific device id.
|
||||
* @return {Promise<string>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova()
|
||||
get(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -619,4 +619,118 @@ export class WonderPush extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
UserPreferences = new UserPreferencesMethods(this);
|
||||
|
||||
/**
|
||||
* Gets the user's country, either as previously stored, or as guessed from the system.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getCountry(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the user's country. You should use an ISO 3166-1 alpha-2 country code. Defaults to getting the country code from the system default locale.
|
||||
* Use `null` to disable the override.
|
||||
* @param {string} country
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setCountry(country: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user's currency, either as previously stored, or as guessed from the system.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getCurrency(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the user's currency. You should use an ISO 4217 currency code. Defaults to getting the currency code from the system default locale.
|
||||
* Use `null` to disable the override.
|
||||
* @param {string} currency -
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setCurrency(currency: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user's locale, either as previously stored, or as guessed from the system.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getLocale(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the user's locale.
|
||||
* You should use an `xx-XX` form of RFC 1766, composed of a lowercase ISO 639-1 language code, an underscore or a dash, and an uppercase ISO 3166-1 alpha-2 country code.
|
||||
* Defaults to getting the locale code from the system default locale.
|
||||
* Use `null` to disable the override.
|
||||
* @param {string} locale -
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setLocale(locale: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user's time zone, either as previously stored, or as guessed from the system.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getTimeZone(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* You should use an IANA time zone database codes, `Continent/Country` style preferably, abbreviations like `CET`, `PST`, `UTC`, which have the drawback of changing on daylight saving transitions.
|
||||
* Defaults to getting the time zone code from the system default locale.
|
||||
* Use `null` to disable the override.
|
||||
* @param {string} timeZone -
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setTimeZone(timeZone: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables the collection of the user's geolocation.
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
enableGeolocation(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables the collection of the user's geolocation.
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
disableGeolocation(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the user's geolocation.
|
||||
* Using this method you can have the user's location be set to wherever you want.
|
||||
* This may be useful to use a pre-recorded location.
|
||||
* @param {number} latitude
|
||||
* @param {number} longitude
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setGeolocation(latitude: number, longitude: number): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user