feat(mount): use /data/adb/revanced again and ensure migration scenario (#948)

This commit is contained in:
ponces 2023-06-22 23:03:03 +01:00 committed by GitHub
parent af054fba49
commit 35e99cb014
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 97 additions and 79 deletions

View file

@ -144,30 +144,23 @@ class PatcherAPI {
);
}
Future<String> getOriginalFilePath(
String packageName,
String originalFilePath,
) async {
Future<String> getOriginalFilePath(String packageName) async {
try {
final bool hasRootPermissions = await _rootAPI.hasRootPermissions();
if (hasRootPermissions) {
originalFilePath = await _rootAPI.getOriginalFilePath(
packageName,
originalFilePath,
);
return await _rootAPI.getOriginalFilePath(packageName);
}
return originalFilePath;
} on Exception catch (e) {
if (kDebugMode) {
print(e);
}
return originalFilePath;
}
return '';
}
Future<void> runPatcher(
String packageName,
String originalFilePath,
String apkFilePath,
List<Patch> selectedPatches,
) async {
final bool includeSettings = await needsSettingsPatch(selectedPatches);
@ -198,15 +191,16 @@ class PatcherAPI {
_outFile = File('${workDir.path}/out.apk');
final Directory cacheDir = Directory('${workDir.path}/cache');
cacheDir.createSync();
String originalFilePath = await getOriginalFilePath(packageName);
if (originalFilePath.isEmpty) {
originalFilePath = apkFilePath;
}
try {
await patcherChannel.invokeMethod(
'runPatcher',
{
'patchBundleFilePath': patchBundleFile.path,
'originalFilePath': await getOriginalFilePath(
packageName,
originalFilePath,
),
'originalFilePath': originalFilePath,
'inputFilePath': inputFile.path,
'patchedFilePath': patchedFile.path,
'outFilePath': _outFile!.path,