fix: Retrieve app information from patched app

This commit is contained in:
oSumAtrIX 2023-09-30 21:40:03 +02:00
parent c4a795418f
commit 2b4b3ca0a5
No known key found for this signature in database
GPG key ID: A9B3094ACDB604B4
2 changed files with 13 additions and 13 deletions

View file

@ -28,7 +28,7 @@ class PatcherAPI {
List<Patch> _universalPatches = [];
List<String> _compatiblePackages = [];
Map filteredPatches = <String, List<Patch>>{};
File? _outFile;
File? outFile;
Future<void> initialize() async {
await _loadPatches();
@ -162,7 +162,7 @@ class PatcherAPI {
final Directory workDir = _tmpDir.createTempSync('tmp-');
final File inputFile = File('${workDir.path}/base.apk');
final File patchedFile = File('${workDir.path}/patched.apk');
_outFile = File('${workDir.path}/out.apk');
outFile = File('${workDir.path}/out.apk');
final Directory cacheDir = Directory('${workDir.path}/cache');
cacheDir.createSync();
final String originalFilePath = apkFilePath;
@ -174,7 +174,7 @@ class PatcherAPI {
'originalFilePath': originalFilePath,
'inputFilePath': inputFile.path,
'patchedFilePath': patchedFile.path,
'outFilePath': _outFile!.path,
'outFilePath': outFile!.path,
'integrationsPath': integrationsFile!.path,
'selectedPatches': selectedPatches.map((p) => p.name).toList(),
'cacheDirPath': cacheDir.path,
@ -201,7 +201,7 @@ class PatcherAPI {
}
Future<bool> installPatchedFile(PatchedApplication patchedApp) async {
if (_outFile != null) {
if (outFile != null) {
try {
if (patchedApp.isRooted) {
final bool hasRootPermissions = await _rootAPI.hasRootPermissions();
@ -209,11 +209,11 @@ class PatcherAPI {
return _rootAPI.installApp(
patchedApp.packageName,
patchedApp.apkFilePath,
_outFile!.path,
outFile!.path,
);
}
} else {
final install = await InstallPlugin.installApk(_outFile!.path);
final install = await InstallPlugin.installApk(outFile!.path);
return install['isSuccess'];
}
} on Exception catch (e) {
@ -228,11 +228,11 @@ class PatcherAPI {
void exportPatchedFile(String appName, String version) {
try {
if (_outFile != null) {
if (outFile != null) {
final String newName = _getFileName(appName, version);
CRFileSaver.saveFileWithDialog(
SaveFileDialogParams(
sourceFilePath: _outFile!.path,
sourceFilePath: outFile!.path,
destinationFileName: newName,
),
);
@ -246,12 +246,12 @@ class PatcherAPI {
void sharePatchedFile(String appName, String version) {
try {
if (_outFile != null) {
if (outFile != null) {
final String newName = _getFileName(appName, version);
final int lastSeparator = _outFile!.path.lastIndexOf('/');
final int lastSeparator = outFile!.path.lastIndexOf('/');
final String newPath =
_outFile!.path.substring(0, lastSeparator + 1) + newName;
final File shareFile = _outFile!.copySync(newPath);
outFile!.path.substring(0, lastSeparator + 1) + newName;
final File shareFile = outFile!.copySync(newPath);
ShareExtend.share(shareFile.path, 'file');
}
} on Exception catch (e) {

View file

@ -285,7 +285,7 @@ class InstallerViewModel extends BaseViewModel {
// In case a patch changed the app name or package name,
// update the app info.
final app = await DeviceApps.getAppFromStorage(_app.apkFilePath);
final app = await DeviceApps.getAppFromStorage(_patcherAPI.outFile!.path);
if (app != null) {
_app.name = app.appName;
_app.packageName = app.packageName;