diff --git a/README.md b/README.md index 4a88992dc..70e0be875 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ As the name alludes, BCR intends to be a basic as possible. The project will hav * Needed to monitor the phone call state for starting and stopping the recording and gathering call information for the output filename. * `RECORD_AUDIO` (**must be granted by the user**) * Needed to capture the call audio stream. -* `FOREGROUND_SERVICE` (**automatically granted at install time**) +* `FOREGROUND_SERVICE`, `FOREGROUND_SERVICE_MICROPHONE` (**automatically granted at install time**) * Needed to run the call recording service. * `POST_NOTIFICATIONS` (**must be granted by the user on Android 13+**) * Needed to show notifications. diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 034dcd9b0..d2e7c40d1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -109,13 +109,13 @@ val archiveDir = File(extraDir, "archive") android { namespace = "com.chiller3.bcr" - compileSdk = 33 - buildToolsVersion = "33.0.2" + compileSdk = 34 + buildToolsVersion = "34.0.0" defaultConfig { applicationId = "com.chiller3.bcr" minSdk = 28 - targetSdk = 33 + targetSdk = 34 versionCode = gitVersionCode versionName = gitVersionName resourceConfigurations.addAll(listOf( diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50378fe45..4987f3074 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ + diff --git a/app/src/main/java/com/chiller3/bcr/RecorderTileService.kt b/app/src/main/java/com/chiller3/bcr/RecorderTileService.kt index d035a4c05..9bddc7c80 100644 --- a/app/src/main/java/com/chiller3/bcr/RecorderTileService.kt +++ b/app/src/main/java/com/chiller3/bcr/RecorderTileService.kt @@ -1,7 +1,9 @@ package com.chiller3.bcr +import android.app.PendingIntent import android.content.Intent import android.content.SharedPreferences +import android.os.Build import android.service.quicksettings.Tile import android.service.quicksettings.TileService import android.util.Log @@ -35,9 +37,17 @@ class RecorderTileService : TileService(), SharedPreferences.OnSharedPreferenceC super.onClick() if (!Permissions.haveRequired(this)) { - val intent = Intent(this, SettingsActivity::class.java) - intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK - startActivityAndCollapse(intent) + val intent = Intent(this, SettingsActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + startActivityAndCollapse(PendingIntent.getActivity( + this, 0, intent, PendingIntent.FLAG_IMMUTABLE)) + } else { + @Suppress("DEPRECATION") + startActivityAndCollapse(intent) + } } else { prefs.isCallRecordingEnabled = !prefs.isCallRecordingEnabled }