diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-06-19 17:07:52 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-06-19 17:07:52 +0200 |
commit | 313e571a61e22a7152e32366d747114233d25b6e (patch) | |
tree | d250292332dce208760847f150c4e627607d8028 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java | |
parent | 48c96184dcf2837f9be2e5bdb116bedd86098eb3 (diff) | |
parent | 58706425d62e40c0ecc9164a8fee089ca471e1fe (diff) | |
download | open-keychain-313e571a61e22a7152e32366d747114233d25b6e.tar.gz open-keychain-313e571a61e22a7152e32366d747114233d25b6e.tar.bz2 open-keychain-313e571a61e22a7152e32366d747114233d25b6e.zip |
Merge pull request #664 from mar-v-in/improve-file
Add Document/Storage API support
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java index b42a79993..cae6cf043 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java @@ -21,9 +21,11 @@ import android.app.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.Message; import android.os.Messenger; +import android.provider.DocumentsContract; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; import android.widget.Toast; @@ -34,6 +36,7 @@ import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler; public class DeleteFileDialogFragment extends DialogFragment { private static final String ARG_DELETE_FILE = "delete_file"; + private static final String ARG_DELETE_URI = "delete_uri"; /** * Creates new instance of this delete file dialog fragment @@ -50,12 +53,27 @@ public class DeleteFileDialogFragment extends DialogFragment { } /** + * Creates new instance of this delete file dialog fragment + */ + public static DeleteFileDialogFragment newInstance(Uri deleteUri) { + DeleteFileDialogFragment frag = new DeleteFileDialogFragment(); + Bundle args = new Bundle(); + + args.putParcelable(ARG_DELETE_URI, deleteUri); + + frag.setArguments(args); + + return frag; + } + + /** * Creates dialog */ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final FragmentActivity activity = getActivity(); + final Uri deleteUri = getArguments().containsKey(ARG_DELETE_URI) ? getArguments().<Uri>getParcelable(ARG_DELETE_URI) : null; final String deleteFile = getArguments().getString(ARG_DELETE_FILE); CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(activity); @@ -71,6 +89,12 @@ public class DeleteFileDialogFragment extends DialogFragment { public void onClick(DialogInterface dialog, int id) { dismiss(); + if (deleteUri != null) { + // We can not securely delete Documents, so just use usual delete on them + DocumentsContract.deleteDocument(getActivity().getContentResolver(), deleteUri); + return; + } + // Send all information needed to service to edit key in other thread Intent intent = new Intent(activity, KeychainIntentService.class); |