Fix legacy restore options in new restore flows.

This commit is contained in:
Cody Henthorne
2025-06-18 15:47:32 -04:00
committed by Michelle Tang
parent 3ea2c01c15
commit be45bdb562
16 changed files with 107 additions and 29 deletions

View File

@@ -41,6 +41,7 @@ import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.service.LocalBackupListener;
import org.thoughtcrime.securesms.util.BackupUtil;
import org.thoughtcrime.securesms.util.JavaTimeExtensionsKt;
import org.thoughtcrime.securesms.util.RemoteConfig;
import org.thoughtcrime.securesms.util.StorageUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
@@ -100,6 +101,8 @@ public class BackupsPreferenceFragment extends Fragment {
formatter.setMaximumFractionDigits(1);
EventBus.getDefault().register(this);
updateToggle();
}
@Override
@@ -301,11 +304,20 @@ public class BackupsPreferenceFragment extends Fragment {
timeLabel.setText(JavaTimeExtensionsKt.formatHours(time, requireContext()));
}
private void updateToggle() {
boolean userUnregistered = TextSecurePreferences.isUnauthorizedReceived(AppDependencies.getApplication()) || !SignalStore.account().isRegistered();
boolean clientDeprecated = SignalStore.misc().isClientDeprecated();
boolean legacyLocalBackupsEnabled = SignalStore.settings().isBackupEnabled() && BackupUtil.canUserAccessBackupDirectory(AppDependencies.getApplication());
toggle.setEnabled(legacyLocalBackupsEnabled || (!userUnregistered && !clientDeprecated));
}
private void setBackupsEnabled() {
toggle.setText(R.string.BackupsPreferenceFragment__turn_off);
create.setVisibility(View.VISIBLE);
verify.setVisibility(View.VISIBLE);
timer.setVisibility(View.VISIBLE);
updateToggle();
updateTimeLabel();
setBackupFolderName();
}
@@ -316,6 +328,7 @@ public class BackupsPreferenceFragment extends Fragment {
folder.setVisibility(View.GONE);
verify.setVisibility(View.GONE);
timer.setVisibility(View.GONE);
updateToggle();
AppDependencies.getJobManager().cancelAllInQueue(LocalBackupJob.QUEUE);
}
}