diff options
author | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-03-13 04:04:11 +0530 |
---|---|---|
committer | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-03-13 04:04:11 +0530 |
commit | 759009ddb4ac11f4065ecfa14e17ed330bd01989 (patch) | |
tree | d93272cce598ddcfcd22d738de38b6e6e57dfeab /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java | |
parent | d4375b7dfc23213caca1b4eb2e86c54338e86605 (diff) | |
download | open-keychain-759009ddb4ac11f4065ecfa14e17ed330bd01989.tar.gz open-keychain-759009ddb4ac11f4065ecfa14e17ed330bd01989.tar.bz2 open-keychain-759009ddb4ac11f4065ecfa14e17ed330bd01989.zip |
added own profile support in linekd system contact
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.java | 32 |
1 files changed, 25 insertions, 7 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 eae283269..68da3b58c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java @@ -44,6 +44,8 @@ import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment; import org.sufficientlysecure.keychain.util.ContactHelper; import org.sufficientlysecure.keychain.util.Log; +import java.util.List; + public class ViewKeyFragment extends LoaderFragment implements LoaderManager.LoaderCallbacks<Cursor> { @@ -126,19 +128,35 @@ public class ViewKeyFragment extends LoaderFragment implements final Context context = mSystemContactName.getContext(); final ContentResolver resolver = context.getContentResolver(); - final long contactId = ContactHelper.findContactId(resolver, masterKeyId); - final String contactName = ContactHelper.getContactName(resolver, contactId); + long contactId; + String contactName = null; + + if(mIsSecret) { + contactId = ContactHelper.getMainProfileContactId(resolver); + List<String> mainProfileNames = ContactHelper.getMainProfileContactName(context); + if(mainProfileNames!=null) contactName = mainProfileNames.get(0); + + } else { + contactId = ContactHelper.findContactId(resolver, masterKeyId); + contactName = ContactHelper.getContactName(resolver, contactId); + } if (contactName != null) {//contact name exists for given master key mSystemContactName.setText(contactName); - Bitmap picture = ContactHelper.loadPhotoByMasterKeyId(resolver, masterKeyId, true); + Bitmap picture; + if(mIsSecret) { + picture = ContactHelper.loadMainProfilePhoto(resolver, false); + } else { + picture = ContactHelper.loadPhotoByMasterKeyId(resolver,masterKeyId,false); + } if (picture != null) mSystemContactPicture.setImageBitmap(picture); + final long finalContactId = contactId; mSystemContactLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - launchContactActivity(contactId, context); + launchContactActivity(finalContactId, context); } }); mSystemContactLoaded = true; @@ -239,14 +257,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; + //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(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); |