From 37683ce531efbde91277309ca9f4972f39a3d14a Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 8 Dec 2025 06:31:44 +0200 Subject: [PATCH] local backup/restore: archive restore fix --- .../app/presenters/settings/BackupSettingsPresenter.java | 4 ++-- .../common/misc/BackupAndRestoreHelper.java | 2 +- .../common/misc/BackupAndRestoreManager.java | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/settings/BackupSettingsPresenter.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/settings/BackupSettingsPresenter.java index 00707d786..a839eeacc 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/settings/BackupSettingsPresenter.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/settings/BackupSettingsPresenter.java @@ -54,8 +54,8 @@ public class BackupSettingsPresenter extends BasePresenter { createAndShowDialog(); } - public void showLocalRestoreDialog() { - BackupAndRestoreManager backupManager = new BackupAndRestoreManager(getContext()); + public void showLocalRestoreDialogApi30() { + BackupAndRestoreManager backupManager = new BackupAndRestoreManager(getContext(), true); backupManager.getBackupNames(names -> showLocalRestoreDialog(backupManager, names)); } diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreHelper.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreHelper.java index b5d637859..fcd58b908 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreHelper.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreHelper.java @@ -139,7 +139,7 @@ public class BackupAndRestoreHelper implements OnResult { // Delete the temporary ZIP tempZip.delete(); - BackupSettingsPresenter.instance(mContext).showLocalRestoreDialog(); + BackupSettingsPresenter.instance(mContext).showLocalRestoreDialogApi30(); //Toast.makeText(mContext, "Backup restored successfully", Toast.LENGTH_SHORT).show(); diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreManager.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreManager.java index 110178a62..285188adc 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreManager.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/BackupAndRestoreManager.java @@ -26,6 +26,7 @@ public class BackupAndRestoreManager implements MotherActivity.OnPermissions { private final File mDataDir; private final List mBackupDirs; private final BackupAndRestoreHelper mHelper; + private final boolean mForceApi30; private final String[] mBackupPatterns = new String[] { "yt_service_prefs.xml", "com.liskovsoft.appupdatechecker2.preferences.xml", @@ -39,7 +40,12 @@ public class BackupAndRestoreManager implements MotherActivity.OnPermissions { } public BackupAndRestoreManager(Context context) { + this(context, false); + } + + public BackupAndRestoreManager(Context context, boolean forceApi30) { mContext = context; + mForceApi30 = forceApi30; mHelper = new BackupAndRestoreHelper(context); @@ -334,7 +340,7 @@ public class BackupAndRestoreManager implements MotherActivity.OnPermissions { // Android 11+: only backup through the file manager (no shared dir) private boolean hasAccessOnlyToAppFolders() { - return getTargetSdkVersion() > 29; + return getTargetSdkVersion() > 29 || mForceApi30; } private int getTargetSdkVersion() {