aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-03-11 23:10:32 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-03-11 23:10:32 +0530
commit45eea9b5b8d803996f5f89caf7e7cea0089af7f7 (patch)
tree0ddd126ca079c9947ec01b17629a214f7bce6530 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
parent82a2a76a33e72d2a2ad98b06504196dc0c15d496 (diff)
downloadopen-keychain-45eea9b5b8d803996f5f89caf7e7cea0089af7f7.tar.gz
open-keychain-45eea9b5b8d803996f5f89caf7e7cea0089af7f7.tar.bz2
open-keychain-45eea9b5b8d803996f5f89caf7e7cea0089af7f7.zip
corrected linked system contact display name
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
index bb3df2541..eae283269 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
@@ -53,7 +53,7 @@ public class ViewKeyFragment extends LoaderFragment implements
//private ListView mLinkedSystemContact;
boolean mIsSecret = false;
- private String mName;
+ boolean mSystemContactLoaded = false;
LinearLayout mSystemContactLayout;
ImageView mSystemContactPicture;
@@ -120,17 +120,17 @@ public class ViewKeyFragment extends LoaderFragment implements
* Checks if a system contact exists for given masterKeyId, and if it does, sets name, picture
* and onClickListener for the linked system contact's layout
*
- * @param name
* @param masterKeyId
*/
- private void loadLinkedSystemContact(String name, final long masterKeyId) {
+ private void loadLinkedSystemContact(final long masterKeyId) {
final Context context = mSystemContactName.getContext();
final ContentResolver resolver = context.getContentResolver();
final long contactId = ContactHelper.findContactId(resolver, masterKeyId);
+ final String contactName = ContactHelper.getContactName(resolver, contactId);
- if (contactId != -1) {//contact exists for given master key
- mSystemContactName.setText(name);
+ if (contactName != null) {//contact name exists for given master key
+ mSystemContactName.setText(contactName);
Bitmap picture = ContactHelper.loadPhotoByMasterKeyId(resolver, masterKeyId, true);
if (picture != null) mSystemContactPicture.setImageBitmap(picture);
@@ -141,6 +141,7 @@ public class ViewKeyFragment extends LoaderFragment implements
launchContactActivity(contactId, context);
}
});
+ mSystemContactLoaded = true;
}
}
@@ -238,14 +239,14 @@ public class ViewKeyFragment extends LoaderFragment implements
switch (loader.getId()) {
case LOADER_ID_UNIFIED: {
if (data.moveToFirst()) {
-
- mIsSecret = data.getInt(INDEX_HAS_ANY_SECRET) != 0;
- if (mName == null) {//to ensure we load the linked system contact only once
- String[] mainUserId = KeyRing.splitUserId(data.getString(INDEX_USER_ID));
- mName = mainUserId[0];
+ //TODO system to allow immediate refreshing of system contact on verification
+ if (!mSystemContactLoaded) {//ensure we load linked system contact only once
long masterKeyId = data.getLong(INDEX_MASTER_KEY_ID);
- loadLinkedSystemContact(mName, masterKeyId);
+ loadLinkedSystemContact(masterKeyId);
}
+
+ mIsSecret = data.getInt(INDEX_HAS_ANY_SECRET) != 0;
+
// load user ids after we know if it's a secret key
mUserIdsAdapter = new UserIdsAdapter(getActivity(), null, 0, !mIsSecret, null);
mUserIds.setAdapter(mUserIdsAdapter);