Allow choose backup restore flow to work on pre-API29 devices.

fork-5.53.8
Cody Henthorne 2021-03-17 11:44:46 -04:00 zatwierdzone przez Greyson Parrelli
rodzic 9366596f5f
commit 5d96bc2d3a
4 zmienionych plików z 10 dodań i 7 usunięć

Wyświetl plik

@ -109,7 +109,7 @@ public class FullBackupImporter extends FullBackupBase {
}
private static @NonNull InputStream getInputStream(@NonNull Context context, @NonNull Uri uri) throws IOException{
if (BackupUtil.isUserSelectionRequired(context)) {
if (BackupUtil.isUserSelectionRequired(context) || uri.getScheme().equals("content")) {
return Objects.requireNonNull(context.getContentResolver().openInputStream(uri));
} else {
return new FileInputStream(new File(Objects.requireNonNull(uri.getPath())));

Wyświetl plik

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.devicetransfer.newdevice;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@ -26,8 +27,12 @@ public final class TransferOrRestoreFragment extends LoggingFragment {
view.findViewById(R.id.transfer_or_restore_fragment_transfer)
.setOnClickListener(v -> Navigation.findNavController(v).navigate(R.id.action_new_device_transfer_instructions));
view.findViewById(R.id.transfer_or_restore_fragment_restore)
.setOnClickListener(v -> Navigation.findNavController(v).navigate(R.id.action_choose_backup));
View restoreBackup = view.findViewById(R.id.transfer_or_restore_fragment_restore);
if (Build.VERSION.SDK_INT >= 21) {
restoreBackup.setOnClickListener(v -> Navigation.findNavController(v).navigate(R.id.action_choose_backup));
} else {
restoreBackup.setVisibility(View.GONE);
}
String description = getString(R.string.TransferOrRestoreFragment__transfer_your_account_and_messages_from_your_old_android_device);
String toBold = getString(R.string.TransferOrRestoreFragment__you_need_access_to_your_old_device);

Wyświetl plik

@ -8,6 +8,7 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.text.Editable;
import android.text.Spanned;
@ -108,7 +109,7 @@ public final class RestoreBackupFragment extends BaseRegistrationFragment {
}
RestoreBackupFragmentArgs args = RestoreBackupFragmentArgs.fromBundle(requireArguments());
if (BackupUtil.isUserSelectionRequired(requireContext()) && args.getUri() != null) {
if ((Build.VERSION.SDK_INT < 29 || BackupUtil.isUserSelectionRequired(requireContext())) && args.getUri() != null) {
Log.i(TAG, "Restoring backup from passed uri");
initializeBackupForUri(view, args.getUri());
@ -142,7 +143,6 @@ public final class RestoreBackupFragment extends BaseRegistrationFragment {
}
}
@RequiresApi(29)
private void initializeBackupForUri(@NonNull View view, @NonNull Uri uri) {
getFromUri(requireContext(), uri, backup -> handleBackupInfo(view, backup));
}
@ -197,7 +197,6 @@ public final class RestoreBackupFragment extends BaseRegistrationFragment {
}.execute();
}
@RequiresApi(29)
static void getFromUri(@NonNull Context context,
@NonNull Uri backupUri,
@NonNull OnBackupSearchResultListener listener)

Wyświetl plik

@ -166,7 +166,6 @@ public class BackupUtil {
return backups;
}
@RequiresApi(29)
public static @Nullable BackupInfo getBackupInfoFromSingleUri(@NonNull Context context, @NonNull Uri singleUri) {
DocumentFile documentFile = DocumentFile.fromSingleUri(context, singleUri);