diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index 9fb13ad74..cb60b731c 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -209,7 +209,7 @@ class MainActivity : BaseActivity(), ActionBarProvider { if (cursor != null) { if (cursor.moveToFirst()) { // userId @ server - userId = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DATA1)) + userId = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Data.DATA1)) } cursor.close() diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index d66e4135b..74a7d0869 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -1382,7 +1382,7 @@ class ChatController(args: Bundle) : val cursor: Cursor? = activity?.contentResolver!!.query(contactUri, null, null, null, null) if (cursor != null && cursor.moveToFirst()) { - val id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)) + val id = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID)) val fileName = ContactUtils.getDisplayNameFromDeviceContact(context!!, id) + ".vcf" val file = File(context?.cacheDir, fileName) writeContactToVcfFile(cursor, file) @@ -1427,7 +1427,7 @@ class ChatController(args: Bundle) : } private fun writeContactToVcfFile(cursor: Cursor, file: File) { - val lookupKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)) + val lookupKey = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.LOOKUP_KEY)) val uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey) val fd: AssetFileDescriptor = activity?.contentResolver!!.openAssetFileDescriptor(uri, "r")!! diff --git a/app/src/main/java/com/nextcloud/talk/jobs/ContactAddressBookWorker.kt b/app/src/main/java/com/nextcloud/talk/jobs/ContactAddressBookWorker.kt index 7c8843226..d05e760ed 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/ContactAddressBookWorker.kt +++ b/app/src/main/java/com/nextcloud/talk/jobs/ContactAddressBookWorker.kt @@ -175,9 +175,11 @@ class ContactAddressBookWorker(val context: Context, workerParameters: WorkerPar if (contactCursor.count > 0) { contactCursor.moveToFirst() for (i in 0 until contactCursor.count) { - val id = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.Contacts._ID)) + val id = contactCursor.getString(contactCursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID)) val lookup = - contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)) + contactCursor.getString( + contactCursor.getColumnIndexOrThrow(ContactsContract.Contacts.LOOKUP_KEY) + ) deviceContactsWithNumbers[lookup] = getPhoneNumbersFromDeviceContact(id) contactCursor.moveToNext() } @@ -228,13 +230,16 @@ class ContactAddressBookWorker(val context: Context, workerParameters: WorkerPar if (rawContactsCursor.count > 0) { while (rawContactsCursor.moveToNext()) { val lookupKey = - rawContactsCursor.getString(rawContactsCursor.getColumnIndex(ContactsContract.Data.LOOKUP_KEY)) - val contactId = - rawContactsCursor.getString(rawContactsCursor.getColumnIndex(ContactsContract.Data.CONTACT_ID)) - - if (contactsWithAssociatedPhoneNumbers == null || !contactsWithAssociatedPhoneNumbers.containsKey( - lookupKey + rawContactsCursor.getString( + rawContactsCursor.getColumnIndexOrThrow(ContactsContract.Data.LOOKUP_KEY) ) + val contactId = + rawContactsCursor.getString( + rawContactsCursor.getColumnIndexOrThrow(ContactsContract.Data.CONTACT_ID) + ) + + if (contactsWithAssociatedPhoneNumbers == null || + !contactsWithAssociatedPhoneNumbers.containsKey(lookupKey) ) { deleteLinkedAccount(contactId) } @@ -302,7 +307,7 @@ class ContactAddressBookWorker(val context: Context, workerParameters: WorkerPar if (contactCursor.count > 0) { contactCursor.moveToFirst() - val id = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.Contacts._ID)) + val id = contactCursor.getString(contactCursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID)) if (hasLinkedAccount(id)) { return } @@ -416,7 +421,7 @@ class ContactAddressBookWorker(val context: Context, workerParameters: WorkerPar while (phonesNumbersCursor.moveToNext()) { numbers.add( phonesNumbersCursor.getString( - phonesNumbersCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER) + phonesNumbersCursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER) ) ) } diff --git a/app/src/main/java/com/nextcloud/talk/utils/ContactUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/ContactUtils.kt index 3f65dfe0e..98e7e1d63 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ContactUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/ContactUtils.kt @@ -24,7 +24,7 @@ object ContactUtils { while (nameCursor.moveToNext()) { displayName = nameCursor.getString( - nameCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME) + nameCursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME) ) } nameCursor.close() diff --git a/app/src/main/java/com/nextcloud/talk/utils/UriUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/UriUtils.kt index 71d0e05ff..101d715cf 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/UriUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/UriUtils.kt @@ -36,7 +36,7 @@ class UriUtils { val cursor: Cursor? = context.contentResolver.query(uri, null, null, null, null) try { if (cursor != null && cursor.moveToFirst()) { - filename = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)) + filename = cursor.getString(cursor.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME)) } } finally { cursor?.close()