diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-07-03 15:05:43 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-07-03 15:06:05 +0200 |
commit | 55f067b0633a177c2d441a7c79115dd44d7c4a8a (patch) | |
tree | bd167ded36e923c2acda511b82e84284717245d2 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter | |
parent | 8cbdf7b1c514f7b9148e1fef1a6776666d1e04aa (diff) | |
download | open-keychain-55f067b0633a177c2d441a7c79115dd44d7c4a8a.tar.gz open-keychain-55f067b0633a177c2d441a7c79115dd44d7c4a8a.tar.bz2 open-keychain-55f067b0633a177c2d441a7c79115dd44d7c4a8a.zip |
Work on edit
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter')
2 files changed, 30 insertions, 32 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java index 47f17357a..d729648e5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java @@ -107,7 +107,6 @@ public class UserIdsAdapter extends CursorAdapter implements AdapterView.OnItemC TextView vAddress = (TextView) view.findViewById(R.id.address); TextView vComment = (TextView) view.findViewById(R.id.comment); ImageView vVerified = (ImageView) view.findViewById(R.id.certified); - ImageView vHasChanges = (ImageView) view.findViewById(R.id.has_changes); ImageView vEditImage = (ImageView) view.findViewById(R.id.edit_image); String userId = cursor.getString(INDEX_USER_ID); @@ -135,27 +134,23 @@ public class UserIdsAdapter extends CursorAdapter implements AdapterView.OnItemC // for edit key if (mSaveKeyringParcel != null) { - boolean changeUserId = (mSaveKeyringParcel.changePrimaryUserId != null + boolean changeAnyPrimaryUserId = (mSaveKeyringParcel.changePrimaryUserId != null); + boolean changeThisPrimaryUserId = (mSaveKeyringParcel.changePrimaryUserId != null && mSaveKeyringParcel.changePrimaryUserId.equals(userId)); - boolean revoke = (mSaveKeyringParcel.revokeUserIds.contains(userId)); + boolean revokeThisUserId = (mSaveKeyringParcel.revokeUserIds.contains(userId)); - if (changeUserId) { - isPrimary = !isPrimary; + if (changeAnyPrimaryUserId) { + // change all user ids, only this one should be primary + isPrimary = changeThisPrimaryUserId; } - if (revoke) { + if (revokeThisUserId) { if (!isRevoked) { isRevoked = true; } } - if (changeUserId || revoke) { - vHasChanges.setVisibility(View.VISIBLE); - } else { - vHasChanges.setVisibility(View.GONE); - } vEditImage.setVisibility(View.VISIBLE); } else { - vHasChanges.setVisibility(View.GONE); vEditImage.setVisibility(View.GONE); } @@ -166,11 +161,14 @@ public class UserIdsAdapter extends CursorAdapter implements AdapterView.OnItemC // disable and strike through text for revoked user ids vName.setEnabled(false); vAddress.setEnabled(false); + vComment.setEnabled(false); vName.setText(OtherHelper.strikeOutText(vName.getText())); vAddress.setText(OtherHelper.strikeOutText(vAddress.getText())); + vComment.setText(OtherHelper.strikeOutText(vComment.getText())); } else { vName.setEnabled(true); vAddress.setEnabled(true); + vComment.setEnabled(true); // verified: has been verified // isPrimary: show small star icon for primary user ids 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 898e60e2d..3fe5574ee 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 @@ -106,14 +106,14 @@ public class UserIdsAddedAdapter extends ArrayAdapter<UserIdsAddedAdapter.UserId if (convertView == null) { // Not recycled, inflate a new view convertView = mInflater.inflate(R.layout.edit_key_user_id_added_item, null); - final ViewHolder viewHolder = new ViewHolder(); - viewHolder.vAddress = (AutoCompleteTextView) convertView.findViewById(R.id.user_id_added_item_address); - viewHolder.vName = (AutoCompleteTextView) convertView.findViewById(R.id.user_id_added_item_name); - viewHolder.vComment = (EditText) convertView.findViewById(R.id.user_id_added_item_comment); - viewHolder.vDelete = (ImageButton) convertView.findViewById(R.id.user_id_added_item_delete); - convertView.setTag(viewHolder); - - viewHolder.vAddress.addTextChangedListener(new TextWatcher() { + final ViewHolder holder = new ViewHolder(); + holder.vAddress = (AutoCompleteTextView) convertView.findViewById(R.id.user_id_added_item_address); + holder.vName = (AutoCompleteTextView) convertView.findViewById(R.id.user_id_added_item_name); + holder.vComment = (EditText) convertView.findViewById(R.id.user_id_added_item_comment); + holder.vDelete = (ImageButton) convertView.findViewById(R.id.user_id_added_item_delete); + convertView.setTag(holder); + + holder.vAddress.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @@ -125,26 +125,26 @@ public class UserIdsAddedAdapter extends ArrayAdapter<UserIdsAddedAdapter.UserId @Override public void afterTextChanged(Editable s) { // update referenced item in view holder - viewHolder.mModel.address = s.toString(); + holder.mModel.address = s.toString(); // show icon on valid email addresses - if (viewHolder.mModel.address.length() > 0) { - Matcher emailMatcher = Patterns.EMAIL_ADDRESS.matcher(viewHolder.mModel.address); + if (holder.mModel.address.length() > 0) { + Matcher emailMatcher = Patterns.EMAIL_ADDRESS.matcher(holder.mModel.address); if (emailMatcher.matches()) { - viewHolder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, + holder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.uid_mail_ok, 0); } else { - viewHolder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, + holder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.uid_mail_bad, 0); } } else { // remove drawable if email is empty - viewHolder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); + holder.vAddress.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); } } }); - viewHolder.vName.addTextChangedListener(new TextWatcher() { + holder.vName.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @@ -156,11 +156,11 @@ public class UserIdsAddedAdapter extends ArrayAdapter<UserIdsAddedAdapter.UserId @Override public void afterTextChanged(Editable s) { // update referenced item in view holder - viewHolder.mModel.name = s.toString(); + holder.mModel.name = s.toString(); } }); - viewHolder.vComment.addTextChangedListener(new TextWatcher() { + holder.vComment.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @@ -172,15 +172,15 @@ public class UserIdsAddedAdapter extends ArrayAdapter<UserIdsAddedAdapter.UserId @Override public void afterTextChanged(Editable s) { // update referenced item in view holder - viewHolder.mModel.comment = s.toString(); + holder.mModel.comment = s.toString(); } }); - viewHolder.vDelete.setOnClickListener(new View.OnClickListener() { + holder.vDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // remove reference model item from adapter (data and notify about change) - UserIdsAddedAdapter.this.remove(viewHolder.mModel); + UserIdsAddedAdapter.this.remove(holder.mModel); } }); |