react-native-kookit 0.4.2 → 0.4.4
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/app.plugin.js +2 -2
- package/package.json +1 -1
- package/plugin/build/index.d.ts +12 -0
- package/plugin/build/index.d.ts.map +1 -0
- package/plugin/build/index.js +22 -0
- package/plugin/build/index.js.map +1 -0
- package/plugin/build/withContentUriCopy.d.ts +15 -0
- package/plugin/build/withContentUriCopy.d.ts.map +1 -0
- package/plugin/build/withContentUriCopy.js +253 -0
- package/plugin/build/withContentUriCopy.js.map +1 -0
- package/plugin/build/withVolumeKeyIntercept.d.ts.map +1 -1
- package/plugin/build/withVolumeKeyIntercept.js.map +1 -1
- package/plugin/package.json +1 -1
package/app.plugin.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
try {
|
|
2
|
-
const { default: withVolumeKeyIntercept } = require(
|
|
2
|
+
const { default: withVolumeKeyIntercept } = require("./plugin/build/index");
|
|
3
3
|
module.exports = withVolumeKeyIntercept;
|
|
4
4
|
} catch (error) {
|
|
5
|
-
console.warn(
|
|
5
|
+
console.warn("Failed to load react-native-kookit plugin:", error.message);
|
|
6
6
|
// Return a no-op plugin as fallback
|
|
7
7
|
module.exports = (config) => config;
|
|
8
8
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ConfigPlugin } from "@expo/config-plugins";
|
|
2
|
+
/**
|
|
3
|
+
* Main entry point for the react-native-kookit Expo config plugin.
|
|
4
|
+
*
|
|
5
|
+
* Composes:
|
|
6
|
+
* 1. withVolumeKeyIntercept – patches MainActivity with VolumeKeyInterceptActivity
|
|
7
|
+
* 2. withContentUriCopy – patches MainActivity to eagerly copy content:// URIs
|
|
8
|
+
* on cold/warm start to avoid URI permission expiry
|
|
9
|
+
*/
|
|
10
|
+
declare const withKookit: ConfigPlugin;
|
|
11
|
+
export default withKookit;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;;;;;GAOG;AACH,QAAA,MAAM,UAAU,EAAE,YAIjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const withVolumeKeyIntercept_1 = __importDefault(require("./withVolumeKeyIntercept"));
|
|
7
|
+
const withContentUriCopy_1 = __importDefault(require("./withContentUriCopy"));
|
|
8
|
+
/**
|
|
9
|
+
* Main entry point for the react-native-kookit Expo config plugin.
|
|
10
|
+
*
|
|
11
|
+
* Composes:
|
|
12
|
+
* 1. withVolumeKeyIntercept – patches MainActivity with VolumeKeyInterceptActivity
|
|
13
|
+
* 2. withContentUriCopy – patches MainActivity to eagerly copy content:// URIs
|
|
14
|
+
* on cold/warm start to avoid URI permission expiry
|
|
15
|
+
*/
|
|
16
|
+
const withKookit = (config) => {
|
|
17
|
+
config = (0, withVolumeKeyIntercept_1.default)(config);
|
|
18
|
+
config = (0, withContentUriCopy_1.default)(config);
|
|
19
|
+
return config;
|
|
20
|
+
};
|
|
21
|
+
exports.default = withKookit;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AACA,sFAA8D;AAC9D,8EAAsD;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,GAAiB,CAAC,MAAM,EAAE,EAAE;IAC1C,MAAM,GAAG,IAAA,gCAAsB,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,GAAG,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigPlugin } from "@expo/config-plugins";
|
|
2
|
+
/**
|
|
3
|
+
* Expo config plugin that patches MainActivity to eagerly copy content:// URIs
|
|
4
|
+
* into the app's cache directory on cold start (and warm start via onNewIntent).
|
|
5
|
+
*
|
|
6
|
+
* This solves the "URI permission expired" problem that occurs when Android
|
|
7
|
+
* grants a one-shot content:// permission tied to the launching intent: by the
|
|
8
|
+
* time the JS layer is ready to read the file, the permission may already be
|
|
9
|
+
* revoked. Copying the file synchronously in onCreate / onNewIntent consumes
|
|
10
|
+
* the permission while it is still valid, and the intent is rewritten to a
|
|
11
|
+
* plain file:// URI so the JS layer never sees the original content:// URI.
|
|
12
|
+
*/
|
|
13
|
+
declare const withContentUriCopy: ConfigPlugin;
|
|
14
|
+
export default withContentUriCopy;
|
|
15
|
+
//# sourceMappingURL=withContentUriCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withContentUriCopy.d.ts","sourceRoot":"","sources":["../src/withContentUriCopy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,QAAA,MAAM,kBAAkB,EAAE,YAKzB,CAAC;AAuQF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_plugins_1 = require("@expo/config-plugins");
|
|
4
|
+
/**
|
|
5
|
+
* Expo config plugin that patches MainActivity to eagerly copy content:// URIs
|
|
6
|
+
* into the app's cache directory on cold start (and warm start via onNewIntent).
|
|
7
|
+
*
|
|
8
|
+
* This solves the "URI permission expired" problem that occurs when Android
|
|
9
|
+
* grants a one-shot content:// permission tied to the launching intent: by the
|
|
10
|
+
* time the JS layer is ready to read the file, the permission may already be
|
|
11
|
+
* revoked. Copying the file synchronously in onCreate / onNewIntent consumes
|
|
12
|
+
* the permission while it is still valid, and the intent is rewritten to a
|
|
13
|
+
* plain file:// URI so the JS layer never sees the original content:// URI.
|
|
14
|
+
*/
|
|
15
|
+
const withContentUriCopy = (config) => {
|
|
16
|
+
return (0, config_plugins_1.withMainActivity)(config, (config) => {
|
|
17
|
+
config.modResults = addContentUriCopyToMainActivity(config.modResults);
|
|
18
|
+
return config;
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
function addContentUriCopyToMainActivity(mainActivity) {
|
|
22
|
+
const { language, contents } = mainActivity;
|
|
23
|
+
if (language === "kt") {
|
|
24
|
+
mainActivity.contents = addContentUriCopyKotlin(contents);
|
|
25
|
+
}
|
|
26
|
+
else if (language === "java") {
|
|
27
|
+
mainActivity.contents = addContentUriCopyJava(contents);
|
|
28
|
+
}
|
|
29
|
+
return mainActivity;
|
|
30
|
+
}
|
|
31
|
+
// ─── Kotlin ──────────────────────────────────────────────────────────────────
|
|
32
|
+
function addContentUriCopyKotlin(contents) {
|
|
33
|
+
// Idempotency guard
|
|
34
|
+
if (contents.includes("copyContentUriOnColdStart")) {
|
|
35
|
+
return contents;
|
|
36
|
+
}
|
|
37
|
+
const imports = [
|
|
38
|
+
"import android.content.Intent",
|
|
39
|
+
"import android.net.Uri",
|
|
40
|
+
"import android.os.Build",
|
|
41
|
+
"import android.util.Log",
|
|
42
|
+
"import java.io.File",
|
|
43
|
+
"import java.io.FileOutputStream",
|
|
44
|
+
];
|
|
45
|
+
let modifiedContents = contents;
|
|
46
|
+
// Inject missing imports after the last existing import line
|
|
47
|
+
const lastImportMatch = modifiedContents.match(/import\s+[^\n]+\n(?!import)/);
|
|
48
|
+
if (lastImportMatch) {
|
|
49
|
+
const insertIndex = lastImportMatch.index + lastImportMatch[0].length;
|
|
50
|
+
const toAdd = imports.filter((imp) => !modifiedContents.includes(imp));
|
|
51
|
+
if (toAdd.length > 0) {
|
|
52
|
+
modifiedContents =
|
|
53
|
+
modifiedContents.slice(0, insertIndex) +
|
|
54
|
+
toAdd.join("\n") +
|
|
55
|
+
"\n" +
|
|
56
|
+
modifiedContents.slice(insertIndex);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Inject call before super.onCreate
|
|
60
|
+
modifiedContents = modifiedContents.replace(/(\bsuper\.onCreate\()/, "intent?.let { copyContentUriOnColdStart(it) }\n $1");
|
|
61
|
+
// Append onNewIntent override + copyContentUriOnColdStart before the last }
|
|
62
|
+
const methods = `
|
|
63
|
+
// content:// URI cold-start copy - Added by react-native-kookit
|
|
64
|
+
override fun onNewIntent(intent: Intent) {
|
|
65
|
+
copyContentUriOnColdStart(intent)
|
|
66
|
+
super.onNewIntent(intent)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* If [intent] carries a content:// URI (ACTION_VIEW or ACTION_SEND), copy
|
|
71
|
+
* the file to the app's cache directory synchronously and rewrite the intent
|
|
72
|
+
* so that downstream code receives a plain file:// URI instead.
|
|
73
|
+
*
|
|
74
|
+
* This consumes the one-shot URI permission while it is still valid,
|
|
75
|
+
* preventing "permission denied" errors in the JS layer.
|
|
76
|
+
*/
|
|
77
|
+
private fun copyContentUriOnColdStart(intent: Intent) {
|
|
78
|
+
try {
|
|
79
|
+
val action = intent.action
|
|
80
|
+
val uri: Uri? = when (action) {
|
|
81
|
+
Intent.ACTION_VIEW -> intent.data
|
|
82
|
+
Intent.ACTION_SEND -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
83
|
+
intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java)
|
|
84
|
+
} else {
|
|
85
|
+
@Suppress("DEPRECATION")
|
|
86
|
+
intent.getParcelableExtra(Intent.EXTRA_STREAM)
|
|
87
|
+
}
|
|
88
|
+
else -> null
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (uri == null || uri.scheme != "content") return
|
|
92
|
+
|
|
93
|
+
val tempDir = File(cacheDir, "temp")
|
|
94
|
+
if (!tempDir.exists()) tempDir.mkdirs()
|
|
95
|
+
|
|
96
|
+
val rawName = uri.lastPathSegment
|
|
97
|
+
?.substringAfterLast('/')
|
|
98
|
+
?.substringAfterLast('%')
|
|
99
|
+
?: "imported_file_\${System.currentTimeMillis()}"
|
|
100
|
+
|
|
101
|
+
val safeName = rawName.replace(Regex("[\\\\/:*?\\u0022<>|]"), "_")
|
|
102
|
+
.ifBlank { "imported_file_\${System.currentTimeMillis()}" }
|
|
103
|
+
|
|
104
|
+
val destFile = File(tempDir, safeName)
|
|
105
|
+
|
|
106
|
+
contentResolver.openInputStream(uri)?.use { input ->
|
|
107
|
+
FileOutputStream(destFile).use { output ->
|
|
108
|
+
val buffer = ByteArray(8192)
|
|
109
|
+
var read: Int
|
|
110
|
+
while (input.read(buffer).also { read = it } != -1) {
|
|
111
|
+
output.write(buffer, 0, read)
|
|
112
|
+
}
|
|
113
|
+
output.flush()
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
Log.i("MainActivity", "Copied content URI to: \${destFile.absolutePath}")
|
|
118
|
+
|
|
119
|
+
val fileUri = Uri.fromFile(destFile)
|
|
120
|
+
when (action) {
|
|
121
|
+
Intent.ACTION_VIEW -> intent.data = fileUri
|
|
122
|
+
Intent.ACTION_SEND -> intent.putExtra(Intent.EXTRA_STREAM, fileUri)
|
|
123
|
+
}
|
|
124
|
+
} catch (e: Exception) {
|
|
125
|
+
Log.w("MainActivity", "Failed to copy content URI: \${e.message}")
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
`;
|
|
129
|
+
const lastBrace = modifiedContents.lastIndexOf("}");
|
|
130
|
+
modifiedContents =
|
|
131
|
+
modifiedContents.slice(0, lastBrace) +
|
|
132
|
+
methods +
|
|
133
|
+
"\n" +
|
|
134
|
+
modifiedContents.slice(lastBrace);
|
|
135
|
+
return modifiedContents;
|
|
136
|
+
}
|
|
137
|
+
// ─── Java ─────────────────────────────────────────────────────────────────────
|
|
138
|
+
function addContentUriCopyJava(contents) {
|
|
139
|
+
// Idempotency guard
|
|
140
|
+
if (contents.includes("copyContentUriOnColdStart")) {
|
|
141
|
+
return contents;
|
|
142
|
+
}
|
|
143
|
+
const imports = [
|
|
144
|
+
"import android.content.Intent;",
|
|
145
|
+
"import android.net.Uri;",
|
|
146
|
+
"import android.os.Build;",
|
|
147
|
+
"import android.util.Log;",
|
|
148
|
+
"import java.io.File;",
|
|
149
|
+
"import java.io.FileOutputStream;",
|
|
150
|
+
"import java.io.InputStream;",
|
|
151
|
+
];
|
|
152
|
+
let modifiedContents = contents;
|
|
153
|
+
// Inject missing imports after the last existing import line
|
|
154
|
+
const lastImportMatch = modifiedContents.match(/import\s+[^;]+;(?!\s*import)/);
|
|
155
|
+
if (lastImportMatch) {
|
|
156
|
+
const insertIndex = lastImportMatch.index + lastImportMatch[0].length;
|
|
157
|
+
const toAdd = imports.filter((imp) => !modifiedContents.includes(imp));
|
|
158
|
+
if (toAdd.length > 0) {
|
|
159
|
+
modifiedContents =
|
|
160
|
+
modifiedContents.slice(0, insertIndex) +
|
|
161
|
+
"\n" +
|
|
162
|
+
toAdd.join("\n") +
|
|
163
|
+
modifiedContents.slice(insertIndex);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Inject call before super.onCreate
|
|
167
|
+
modifiedContents = modifiedContents.replace(/(\bsuper\.onCreate\()/, "copyContentUriOnColdStart(getIntent());\n $1");
|
|
168
|
+
// Append onNewIntent override + copyContentUriOnColdStart before the last }
|
|
169
|
+
const methods = `
|
|
170
|
+
// content:// URI cold-start copy - Added by react-native-kookit
|
|
171
|
+
@Override
|
|
172
|
+
public void onNewIntent(Intent intent) {
|
|
173
|
+
copyContentUriOnColdStart(intent);
|
|
174
|
+
super.onNewIntent(intent);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* If intent carries a content:// URI (ACTION_VIEW or ACTION_SEND), copy
|
|
179
|
+
* the file to the app's cache directory synchronously and rewrite the intent
|
|
180
|
+
* so that downstream code receives a plain file:// URI instead.
|
|
181
|
+
*
|
|
182
|
+
* This consumes the one-shot URI permission while it is still valid,
|
|
183
|
+
* preventing "permission denied" errors in the JS layer.
|
|
184
|
+
*/
|
|
185
|
+
private void copyContentUriOnColdStart(Intent intent) {
|
|
186
|
+
if (intent == null) return;
|
|
187
|
+
try {
|
|
188
|
+
String action = intent.getAction();
|
|
189
|
+
Uri uri = null;
|
|
190
|
+
if (Intent.ACTION_VIEW.equals(action)) {
|
|
191
|
+
uri = intent.getData();
|
|
192
|
+
} else if (Intent.ACTION_SEND.equals(action)) {
|
|
193
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
194
|
+
uri = intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri.class);
|
|
195
|
+
} else {
|
|
196
|
+
uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (uri == null || !"content".equals(uri.getScheme())) return;
|
|
201
|
+
|
|
202
|
+
File tempDir = new File(getCacheDir(), "temp");
|
|
203
|
+
if (!tempDir.exists()) tempDir.mkdirs();
|
|
204
|
+
|
|
205
|
+
String lastSegment = uri.getLastPathSegment();
|
|
206
|
+
String rawName = (lastSegment != null && !lastSegment.isEmpty())
|
|
207
|
+
? lastSegment.substring(lastSegment.lastIndexOf('/') + 1)
|
|
208
|
+
: "imported_file_" + System.currentTimeMillis();
|
|
209
|
+
if (rawName.isEmpty()) rawName = "imported_file_" + System.currentTimeMillis();
|
|
210
|
+
String safeName = rawName.replaceAll("[\\\\/:\\*?\"<>|]", "_");
|
|
211
|
+
if (safeName.isEmpty()) safeName = "imported_file_" + System.currentTimeMillis();
|
|
212
|
+
|
|
213
|
+
File destFile = new File(tempDir, safeName);
|
|
214
|
+
|
|
215
|
+
InputStream input = getContentResolver().openInputStream(uri);
|
|
216
|
+
if (input != null) {
|
|
217
|
+
FileOutputStream output = new FileOutputStream(destFile);
|
|
218
|
+
try {
|
|
219
|
+
byte[] buffer = new byte[8192];
|
|
220
|
+
int read;
|
|
221
|
+
while ((read = input.read(buffer)) != -1) {
|
|
222
|
+
output.write(buffer, 0, read);
|
|
223
|
+
}
|
|
224
|
+
output.flush();
|
|
225
|
+
} finally {
|
|
226
|
+
input.close();
|
|
227
|
+
output.close();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
Log.i("MainActivity", "Copied content URI to: " + destFile.getAbsolutePath());
|
|
232
|
+
|
|
233
|
+
Uri fileUri = Uri.fromFile(destFile);
|
|
234
|
+
if (Intent.ACTION_VIEW.equals(action)) {
|
|
235
|
+
intent.setData(fileUri);
|
|
236
|
+
} else if (Intent.ACTION_SEND.equals(action)) {
|
|
237
|
+
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
|
|
238
|
+
}
|
|
239
|
+
} catch (Exception e) {
|
|
240
|
+
Log.w("MainActivity", "Failed to copy content URI: " + e.getMessage());
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
`;
|
|
244
|
+
const lastBrace = modifiedContents.lastIndexOf("}");
|
|
245
|
+
modifiedContents =
|
|
246
|
+
modifiedContents.slice(0, lastBrace) +
|
|
247
|
+
methods +
|
|
248
|
+
"\n" +
|
|
249
|
+
modifiedContents.slice(lastBrace);
|
|
250
|
+
return modifiedContents;
|
|
251
|
+
}
|
|
252
|
+
exports.default = withContentUriCopy;
|
|
253
|
+
//# sourceMappingURL=withContentUriCopy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withContentUriCopy.js","sourceRoot":"","sources":["../src/withContentUriCopy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withVolumeKeyIntercept.d.ts","sourceRoot":"","sources":["../src/withVolumeKeyIntercept.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"withVolumeKeyIntercept.d.ts","sourceRoot":"","sources":["../src/withVolumeKeyIntercept.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,QAAA,MAAM,sBAAsB,EAAE,YAO7B,CAAC;AAqKF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withVolumeKeyIntercept.js","sourceRoot":"","sources":["../src/withVolumeKeyIntercept.ts"],"names":[],"mappings":";;AAAA,yDAI8B;
|
|
1
|
+
{"version":3,"file":"withVolumeKeyIntercept.js","sourceRoot":"","sources":["../src/withVolumeKeyIntercept.ts"],"names":[],"mappings":"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"}
|