From ae61d707d0920d3ea478b5cd9e0575913edc9a05 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 19 May 2022 11:02:28 +0200 Subject: [PATCH 1/4] bump compile sdk to 31 Signed-off-by: Andy Scherzinger --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 2c8b12c43..502bd5cfc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,7 +35,7 @@ apply plugin: 'io.gitlab.arturbosch.detekt' apply plugin: "org.jlleitschuh.gradle.ktlint" android { - compileSdkVersion 30 + compileSdkVersion 31 buildToolsVersion '32.0.0' defaultConfig { minSdkVersion 21 From a5e9b8d91f2e9de8dd10d0222fb4e76127aff475 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 19 May 2022 12:07:40 +0200 Subject: [PATCH 2/4] replace getColumnIndex with getColumnIndexOrThrow Signed-off-by: Andy Scherzinger --- .../nextcloud/talk/activities/MainActivity.kt | 2 +- .../talk/controllers/ChatController.kt | 4 +-- .../talk/jobs/ContactAddressBookWorker.kt | 25 +++++++++++-------- .../com/nextcloud/talk/utils/ContactUtils.kt | 2 +- .../java/com/nextcloud/talk/utils/UriUtils.kt | 2 +- 5 files changed, 20 insertions(+), 15 deletions(-) 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() From 3caa02f535c9f4e78ce7f8d0ce55b8688b0cdf95 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 19 May 2022 14:45:47 +0200 Subject: [PATCH 3/4] Add permissions Signed-off-by: Andy Scherzinger --- app/src/main/AndroidManifest.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e6e3536c0..50d03fdfc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,10 +38,12 @@ android:name="android.permission.AUTHENTICATE_ACCOUNTS" android:maxSdkVersion="22" /> + + @@ -75,8 +77,8 @@ - - + + Date: Thu, 19 May 2022 18:21:38 +0200 Subject: [PATCH 4/4] remove permission LOCAL_MAC_ADDRESS need Signed-off-by: Andy Scherzinger --- app/src/main/AndroidManifest.xml | 1 - .../com/nextcloud/talk/webrtc/MagicBluetoothManager.java | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50d03fdfc..e2f11f867 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,7 +43,6 @@ - diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/MagicBluetoothManager.java b/app/src/main/java/com/nextcloud/talk/webrtc/MagicBluetoothManager.java index 8820457df..2d067298b 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/MagicBluetoothManager.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/MagicBluetoothManager.java @@ -42,6 +42,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.media.AudioManager; +import android.os.Build; import android.os.Handler; import android.os.Looper; import android.os.Process; @@ -317,10 +318,9 @@ public class MagicBluetoothManager { @SuppressLint("HardwareIds") protected void logBluetoothAdapterInfo(BluetoothAdapter localAdapter) { Log.d(TAG, "BluetoothAdapter: " - + "enabled=" + localAdapter.isEnabled() + ", " - + "state=" + stateToString(localAdapter.getState()) + ", " - + "name=" + localAdapter.getName() + ", " - + "address=" + localAdapter.getAddress()); + + "enabled=" + localAdapter.isEnabled() + ", " + + "state=" + stateToString(localAdapter.getState()) + ", " + + "name=" + localAdapter.getName()); // Log the set of BluetoothDevice objects that are bonded (paired) to the local adapter. Set pairedDevices = localAdapter.getBondedDevices(); if (!pairedDevices.isEmpty()) {