Tried to migrate to API 31
This commit is contained in:
+3
-3
@@ -2,11 +2,11 @@ apply plugin: 'com.android.application'
|
|||||||
apply plugin: 'kotlin-android'
|
apply plugin: 'kotlin-android'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion = 30
|
compileSdkVersion = 31
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = 'com.tutpro.baresip'
|
applicationId = 'com.tutpro.baresip'
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 30
|
targetSdkVersion 31
|
||||||
versionCode = 182
|
versionCode = 182
|
||||||
versionName = '35.2.0'
|
versionName = '35.2.0'
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
@@ -54,7 +54,7 @@ dependencies {
|
|||||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||||
implementation "androidx.preference:preference-ktx:1.1.1"
|
implementation "androidx.preference:preference-ktx:1.1.1"
|
||||||
implementation "androidx.exifinterface:exifinterface:1.3.3"
|
implementation "androidx.exifinterface:exifinterface:1.3.3"
|
||||||
implementation "androidx.core:core-ktx:1.6.0"
|
implementation "androidx.core:core-ktx:1.7.0"
|
||||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
|
||||||
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
package="com.tutpro.baresip">
|
package="com.tutpro.baresip">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.annotation.SuppressLint
|
|||||||
import android.annotation.TargetApi
|
import android.annotation.TargetApi
|
||||||
import android.app.*
|
import android.app.*
|
||||||
import android.bluetooth.BluetoothAdapter
|
import android.bluetooth.BluetoothAdapter
|
||||||
|
import android.bluetooth.BluetoothManager
|
||||||
import android.bluetooth.BluetoothHeadset
|
import android.bluetooth.BluetoothHeadset
|
||||||
import android.content.*
|
import android.content.*
|
||||||
import android.media.*
|
import android.media.*
|
||||||
@@ -13,7 +14,6 @@ import android.net.wifi.WifiManager
|
|||||||
import android.os.*
|
import android.os.*
|
||||||
import android.os.Build.VERSION
|
import android.os.Build.VERSION
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.telephony.TelephonyManager
|
|
||||||
import android.text.Spannable
|
import android.text.Spannable
|
||||||
import android.text.SpannableString
|
import android.text.SpannableString
|
||||||
import android.text.style.ForegroundColorSpan
|
import android.text.style.ForegroundColorSpan
|
||||||
@@ -35,6 +35,7 @@ import kotlin.collections.ArrayList
|
|||||||
import kotlin.concurrent.schedule
|
import kotlin.concurrent.schedule
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
import android.media.MediaPlayer
|
import android.media.MediaPlayer
|
||||||
|
import android.telecom.TelecomManager
|
||||||
|
|
||||||
class BaresipService: Service() {
|
class BaresipService: Service() {
|
||||||
|
|
||||||
@@ -47,7 +48,8 @@ class BaresipService: Service() {
|
|||||||
private lateinit var cm: ConnectivityManager
|
private lateinit var cm: ConnectivityManager
|
||||||
private lateinit var pm: PowerManager
|
private lateinit var pm: PowerManager
|
||||||
private lateinit var wm: WifiManager
|
private lateinit var wm: WifiManager
|
||||||
private lateinit var tm: TelephonyManager
|
private lateinit var tm: TelecomManager
|
||||||
|
private lateinit var btm: BluetoothManager
|
||||||
private lateinit var partialWakeLock: PowerManager.WakeLock
|
private lateinit var partialWakeLock: PowerManager.WakeLock
|
||||||
private lateinit var proximityWakeLock: PowerManager.WakeLock
|
private lateinit var proximityWakeLock: PowerManager.WakeLock
|
||||||
private lateinit var wifiLock: WifiManager.WifiLock
|
private lateinit var wifiLock: WifiManager.WifiLock
|
||||||
@@ -58,7 +60,7 @@ class BaresipService: Service() {
|
|||||||
private var audioFocusRequest: AudioFocusRequest? = null
|
private var audioFocusRequest: AudioFocusRequest? = null
|
||||||
private var audioFocusUsage = -1
|
private var audioFocusUsage = -1
|
||||||
private var origVolume = mutableMapOf<Int, Int>()
|
private var origVolume = mutableMapOf<Int, Int>()
|
||||||
private val btAdapter = BluetoothAdapter.getDefaultAdapter()
|
private var btAdapter: BluetoothAdapter? = null
|
||||||
private var linkAddresses = mutableMapOf<String, String>()
|
private var linkAddresses = mutableMapOf<String, String>()
|
||||||
private var activeNetwork: Network? = null
|
private var activeNetwork: Network? = null
|
||||||
private var hotSpotIsEnabled = false
|
private var hotSpotIsEnabled = false
|
||||||
@@ -195,7 +197,10 @@ class BaresipService: Service() {
|
|||||||
this.registerReceiver(hotSpotReceiver,
|
this.registerReceiver(hotSpotReceiver,
|
||||||
IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED"))
|
IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED"))
|
||||||
|
|
||||||
tm = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
|
tm = getSystemService(Context.TELECOM_SERVICE) as TelecomManager
|
||||||
|
|
||||||
|
btm = getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
|
||||||
|
btAdapter = btm.adapter
|
||||||
|
|
||||||
proximityWakeLock = pm.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK,
|
proximityWakeLock = pm.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK,
|
||||||
"com.tutpro.baresip:proximity_wakelog")
|
"com.tutpro.baresip:proximity_wakelog")
|
||||||
@@ -556,10 +561,10 @@ class BaresipService: Service() {
|
|||||||
}
|
}
|
||||||
"call incoming" -> {
|
"call incoming" -> {
|
||||||
val peerUri = Api.call_peeruri(callp)
|
val peerUri = Api.call_peeruri(callp)
|
||||||
if ((Call.calls().size > 0) ||
|
if (Call.calls().size > 0 ||
|
||||||
(tm.callState != TelephonyManager.CALL_STATE_IDLE) ||
|
(Utils.checkPermission(this, Manifest.permission.READ_PHONE_STATE) &&
|
||||||
!Utils.checkPermission(applicationContext,
|
tm.isInCall) ||
|
||||||
Manifest.permission.RECORD_AUDIO)) {
|
!Utils.checkPermission(applicationContext, Manifest.permission.RECORD_AUDIO)) {
|
||||||
Log.d(TAG, "Auto-rejecting incoming call $uap/$callp/$peerUri")
|
Log.d(TAG, "Auto-rejecting incoming call $uap/$callp/$peerUri")
|
||||||
Api.ua_hangup(uap, callp, 486, "Busy Here")
|
Api.ua_hangup(uap, callp, 486, "Busy Here")
|
||||||
if (ua.account.callHistory) {
|
if (ua.account.callHistory) {
|
||||||
@@ -1090,8 +1095,8 @@ class BaresipService: Service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun isBluetoothHeadsetConnected(): Boolean {
|
private fun isBluetoothHeadsetConnected(): Boolean {
|
||||||
return (btAdapter != null) && btAdapter.isEnabled &&
|
return (btAdapter != null) && btAdapter!!.isEnabled &&
|
||||||
(btAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) ==
|
(btAdapter!!.getProfileConnectionState(BluetoothHeadset.HEADSET) ==
|
||||||
BluetoothHeadset.STATE_CONNECTED)
|
BluetoothHeadset.STATE_CONNECTED)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user