7 Commits

Author SHA1 Message Date
2b60c52df1 Merge pull request 'amalia/03-jun-26' (#55) from amalia/03-jun-26 into v-2.2.0
Reviewed-on: #55
2026-06-08 11:32:16 +08:00
47ed52e9d2 chore: update kotlin error logs 2026-06-03 13:49:27 +08:00
02904b1e48 chore: bump versionCode 20 → 21 2026-06-03 13:46:59 +08:00
8df5b48578 fix: gunakan tools:node=remove agar Gradle merger hapus READ_MEDIA_IMAGES/VIDEO dari semua library manifest
Filter sebelumnya hanya menghapus dari app manifest, tapi expo-image-picker
menyuntikkan permission lewat library manifest-nya sendiri saat Gradle build.
2026-06-03 13:41:00 +08:00
21617f9c4c chore: update kotlin error logs 2026-06-03 11:32:57 +08:00
383ca069d5 chore: bump versionCode 19 → 20 2026-06-03 11:32:00 +08:00
267454637f fix: hapus READ_MEDIA_IMAGES & VIDEO via Expo config plugin agar tahan prebuild EAS
Perubahan sebelumnya langsung di android/ tidak efektif karena EAS
melakukan prebuild ulang. Plugin withRemoveMediaPermissions.js kini
memfilter permission tersebut saat prebuild berjalan.
2026-06-03 11:08:06 +08:00
5 changed files with 42 additions and 8 deletions

View File

@@ -1,4 +0,0 @@
kotlin version: 2.0.21
error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: 0. The daemon process output:
1. Kotlin compile daemon is ready

View File

@@ -92,7 +92,7 @@ android {
applicationId 'mobiledarmasaba.app'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 17
versionCode 21
versionName "2.2.0"
}
signingConfigs {

View File

@@ -1,9 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.VIBRATE"/>

View File

@@ -23,7 +23,7 @@ export default {
},
android: {
package: "mobiledarmasaba.app",
versionCode: 19,
versionCode: 21,
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",
{

View File

@@ -0,0 +1,37 @@
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;
// Pastikan xmlns:tools ada di manifest root
if (!manifest.$['xmlns:tools']) {
manifest.$['xmlns:tools'] = 'http://schemas.android.com/tools';
}
// Hapus entry yang ada (apapun atributnya)
const existing = manifest['uses-permission'] ?? [];
manifest['uses-permission'] = existing.filter(
(perm) => !BLOCKED_PERMISSIONS.includes(perm.$?.['android:name'])
);
// Tambahkan entry dengan tools:node="remove" agar Gradle merger
// membuang permission ini dari SEMUA sumber (termasuk library manifests)
for (const permission of BLOCKED_PERMISSIONS) {
manifest['uses-permission'].push({
$: {
'android:name': permission,
'tools:node': 'remove',
},
});
}
return config;
});
module.exports = withRemoveMediaPermissions;