aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-09-21 23:19:21 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-09-21 23:19:21 +0200
commitdb7da6525ee12af54002f7edf6574b0b49f17b41 (patch)
tree79e7995a5076dd2ecf2c398308025161f35eb662
parentf50c0e1905f699e929d5f4962d700214aff4c684 (diff)
downloadopen-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.tar.gz
open-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.tar.bz2
open-keychain-db7da6525ee12af54002f7edf6574b0b49f17b41.zip
Fix custom key configuration for primary user ids
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java22
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java7
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java14
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java3
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java1
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml2
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>