import { Injectable } from '@angular/core'; import { Plugin, Cordova, IonicNativePlugin } from '@awesome-cordova-plugins/core'; /** * @name Android Notch * @description * This plugin enables developers to get the cutout and android devices inset sizes * It is based on the cordova plugin developed by @tobspr: https://github.com/tobspr/cordova-plugin-android-notch * This plugin works on all android versions, but we can only detect notches starting from Android 9. * * @usage * ```typescript * import { AndroidNotch } from '@awesome-cordova-plugins/android-notch/ngx'; * * * constructor(private androidNotch: AndroidNotch) { } * * ... * * * this.androidNotch.hasCutout() * .then((px: number) => console.log('Inset size: '), px) * .catch((error: any) => console.log('Error: ', error)) * * this.androidNotch.getInsetTop() * .then((px: number) => console.log('Inset size: '), px) * .catch((error: any) => console.log('Error: ', error)) * * this.androidNotch.getInsetRight() * .then((px: number) => console.log('Inset size: '), px) * .catch((error: any) => console.log('Error: ', error)) * * this.androidNotch.getInsetBottom() * .then((px: number) => console.log('Inset size: '), px) * .catch((error: any) => console.log('Error: ', error)) * * this.androidNotch.getInsetLeft() * .then((px: number) => console.log('Inset size: '), px) * .catch((error: any) => console.log('Error: ', error)) * * ``` */ @Plugin({ pluginName: 'AndroidNotch', plugin: 'cordova-plugin-android-notch', pluginRef: 'AndroidNotch', repo: 'https://github.com/tobspr/cordova-plugin-android-notch.git', platforms: ['Android'], }) @Injectable() export class AndroidNotch extends IonicNativePlugin { /** * Returns true if the android device has cutout * * @return {Promise} */ @Cordova() hasCutout(): Promise { return; } /** * Returns the heigth of the top inset * * @return {Promise} */ @Cordova() getInsetTop(): Promise { return; } /** * Returns the heigth of the right inset * * @return {Promise} */ @Cordova() getInsetRight(): Promise { return; } /** * Returns the heigth of the bottom inset * @return {Promise} */ @Cordova() getInsetBottom(): Promise { return; } /** * Returns the heigth of the left inset * @return {Promise} */ @Cordova() getInsetLeft(): Promise { return; } }