diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-21 23:19:21 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-21 23:19:21 +0200 |
commit | db7da6525ee12af54002f7edf6574b0b49f17b41 (patch) | |
tree | 79e7995a5076dd2ecf2c398308025161f35eb662 /OpenKeychain/src/main | |
parent | f50c0e1905f699e929d5f4962d700214aff4c684 (diff) | |
download | open-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.tar.gz open-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.tar.bz2 open-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.zip |
Fix custom key configuration for primary user ids
Diffstat (limited to 'OpenKeychain/src/main')
6 files changed, 38 insertions, 11 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index e20d5e888..e7d5d3869 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -66,6 +66,7 @@ import org.sufficientlysecure.keychain.ui.dialog.EditSubkeyExpiryDialogFragment; import org.sufficientlysecure.keychain.ui.dialog.EditUserIdDialogFragment; import org.sufficientlysecure.keychain.ui.dialog.PassphraseDialogFragment; import org.sufficientlysecure.keychain.ui.dialog.SetPassphraseDialogFragment; +import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.Log; public class EditKeyFragment extends LoaderFragment implements @@ -190,10 +191,10 @@ public class EditKeyFragment extends LoaderFragment implements mPrimaryUserId = saveKeyringParcel.mChangePrimaryUserId; mCurrentPassphrase = saveKeyringParcel.mNewPassphrase; - mUserIdsAddedAdapter = new UserIdsAddedAdapter(getActivity(), mSaveKeyringParcel.mAddUserIds); + mUserIdsAddedAdapter = new UserIdsAddedAdapter(getActivity(), mSaveKeyringParcel.mAddUserIds, true); mUserIdsAddedList.setAdapter(mUserIdsAddedAdapter); - mSubkeysAddedAdapter = new SubkeysAddedAdapter(getActivity(), mSaveKeyringParcel.mAddSubKeys); + mSubkeysAddedAdapter = new SubkeysAddedAdapter(getActivity(), mSaveKeyringParcel.mAddSubKeys, true); mSubkeysAddedList.setAdapter(mSubkeysAddedAdapter); // show directly @@ -270,13 +271,13 @@ public class EditKeyFragment extends LoaderFragment implements mUserIdsList.setAdapter(mUserIdsAdapter); // TODO: SaveParcel from savedInstance?! - mUserIdsAddedAdapter = new UserIdsAddedAdapter(getActivity(), mSaveKeyringParcel.mAddUserIds); + mUserIdsAddedAdapter = new UserIdsAddedAdapter(getActivity(), mSaveKeyringParcel.mAddUserIds, false); mUserIdsAddedList.setAdapter(mUserIdsAddedAdapter); mSubkeysAdapter = new SubkeysAdapter(getActivity(), null, 0, mSaveKeyringParcel); mSubkeysList.setAdapter(mSubkeysAdapter); - mSubkeysAddedAdapter = new SubkeysAddedAdapter(getActivity(), mSaveKeyringParcel.mAddSubKeys); + mSubkeysAddedAdapter = new SubkeysAddedAdapter(getActivity(), mSaveKeyringParcel.mAddSubKeys, false); mSubkeysAddedList.setAdapter(mSubkeysAddedAdapter); } @@ -566,6 +567,18 @@ public class EditKeyFragment extends LoaderFragment implements } private void returnKeyringParcel() { + if (mSaveKeyringParcel.mAddUserIds.size() == 0) { + Notify.showNotify(getActivity(), R.string.edit_key_error_add_identity, Notify.Style.ERROR); + return; + } + if (mSaveKeyringParcel.mAddSubKeys.size() == 0) { + Notify.showNotify(getActivity(), R.string.edit_key_error_add_subkey, Notify.Style.ERROR); + return; + } + + // use first user id as primary + mSaveKeyringParcel.mChangePrimaryUserId = mSaveKeyringParcel.mAddUserIds.get(0); + Intent returnIntent = new Intent(); returnIntent.putExtra(EditKeyActivity.EXTRA_SAVE_KEYRING_PARCEL, mSaveKeyringParcel); getActivity().setResult(Activity.RESULT_OK, returnIntent); @@ -638,7 +651,6 @@ public class EditKeyFragment extends LoaderFragment implements * Closes this activity, returning a result parcel with a single error log entry. */ void finishWithError(LogType reason) { - // Prepare an intent with an EXTRA_RESULT Intent intent = new Intent(); intent.putExtra(OperationResult.EXTRA_RESULT, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java index 6d4613aee..9f5d5341e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java @@ -42,11 +42,14 @@ import java.util.TimeZone; public class SubkeysAddedAdapter extends ArrayAdapter<SaveKeyringParcel.SubkeyAdd> { private LayoutInflater mInflater; private Activity mActivity; + private boolean mNewKeyring; - public SubkeysAddedAdapter(Activity activity, List<SaveKeyringParcel.SubkeyAdd> data) { + public SubkeysAddedAdapter(Activity activity, List<SaveKeyringParcel.SubkeyAdd> data, + boolean newKeyring) { super(activity, -1, data); mActivity = activity; mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + mNewKeyring = newKeyring; } static class ViewHolder { @@ -107,7 +110,7 @@ public class SubkeysAddedAdapter extends ArrayAdapter<SaveKeyringParcel.SubkeyAd holder.mModel.mCurve ); - boolean isMasterKey = position == 0; + boolean isMasterKey = mNewKeyring && position == 0; if (isMasterKey) { holder.vKeyId.setTypeface(null, Typeface.BOLD); } else { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java index 15ac11e0b..4c0e7a492 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java @@ -19,6 +19,7 @@ package org.sufficientlysecure.keychain.ui.adapter; import android.app.Activity; import android.content.Context; +import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -35,14 +36,16 @@ import java.util.List; public class UserIdsAddedAdapter extends ArrayAdapter<String> { private LayoutInflater mInflater; + private boolean mNewKeyring; // hold a private reference to the underlying data List private List<String> mData; - public UserIdsAddedAdapter(Activity activity, List<String> data) { + public UserIdsAddedAdapter(Activity activity, List<String> data, boolean newKeyring) { super(activity, -1, data); mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mData = data; + mNewKeyring = newKeyring; } public List<String> getData() { @@ -111,6 +114,15 @@ public class UserIdsAddedAdapter extends ArrayAdapter<String> { holder.vComment.setVisibility(View.GONE); } + boolean isPrimary = mNewKeyring && position == 0; + if (isPrimary) { + holder.vName.setTypeface(null, Typeface.BOLD); + holder.vAddress.setTypeface(null, Typeface.BOLD); + } else { + holder.vName.setTypeface(null, Typeface.NORMAL); + holder.vAddress.setTypeface(null, Typeface.NORMAL); + } + return convertView; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java index 800110d1e..27339a02f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java @@ -200,7 +200,6 @@ public class AddUserIdDialogFragment extends DialogFragment implements OnEditorA @Override public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); - Log.d(Constants.TAG, "onDismiss"); // hide keyboard on dismiss hideKeyboard(); @@ -210,7 +209,7 @@ public class AddUserIdDialogFragment extends DialogFragment implements OnEditorA InputMethodManager inputManager = (InputMethodManager) getActivity() .getSystemService(Context.INPUT_METHOD_SERVICE); - //check if no view has focus: + // check if no view has focus: View v = getActivity().getCurrentFocus(); if (v == null) return; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java index 1e2a35be2..1c4eece6b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java @@ -130,7 +130,6 @@ public class ContactHelper { Set<String> currNames = new HashSet<String>(); while (profileCursor.moveToNext()) { String name = profileCursor.getString(1); - Log.d(Constants.TAG, "name" + name); if (name != null) { currNames.add(name); } diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 3b1f01f1f..e5e320585 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -497,6 +497,8 @@ </string-array> <string name="edit_key_new_subkey">"new subkey"</string> <string name="edit_key_select_flag">"Please select at least one flag!"</string> + <string name="edit_key_error_add_identity">"Add at least one identity!"</string> + <string name="edit_key_error_add_subkey">"Add at least one subkey!"</string> <!-- Create key --> <string name="create_key_upload">"Upload key to keyserver"</string> |