From 0fd2029689985dd4271ce110bc1720c01c1150a7 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 7 Mar 2022 15:47:13 -0500 Subject: [PATCH] Better permission notification --- build.gradle | 4 ++-- .../java/com/cheogram/android/ConnectionService.java | 8 ++++++++ src/main/res/values/strings.xml | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4fc29a2449fa38e8dc4e413421603d9b4ef4f387..314526a0cde8736c3c6c2599f77783276d921891 100644 --- a/build.gradle +++ b/build.gradle @@ -91,7 +91,7 @@ dependencies { implementation 'com.google.guava:guava:30.1.1-android' implementation 'io.michaelrocks:libphonenumber-android:8.12.36' - implementation 'io.github.nishkarsh:android-permissions:2.0.54' + implementation 'io.github.nishkarsh:android-permissions:2.1.6' implementation urlFile('https://cloudflare-ipfs.com/ipfs/QmeqMiLxHi8AAjXobxr3QTfa1bSSLyAu86YviAqQnjxCjM/libwebrtc.aar', 'libwebrtc.aar') // INSERT } @@ -103,7 +103,7 @@ ext { } android { - compileSdkVersion 29 + compileSdkVersion 31 defaultConfig { minSdkVersion 24 diff --git a/src/cheogram/java/com/cheogram/android/ConnectionService.java b/src/cheogram/java/com/cheogram/android/ConnectionService.java index a8208be048f0c0c7259e18608902f8ebab950c8f..0dd37b1901b0090203bf77b5c842b463e4e5f3f2 100644 --- a/src/cheogram/java/com/cheogram/android/ConnectionService.java +++ b/src/cheogram/java/com/cheogram/android/ConnectionService.java @@ -33,8 +33,10 @@ import android.os.Parcel; import android.util.Log; import com.intentfilter.androidpermissions.PermissionManager; +import com.intentfilter.androidpermissions.NotificationSettings; import com.intentfilter.androidpermissions.models.DeniedPermissions; +import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.services.AppRTCAudioManager; import eu.siacs.conversations.services.AvatarService; @@ -108,6 +110,12 @@ public class ConnectionService extends android.telecom.ConnectionService { CheogramConnection connection = new CheogramConnection(account, with, postDial); PermissionManager permissionManager = PermissionManager.getInstance(this); + permissionManager.setNotificationSettings( + new NotificationSettings.Builder() + .withMessage(R.string.microphone_permission_for_call) + .withSmallIcon(R.drawable.ic_notification).build() + ); + Set permissions = new HashSet(); permissions.add(Manifest.permission.RECORD_AUDIO); permissionManager.checkPermissions(permissions, new PermissionManager.PermissionRequestListener() { diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index a68a5d4c55a566eaa2a561606256607c0d0957d8..cf7cd0cfec15875418acb701b6005e8bc922c01e 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -985,5 +985,6 @@ Plain text document Account registrations are not supported No Jabber ID found + Microphone permission required to complete call