diff options
Diffstat (limited to 'OpenKeychain/src')
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java | 4 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java | 22 | 
2 files changed, 15 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 18f1ef8a7..c3a8d60f8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java @@ -135,7 +135,9 @@ public class ViewKeyFragment extends LoaderFragment implements          if (mIsSecret) {//all secret keys are linked to "me" profile in contacts              contactId = ContactHelper.getMainProfileContactId(resolver);              List<String> mainProfileNames = ContactHelper.getMainProfileContactName(context); -            if (mainProfileNames != null) contactName = mainProfileNames.get(0); +            if (mainProfileNames != null && mainProfileNames.size() > 0) { +                contactName = mainProfileNames.get(0); +            }          } else {              contactId = ContactHelper.findContactId(resolver, masterKeyId); 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 d102745b6..6efc0a5ea 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java @@ -222,18 +222,20 @@ public class ContactHelper {       * @return       */      public static long getMainProfileContactId(ContentResolver resolver) { -        Cursor profileCursor = resolver.query( -                ContactsContract.Profile.CONTENT_URI, -                new String[]{ -                        ContactsContract.Profile._ID -                }, -                null, null, null); -        if (profileCursor == null) { +        Cursor profileCursor = resolver.query(ContactsContract.Profile.CONTENT_URI, +                new String[]{ ContactsContract.Profile._ID}, null, null, null); + +        if(profileCursor != null && profileCursor.getCount() != 0 && profileCursor.moveToNext()) { +            long contactId = profileCursor.getLong(0); +            profileCursor.close(); +            return contactId; +        } +        else { +            if(profileCursor != null) { +                profileCursor.close(); +            }              return -1;          } - -        profileCursor.moveToNext(); -        return profileCursor.getLong(0);      }      /** | 
