diff options
| author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-03-10 23:48:53 +0100 | 
|---|---|---|
| committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-03-10 23:48:53 +0100 | 
| commit | 3f5de1eac6633f906a7063fe7a6b6d43e9f63a24 (patch) | |
| tree | 935078b1bb4c0ece6b455be3a3c03989c1d87f0e /OpenPGP-Keychain/src | |
| parent | 612ad9e6b3ac10d453d30aac334c45e6455e5aef (diff) | |
| parent | 3cad8b6248d136f21ef4bc4697feada299c8a58e (diff) | |
| download | open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.tar.gz open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.tar.bz2 open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.zip  | |
Merge pull request #390 from uberspot/master
Appropriate save Icon in EditKeyActivity fixes #382
Diffstat (limited to 'OpenPGP-Keychain/src')
| -rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java | 60 | ||||
| -rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java | 2 | ||||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png | bin | 0 -> 398 bytes | |||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png | bin | 0 -> 359 bytes | |||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png | bin | 0 -> 451 bytes | |||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png | bin | 0 -> 500 bytes | |||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml | 27 | ||||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml | 29 | ||||
| -rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml | 36 | 
9 files changed, 153 insertions, 1 deletions
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 Binary files differnew file mode 100644 index 000000000..c4b7783cc --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..61304a68c --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..29c5f4d3b --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..744350049 --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png 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 @@ +<!-- +      Copyright 2013 The Android Open Source Project + +      Licensed under the Apache License, Version 2.0 (the "License"); +      you may not use this file except in compliance with the License. +      You may obtain a copy of the License at + +          http://www.apache.org/licenses/LICENSE-2.0 + +      Unless required by applicable law or agreed to in writing, software +      distributed under the License is distributed on an "AS IS" BASIS, +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +      See the License for the specific language governing permissions and +      limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +    android:layout_width="match_parent" +    android:layout_height="match_parent" +    android:dividerPadding="12dp" +    android:orientation="horizontal" +    android:divider="@drawable/abc_list_divider_holo_light" +    android:showDividers="end" > + +    <include layout="@layout/actionbar_include_save_button" /> + +</LinearLayout>
\ 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 @@ +<!-- +      Copyright 2013 The Android Open Source Project + +      Licensed under the Apache License, Version 2.0 (the "License"); +      you may not use this file except in compliance with the License. +      You may obtain a copy of the License at + +          http://www.apache.org/licenses/LICENSE-2.0 + +      Unless required by applicable law or agreed to in writing, software +      distributed under the License is distributed on an "AS IS" BASIS, +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +      See the License for the specific language governing permissions and +      limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +    android:layout_width="match_parent" +    android:layout_height="match_parent" +    android:dividerPadding="12dp" +    android:divider="@drawable/abc_list_divider_holo_light" +    android:orientation="horizontal" +    android:showDividers="middle"> + +    <include layout="@layout/actionbar_include_cancel_button" /> + +    <include layout="@layout/actionbar_include_save_button" /> + +</LinearLayout>
\ 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 @@ +<!-- +      Copyright 2013 The Android Open Source Project + +      Licensed under the Apache License, Version 2.0 (the "License"); +      you may not use this file except in compliance with the License. +      You may obtain a copy of the License at + +          http://www.apache.org/licenses/LICENSE-2.0 + +      Unless required by applicable law or agreed to in writing, software +      distributed under the License is distributed on an "AS IS" BASIS, +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +      See the License for the specific language governing permissions and +      limitations under the License. +--> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +    android:id="@+id/actionbar_save" +    style="@style/Widget.AppCompat.ActionButton" +    android:layout_width="0dp" +    android:layout_height="match_parent" +    android:layout_weight="1"> + +    <TextView +        android:id="@+id/actionbar_save_text" +        android:layout_width="wrap_content" +        android:layout_height="wrap_content" +        android:layout_gravity="center" +        android:drawableLeft="@drawable/ic_action_save" +        android:drawablePadding="8dp" +        android:gravity="center_vertical" +        android:paddingRight="20dp" +        style="@style/Widget.AppCompat.Light.ActionBar.TabText" +        android:text="Save (set in-code!)" /> + +</FrameLayout>
\ No newline at end of file  | 
