@falconeta/capacitor-android-full-view 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapacitorPluginAndroidInsets.podspec +17 -0
- package/README.md +78 -0
- package/android/build.gradle +57 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/owlsdepartment/plugin/android/insets/AndroidFullView.java +42 -0
- package/android/src/main/java/com/owlsdepartment/plugin/android/insets/AndroidFullViewPlugin.java +37 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +56 -0
- package/dist/esm/definitions.d.ts +13 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +6 -0
- package/dist/esm/web.js +10 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +26 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +29 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/AndroidFullView.swift +7 -0
- package/ios/Plugin/AndroidFullViewPlugin.h +10 -0
- package/ios/Plugin/AndroidFullViewPlugin.m +8 -0
- package/ios/Plugin/AndroidFullViewPlugin.swift +17 -0
- package/ios/Plugin/Info.plist +24 -0
- package/package.json +81 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = 'CapacitorPluginAndroidInsets'
|
|
7
|
+
s.version = package['version']
|
|
8
|
+
s.summary = package['description']
|
|
9
|
+
s.license = package['license']
|
|
10
|
+
s.homepage = package['repository']['url']
|
|
11
|
+
s.author = package['author']
|
|
12
|
+
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
|
|
13
|
+
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
|
+
s.ios.deployment_target = '13.0'
|
|
15
|
+
s.dependency 'Capacitor'
|
|
16
|
+
s.swift_version = '5.1'
|
|
17
|
+
end
|
package/README.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# capacitor-plugin-android-insets
|
|
2
|
+
|
|
3
|
+
Capacitor plugin for retrieving proper top offset of Android status bar.
|
|
4
|
+
|
|
5
|
+
This repo is published version with changed name of https://github.com/jorisbertomeu/capacitor-insets-v2, which was based on archived https://github.com/igorcd/capacitor-insets-plugin/. It should work perfectly fine in `Capacitor@4`.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# with npm
|
|
11
|
+
npm install --save capacitor-plugin-android-insets
|
|
12
|
+
# with yarn
|
|
13
|
+
yarn add capacitor-plugin-android-insets
|
|
14
|
+
# after any install
|
|
15
|
+
npx cap sync
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Why?
|
|
19
|
+
|
|
20
|
+
This plugin is required only on Android when using `StatusBar.setOverlaysWebView({ overlay: true })`. There is a problem with top offset counting, when status bar is transparent. Related issue: https://github.com/ionic-team/capacitor/issues/2840.
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { AndroidInsets } from 'capacitor-plugin-android-insets'
|
|
26
|
+
|
|
27
|
+
const { value } = await AndroidInsets.top();
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## API
|
|
31
|
+
|
|
32
|
+
<docgen-index>
|
|
33
|
+
|
|
34
|
+
* [`top()`](#top)
|
|
35
|
+
* [`bottom()`](#bottom)
|
|
36
|
+
* [Interfaces](#interfaces)
|
|
37
|
+
|
|
38
|
+
</docgen-index>
|
|
39
|
+
|
|
40
|
+
<docgen-api>
|
|
41
|
+
<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->
|
|
42
|
+
|
|
43
|
+
### top()
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
top() => Promise<TopBottomReturn>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Returns top offset of the status bar
|
|
50
|
+
|
|
51
|
+
**Returns:** <code>Promise<<a href="#topbottomreturn">TopBottomReturn</a>></code>
|
|
52
|
+
|
|
53
|
+
--------------------
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### bottom()
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
bottom() => Promise<TopBottomReturn>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Returns bottom offset of the status bar
|
|
63
|
+
|
|
64
|
+
**Returns:** <code>Promise<<a href="#topbottomreturn">TopBottomReturn</a>></code>
|
|
65
|
+
|
|
66
|
+
--------------------
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### Interfaces
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
#### TopBottomReturn
|
|
73
|
+
|
|
74
|
+
| Prop | Type |
|
|
75
|
+
| ----------- | ------------------- |
|
|
76
|
+
| **`value`** | <code>number</code> |
|
|
77
|
+
|
|
78
|
+
</docgen-api>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
ext {
|
|
2
|
+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
|
|
3
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.4.2'
|
|
4
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.3'
|
|
5
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.4.0'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
buildscript {
|
|
9
|
+
repositories {
|
|
10
|
+
google()
|
|
11
|
+
mavenCentral()
|
|
12
|
+
}
|
|
13
|
+
dependencies {
|
|
14
|
+
classpath 'com.android.tools.build:gradle:7.2.1'
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
apply plugin: 'com.android.library'
|
|
19
|
+
|
|
20
|
+
android {
|
|
21
|
+
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 32
|
|
22
|
+
defaultConfig {
|
|
23
|
+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
|
|
24
|
+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 32
|
|
25
|
+
versionCode 1
|
|
26
|
+
versionName "1.0"
|
|
27
|
+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
28
|
+
}
|
|
29
|
+
buildTypes {
|
|
30
|
+
release {
|
|
31
|
+
minifyEnabled false
|
|
32
|
+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
lintOptions {
|
|
36
|
+
abortOnError false
|
|
37
|
+
}
|
|
38
|
+
compileOptions {
|
|
39
|
+
sourceCompatibility JavaVersion.VERSION_11
|
|
40
|
+
targetCompatibility JavaVersion.VERSION_11
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
repositories {
|
|
45
|
+
google()
|
|
46
|
+
mavenCentral()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
dependencies {
|
|
51
|
+
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
52
|
+
implementation project(':capacitor-android')
|
|
53
|
+
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
54
|
+
testImplementation "junit:junit:$junitVersion"
|
|
55
|
+
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
56
|
+
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
|
|
57
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package com.falconeta.plugin.android.fullview;
|
|
2
|
+
|
|
3
|
+
import android.util.DisplayMetrics;
|
|
4
|
+
import android.view.View;
|
|
5
|
+
|
|
6
|
+
import androidx.appcompat.app.AppCompatActivity;
|
|
7
|
+
|
|
8
|
+
public class AndroidFullView {
|
|
9
|
+
|
|
10
|
+
private AppCompatActivity activity;
|
|
11
|
+
|
|
12
|
+
public AndroidFullView(AppCompatActivity activity) {
|
|
13
|
+
this.activity = activity;
|
|
14
|
+
activity.getWindow().getDecorView().setSystemUiVisibility(
|
|
15
|
+
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
16
|
+
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public float getTop() {
|
|
20
|
+
DisplayMetrics metrics = this.activity.getResources().getDisplayMetrics();
|
|
21
|
+
int resourceId = this.activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
|
|
22
|
+
float titleBarHeight = 0;
|
|
23
|
+
|
|
24
|
+
if (resourceId > 0) {
|
|
25
|
+
titleBarHeight = this.activity.getResources().getDimensionPixelSize(resourceId);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return titleBarHeight / metrics.density;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public float getBottom() {
|
|
32
|
+
DisplayMetrics metrics = this.activity.getResources().getDisplayMetrics();
|
|
33
|
+
int resourceId = this.activity.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
|
|
34
|
+
float navigationBarHeight = 0;
|
|
35
|
+
|
|
36
|
+
if (resourceId > 0) {
|
|
37
|
+
navigationBarHeight = this.activity.getResources().getDimensionPixelSize(resourceId);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return navigationBarHeight / metrics.density;
|
|
41
|
+
}
|
|
42
|
+
}
|
package/android/src/main/java/com/owlsdepartment/plugin/android/insets/AndroidFullViewPlugin.java
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
package com.falconeta.plugin.android.fullview;
|
|
2
|
+
|
|
3
|
+
import android.app.Activity;
|
|
4
|
+
import com.getcapacitor.JSObject;
|
|
5
|
+
import com.getcapacitor.Plugin;
|
|
6
|
+
import com.getcapacitor.PluginCall;
|
|
7
|
+
import com.getcapacitor.PluginMethod;
|
|
8
|
+
import com.getcapacitor.annotation.CapacitorPlugin;
|
|
9
|
+
|
|
10
|
+
@CapacitorPlugin(name = "AndroidFullView")
|
|
11
|
+
public class AndroidFullView extends Plugin {
|
|
12
|
+
|
|
13
|
+
private AndroidInsets implementation;
|
|
14
|
+
|
|
15
|
+
@Override
|
|
16
|
+
public void load() {
|
|
17
|
+
this.implementation = new AndroidInsets(getActivity());
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@PluginMethod
|
|
21
|
+
public void top(PluginCall call) {
|
|
22
|
+
float statusBarHeight = implementation.getTop();
|
|
23
|
+
JSObject ret = new JSObject();
|
|
24
|
+
|
|
25
|
+
ret.put("value", statusBarHeight);
|
|
26
|
+
call.resolve(ret);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@PluginMethod
|
|
30
|
+
public void bottom(PluginCall call) {
|
|
31
|
+
float navigationBarHeight = implementation.getBottom();
|
|
32
|
+
JSObject ret = new JSObject();
|
|
33
|
+
|
|
34
|
+
ret.put("value", navigationBarHeight);
|
|
35
|
+
call.resolve(ret);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
File without changes
|
package/dist/docs.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"api": {
|
|
3
|
+
"name": "AndroidFullViewPlugin",
|
|
4
|
+
"slug": "androidfullviewplugin",
|
|
5
|
+
"docs": "",
|
|
6
|
+
"tags": [],
|
|
7
|
+
"methods": [
|
|
8
|
+
{
|
|
9
|
+
"name": "top",
|
|
10
|
+
"signature": "() => Promise<TopBottomReturn>",
|
|
11
|
+
"parameters": [],
|
|
12
|
+
"returns": "Promise<TopBottomReturn>",
|
|
13
|
+
"tags": [],
|
|
14
|
+
"docs": "Returns top offset of the status bar",
|
|
15
|
+
"complexTypes": [
|
|
16
|
+
"TopBottomReturn"
|
|
17
|
+
],
|
|
18
|
+
"slug": "top"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "bottom",
|
|
22
|
+
"signature": "() => Promise<TopBottomReturn>",
|
|
23
|
+
"parameters": [],
|
|
24
|
+
"returns": "Promise<TopBottomReturn>",
|
|
25
|
+
"tags": [],
|
|
26
|
+
"docs": "Returns bottom offset of the status bar",
|
|
27
|
+
"complexTypes": [
|
|
28
|
+
"TopBottomReturn"
|
|
29
|
+
],
|
|
30
|
+
"slug": "bottom"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"properties": []
|
|
34
|
+
},
|
|
35
|
+
"interfaces": [
|
|
36
|
+
{
|
|
37
|
+
"name": "TopBottomReturn",
|
|
38
|
+
"slug": "topbottomreturn",
|
|
39
|
+
"docs": "",
|
|
40
|
+
"tags": [],
|
|
41
|
+
"methods": [],
|
|
42
|
+
"properties": [
|
|
43
|
+
{
|
|
44
|
+
"name": "value",
|
|
45
|
+
"tags": [],
|
|
46
|
+
"docs": "",
|
|
47
|
+
"complexTypes": [],
|
|
48
|
+
"type": "number"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"enums": [],
|
|
54
|
+
"typeAliases": [],
|
|
55
|
+
"pluginConfigs": []
|
|
56
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface AndroidFullViewPlugin {
|
|
2
|
+
/**
|
|
3
|
+
* Returns top offset of the status bar
|
|
4
|
+
*/
|
|
5
|
+
top(): Promise<TopBottomReturn>;
|
|
6
|
+
/**
|
|
7
|
+
* Returns bottom offset of the status bar
|
|
8
|
+
*/
|
|
9
|
+
bottom(): Promise<TopBottomReturn>;
|
|
10
|
+
}
|
|
11
|
+
export interface TopBottomReturn {
|
|
12
|
+
value: number;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export interface AndroidFullViewPlugin {\n /**\n * Returns top offset of the status bar\n */\n top(): Promise<TopBottomReturn>;\n\n /**\n * Returns bottom offset of the status bar\n */\n bottom(): Promise<TopBottomReturn>;\n}\n\nexport interface TopBottomReturn {\n value: number;\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { registerPlugin } from '@capacitor/core';
|
|
2
|
+
const AndroidFullView = registerPlugin('AndroidInsets', {
|
|
3
|
+
web: () => import('./web').then(m => new m.AndroidFullViewWeb()),
|
|
4
|
+
});
|
|
5
|
+
export * from './definitions';
|
|
6
|
+
export { AndroidFullView };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,eAAe,GAAG,cAAc,CAAwB,eAAe,EAAE;IAC7E,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { AndroidFullViewPlugin } from './definitions';\n\nconst AndroidFullView = registerPlugin<AndroidFullViewPlugin>('AndroidInsets', {\n web: () => import('./web').then(m => new m.AndroidFullViewWeb()),\n});\n\nexport * from './definitions';\nexport { AndroidFullView };\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WebPlugin } from '@capacitor/core';
|
|
2
|
+
import type { AndroidFullViewPlugin, TopBottomReturn } from './definitions';
|
|
3
|
+
export declare class AndroidFullViewWeb extends WebPlugin implements AndroidFullViewPlugin {
|
|
4
|
+
top(): Promise<TopBottomReturn>;
|
|
5
|
+
bottom(): Promise<TopBottomReturn>;
|
|
6
|
+
}
|
package/dist/esm/web.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,KAAK,CAAC,GAAG;QACP,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { AndroidFullViewPlugin, TopBottomReturn } from './definitions';\n\nexport class AndroidFullViewWeb extends WebPlugin implements AndroidFullViewPlugin {\n async top(): Promise<TopBottomReturn> {\n return { value: 0 };\n }\n\n async bottom(): Promise<TopBottomReturn> {\n return { value: 0 };\n }\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var core = require('@capacitor/core');
|
|
6
|
+
|
|
7
|
+
const AndroidFullView = core.registerPlugin('AndroidInsets', {
|
|
8
|
+
web: () => Promise.resolve().then(function () { return web; }).then(m => new m.AndroidFullViewWeb()),
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
class AndroidFullViewWeb extends core.WebPlugin {
|
|
12
|
+
async top() {
|
|
13
|
+
return { value: 0 };
|
|
14
|
+
}
|
|
15
|
+
async bottom() {
|
|
16
|
+
return { value: 0 };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
21
|
+
__proto__: null,
|
|
22
|
+
AndroidFullViewWeb: AndroidFullViewWeb
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
exports.AndroidFullView = AndroidFullView;
|
|
26
|
+
//# sourceMappingURL=plugin.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst AndroidFullView = registerPlugin('AndroidInsets', {\n web: () => import('./web').then(m => new m.AndroidFullViewWeb()),\n});\nexport * from './definitions';\nexport { AndroidFullView };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AndroidFullViewWeb extends WebPlugin {\n async top() {\n return { value: 0 };\n }\n async bottom() {\n return { value: 0 };\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,eAAe,GAAGA,mBAAc,CAAC,eAAe,EAAE;AACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACpE,CAAC;;ACFM,MAAM,kBAAkB,SAASC,cAAS,CAAC;AAClD,IAAI,MAAM,GAAG,GAAG;AAChB,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5B,KAAK;AACL;;;;;;;;;"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var capacitorAndroidInsets = (function (exports, core) {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const AndroidFullView = core.registerPlugin('AndroidInsets', {
|
|
5
|
+
web: () => Promise.resolve().then(function () { return web; }).then(m => new m.AndroidFullViewWeb()),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
class AndroidFullViewWeb extends core.WebPlugin {
|
|
9
|
+
async top() {
|
|
10
|
+
return { value: 0 };
|
|
11
|
+
}
|
|
12
|
+
async bottom() {
|
|
13
|
+
return { value: 0 };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
18
|
+
__proto__: null,
|
|
19
|
+
AndroidFullViewWeb: AndroidFullViewWeb
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.AndroidFullView = AndroidFullView;
|
|
23
|
+
|
|
24
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
25
|
+
|
|
26
|
+
return exports;
|
|
27
|
+
|
|
28
|
+
})({}, capacitorExports);
|
|
29
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst AndroidFullView = registerPlugin('AndroidInsets', {\n web: () => import('./web').then(m => new m.AndroidFullViewWeb()),\n});\nexport * from './definitions';\nexport { AndroidFullView };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AndroidFullViewWeb extends WebPlugin {\n async top() {\n return { value: 0 };\n }\n async bottom() {\n return { value: 0 };\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,eAAe,GAAGA,mBAAc,CAAC,eAAe,EAAE;IACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACpE,CAAC;;ICFM,MAAM,kBAAkB,SAASC,cAAS,CAAC;IAClD,IAAI,MAAM,GAAG,GAAG;IAChB,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5B,KAAK;IACL,IAAI,MAAM,MAAM,GAAG;IACnB,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5B,KAAK;IACL;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#import <UIKit/UIKit.h>
|
|
2
|
+
|
|
3
|
+
//! Project version number for Plugin.
|
|
4
|
+
FOUNDATION_EXPORT double PluginVersionNumber;
|
|
5
|
+
|
|
6
|
+
//! Project version string for Plugin.
|
|
7
|
+
FOUNDATION_EXPORT const unsigned char PluginVersionString[];
|
|
8
|
+
|
|
9
|
+
// In this header, you should import all the public headers of your framework using statements like #import <Plugin/PublicHeader.h>
|
|
10
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import <Capacitor/Capacitor.h>
|
|
3
|
+
|
|
4
|
+
// Define the plugin using the CAP_PLUGIN Macro, and
|
|
5
|
+
// each method the plugin supports using the CAP_PLUGIN_METHOD macro.
|
|
6
|
+
CAP_PLUGIN(AndroidFullView, "AndroidInsets",
|
|
7
|
+
CAP_PLUGIN_METHOD(echo, CAPPluginReturnPromise);
|
|
8
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Please read the Capacitor iOS Plugin Development Guide
|
|
6
|
+
* here: https://capacitorjs.com/docs/plugins/ios
|
|
7
|
+
*/
|
|
8
|
+
@objc(AndroidFullView)
|
|
9
|
+
public class AndroidFullView: CAPPlugin {
|
|
10
|
+
private let implementation = AndroidInsets()
|
|
11
|
+
|
|
12
|
+
@objc func top(_ call: CAPPluginCall) {
|
|
13
|
+
call.resolve([
|
|
14
|
+
"value": implementation.top()
|
|
15
|
+
])
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
9
|
+
<key>CFBundleIdentifier</key>
|
|
10
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
12
|
+
<string>6.0</string>
|
|
13
|
+
<key>CFBundleName</key>
|
|
14
|
+
<string>$(PRODUCT_NAME)</string>
|
|
15
|
+
<key>CFBundlePackageType</key>
|
|
16
|
+
<string>FMWK</string>
|
|
17
|
+
<key>CFBundleShortVersionString</key>
|
|
18
|
+
<string>1.0</string>
|
|
19
|
+
<key>CFBundleVersion</key>
|
|
20
|
+
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
21
|
+
<key>NSPrincipalClass</key>
|
|
22
|
+
<string></string>
|
|
23
|
+
</dict>
|
|
24
|
+
</plist>
|
package/package.json
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@falconeta/capacitor-android-full-view",
|
|
3
|
+
"version": "0.0.11",
|
|
4
|
+
"description": "Capacitor plugin for retrieving proper top offset, bottom offset and set full screen ONLY for android",
|
|
5
|
+
"main": "dist/plugin.cjs.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/esm/index.d.ts",
|
|
8
|
+
"unpkg": "dist/plugin.js",
|
|
9
|
+
"files": [
|
|
10
|
+
"android/src/main/",
|
|
11
|
+
"android/build.gradle",
|
|
12
|
+
"dist/",
|
|
13
|
+
"ios/Plugin/",
|
|
14
|
+
"CapacitorPluginAndroidInsets.podspec"
|
|
15
|
+
],
|
|
16
|
+
"author": "Owls Department",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/owlsdepartment/capacitor-plugin-android-insets.git"
|
|
21
|
+
},
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/owlsdepartment/capacitor-plugin-android-insets/issues"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"capacitor",
|
|
27
|
+
"plugin",
|
|
28
|
+
"native"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
32
|
+
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..",
|
|
33
|
+
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
34
|
+
"verify:web": "npm run build",
|
|
35
|
+
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
36
|
+
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
|
|
37
|
+
"eslint": "eslint . --ext ts",
|
|
38
|
+
"prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
|
|
39
|
+
"swiftlint": "node-swiftlint",
|
|
40
|
+
"docgen": "docgen --api AndroidFullViewPlugin --output-readme README.md --output-json dist/docs.json",
|
|
41
|
+
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.js",
|
|
42
|
+
"clean": "rimraf ./dist",
|
|
43
|
+
"watch": "tsc --watch",
|
|
44
|
+
"prepublishOnly": "npm run build"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@capacitor/android": "^4.0.0",
|
|
48
|
+
"@capacitor/core": "^4.0.0",
|
|
49
|
+
"@capacitor/docgen": "^0.0.18",
|
|
50
|
+
"@capacitor/ios": "^4.0.0",
|
|
51
|
+
"@ionic/eslint-config": "^0.3.0",
|
|
52
|
+
"@ionic/prettier-config": "^1.0.1",
|
|
53
|
+
"@ionic/swiftlint-config": "^1.1.2",
|
|
54
|
+
"eslint": "^7.11.0",
|
|
55
|
+
"prettier": "~2.3.0",
|
|
56
|
+
"prettier-plugin-java": "~1.0.2",
|
|
57
|
+
"rimraf": "^3.0.2",
|
|
58
|
+
"rollup": "^2.32.0",
|
|
59
|
+
"swiftlint": "^1.0.1",
|
|
60
|
+
"typescript": "~4.1.5"
|
|
61
|
+
},
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"@capacitor/core": "^4.0.0"
|
|
64
|
+
},
|
|
65
|
+
"prettier": "@ionic/prettier-config",
|
|
66
|
+
"swiftlint": "@ionic/swiftlint-config",
|
|
67
|
+
"eslintConfig": {
|
|
68
|
+
"extends": "@ionic/eslint-config/recommended"
|
|
69
|
+
},
|
|
70
|
+
"capacitor": {
|
|
71
|
+
"ios": {
|
|
72
|
+
"src": "ios"
|
|
73
|
+
},
|
|
74
|
+
"android": {
|
|
75
|
+
"src": "android"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"publishConfig": {
|
|
79
|
+
"access": "public"
|
|
80
|
+
}
|
|
81
|
+
}
|