Restore-after-registration fixes.

This commit is contained in:
Nicholas Tinsley
2024-08-09 15:51:54 -04:00
committed by mtang-signal
parent fa7e4c9686
commit f296fcd716
6 changed files with 41 additions and 16 deletions

View File

@@ -25,6 +25,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.LoggingFragment;
import org.thoughtcrime.securesms.MainActivity;
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
@@ -238,8 +239,10 @@ public class PinRestoreEntryFragment extends LoggingFragment {
Activity activity = requireActivity();
if (RemoteConfig.messageBackups()) {
startActivity(RestoreActivity.getIntentForTransferOrRestore(activity));
if (RemoteConfig.messageBackups() && !SignalStore.registration().hasCompletedRestore()) {
final Intent transferOrRestore = RestoreActivity.getIntentForTransferOrRestore(activity);
transferOrRestore.putExtra(PassphraseRequiredActivity.NEXT_INTENT_EXTRA, MainActivity.clearTop(requireContext()));
startActivity(transferOrRestore);
} else if (Recipient.self().getProfileName().isEmpty() || !AvatarHelper.hasAvatar(activity, Recipient.self().getId())) {
final Intent main = MainActivity.clearTop(activity);
final Intent profile = CreateProfileActivity.getIntentForUserProfile(activity);