From 8f070e24500616a78ed332fc7659e3d6b10860bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 2 Nov 2015 19:15:00 +0100 Subject: [PATCH] Support for Android 6 ACTION_PROCESS_TEXT --- .../drawables/ic_action_encrypt_paste.svg | 59 ++++++++++++++++++ Graphics/drawables/ic_action_encrypt_save.svg | 11 ++-- .../drawables/originals/content-paste.svg | 1 + Graphics/update-drawables.sh | 2 +- OpenKeychain/src/main/AndroidManifest.xml | 6 ++ .../keychain/ui/EncryptTextActivity.java | 30 ++++++++- .../keychain/ui/EncryptTextFragment.java | 22 ++++++- .../ic_action_encrypt_paste_24dp.png | Bin 0 -> 590 bytes .../ic_action_encrypt_paste_24dp.png | Bin 0 -> 433 bytes .../ic_action_encrypt_paste_24dp.png | Bin 0 -> 684 bytes .../status_signature_expired_cutout_96dp.png | Bin 0 -> 4973 bytes .../ic_action_encrypt_paste_24dp.png | Bin 0 -> 986 bytes .../ic_action_encrypt_paste_24dp.png | Bin 0 -> 1290 bytes .../main/res/menu/encrypt_text_fragment.xml | 8 +++ OpenKeychain/src/main/res/values/strings.xml | 1 + 15 files changed, 130 insertions(+), 10 deletions(-) create mode 100644 Graphics/drawables/ic_action_encrypt_paste.svg create mode 100644 Graphics/drawables/originals/content-paste.svg create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/ic_action_encrypt_paste_24dp.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/ic_action_encrypt_paste_24dp.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/ic_action_encrypt_paste_24dp.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_encrypt_paste_24dp.png create mode 100644 OpenKeychain/src/main/res/drawable-xxxhdpi/ic_action_encrypt_paste_24dp.png diff --git a/Graphics/drawables/ic_action_encrypt_paste.svg b/Graphics/drawables/ic_action_encrypt_paste.svg new file mode 100644 index 000000000..588c1d2ca --- /dev/null +++ b/Graphics/drawables/ic_action_encrypt_paste.svg @@ -0,0 +1,59 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/Graphics/drawables/ic_action_encrypt_save.svg b/Graphics/drawables/ic_action_encrypt_save.svg index 7bb435a5d..8502420f3 100644 --- a/Graphics/drawables/ic_action_encrypt_save.svg +++ b/Graphics/drawables/ic_action_encrypt_save.svg @@ -12,7 +12,7 @@ height="24" viewBox="0 0 24 24" id="svg2" - inkscape:version="0.48.3.1 r9886" + inkscape:version="0.48.5 r10040" sodipodi:docname="ic_action_encrypt_save.svg"> @@ -41,8 +41,8 @@ id="namedview6" showgrid="false" inkscape:zoom="9.8333333" - inkscape:cx="12.20339" - inkscape:cy="12" + inkscape:cx="-4.7288134" + inkscape:cy="11.949153" inkscape:window-x="0" inkscape:window-y="19" inkscape:window-maximized="1" @@ -50,10 +50,11 @@ + id="path4-7" + style="fill:#000000;fill-opacity:1" /> + style="fill:#000000;fill-opacity:1" /> diff --git a/Graphics/drawables/originals/content-paste.svg b/Graphics/drawables/originals/content-paste.svg new file mode 100644 index 000000000..11ea8f23d --- /dev/null +++ b/Graphics/drawables/originals/content-paste.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Graphics/update-drawables.sh b/Graphics/update-drawables.sh index 7dcf1d60f..18ed1b63a 100755 --- a/Graphics/update-drawables.sh +++ b/Graphics/update-drawables.sh @@ -22,7 +22,7 @@ SRC_DIR=./drawables/ #inkscape -w 512 -h 512 -e "$PLAY_DIR/$NAME.png" $NAME.svg -for NAME in "ic_cloud_search" "ic_action_encrypt_file" "ic_action_encrypt_text" "ic_action_verified_cutout" "ic_action_encrypt_copy" "ic_action_encrypt_save" "ic_action_encrypt_share" "status_lock_closed" "status_lock_error" "status_lock_open" "status_signature_expired_cutout" "status_signature_invalid_cutout" "status_signature_revoked_cutout" "status_signature_unknown_cutout" "status_signature_unverified_cutout" "status_signature_verified_cutout" "key_flag_authenticate" "key_flag_certify" "key_flag_encrypt" "key_flag_sign" "yubi_icon" "ic_stat_notify" "status_signature_verified_inner" "link" "octo_link" +for NAME in "ic_cloud_search" "ic_action_encrypt_file" "ic_action_encrypt_text" "ic_action_verified_cutout" "ic_action_encrypt_copy" "ic_action_encrypt_paste" "ic_action_encrypt_save" "ic_action_encrypt_share" "status_lock_closed" "status_lock_error" "status_lock_open" "status_signature_expired_cutout" "status_signature_invalid_cutout" "status_signature_revoked_cutout" "status_signature_unknown_cutout" "status_signature_unverified_cutout" "status_signature_verified_cutout" "key_flag_authenticate" "key_flag_certify" "key_flag_encrypt" "key_flag_sign" "yubi_icon" "ic_stat_notify" "status_signature_verified_inner" "link" "octo_link" do echo $NAME inkscape -w 24 -h 24 -e "$MDPI_DIR/${NAME}_24dp.png" "$SRC_DIR/$NAME.svg" diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index 296685684..52d85bb90 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -210,6 +210,12 @@ + + + + + + Constants.TEXT_LENGTH_LIMIT) { + sharedText = sharedText.substring(0, Constants.TEXT_LENGTH_LIMIT); + Notify.create(this, R.string.snack_shared_text_too_long, Style.WARN).show(); + } + // handle like normal text encryption, override action and extras to later + // executeServiceMethod ACTION_ENCRYPT_TEXT in main actions + textData = sharedText; + } + } + if (textData == null) { textData = ""; } @@ -108,7 +132,7 @@ public class EncryptTextActivity extends EncryptActivity { if (savedInstanceState == null) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); - EncryptTextFragment encryptFragment = EncryptTextFragment.newInstance(textData); + EncryptTextFragment encryptFragment = EncryptTextFragment.newInstance(textData, returnProcessText); transaction.replace(R.id.encrypt_text_container, encryptFragment); transaction.commit(); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java index 4ce241c02..10d88253d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java @@ -56,8 +56,10 @@ public class EncryptTextFragment public static final String ARG_TEXT = "text"; public static final String ARG_USE_COMPRESSION = "use_compression"; + public static final String ARG_RETURN_PROCESS_TEXT = "return_process_text"; private boolean mShareAfterEncrypt; + private boolean mReturnProcessTextAfterEncrypt; private boolean mUseCompression; private boolean mHiddenRecipients = false; @@ -66,11 +68,12 @@ public class EncryptTextFragment /** * Creates new instance of this fragment */ - public static EncryptTextFragment newInstance(String text) { + public static EncryptTextFragment newInstance(String text, boolean returnProcessTextAfterEncrypt) { EncryptTextFragment frag = new EncryptTextFragment(); Bundle args = new Bundle(); args.putString(ARG_TEXT, text); + args.putBoolean(ARG_RETURN_PROCESS_TEXT, returnProcessTextAfterEncrypt); frag.setArguments(args); return frag; @@ -128,6 +131,7 @@ public class EncryptTextFragment super.onCreate(savedInstanceState); if (savedInstanceState == null) { mMessage = getArguments().getString(ARG_TEXT); + mReturnProcessTextAfterEncrypt = getArguments().getBoolean(ARG_RETURN_PROCESS_TEXT, false); } Preferences prefs = Preferences.getPreferences(getActivity()); @@ -151,6 +155,12 @@ public class EncryptTextFragment inflater.inflate(R.menu.encrypt_text_fragment, menu); menu.findItem(R.id.check_enable_compression).setChecked(mUseCompression); + + if (mReturnProcessTextAfterEncrypt) { + menu.findItem(R.id.encrypt_paste).setVisible(true); + menu.findItem(R.id.encrypt_copy).setVisible(false); + menu.findItem(R.id.encrypt_share).setVisible(false); + } } @Override @@ -177,6 +187,11 @@ public class EncryptTextFragment cryptoOperation(new CryptoInputParcel(new Date())); break; } + case R.id.encrypt_paste: { + hideKeyboard(); + cryptoOperation(new CryptoInputParcel(new Date())); + break; + } default: { return super.onOptionsItemSelected(item); } @@ -328,6 +343,11 @@ public class EncryptTextFragment // Share encrypted message/file startActivity(Intent.createChooser(createSendIntent(result.getResultBytes()), getString(R.string.title_share_message))); + } else if (mReturnProcessTextAfterEncrypt) { + Intent resultIntent = new Intent(); + resultIntent.putExtra(Intent.EXTRA_PROCESS_TEXT, new String(result.getResultBytes())); + getActivity().setResult(Activity.RESULT_OK, resultIntent); + getActivity().finish(); } else { // Copy to clipboard copyToClipboard(result); diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_action_encrypt_paste_24dp.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_action_encrypt_paste_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..356cfbe434cd4d00dab3586075cf6e1d0612f094 GIT binary patch literal 590 zcmV-U0)t!NSJnjF4~AXN%y;IS zb9Uy;MoP(6!nVy8Fp6GK4*x_@L<}NguF2R=1(iZ>V;Rd4u@Di%O%sI6ID@n0^C+%Q zWTccjX_&zZ&R1-wu!_CocwI(l4nr(fY>U`~!(&+;MduQhknpB_U&5=3?P?u2rah@6 zVjs@o2p*=C9#{IlV0XsFI%ZQ!pZ_{SitpoDx!R3(vC^L!wgasr6cNX91qUnU0p{@( z3%G~C^RoZ+h?_h3q}X9mu@6&99~wspI}|%*+zM}Er{bI$H)gfs??o;`IYIL!@evN; zTFr!O6U6*VCobSyPS8wUnkv``?^;UfZA5&m8M7T5cDDO75WKzHGz$Kkq|r&2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4ke_NbfKeX z*NS-^?`tg4NYb#nsbr(~-{FUP{bdg(&L0Pu%lB8m`@Z*a-|iDWk9%fr+~sehpd{z& zVyo1r{OIZl#v6x<_Z%!X=6)} z4*${m)#-GXjTFZL@0!EsmHt0sNdFO>A$!=&?$I*&gl&&L*om&reHgp&>Ia_gil9~b zkL1NpxrJ`e5R5Opv2?9SmF2V#JLg+!m0#$5UlD7#tRC~E6sc4 zp7t)Z(&t<7M}`@E4p&Y09&vLy!#`tx+vVL{i|)^t5!C;{*w4-ob>r-r`_7DRl9%gG ZY%jNZo4O)E9T;*944$rjF6*2UngI8Yu@V3P literal 0 HcmV?d00001 diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_action_encrypt_paste_24dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_action_encrypt_paste_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7fdb73207c6a001d39e27ec373ac1380439a67 GIT binary patch literal 684 zcmV;d0#p5oP)u$lWK1awic%sAHBBkA zw!zNYnrxJvd_*Z}7PGd+!ooC3S+F3D#UM5q$HG-_xAz_IedjgTwMkwKlh&d z+~Swqq3@<9=pd?wIf|z2BR$yo0U$)#*kKF31c-#7IOu z#cNDQ#O;V!Q*ztUL+YI!Eq(0zuwUQsa`(ndepS1lINRyIl~&@2Scfy%)y6!GrTBo0 zIDn%#77-8eagNk8xQQX`t5Q>y4zIx{f9}@R!hd5IzQ5&o5fgaP#@?4Fa2l&IiRLxL%AF1$8qUvv`1I3$hY-gUq~>nHzAfMZG>Vqm3-d z%oCaUwNt)DKLZVcy3r7*8x4WF(GaK`4S~AR5U3lAo+A)?ncBQPHKO!RTW=wD>GlsC&_}JPWKy&eux_ab)z9rH+}*hV07%6 Sr&nG80000 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 literal 0 HcmV?d00001 diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_encrypt_paste_24dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_action_encrypt_paste_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..50987bdd6dc0548d4bc0051b5be7b788508ca203 GIT binary patch literal 986 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!EX7WqAsj$Z!;#Vf4nJ zXtsecqtcuEJwQRp64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<{O!#!Ob zLn`LHoo$^V;waIu|9*!POT3^oYwyKJ4z2<BP)C<@vmaMWbW)Hg> zq`rWOhaqZm9K+t7kHu@7ET6t%*>`oK@w7T7_gg^%8yF<|Tx;0`jm?o>C9{U65$u%cyV|j~B7p`eipkGCkGs0v<#3UEbF$Occ^kKAg~oDExSSrcXaBq<+XPtFsLlErHP!yh zdJe8lcNCT8x-35GHA{bC4x`FOTc0l{Hb_Ry`tff`ht8>hsn=bK=Zi}At@UpR3uK&U z^ikV_tK_($RYO*r#K|k{KE01~S=@U5tlfXKA@jiD9(9ul;ny{Mmd;0tce(62t;q6p zuIGBzY3VlGl$5L)U6!}})B0}n4a z{>{7xjOH!B#D4p1(Ua+lWK6!vziLawgjMS}MZI0lF&$@W-Mw(t`O7If!RobE|L*Xg zIVX|alEGA|^_Fqz%jS^Mh|vDkuVntkiSJsmYLb#~_|?6utfp+cbBRNX3z2dP9N93F z6IQ_!zw_t6H@$7`l2UkXM&^w4E6Ng;tasPnyeGH(4nJ zn8$)Jqhx~{kij5X;u=vBoS#-wo>-L1P+nfHmzkGcoSayYs+V7sKKq@G6wsh{PZ!6K ziaBrR_;$#+O0>-nUwmlQj<%^f5+>`Kl(_#rS>Wd4Wb$N*TcC(wJ;yzkj}HtNsoQ!4 z2)e4aC_Gd8m*T1-@LzRakH)bIgEhyTH@PuyViPw1Y4hdHt-j5hZRf7~srK@HW7Erf ztJbf2y>Rum>?*G`w+F{H@9}0>DIS<9@W6+oK#j#hm}w3tbGuz+p29Qr5sV*I=Zsa)_`m!8f^TOY{dJ@=HnxUcAjMPDl2j~YF-PC2?~XVsFGOvk+D zt7}iwd@em(KX|=KXoJ|fNn8KO_=*}B=zPj^u%BSUa)&X-tMKg8*ZX`gZQ@EiCH#KF zlI4wu4}>3RnJK&a>bA*$9epkZJy3oyspo19;~KNg&U?jj4hei=sV6N^YV`GD&|?7vtxjpgMHAGr*z zrkhzwio_pDA+jj??uJ9{dxuaXMX*2HuBr^hOqWH_K?4QrMz>k{~LU;EMP9Ex_#fR zL0mO={q1vRb?jp5U03J!B>ynjAZc;zWB>ZwjjC&REIyFVnN;RAyWwJ(t#`xqY7J|P z$p!{2HS;$l=jC+oS95-z|F%Gu$?k-v!gZBDJOz=5D(tt)`m6QWo^Jal92QYw>Kt3F zBCg)8oI&VI({+vd(*CUN{U52JZ_&(9f4o*tNeAXY@U zFzX%LwQ`I2t-W7Q82pPr`TzLwyRx5jUr#u1?8|)m_N^UU7C{?p)>iiPgE9}54oYeVCs z_{Vo@f|pO2&0zeS`-erj?WAkW(Z=D%%r>FRA9&ic%)H4`z`bGem%|qYyTZl7Z`$a8 z*K<*x#~dZ3me#N8%Ot)nb@!<=``)GRUcgv>U;&oQfg{flDSUGK>dahyv#BN-^%91g z@BfO;{A7KgYww+JOZsNdyel`C|7Y6*b>pLFUDw8MU!u^>V0@cr&m844wm75Bx_Mil z-_T#N<@%ww2hgTe~DWM4f4iq); literal 0 HcmV?d00001 diff --git a/OpenKeychain/src/main/res/menu/encrypt_text_fragment.xml b/OpenKeychain/src/main/res/menu/encrypt_text_fragment.xml index 80b78457d..4d3d53870 100644 --- a/OpenKeychain/src/main/res/menu/encrypt_text_fragment.xml +++ b/OpenKeychain/src/main/res/menu/encrypt_text_fragment.xml @@ -2,6 +2,14 @@ + + "Phrases match" "Encrypt/sign and share text" "Encrypt/sign and copy text" + "Encrypt/sign and paste text" "View certification key" "Create key" "Add file(s)"