update: local changes

This commit is contained in:
2026-06-08 23:18:54 +02:00
parent dfb2778847
commit 7f7772bea0
5 changed files with 2659 additions and 1 deletions
BIN
View File
Binary file not shown.
View File
+2605
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+54 -1
View File
@@ -22,8 +22,61 @@ const withUsbCamera = (config) => {
});
}
// Add intent-filter to MainActivity
const application = androidManifest.manifest.application[0];
const mainActivity = application.activity.find((activity) => {
const isMainActivity = activity['intent-filter']?.some((filter) => {
return filter.action?.some((action) => action.$['android:name'] === 'android.intent.action.MAIN');
});
return isMainActivity;
});
if (mainActivity) {
const hasUsbIntent = mainActivity['intent-filter']?.some((filter) => {
return filter.action?.some((action) => action.$['android:name'] === 'android.hardware.usb.action.USB_DEVICE_ATTACHED');
});
if (!hasUsbIntent) {
if (!mainActivity['intent-filter']) {
mainActivity['intent-filter'] = [];
}
mainActivity['intent-filter'].push({
action: [{ $: { 'android:name': 'android.hardware.usb.action.USB_DEVICE_ATTACHED' } }],
});
if (!mainActivity['meta-data']) {
mainActivity['meta-data'] = [];
}
mainActivity['meta-data'].push({
$: {
'android:name': 'android.hardware.usb.action.USB_DEVICE_ATTACHED',
'android:resource': '@xml/device_filter',
},
});
}
}
return config;
});
};
module.exports = withUsbCamera;
const fs = require('fs');
const path = require('path');
const withUsbCameraXml = (config) => {
return require('@expo/config-plugins').withDangerousMod(config, [
'android',
async (config) => {
const resDir = path.join(config.modRequest.platformProjectRoot, 'app/src/main/res/xml');
if (!fs.existsSync(resDir)) {
fs.mkdirSync(resDir, { recursive: true });
}
const filterPath = path.join(resDir, 'device_filter.xml');
const xmlContent = `<?xml version="1.0" encoding="utf-8"?>\n<resources>\n <usb-device class="239" subclass="2" />\n <usb-device class="239" subclass="2" protocol="1" />\n <usb-device class="239" subclass="2" protocol="2" />\n</resources>`;
fs.writeFileSync(filterPath, xmlContent);
return config;
},
]);
};
module.exports = (config) => withUsbCameraXml(withUsbCamera(config));