aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/plugins
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-12-28 17:58:55 +0200
committerMohamedBassem <me@mbassem.com>2024-12-28 17:59:51 +0200
commit74962d3bab7e43d4fd5fd2d045b4f9b3e975b64e (patch)
treeb7b629e970113be9868f6990d8a8aba224318f86 /apps/mobile/plugins
parentcc708a4d567098ff32f2c4020a450daff7bb2067 (diff)
downloadkarakeep-74962d3bab7e43d4fd5fd2d045b4f9b3e975b64e.tar.zst
fix(mobile): Mark the camera explicitly as not required in android manifest. Fixed #755.
Diffstat (limited to 'apps/mobile/plugins')
-rw-r--r--apps/mobile/plugins/camera-not-required.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/mobile/plugins/camera-not-required.js b/apps/mobile/plugins/camera-not-required.js
new file mode 100644
index 00000000..75116604
--- /dev/null
+++ b/apps/mobile/plugins/camera-not-required.js
@@ -0,0 +1,23 @@
+const { withAndroidManifest } = require("@expo/config-plugins");
+
+const withCameraNotRequired = (config) => {
+ return withAndroidManifest(config, async (config) => {
+ config.modResults = await setCustomConfigAsync(config, config.modResults);
+ return config;
+ });
+};
+
+async function setCustomConfigAsync(_config, androidManifest) {
+ const usesFeature = androidManifest.manifest["uses-feature"] ?? [];
+ usesFeature.push({
+ $: {
+ "android:name": "android.hardware.camera",
+ "android:required": "false",
+ },
+ });
+ androidManifest.manifest["uses-feature"] = usesFeature;
+
+ return androidManifest;
+}
+
+module.exports = withCameraNotRequired;