diff --git a/android/app/build.gradle b/android/app/build.gradle index ef41eb1..65c8399 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -92,7 +92,7 @@ android { applicationId 'mobiledarmasaba.app' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 17 + versionCode 19 versionName "2.2.0" } signingConfigs { diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index acf5b70..c1a833b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,4 @@ - - diff --git a/app.config.js b/app.config.js index b5e7119..c0b5694 100644 --- a/app.config.js +++ b/app.config.js @@ -23,7 +23,7 @@ export default { }, android: { package: "mobiledarmasaba.app", - versionCode: 19, + versionCode: 20, adaptiveIcon: { foregroundImage: "./assets/images/logo-icon-small.png", backgroundColor: "#ffffff" @@ -54,6 +54,7 @@ export default { "expo-font", "expo-image-picker", "expo-web-browser", + "./plugins/withRemoveMediaPermissions", [ "@react-native-firebase/app", { diff --git a/plugins/withRemoveMediaPermissions.js b/plugins/withRemoveMediaPermissions.js new file mode 100644 index 0000000..0ce0ea8 --- /dev/null +++ b/plugins/withRemoveMediaPermissions.js @@ -0,0 +1,20 @@ +const { withAndroidManifest } = require('@expo/config-plugins'); + +const BLOCKED_PERMISSIONS = [ + 'android.permission.READ_MEDIA_IMAGES', + 'android.permission.READ_MEDIA_VIDEO', +]; + +const withRemoveMediaPermissions = (config) => + withAndroidManifest(config, (config) => { + const manifest = config.modResults.manifest; + const permissions = manifest['uses-permission'] ?? []; + + manifest['uses-permission'] = permissions.filter( + (perm) => !BLOCKED_PERMISSIONS.includes(perm.$?.['android:name']) + ); + + return config; + }); + +module.exports = withRemoveMediaPermissions;