cuoral-ionic 0.0.1 → 0.0.2
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/README.md +40 -4
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build/.transforms/2c48e1f34ca03014b78fcb3e0ab7197b/results.bin +1 -0
- package/android/build/.transforms/2c48e1f34ca03014b78fcb3e0ab7197b/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/980c51bd075f726f311ad662d5d20ba0/results.bin +1 -0
- package/android/build/.transforms/980c51bd075f726f311ad662d5d20ba0/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/bb54161301273cf9b5b94a21c0fb3f23/results.bin +1 -0
- package/android/build/.transforms/bb54161301273cf9b5b94a21c0fb3f23/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/results.bin +1 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/transformed/debug/debug_dex/com/cuoral/ionic/CuoralPlugin$1.dex +0 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/transformed/debug/debug_dex/com/cuoral/ionic/CuoralPlugin$2.dex +0 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/transformed/debug/debug_dex/com/cuoral/ionic/CuoralPlugin.dex +0 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/transformed/debug/debug_dex/com/cuoral/ionic/ScreenRecordService.dex +0 -0
- package/android/build/.transforms/f1aabffcd8b03aa664e77a79b3e1de5d/transformed/debug/desugar_graph.bin +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +22 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_main_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
- package/android/build/intermediates/annotations_typedef_file/debug/typedefs.txt +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/javac/debug/classes/com/cuoral/ionic/CuoralPlugin$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/cuoral/ionic/CuoralPlugin$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/cuoral/ionic/CuoralPlugin.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/cuoral/ionic/ScreenRecordService.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +38 -0
- package/android/build/intermediates/merged_java_res/debug/feature-cuoral-ionic.jar +0 -0
- package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +22 -0
- package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/cuoral/ionic/CuoralPlugin$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/cuoral/ionic/CuoralPlugin$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/cuoral/ionic/CuoralPlugin.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/cuoral/ionic/ScreenRecordService.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1 -0
- package/android/build/outputs/aar/cuoral-ionic-debug.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +49 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CuoralPlugin$1.class.uniqueId1 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CuoralPlugin$2.class.uniqueId2 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CuoralPlugin.class.uniqueId0 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +61 -0
- package/android/src/main/AndroidManifest.xml +9 -0
- package/android/src/main/java/com/cuoral/ionic/CuoralPlugin.java +290 -33
- package/android/src/main/java/com/cuoral/ionic/ScreenRecordService.java +59 -0
- package/dist/cuoral.d.ts +30 -1
- package/dist/cuoral.d.ts.map +1 -1
- package/dist/cuoral.js +168 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +706 -127
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +706 -126
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +66 -0
- package/dist/intelligence.d.ts.map +1 -0
- package/dist/intelligence.js +508 -0
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +24 -6
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +0 -3
- package/ios/Plugin/CuoralPlugin.swift +78 -1
- package/package.json +1 -1
- package/src/cuoral.ts +205 -1
- package/src/index.ts +1 -0
- package/src/intelligence.ts +609 -0
- package/src/plugin.ts +26 -6
- package/src/web.ts +0 -6
package/README.md
CHANGED
|
@@ -5,8 +5,9 @@ Proactive customer success platform integration for Ionic/Capacitor applications
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
✅ **Customer Support** - Integrated support ticketing system
|
|
8
|
-
✅ **Customer Intelligence** - Track and analyze customer behavior
|
|
9
|
-
✅ **
|
|
8
|
+
✅ **Customer Intelligence** - Track and analyze customer behavior automatically
|
|
9
|
+
✅ **Native Crash Tracking** - Capture native Android & iOS crashes
|
|
10
|
+
✅ **Screen Recording** - Native screen recording for issue reproduction
|
|
10
11
|
✅ **Modal Display** - Full-screen modal with floating chat button
|
|
11
12
|
✅ **TypeScript Support** - Full type definitions included
|
|
12
13
|
✅ **Simple API** - Just pass your public key and optional user info
|
|
@@ -24,15 +25,38 @@ After installing, sync your Capacitor project:
|
|
|
24
25
|
npx cap sync
|
|
25
26
|
```
|
|
26
27
|
|
|
28
|
+
## Platform Setup
|
|
29
|
+
|
|
30
|
+
### Android Setup
|
|
31
|
+
|
|
32
|
+
The Android plugin automatically declares required permissions. Ensure your `AndroidManifest.xml` includes:
|
|
33
|
+
|
|
34
|
+
```xml
|
|
35
|
+
<!-- Required for support widget and intelligence tracking -->
|
|
36
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
|
37
|
+
|
|
38
|
+
<!-- Required for screen recording with audio -->
|
|
39
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
40
|
+
|
|
41
|
+
<!-- Required for screen recording on Android 9 and below -->
|
|
42
|
+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
43
|
+
android:maxSdkVersion="28" />
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Note:** These permissions are automatically added by Capacitor when you run `npx cap sync android`. The `INTERNET` permission is auto-granted by the system. `RECORD_AUDIO` requires user approval at runtime.
|
|
47
|
+
|
|
27
48
|
### iOS Setup
|
|
28
49
|
|
|
29
50
|
Add to your `Info.plist`:
|
|
30
51
|
|
|
31
52
|
```xml
|
|
53
|
+
<!-- Required for screen recording with audio -->
|
|
32
54
|
<key>NSMicrophoneUsageDescription</key>
|
|
33
55
|
<string>We need access to your microphone to record audio with screen recordings</string>
|
|
34
56
|
```
|
|
35
57
|
|
|
58
|
+
**Note:** Screen recording permission is requested automatically by iOS when recording starts. No additional permissions are needed for crash tracking or intelligence features.
|
|
59
|
+
|
|
36
60
|
## Quick Start
|
|
37
61
|
|
|
38
62
|
### Option 1: Modal with Floating Button (Recommended)
|
|
@@ -92,7 +116,7 @@ export class HomePage implements OnInit, OnDestroy {
|
|
|
92
116
|
- 🎨 Smooth animations and transitions
|
|
93
117
|
- 🖱️ Click backdrop to close
|
|
94
118
|
|
|
95
|
-
### Option 2: Embedded Iframe
|
|
119
|
+
### Option 2: Embedded Iframe - Not Recommended
|
|
96
120
|
|
|
97
121
|
For more control over widget placement:
|
|
98
122
|
|
|
@@ -198,7 +222,8 @@ cuoral.destroy(): void
|
|
|
198
222
|
## What Gets Handled Automatically
|
|
199
223
|
|
|
200
224
|
- ✅ Support ticket creation and management
|
|
201
|
-
- ✅ Customer intelligence tracking
|
|
225
|
+
- ✅ Customer intelligence tracking (page views, errors, network failures)
|
|
226
|
+
- ✅ Native crash tracking (Android & iOS)
|
|
202
227
|
- ✅ Screen recording start/stop
|
|
203
228
|
- ✅ File path conversion for video playback
|
|
204
229
|
- ✅ Communication between widget and native code
|
|
@@ -206,6 +231,17 @@ cuoral.destroy(): void
|
|
|
206
231
|
- ✅ State management
|
|
207
232
|
- ✅ Permissions handling
|
|
208
233
|
|
|
234
|
+
### Intelligence Features (Backend-Controlled)
|
|
235
|
+
|
|
236
|
+
Intelligence tracking is automatically enabled/disabled from your Cuoral dashboard. When enabled, the library automatically captures:
|
|
237
|
+
|
|
238
|
+
- **Page Views** - Track navigation (requires one-time router setup, see [INTELLIGENCE.md](INTELLIGENCE.md))
|
|
239
|
+
- **Console Errors** - JavaScript errors and unhandled exceptions
|
|
240
|
+
- **Network Errors** - Failed API calls (4xx, 5xx responses)
|
|
241
|
+
- **Native Crashes** - Native Android (Java/Kotlin) and iOS (Swift/Objective-C) crashes
|
|
242
|
+
|
|
243
|
+
For detailed intelligence setup and features, see [INTELLIGENCE.md](INTELLIGENCE.md)
|
|
244
|
+
|
|
209
245
|
## Troubleshooting
|
|
210
246
|
|
|
211
247
|
### Recording doesn't start
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/classes
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/classes
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/classes
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/debug
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
package="com.cuoral.ionic" >
|
|
4
|
+
|
|
5
|
+
<uses-sdk android:minSdkVersion="22" />
|
|
6
|
+
|
|
7
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
8
|
+
<uses-permission
|
|
9
|
+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
10
|
+
android:maxSdkVersion="28" />
|
|
11
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
12
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
13
|
+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
14
|
+
|
|
15
|
+
<application>
|
|
16
|
+
<service
|
|
17
|
+
android:name="com.cuoral.ionic.ScreenRecordService"
|
|
18
|
+
android:exported="false"
|
|
19
|
+
android:foregroundServiceType="mediaProjection" />
|
|
20
|
+
</application>
|
|
21
|
+
|
|
22
|
+
</manifest>
|
package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"artifactType": {
|
|
4
|
+
"type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
|
|
5
|
+
"kind": "Directory"
|
|
6
|
+
},
|
|
7
|
+
"applicationId": "com.cuoral.ionic",
|
|
8
|
+
"variantName": "debug",
|
|
9
|
+
"elements": [
|
|
10
|
+
{
|
|
11
|
+
"type": "SINGLE",
|
|
12
|
+
"filters": [],
|
|
13
|
+
"attributes": [],
|
|
14
|
+
"outputFile": "AndroidManifest.xml"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"elementType": "File"
|
|
18
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#Thu Jan 15 11:11:49 WAT 2026
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/debug/jniLibs"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/debug/shaders"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/build/intermediates/shader_assets/debug/out"/></dataSet></merger>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/intermediates/javac/debug/classes/com/cuoral/ionic/ScreenRecordService.class
ADDED
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
1<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
3 package="com.cuoral.ionic" >
|
|
4
|
+
4
|
|
5
|
+
5 <uses-sdk android:minSdkVersion="22" />
|
|
6
|
+
6
|
|
7
|
+
7 <uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
8
|
+
7-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:5:5-71
|
|
9
|
+
7-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:5:22-68
|
|
10
|
+
8 <uses-permission
|
|
11
|
+
8-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:6:5-7:51
|
|
12
|
+
9 android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
13
|
+
9-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:6:22-78
|
|
14
|
+
10 android:maxSdkVersion="28" />
|
|
15
|
+
10-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:7:22-48
|
|
16
|
+
11 <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
17
|
+
11-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:8:5-77
|
|
18
|
+
11-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:8:22-74
|
|
19
|
+
12 <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
20
|
+
12-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:9:5-94
|
|
21
|
+
12-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:9:22-91
|
|
22
|
+
13 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
23
|
+
13-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:10:5-77
|
|
24
|
+
13-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:10:22-74
|
|
25
|
+
14
|
|
26
|
+
15 <application>
|
|
27
|
+
15-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:12:5-17:19
|
|
28
|
+
16 <service
|
|
29
|
+
16-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:13:9-16:40
|
|
30
|
+
17 android:name="com.cuoral.ionic.ScreenRecordService"
|
|
31
|
+
17-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:14:13-48
|
|
32
|
+
18 android:exported="false"
|
|
33
|
+
18-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:16:13-37
|
|
34
|
+
19 android:foregroundServiceType="mediaProjection" />
|
|
35
|
+
19-->/Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:15:13-60
|
|
36
|
+
20 </application>
|
|
37
|
+
21
|
|
38
|
+
22</manifest>
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
package="com.cuoral.ionic" >
|
|
4
|
+
|
|
5
|
+
<uses-sdk android:minSdkVersion="22" />
|
|
6
|
+
|
|
7
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
8
|
+
<uses-permission
|
|
9
|
+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
10
|
+
android:maxSdkVersion="28" />
|
|
11
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
12
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
13
|
+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
14
|
+
|
|
15
|
+
<application>
|
|
16
|
+
<service
|
|
17
|
+
android:name="com.cuoral.ionic.ScreenRecordService"
|
|
18
|
+
android:exported="false"
|
|
19
|
+
android:foregroundServiceType="mediaProjection" />
|
|
20
|
+
</application>
|
|
21
|
+
|
|
22
|
+
</manifest>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
com.cuoral.ionic
|
|
Binary file
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
-- Merging decision tree log ---
|
|
2
|
+
manifest
|
|
3
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:2:1-19:12
|
|
4
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:2:1-19:12
|
|
5
|
+
package
|
|
6
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:3:5-31
|
|
7
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml
|
|
8
|
+
xmlns:android
|
|
9
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:2:11-69
|
|
10
|
+
uses-permission#android.permission.RECORD_AUDIO
|
|
11
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:5:5-71
|
|
12
|
+
android:name
|
|
13
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:5:22-68
|
|
14
|
+
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
|
|
15
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:6:5-7:51
|
|
16
|
+
android:maxSdkVersion
|
|
17
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:7:22-48
|
|
18
|
+
android:name
|
|
19
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:6:22-78
|
|
20
|
+
uses-permission#android.permission.FOREGROUND_SERVICE
|
|
21
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:8:5-77
|
|
22
|
+
android:name
|
|
23
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:8:22-74
|
|
24
|
+
uses-permission#android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
|
|
25
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:9:5-94
|
|
26
|
+
android:name
|
|
27
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:9:22-91
|
|
28
|
+
uses-permission#android.permission.POST_NOTIFICATIONS
|
|
29
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:10:5-77
|
|
30
|
+
android:name
|
|
31
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:10:22-74
|
|
32
|
+
application
|
|
33
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:12:5-17:19
|
|
34
|
+
service#com.cuoral.ionic.ScreenRecordService
|
|
35
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:13:9-16:40
|
|
36
|
+
android:exported
|
|
37
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:16:13-37
|
|
38
|
+
android:foregroundServiceType
|
|
39
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:15:13-60
|
|
40
|
+
android:name
|
|
41
|
+
ADDED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml:14:13-48
|
|
42
|
+
uses-sdk
|
|
43
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
|
|
44
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml
|
|
45
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml
|
|
46
|
+
android:targetSdkVersion
|
|
47
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml
|
|
48
|
+
android:minSdkVersion
|
|
49
|
+
INJECTED from /Users/kayodeolayiwola/Desktop/projects/personal/support-cloud/cuoral-ionic/android/src/main/AndroidManifest.xml
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
ext {
|
|
2
|
+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
|
|
3
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.6.1'
|
|
4
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.5'
|
|
5
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.5.1'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
buildscript {
|
|
9
|
+
repositories {
|
|
10
|
+
google()
|
|
11
|
+
mavenCentral()
|
|
12
|
+
}
|
|
13
|
+
dependencies {
|
|
14
|
+
classpath 'com.android.tools.build:gradle:8.2.1'
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
apply plugin: 'com.android.library'
|
|
19
|
+
|
|
20
|
+
android {
|
|
21
|
+
namespace "com.cuoral.ionic"
|
|
22
|
+
compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 34
|
|
23
|
+
|
|
24
|
+
defaultConfig {
|
|
25
|
+
minSdk project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
|
|
26
|
+
targetSdk project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 34
|
|
27
|
+
versionCode 1
|
|
28
|
+
versionName "0.0.1"
|
|
29
|
+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
buildTypes {
|
|
33
|
+
release {
|
|
34
|
+
minifyEnabled false
|
|
35
|
+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
lintOptions {
|
|
40
|
+
abortOnError false
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
compileOptions {
|
|
44
|
+
sourceCompatibility JavaVersion.VERSION_17
|
|
45
|
+
targetCompatibility JavaVersion.VERSION_17
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
repositories {
|
|
50
|
+
google()
|
|
51
|
+
mavenCentral()
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
dependencies {
|
|
55
|
+
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
56
|
+
implementation project(':capacitor-android')
|
|
57
|
+
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
58
|
+
testImplementation "junit:junit:$junitVersion"
|
|
59
|
+
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
60
|
+
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
|
|
61
|
+
}
|
|
@@ -6,5 +6,14 @@
|
|
|
6
6
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
7
7
|
android:maxSdkVersion="28" />
|
|
8
8
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
9
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
10
|
+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
11
|
+
|
|
12
|
+
<application>
|
|
13
|
+
<service
|
|
14
|
+
android:name=".ScreenRecordService"
|
|
15
|
+
android:foregroundServiceType="mediaProjection"
|
|
16
|
+
android:exported="false" />
|
|
17
|
+
</application>
|
|
9
18
|
|
|
10
19
|
</manifest>
|