From 5387fabceea6c15afb64d7509f8c6046acf30589 Mon Sep 17 00:00:00 2001 From: Benjamin Halko Date: Sat, 30 Nov 2024 14:20:06 -0800 Subject: [PATCH] Use permanent path --- lib/services/manager_api.dart | 4 +--- lib/services/patcher_api.dart | 10 +++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index d8cba617..ba3978a4 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -367,9 +367,7 @@ class ManagerAPI { File outFile, ) async { deleteLastPatchedApp(); - final Directory appCache = await getApplicationCacheDirectory(); - app.patchedFilePath = - outFile.copySync('${appCache.path}/lastPatchedApp.apk').path; + app.patchedFilePath = outFile.path; app.fileSize = outFile.lengthSync(); await _prefs.setString( 'lastPatchedApp', diff --git a/lib/services/patcher_api.dart b/lib/services/patcher_api.dart index 6ac47d2f..b8ef7caf 100644 --- a/lib/services/patcher_api.dart +++ b/lib/services/patcher_api.dart @@ -182,7 +182,15 @@ class PatcherAPI { File(apkFilePath).delete(); } - outFile = File('${workDir.path}/out.apk'); + if (_managerAPI.isLastPatchedAppEnabled()) { + // Get a random name from temp dir + // This is to avoid overwriting the last patched app + final String randomName = workDir.path.split('/')[workDir.path.split('/').length - 1]; + final Directory cacheDir = await getApplicationSupportDirectory(); + outFile = File('${cacheDir.path}/$randomName.apk'); + } else { + outFile = File('${workDir.path}/out.apk'); + } final Directory tmpDir = Directory('${workDir.path}/revanced-temporary-files');