diff --git a/app/src/main/java/org/shadowice/flocke/andotp/Activities/BackupActivity.java b/app/src/main/java/org/shadowice/flocke/andotp/Activities/BackupActivity.java index 7ece94e9..00c4a2aa 100644 --- a/app/src/main/java/org/shadowice/flocke/andotp/Activities/BackupActivity.java +++ b/app/src/main/java/org/shadowice/flocke/andotp/Activities/BackupActivity.java @@ -22,19 +22,14 @@ package org.shadowice.flocke.andotp.Activities; -import android.Manifest; import android.app.AlertDialog; import android.app.PendingIntent; import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentSender; -import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.util.Log; @@ -117,7 +112,7 @@ public class BackupActivity extends BaseActivity { restorePlain.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - openFileWithPermissions(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PLAIN, Constants.PERMISSIONS_BACKUP_READ_IMPORT_PLAIN); + showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PLAIN); } }); @@ -137,21 +132,21 @@ public class BackupActivity extends BaseActivity { backupCrypt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - saveFileWithPermissions(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BackupType.ENCRYPTED, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT); + showSaveFileSelector(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BackupType.ENCRYPTED, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT); } }); restoreCrypt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - openFileWithPermissions(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT, Constants.PERMISSIONS_BACKUP_READ_IMPORT_CRYPT); + showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT); } }); restoreCryptOld.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - openFileWithPermissions(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT_OLD, Constants.PERMISSIONS_BACKUP_READ_IMPORT_CRYPT_OLD); + showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT_OLD); } }); @@ -179,14 +174,14 @@ public class BackupActivity extends BaseActivity { backupPGP.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PGP, Constants.BackupType.OPEN_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PGP); + showSaveFileSelector(Constants.BACKUP_MIMETYPE_PGP, Constants.BackupType.OPEN_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP); } }); restorePGP.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - openFileWithPermissions(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PGP, Constants.PERMISSIONS_BACKUP_READ_IMPORT_PGP); + showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PGP); } }); } @@ -241,56 +236,6 @@ public class BackupActivity extends BaseActivity { pgpServiceConnection.unbindFromService(); } - // Get the result from permission requests - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - if (requestCode == Constants.PERMISSIONS_BACKUP_READ_IMPORT_PLAIN) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PLAIN); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showSaveFileSelector(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BackupType.PLAIN_TEXT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_READ_IMPORT_CRYPT) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_READ_IMPORT_CRYPT_OLD) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_CRYPT_OLD); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showSaveFileSelector(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BackupType.ENCRYPTED, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_READ_IMPORT_PGP) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showOpenFileSelector(Constants.INTENT_BACKUP_OPEN_DOCUMENT_PGP); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PGP) { - if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - showSaveFileSelector(Constants.BACKUP_MIMETYPE_PGP, Constants.BackupType.OPEN_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP); - } else { - Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show(); - } - } else { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - } - } - // Get the result from external activities @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { @@ -385,22 +330,6 @@ public class BackupActivity extends BaseActivity { } } - private void openFileWithPermissions(int intentId, int requestId) { - if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { - showOpenFileSelector(intentId); - } else { - ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, requestId); - } - } - - private void saveFileWithPermissions(String mimeType, Constants.BackupType backupType, int intentId, int requestId) { - if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { - showSaveFileSelector(mimeType, backupType, intentId); - } else { - ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestId); - } - } - private void restoreEntries(String text) { ArrayList entries = DatabaseHelper.stringToEntries(text); @@ -459,7 +388,7 @@ public class BackupActivity extends BaseActivity { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { - saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BackupType.PLAIN_TEXT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN); + showSaveFileSelector(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BackupType.PLAIN_TEXT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN); } }) .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { diff --git a/app/src/main/java/org/shadowice/flocke/andotp/Utilities/Constants.java b/app/src/main/java/org/shadowice/flocke/andotp/Utilities/Constants.java index f65f73d2..4f000a4f 100644 --- a/app/src/main/java/org/shadowice/flocke/andotp/Utilities/Constants.java +++ b/app/src/main/java/org/shadowice/flocke/andotp/Utilities/Constants.java @@ -89,13 +89,6 @@ public class Constants { // Permission requests (Format: A1x with A = parent Activity, x = number of the request) public final static int PERMISSIONS_MAIN_QR_READ_IMAGE = 111; - public final static int PERMISSIONS_BACKUP_READ_IMPORT_PLAIN = 210; - public final static int PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN = 211; - public final static int PERMISSIONS_BACKUP_READ_IMPORT_CRYPT = 212; - public final static int PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT = 213; - public final static int PERMISSIONS_BACKUP_READ_IMPORT_PGP = 214; - public final static int PERMISSIONS_BACKUP_WRITE_EXPORT_PGP = 215; - public final static int PERMISSIONS_BACKUP_READ_IMPORT_CRYPT_OLD = 216; // Intent extras public final static String EXTRA_AUTH_PASSWORD_KEY = "password_key";