From 060a00acc85bbdc94748b5c6d47ae4baa32d46c1 Mon Sep 17 00:00:00 2001 From: str4d Date: Sat, 13 Dec 2014 04:27:32 +0000 Subject: [PATCH] Copy EmailDestinations to clipboard --- .../android/util/ViewAddressFragment.java | 19 ++++++++ .../ic_content_copy_grey600_24dp.png | Bin 0 -> 287 bytes .../ic_content_copy_grey600_24dp.png | Bin 0 -> 217 bytes .../ic_content_copy_grey600_24dp.png | Bin 0 -> 320 bytes .../ic_content_copy_grey600_24dp.png | Bin 0 -> 435 bytes .../main/res/layout/fragment_view_address.xml | 46 +++++++++++++----- app/src/main/res/values/strings.xml | 2 + 7 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_content_copy_grey600_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_content_copy_grey600_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_content_copy_grey600_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_content_copy_grey600_24dp.png diff --git a/app/src/main/java/i2p/bote/android/util/ViewAddressFragment.java b/app/src/main/java/i2p/bote/android/util/ViewAddressFragment.java index 24437b4..111b27f 100644 --- a/app/src/main/java/i2p/bote/android/util/ViewAddressFragment.java +++ b/app/src/main/java/i2p/bote/android/util/ViewAddressFragment.java @@ -2,6 +2,7 @@ package i2p.bote.android.util; import android.app.AlertDialog; import android.app.Dialog; +import android.content.Context; import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.Point; @@ -25,6 +26,7 @@ import android.view.animation.AlphaAnimation; import android.view.animation.DecelerateInterpolator; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import com.nineoldandroids.animation.Animator; import com.nineoldandroids.animation.AnimatorListenerAdapter; @@ -90,6 +92,23 @@ public abstract class ViewAddressFragment extends Fragment { mAddressQrCode = (ImageView) view.findViewById(R.id.email_dest_qr_code); mExpandedQrCode = (ImageView) view.findViewById(R.id.expanded_qr_code); + view.findViewById(R.id.copy_key).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Object clipboardService = getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { + android.text.ClipboardManager clipboard = (android.text.ClipboardManager) clipboardService; + clipboard.setText(mAddress); + } else { + android.content.ClipboardManager clipboard = (android.content.ClipboardManager) clipboardService; + android.content.ClipData clip = android.content.ClipData.newPlainText( + getString(R.string.bote_dest_for, getPublicName()), mAddress); + clipboard.setPrimaryClip(clip); + } + Toast.makeText(getActivity(), R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show(); + } + }); + if (mAddress != null) { loadAddress(); } diff --git a/app/src/main/res/drawable-hdpi/ic_content_copy_grey600_24dp.png b/app/src/main/res/drawable-hdpi/ic_content_copy_grey600_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..5592d5c80153adffbf0aa6918fdf98e18f0596b0 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K;Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZK3>dAqwX{BQ3+vmeOgEbxddW?$+{tfyyU&G_Tf?^jb=L-w=C%A@ukczwQ z!I>i^>Egq4ZR)S7Mvu%pen`ah8*t5bJaYWO|DgC9HbL=b_5-W3K1#a8958oSD{Y!_ zWkFzb+cw7&tk$k>@BU0VPE literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_content_copy_grey600_24dp.png b/app/src/main/res/drawable-mdpi/ic_content_copy_grey600_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..bab9b4d669edd03f93365a4d2f23daec6edc1a84 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO=~G=WkJm z=;`7ZVsScIBUORdX~ls{)0h4)bXX%*pnZHHV>e5k`oy)2+vDS={z|^wa9&@3W9EUk zCOgioXj5Fv=v={(UD2vux&OejgYxNp6@jn1eVGLX7^;7)i_(f&bronhgQu&X%Q~lo FCIFl*LstL* literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_content_copy_grey600_24dp.png b/app/src/main/res/drawable-xhdpi/ic_content_copy_grey600_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..68ccece61d349fda144356ca660bbc4d154bf749 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}tg=CK)Uj~LMH3o);76yi2K%s^g z3=E|}g|8AA7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+;1OBOz`!jG!i)^F=12eq zcX+xuhD02Gd&7|LkO5EY!~MptG0N^Q?#L?gF~>0G1(&*=kzp+4WYIESGf`nu?nS*l zXA1Y7n5cUEYFlBrsp^CqmyN#9OJEgB7n`UZ)z}xR!yfkFpc9jbbz*USr=WsE0|O%yiv{E1G)AU>d=fMMZu|K+ z=g@S=1DEqg1$HX_@Nt6MFV_j}lL4yykVD*`oM&*PX>cKQMT@`njxg HN@xNA2WM@y literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_content_copy_grey600_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_content_copy_grey600_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..2fdbbea1384bea28573f646704c0387608d5fab8 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhaw6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew4N!t9$=lt9;eUJonf*W>XMsm#F#`j)FbFd;%$g&? zz`&^O>EalYaqsOd$E-sRBF8@d7wHtMVt&agb?e8vU$Q!F2`o8Jpgrk2d_Lv*<6xN;+73V0?(RehI^S;WwdCH3?NnZc? zV4sa-SJ$%?M}ODiO$*9ycKupb5wL5;`fvB7zd#T!TFAUFWJ3DLEe{yOrz30As{-bleU)Wu5<+8o- SaODApC4;A{pUXO@geCy#2drrT literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/fragment_view_address.xml b/app/src/main/res/layout/fragment_view_address.xml index 355863f..eaa0df4 100644 --- a/app/src/main/res/layout/fragment_view_address.xml +++ b/app/src/main/res/layout/fragment_view_address.xml @@ -1,8 +1,8 @@ @@ -67,16 +67,16 @@ + android:layout_height="match_parent"> + android:orientation="vertical" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + No identities were found. Is the file encrypted? Identities imported This field is required + Bote address for %s + Copied to clipboard