summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniël van den Berg <danielvandenberg95@gmail.com>2016-08-27 15:21:21 +0200
committerMohamed Zenadi <zeapo@users.noreply.github.com>2016-08-27 15:21:21 +0200
commit86083f03f5a60074cddb7496bff157b31ce8c2a3 (patch)
tree6ab7109fc184a33b6e8c443ae6bff918bbb9a194
parent4075fddd6005e5bd516e2a5ec43ed28804e8a318 (diff)
Added the ability to share a password as plaintext using any app, including ones like BluetoothToPc. (#213)
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java28
-rw-r--r--app/src/main/res/drawable-hdpi/ic_share_white_24dp.pngbin0 -> 397 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_share_white_24dp.pngbin0 -> 268 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_share_white_24dp.pngbin0 -> 496 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.pngbin0 -> 698 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.pngbin0 -> 938 bytes
-rw-r--r--app/src/main/res/menu/pgp_handler.xml5
-rw-r--r--app/src/main/res/values/strings.xml1
8 files changed, 33 insertions, 1 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
index 399564a1..60599d6d 100644
--- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
+++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
@@ -147,6 +147,9 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
case R.id.copy_password:
copyToClipBoard();
break;
+ case R.id.share_password_as_plaintext:
+ shareAsPlaintext();
+ break;
case R.id.edit_password:
editPassword();
break;
@@ -200,12 +203,35 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
invalidateOptionsMenu();
}
+ public void shareAsPlaintext() {
+
+ if (findViewById(R.id.share_password_as_plaintext) == null)
+ return;
+
+ final TextView cryptoPasswordShow = (TextView) findViewById(R.id.crypto_password_show);
+ if (cryptoPasswordShow == null) {
+ return;
+ }
+ final CharSequence text = cryptoPasswordShow.getText();
+
+ Intent sendIntent = new Intent();
+ sendIntent.setAction(Intent.ACTION_SEND);
+ sendIntent.putExtra(Intent.EXTRA_TEXT, text);
+ sendIntent.setType("text/plain");
+ startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_plaintext_password_to)));//Always show a picker to give the user a chance to cancel
+ }
+
public void copyToClipBoard() {
if (findViewById(R.id.crypto_password_show) == null)
return;
- ClipData clip = ClipData.newPlainText("pgp_handler_result_pm", ((TextView) findViewById(R.id.crypto_password_show)).getText());
+ final TextView cryptoPasswordShow = (TextView) findViewById(R.id.crypto_password_show);
+ if (cryptoPasswordShow == null) {
+ return;
+ }
+
+ ClipData clip = ClipData.newPlainText("pgp_handler_result_pm", cryptoPasswordShow.getText());
clipboard.setPrimaryClip(clip);
try {
showToast(this.getResources().getString(R.string.clipboard_beginning_toast_text)
diff --git a/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..b09a6926
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..e944fd70
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..22a8783e
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..a35b3cd1
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..e351c7be
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/menu/pgp_handler.xml b/app/src/main/res/menu/pgp_handler.xml
index fbdef0c2..10cb42fd 100644
--- a/app/src/main/res/menu/pgp_handler.xml
+++ b/app/src/main/res/menu/pgp_handler.xml
@@ -2,6 +2,11 @@
xmlns:tools="http://schemas.android.com/tools"
xmlns:pwstore="http://schemas.android.com/apk/res-auto"
tools:context="com.zeapo.pwdstore.crypto.PgpHandler" >
+ <item android:title="Share as plaintext"
+ android:icon="@drawable/ic_share_white_24dp"
+ pwstore:showAsAction="ifRoom"
+ android:id="@+id/share_password_as_plaintext"
+ />
<item android:title="Copy password"
android:icon="@drawable/ic_content_copy_white_24dp"
pwstore:showAsAction="ifRoom"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6cd2120f..5359cd77 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -181,4 +181,5 @@
<string name="settings">Settings</string>
<string name="no_repo_selected">No external repository selected</string>
<string name="no_repo_selected2">No external repository selected</string>
+ <string name="send_plaintext_password_to">Send password as plaintext using…</string>
</resources>