aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-03-16 17:00:53 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-03-16 17:00:53 +0100
commita5271bf2297fc49474b5f1ab2755fb073cb7f3fd (patch)
tree730749719f277035c307f5021d1e8db1e03495f7 /OpenKeychain/src/main
parent916ff0e0fa3b4c6ec9b69ef4bda2673e6cea1959 (diff)
downloadopen-keychain-a5271bf2297fc49474b5f1ab2755fb073cb7f3fd.tar.gz
open-keychain-a5271bf2297fc49474b5f1ab2755fb073cb7f3fd.tar.bz2
open-keychain-a5271bf2297fc49474b5f1ab2755fb073cb7f3fd.zip
Allow encrypt of filenames via overflow menu
Diffstat (limited to 'OpenKeychain/src/main')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivityInterface.java1
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java12
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java15
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java5
-rw-r--r--OpenKeychain/src/main/res/menu/encrypt_file_activity.xml18
-rw-r--r--OpenKeychain/src/main/res/menu/encrypt_text_activity.xml1
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml3
7 files changed, 44 insertions, 11 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivityInterface.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivityInterface.java
index baf445293..037366164 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivityInterface.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivityInterface.java
@@ -29,6 +29,7 @@ public interface EncryptActivityInterface {
public boolean isUseArmor();
public boolean isUseCompression();
+ public boolean isEncryptFilenames();
public long getSignatureKey();
public long[] getEncryptionKeys();
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java
index fa7717726..8277e2ccc 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java
@@ -70,6 +70,7 @@ public class EncryptFilesActivity extends EncryptActivity implements EncryptActi
private boolean mUseCompression = true;
private boolean mDeleteAfterEncrypt = false;
private boolean mShareAfterEncrypt = false;
+ private boolean mEncryptFilenames = true;
private ArrayList<Uri> mInputUris;
private ArrayList<Uri> mOutputUris;
private String mMessage = "";
@@ -89,6 +90,11 @@ public class EncryptFilesActivity extends EncryptActivity implements EncryptActi
}
@Override
+ public boolean isEncryptFilenames() {
+ return mEncryptFilenames;
+ }
+
+ @Override
public long getSignatureKey() {
return mSigningKeyId;
}
@@ -371,6 +377,12 @@ public class EncryptFilesActivity extends EncryptActivity implements EncryptActi
notifyUpdate();
break;
}
+ case R.id.encrypt_filenames: {
+ mEncryptFilenames = item.isChecked();
+ notifyUpdate();
+ break;
+ }
+
default: {
return super.onOptionsItemSelected(item);
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
index 48737d223..6ea6ecec1 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
@@ -137,17 +137,17 @@ public class EncryptFilesFragment extends Fragment implements EncryptActivityInt
throw new IllegalStateException();
}
Uri inputUri = mEncryptInterface.getInputUris().get(0);
+ String targetName =
+ (mEncryptInterface.isEncryptFilenames() ? "1" : FileHelper.getFilename(getActivity(), inputUri))
+ + (mEncryptInterface.isUseArmor() ? ".asc" : ".gpg");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
File file = new File(inputUri.getPath());
File parentDir = file.exists() ? file.getParentFile() : Constants.Path.APP_DIR;
- String targetName = FileHelper.getFilename(getActivity(), inputUri) +
- (mEncryptInterface.isUseArmor() ? ".asc" : ".gpg");
File targetFile = new File(parentDir, targetName);
FileHelper.saveFile(this, getString(R.string.title_encrypt_to_file),
getString(R.string.specify_file_to_encrypt_to), targetFile, REQUEST_CODE_OUTPUT);
} else {
- FileHelper.saveDocument(this, "*/*", FileHelper.getFilename(getActivity(), inputUri) +
- (mEncryptInterface.isUseArmor() ? ".asc" : ".gpg"), REQUEST_CODE_OUTPUT);
+ FileHelper.saveDocument(this, "*/*", targetName, REQUEST_CODE_OUTPUT);
}
}
@@ -158,10 +158,13 @@ public class EncryptFilesFragment extends Fragment implements EncryptActivityInt
}
if (share) {
mEncryptInterface.getOutputUris().clear();
+ int filenameCounter = 1;
for (Uri uri : mEncryptInterface.getInputUris()) {
- String targetName = FileHelper.getFilename(getActivity(), uri) +
- (mEncryptInterface.isUseArmor() ? ".asc" : ".gpg");
+ String targetName =
+ (mEncryptInterface.isEncryptFilenames() ? String.valueOf(filenameCounter) : FileHelper.getFilename(getActivity(), uri))
+ + (mEncryptInterface.isUseArmor() ? ".asc" : ".gpg");
mEncryptInterface.getOutputUris().add(TemporaryStorageProvider.createFile(getActivity(), targetName));
+ filenameCounter++;
}
mEncryptInterface.startEncrypt(true);
} else {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java
index d3dfd73df..e8c8bd5b5 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java
@@ -83,6 +83,11 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv
}
@Override
+ public boolean isEncryptFilenames() {
+ return false;
+ }
+
+ @Override
public boolean isUseCompression() {
return mUseCompression;
}
diff --git a/OpenKeychain/src/main/res/menu/encrypt_file_activity.xml b/OpenKeychain/src/main/res/menu/encrypt_file_activity.xml
index f4aeb76c9..1dd9896bc 100644
--- a/OpenKeychain/src/main/res/menu/encrypt_file_activity.xml
+++ b/OpenKeychain/src/main/res/menu/encrypt_file_activity.xml
@@ -18,17 +18,27 @@
android:id="@+id/check_use_symmetric"
android:title="@string/label_symmetric"
android:checkable="true" />
- <item
- android:id="@+id/check_use_armor"
- android:title="@string/label_file_ascii_armor"
- android:checkable="true" />
+
<item
android:id="@+id/check_delete_after_encrypt"
android:title="@string/label_delete_after_encryption"
android:checkable="true" />
+
<item
android:id="@+id/check_enable_compression"
android:title="@string/label_enable_compression"
android:checked="true"
android:checkable="true" />
+
+ <item
+ android:id="@+id/encrypt_filenames"
+ android:title="@string/label_encrypt_filenames"
+ android:checked="true"
+ android:checkable="true" />
+
+ <item
+ android:id="@+id/check_use_armor"
+ android:title="@string/label_file_ascii_armor"
+ android:checkable="true" />
+
</menu> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/menu/encrypt_text_activity.xml b/OpenKeychain/src/main/res/menu/encrypt_text_activity.xml
index bb9f4058a..408b70822 100644
--- a/OpenKeychain/src/main/res/menu/encrypt_text_activity.xml
+++ b/OpenKeychain/src/main/res/menu/encrypt_text_activity.xml
@@ -18,6 +18,7 @@
android:id="@+id/check_use_symmetric"
android:title="@string/label_symmetric"
android:checkable="true" />
+
<item
android:id="@+id/check_enable_compression"
android:title="@string/label_enable_compression"
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 0affa9073..48d58d7b1 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -141,7 +141,7 @@
<string name="label_label_use_default_yubikey_pin_summary">"Uses default PIN (123456) to access YubiKeys over NFC"</string>
<string name="label_asymmetric_from">"Signed by:"</string>
<string name="label_to">"Encrypt to:"</string>
- <string name="label_delete_after_encryption">"Delete file after encryption"</string>
+ <string name="label_delete_after_encryption">"Delete files after encryption"</string>
<string name="label_delete_after_decryption">"Delete after decryption"</string>
<string name="label_encryption_algorithm">"Encryption algorithm"</string>
<string name="label_hash_algorithm">"Hash algorithm"</string>
@@ -167,6 +167,7 @@
<string name="label_first_keyserver_is_used">"(First keyserver listed is preferred)"</string>
<string name="label_preferred">"preferred"</string>
<string name="label_enable_compression">"Enable compression"</string>
+ <string name="label_encrypt_filenames">"Encrypt filenames"</string>
<string name="user_id_no_name">"&lt;no name&gt;"</string>
<string name="none">"&lt;none&gt;"</string>