From 3cad8b6248d136f21ef4bc4697feada299c8a58e Mon Sep 17 00:00:00 2001 From: uberspot Date: Tue, 11 Mar 2014 00:42:03 +0200 Subject: Appropriate save Icon in EditKeyActivity --- .../keychain/helper/ActionBarHelper.java | 60 +++++++++++++++++++++ .../keychain/ui/EditKeyActivity.java | 2 +- .../src/main/res/drawable-hdpi/ic_action_save.png | Bin 0 -> 398 bytes .../src/main/res/drawable-mdpi/ic_action_save.png | Bin 0 -> 359 bytes .../src/main/res/drawable-xhdpi/ic_action_save.png | Bin 0 -> 451 bytes .../main/res/drawable-xxhdpi/ic_action_save.png | Bin 0 -> 500 bytes .../main/res/layout/actionbar_custom_view_save.xml | 27 ++++++++++ .../layout/actionbar_custom_view_save_cancel.xml | 29 ++++++++++ .../res/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 (limited to 'OpenPGP-Keychain/src') 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 000000000..c4b7783cc Binary files /dev/null and b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png differ 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 000000000..61304a68c Binary files /dev/null and b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png differ 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 000000000..29c5f4d3b Binary files /dev/null and b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png differ 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 000000000..744350049 Binary files /dev/null and b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png differ 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 -- cgit v1.2.3