aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-01-18 22:37:00 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2014-01-18 22:37:00 +0100
commit96936dda23dc8854c0165ecf49720173aeb21ea2 (patch)
tree471c808694a27de745de554d31718500e20cfa52 /OpenPGP-Keychain/src/org
parente8b9dfe379c17b3d0df39838e57bfb52a98c1fc9 (diff)
downloadopen-keychain-96936dda23dc8854c0165ecf49720173aeb21ea2.tar.gz
open-keychain-96936dda23dc8854c0165ecf49720173aeb21ea2.tar.bz2
open-keychain-96936dda23dc8854c0165ecf49720173aeb21ea2.zip
handle onActivityResult in FileDialogFragment directly
Diffstat (limited to 'OpenPGP-Keychain/src/org')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/Id.java2
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/ExportHelper.java21
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DecryptActivity.java17
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java6
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java17
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicActivity.java53
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java7
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java7
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/dialog/FileDialogFragment.java43
9 files changed, 63 insertions, 110 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/Id.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/Id.java
index fb7851774..22f30cb1f 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/Id.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/Id.java
@@ -76,7 +76,7 @@ public final class Id {
public static final int public_keys = 0x00007001;
public static final int secret_keys = 0x00007002;
public static final int filename = 0x00007003;
- public static final int output_filename = 0x00007004;
+// public static final int output_filename = 0x00007004;
public static final int key_server_preference = 0x00007005;
public static final int look_up_key_id = 0x00007006;
public static final int export_to_server = 0x00007007;
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/ExportHelper.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/ExportHelper.java
index 7647da794..9b817cb50 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/ExportHelper.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/ExportHelper.java
@@ -27,7 +27,6 @@ import org.sufficientlysecure.keychain.ui.dialog.DeleteKeyDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.FileDialogFragment;
import org.sufficientlysecure.keychain.util.Log;
-import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
@@ -107,7 +106,7 @@ public class ExportHelper {
}
mFileDialog = FileDialogFragment.newInstance(messenger, title, message,
- exportFilename, null, Id.request.filename);
+ exportFilename, null);
mFileDialog.show(activity.getSupportFragmentManager(), "fileDialog");
}
@@ -182,22 +181,4 @@ public class ExportHelper {
activity.startService(intent);
}
- public boolean handleActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == Id.request.filename) {
- if (resultCode == Activity.RESULT_OK && data != null) {
- try {
- String path = data.getData().getPath();
- Log.d(Constants.TAG, "path=" + path);
-
- // set filename used in export/import dialogs
- mFileDialog.setFilename(path);
- } catch (NullPointerException e) {
- Log.e(Constants.TAG, "Nullpointer while retrieving path!", e);
- }
- }
- return true;
- }
-
- return false;
- }
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DecryptActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DecryptActivity.java
index 6cc0b3b5a..e91630316 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DecryptActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DecryptActivity.java
@@ -629,8 +629,7 @@ public class DecryptActivity extends DrawerActivity {
mFileDialog = FileDialogFragment.newInstance(messenger,
getString(R.string.title_decrypt_to_file),
- getString(R.string.specify_file_to_decrypt_to), mOutputFilename, null,
- Id.request.output_filename);
+ getString(R.string.specify_file_to_decrypt_to), mOutputFilename, null);
mFileDialog.show(getSupportFragmentManager(), "fileDialog");
}
@@ -826,20 +825,6 @@ public class DecryptActivity extends DrawerActivity {
return;
}
- case Id.request.output_filename: {
- if (resultCode == RESULT_OK && data != null) {
- try {
- String path = FileHelper.getPath(this, data.getData());
- Log.d(Constants.TAG, "path=" + path);
-
- mFileDialog.setFilename(path);
- } catch (NullPointerException e) {
- Log.e(Constants.TAG, "Nullpointer while retrieving path!");
- }
- }
- return;
- }
-
// this request is returned after LookupUnknownKeyDialogFragment started
// KeyServerQueryActivity and user looked uo key
case Id.request.look_up_key_id: {
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index be2e4115b..631672c1f 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -663,10 +663,4 @@ public class EditKeyActivity extends SherlockFragmentActivity {
: getString(R.string.btn_set_passphrase));
}
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (!mExportHelper.handleActivityResult(requestCode, resultCode, data)) {
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
index c974dfd46..6202010ed 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
@@ -590,8 +590,7 @@ public class EncryptActivity extends DrawerActivity {
mFileDialog = FileDialogFragment.newInstance(messenger,
getString(R.string.title_encrypt_to_file),
- getString(R.string.specify_file_to_encrypt_to), mOutputFilename, null,
- Id.request.output_filename);
+ getString(R.string.specify_file_to_encrypt_to), mOutputFilename, null);
mFileDialog.show(getSupportFragmentManager(), "fileDialog");
}
@@ -973,20 +972,6 @@ public class EncryptActivity extends DrawerActivity {
return;
}
- case Id.request.output_filename: {
- if (resultCode == RESULT_OK && data != null) {
- try {
- String path = data.getData().getPath();
- Log.d(Constants.TAG, "path=" + path);
-
- mFileDialog.setFilename(path);
- } catch (NullPointerException e) {
- Log.e(Constants.TAG, "Nullpointer while retrieving path!");
- }
- }
- return;
- }
-
case Id.request.public_keys: {
if (resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicActivity.java
index 204939610..b0c7b8265 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListPublicActivity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2013 Dominik Schürmann <dominik@dominikschuermann.de>
+ * Copyright (C) 2012-2014 Dominik Schürmann <dominik@dominikschuermann.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -56,7 +56,7 @@ public class KeyListPublicActivity extends DrawerActivity {
switch (item.getItemId()) {
case R.id.menu_key_list_public_import:
Intent intentImport = new Intent(this, ImportKeysActivity.class);
- startActivityForResult(intentImport, Id.request.import_from_qr_code);
+ startActivityForResult(intentImport, 0);
return true;
case R.id.menu_key_list_public_export:
@@ -69,30 +69,27 @@ public class KeyListPublicActivity extends DrawerActivity {
}
}
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (!mExportHelper.handleActivityResult(requestCode, resultCode, data)) {
- super.onActivityResult(requestCode, resultCode, data);
- }
- // switch (requestCode) {
- // case Id.request.look_up_key_id: {
- // if (resultCode == RESULT_CANCELED || data == null
- // || data.getStringExtra(KeyServerQueryActivity.RESULT_EXTRA_TEXT) == null) {
- // return;
- // }
- //
- // Intent intent = new Intent(this, KeyListPublicActivity.class);
- // intent.setAction(KeyListPublicActivity.ACTION_IMPORT);
- // intent.putExtra(KeyListPublicActivity.EXTRA_TEXT,
- // data.getStringExtra(KeyListActivity.EXTRA_TEXT));
- // handleActions(intent);
- // break;
- // }
- //
- // default: {
- // super.onActivityResult(requestCode, resultCode, data);
- // break;
- // }
- // }
- }
+ // @Override
+ // protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ // switch (requestCode) {
+ // case Id.request.look_up_key_id: {
+ // if (resultCode == RESULT_CANCELED || data == null
+ // || data.getStringExtra(KeyServerQueryActivity.RESULT_EXTRA_TEXT) == null) {
+ // return;
+ // }
+ //
+ // Intent intent = new Intent(this, KeyListPublicActivity.class);
+ // intent.setAction(KeyListPublicActivity.ACTION_IMPORT);
+ // intent.putExtra(KeyListPublicActivity.EXTRA_TEXT,
+ // data.getStringExtra(KeyListActivity.EXTRA_TEXT));
+ // handleActions(intent);
+ // break;
+ // }
+ //
+ // default: {
+ // super.onActivityResult(requestCode, resultCode, data);
+ // break;
+ // }
+ // }
+ // }
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java
index 34a053d25..61054f134 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java
@@ -91,11 +91,4 @@ public class KeyListSecretActivity extends DrawerActivity {
startActivityForResult(intent, 0);
}
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (!mExportHelper.handleActivityResult(requestCode, resultCode, data)) {
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
-
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
index 2e934baa4..ab45cd091 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
@@ -503,11 +503,4 @@ public class ViewKeyActivity extends SherlockFragmentActivity implements CreateN
}
};
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (!mExportHelper.handleActivityResult(requestCode, resultCode, data)) {
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
-
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/dialog/FileDialogFragment.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/dialog/FileDialogFragment.java
index e65da2aa8..96a5fcbd9 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/dialog/FileDialogFragment.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/dialog/FileDialogFragment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2013 Dominik Schürmann <dominik@dominikschuermann.de>
+ * Copyright (C) 2012-2014 Dominik Schürmann <dominik@dominikschuermann.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,6 +27,7 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.os.Messenger;
@@ -39,15 +40,12 @@ import android.widget.EditText;
import com.beardedhen.androidbootstrap.BootstrapButton;
-// TODO: return result from file manager activity to this dialog! not the activity!
-// do it like in ImportFileFragment!
public class FileDialogFragment extends DialogFragment {
private static final String ARG_MESSENGER = "messenger";
private static final String ARG_TITLE = "title";
private static final String ARG_MESSAGE = "message";
private static final String ARG_DEFAULT_FILE = "default_file";
private static final String ARG_CHECKBOX_TEXT = "checkbox_text";
- private static final String ARG_REQUEST_CODE = "request_code";
public static final int MESSAGE_OKAY = 1;
@@ -60,11 +58,13 @@ public class FileDialogFragment extends DialogFragment {
private BootstrapButton mBrowse;
private CheckBox mCheckBox;
+ private static final int REQUEST_CODE = 0x00007004;
+
/**
* Creates new instance of this file dialog fragment
*/
public static FileDialogFragment newInstance(Messenger messenger, String title, String message,
- String defaultFile, String checkboxText, int requestCode) {
+ String defaultFile, String checkboxText) {
FileDialogFragment frag = new FileDialogFragment();
Bundle args = new Bundle();
args.putParcelable(ARG_MESSENGER, messenger);
@@ -73,7 +73,6 @@ public class FileDialogFragment extends DialogFragment {
args.putString(ARG_MESSAGE, message);
args.putString(ARG_DEFAULT_FILE, defaultFile);
args.putString(ARG_CHECKBOX_TEXT, checkboxText);
- args.putInt(ARG_REQUEST_CODE, requestCode);
frag.setArguments(args);
@@ -93,7 +92,6 @@ public class FileDialogFragment extends DialogFragment {
String message = getArguments().getString(ARG_MESSAGE);
String defaultFile = getArguments().getString(ARG_DEFAULT_FILE);
String checkboxText = getArguments().getString(ARG_CHECKBOX_TEXT);
- final int requestCode = getArguments().getInt(ARG_REQUEST_CODE);
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -112,7 +110,8 @@ public class FileDialogFragment extends DialogFragment {
// only .asc or .gpg files
// setting it to text/plain prevents Cynaogenmod's file manager from selecting asc
// or gpg types!
- FileHelper.openFile(activity, mFilename.getText().toString(), "*/*", requestCode);
+ FileHelper.openFile(FileDialogFragment.this, mFilename.getText().toString(), "*/*",
+ REQUEST_CODE);
}
});
@@ -166,7 +165,7 @@ public class FileDialogFragment extends DialogFragment {
* @param progress
* @param max
*/
- public void setFilename(String filename) {
+ private void setFilename(String filename) {
AlertDialog dialog = (AlertDialog) getDialog();
EditText filenameEditText = (EditText) dialog.findViewById(R.id.input);
@@ -175,6 +174,32 @@ public class FileDialogFragment extends DialogFragment {
}
}
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ switch (requestCode & 0xFFFF) {
+ case REQUEST_CODE: {
+ if (resultCode == Activity.RESULT_OK && data != null) {
+ try {
+ String path = data.getData().getPath();
+ Log.d(Constants.TAG, "path=" + path);
+
+ // set filename used in export/import dialogs
+ setFilename(path);
+ } catch (NullPointerException e) {
+ Log.e(Constants.TAG, "Nullpointer while retrieving path!", e);
+ }
+ }
+
+ break;
+ }
+
+ default:
+ super.onActivityResult(requestCode, resultCode, data);
+
+ break;
+ }
+ }
+
/**
* Send message back to handler which is initialized in a activity
*