From 3cad8b6248d136f21ef4bc4697feada299c8a58e Mon Sep 17 00:00:00 2001 From: uberspot Date: Tue, 11 Mar 2014 00:42:03 +0200 Subject: [PATCH] Appropriate save Icon in EditKeyActivity --- .../keychain/helper/ActionBarHelper.java | 60 ++++++++++++++++++ .../keychain/ui/EditKeyActivity.java | 2 +- .../main/res/drawable-hdpi/ic_action_save.png | Bin 0 -> 398 bytes .../main/res/drawable-mdpi/ic_action_save.png | Bin 0 -> 359 bytes .../res/drawable-xhdpi/ic_action_save.png | Bin 0 -> 451 bytes .../res/drawable-xxhdpi/ic_action_save.png | Bin 0 -> 500 bytes .../res/layout/actionbar_custom_view_save.xml | 27 ++++++++ .../actionbar_custom_view_save_cancel.xml | 29 +++++++++ .../layout/actionbar_include_save_button.xml | 36 +++++++++++ 9 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png create mode 100644 OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png create mode 100644 OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png create mode 100644 OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png create mode 100644 OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml create mode 100644 OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml create mode 100644 OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java index b55075e6c..6aa8e7d74 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java @@ -113,4 +113,64 @@ public class ActionBarHelper { actionBar.setCustomView(customActionBarView); } + /** + * Sets custom view on ActionBar for Save activities + * + * @param actionBar + * @param saveText + * @param saveOnClickListener + */ + public static void setSaveView(ActionBar actionBar, int saveText, + OnClickListener saveOnClickListener) { + // Inflate a "Save" custom action bar view to serve as the "Up" affordance. + final LayoutInflater inflater = (LayoutInflater) actionBar.getThemedContext() + .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); + final View customActionBarView = inflater + .inflate(R.layout.actionbar_custom_view_save, null); + + ((TextView) customActionBarView.findViewById(R.id.actionbar_save_text)).setText(saveText); + customActionBarView.findViewById(R.id.actionbar_save).setOnClickListener( + saveOnClickListener); + + // Show the custom action bar view and hide the normal Home icon and title. + actionBar.setDisplayShowTitleEnabled(false); + actionBar.setDisplayShowHomeEnabled(false); + actionBar.setDisplayShowCustomEnabled(true); + actionBar.setCustomView(customActionBarView); + } + + /** + * Sets custom view on ActionBar for Save/Cancel activities + * + * @param actionBar + * @param saveText + * @param saveOnClickListener + * @param cancelText + * @param cancelOnClickListener + */ + public static void setSaveCancelView(ActionBar actionBar, int saveText, + OnClickListener saveOnClickListener, int cancelText, + OnClickListener cancelOnClickListener) { + + // Inflate a "Done"/"Cancel" custom action bar view + final LayoutInflater inflater = (LayoutInflater) actionBar.getThemedContext() + .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); + final View customActionBarView = inflater.inflate( + R.layout.actionbar_custom_view_save_cancel, null); + + ((TextView) customActionBarView.findViewById(R.id.actionbar_save_text)).setText(saveText); + customActionBarView.findViewById(R.id.actionbar_save).setOnClickListener( + saveOnClickListener); + ((TextView) customActionBarView.findViewById(R.id.actionbar_cancel_text)) + .setText(cancelText); + customActionBarView.findViewById(R.id.actionbar_cancel).setOnClickListener( + cancelOnClickListener); + + // Show the custom action bar view and hide the normal Home icon and title. + actionBar.setDisplayShowTitleEnabled(false); + actionBar.setDisplayShowHomeEnabled(false); + actionBar.setDisplayShowCustomEnabled(true); + actionBar.setCustomView(customActionBarView, new ActionBar.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); + } } diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index 334fe5d3a..628f642d8 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -250,7 +250,7 @@ public class EditKeyActivity extends ActionBarActivity { */ private void handleActionEditKey(Intent intent) { // Inflate a "Done"/"Cancel" custom action bar - ActionBarHelper.setDoneView(getSupportActionBar(), R.string.btn_save, + ActionBarHelper.setSaveView(getSupportActionBar(), R.string.btn_save, new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b7783ccc4eca742de2b7eca8a3e931abbcb8bb GIT binary patch literal 398 zcmV;90df9`P)pqPHqBJ2KMjBH=%-8&Z|T47fu zz)>;xq){v8;w2EFV=g^F2wwr%5TT>VWj2JX0J9-n1{feRp8*1&UC3G;c+;p7(fs&4`SW_AC4ZqJ8piQ*8TrsS9co#y2gdI1Gcizri}}-&_87%Q!S;D sHq-l-atfezV6klgK@bG3rH=pu0H2{ob7jo@O#lD@07*qoM6N<$f-EMaDF6Tf literal 0 HcmV?d00001 diff --git a/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png new file mode 100644 index 0000000000000000000000000000000000000000..61304a68c71248d1919e3a7f5eff3c834bf61c6b GIT binary patch literal 359 zcmV-t0hs=YP)F4>9WY`OG&VMt1yY<) z?%T6x&%PzrKqS52f%+a3QqO`zyatKA1&BAJS;7URWYF}$92y41YEX3xfMUnVaR4Cz zvb-2g48x&7kN|W913pJE(IJ{aj<6g^2jF!C6CD$L!azHKs)_JB5Z^)*dqXP+2m|9! z4U70@EMkb&tV zwj@*orU73v%~zv}1Bfw*+9A+FYPCva8)6iU0t^5UU;w40M4ufCPG|rC002ovPDHLk FV1jPxec1p2 literal 0 HcmV?d00001 diff --git a/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png new file mode 100644 index 0000000000000000000000000000000000000000..29c5f4d3b4222300a3982a6fabf0bbed8484155a GIT binary patch literal 451 zcmV;!0X+VRP)9%LkkCR z#~GY9SD=TMk~Zmcg|u)D9{^ftX+xW_WK$p~7?=tBc~7!dGAn!h_A}l!&H(@b03^y& z*NSia?tyO?>-%N_^?DSsl`K@vN-W7EhErB#l4I619M{#y;Ct^M{BwQmP zQ)tbR6yr)^nfDNIe;vH0Meie z>j%YOcp;#}9-ax3eF}yE0uX=zZ`K0!hmW~oyzknd;phR%*E<@o_Ksc)knXvwx+#+& z0uYdF8m#u?-wfmZs^=MRvq0b3ZejHq0-mSA>K$Mjk^r&*0uaC?sFD9a=>Z7{I0W=u t2a6%Fbie#r+C%mZ00000{^m!30RTljO2DMue~kbD002ovPDHLkV1f+awb=jw literal 0 HcmV?d00001 diff --git a/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png new file mode 100644 index 0000000000000000000000000000000000000000..744350049a886da8655ef443ea272a03ed31249e GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGok|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7^iu~$GtHLn+>uQ1fCtZdO<(qcG=yB z8_o+Hx-MZQbGur&ynKI6P2bx;CvMJrdf=SRvAgRIFFapp-TP#b_d)wV7ne`hcxW4* zEXI8PzV8Mt8&}TRT1E=VH$50{ezW+xHQm!wXqL>(4QrmP+S7Y`*YV2h%*GEN35oG` zO;cv#@>W=|fdxDD&yk5y)R}>irGbGdphK%}0;i(P<98a&4h=$A`g7-OvhP`Pezhgn zjUCsfDlj=PFe)TWJAC0w-LsvWZY;Sj^?tdM!d{i?Rhqx-U(4}%O{iwzP+(vYU|{k& z@=7YXT=iVwHzNm5CdPM+H?#7p^tOoCNrKF1U=T=a$O&k}uBtL)x1YZAk16`-XBjEwnC7CLM@{~b!%bYmdKI;Vst03?yYO#lD@ literal 0 HcmV?d00001 diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml new file mode 100644 index 000000000..f0dcf177c --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml new file mode 100644 index 000000000..ba08a7714 --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml @@ -0,0 +1,29 @@ + + + + + + + + + \ No newline at end of file diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml new file mode 100644 index 000000000..86c59dcc5 --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml @@ -0,0 +1,36 @@ + + + + + + + \ No newline at end of file