diff --git a/app/build.gradle b/app/build.gradle index 82c9c1ee4..df642204c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -97,6 +97,7 @@ android { buildTypes { release { + ndk.debugSymbolLevel = 'SYMBOL_TABLE' minifyEnabled true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' @@ -155,10 +156,10 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.media:media:1.2.0' implementation 'androidx.fragment:fragment-ktx:1.2.5' - implementation 'androidx.core:core-ktx:1.3.1' + implementation 'androidx.core:core-ktx:1.3.2' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0' implementation 'androidx.navigation:navigation-ui-ktx:2.3.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.1' + implementation 'androidx.constraintlayout:constraintlayout:2.0.2' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt index 0ff734b41..d0644bd6c 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt @@ -19,12 +19,14 @@ */ package org.linphone.activities.main.chat.fragments +import android.content.pm.PackageManager import android.os.Bundle import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager +import org.linphone.LinphoneApplication import org.linphone.R import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.adapters.ChatRoomCreationContactsAdapter @@ -32,7 +34,9 @@ import org.linphone.activities.main.chat.viewmodels.ChatRoomCreationViewModel import org.linphone.activities.main.fragments.SecureFragment import org.linphone.activities.main.viewmodels.SharedMainViewModel import org.linphone.core.Address +import org.linphone.core.tools.Log import org.linphone.databinding.ChatRoomCreationFragmentBinding +import org.linphone.utils.PermissionHelper class ChatRoomCreationFragment : SecureFragment() { private lateinit var viewModel: ChatRoomCreationViewModel @@ -142,6 +146,11 @@ class ChatRoomCreationFragment : SecureFragment (activity as MainActivity).showSnackBar(messageResourceId) } }) + + if (!PermissionHelper.get().hasReadContactsPermission()) { + Log.i("[Chat Room Creation] Asking for READ_CONTACTS permission") + requestPermissions(arrayOf(android.Manifest.permission.READ_CONTACTS), 0) + } } @Suppress("UNCHECKED_CAST") @@ -151,4 +160,21 @@ class ChatRoomCreationFragment : SecureFragment viewModel.selectedAddresses.value = participants } } + + override fun onRequestPermissionsResult( + requestCode: Int, + permissions: Array, + grantResults: IntArray + ) { + if (requestCode == 0) { + val granted = grantResults[0] == PackageManager.PERMISSION_GRANTED + if (granted) { + Log.i("[Chat Room Creation] READ_CONTACTS permission granted") + LinphoneApplication.coreContext.contactsManager.onReadContactsPermissionGranted() + LinphoneApplication.coreContext.contactsManager.fetchContactsAsync() + } else { + Log.w("[Chat Room Creation] READ_CONTACTS permission denied") + } + } + } } diff --git a/build.gradle b/build.gradle index 9db7ba4e5..5fd071731 100644 --- a/build.gradle +++ b/build.gradle @@ -12,8 +12,8 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.0.1' - classpath 'com.google.gms:google-services:4.3.3' + classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.google.gms:google-services:4.3.4' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jlleitschuh.gradle:ktlint-gradle:9.1.1" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 46f3da347..6ea10cd09 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Feb 25 13:02:47 CET 2020 +#Wed Oct 14 12:48:48 CEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip