Made fun clearService safer
This commit is contained in:
@@ -117,6 +117,8 @@ class BaresipService: Service() {
|
|||||||
private var hotSpotAddresses = mapOf<String, String>()
|
private var hotSpotAddresses = mapOf<String, String>()
|
||||||
private var mediaPlayer: MediaPlayer? = null
|
private var mediaPlayer: MediaPlayer? = null
|
||||||
private var androidContactsObserverRegistered = false
|
private var androidContactsObserverRegistered = false
|
||||||
|
private var bluetoothReceiverRegistered = false
|
||||||
|
private var hotSpotReceiverRegistered = false
|
||||||
private var isServiceClean = false
|
private var isServiceClean = false
|
||||||
|
|
||||||
@SuppressLint("WakelockTimeout")
|
@SuppressLint("WakelockTimeout")
|
||||||
@@ -261,6 +263,7 @@ 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"))
|
||||||
|
hotSpotReceiverRegistered = true
|
||||||
|
|
||||||
tm = getSystemService(TELECOM_SERVICE) as TelecomManager
|
tm = getSystemService(TELECOM_SERVICE) as TelecomManager
|
||||||
|
|
||||||
@@ -339,6 +342,7 @@ class BaresipService: Service() {
|
|||||||
filter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)
|
filter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)
|
||||||
filter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED)
|
filter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED)
|
||||||
this.registerReceiver(bluetoothReceiver, filter)
|
this.registerReceiver(bluetoothReceiver, filter)
|
||||||
|
bluetoothReceiverRegistered = true
|
||||||
}
|
}
|
||||||
|
|
||||||
androidContactsObserver = object : ContentObserver(null) {
|
androidContactsObserver = object : ContentObserver(null) {
|
||||||
@@ -1842,9 +1846,14 @@ class BaresipService: Service() {
|
|||||||
|
|
||||||
private fun cleanService() {
|
private fun cleanService() {
|
||||||
if (!isServiceClean) {
|
if (!isServiceClean) {
|
||||||
if (btAdapter != null)
|
if (bluetoothReceiverRegistered) {
|
||||||
this.unregisterReceiver(bluetoothReceiver)
|
this.unregisterReceiver(bluetoothReceiver)
|
||||||
this.unregisterReceiver(hotSpotReceiver)
|
bluetoothReceiverRegistered = false
|
||||||
|
}
|
||||||
|
if (hotSpotReceiverRegistered) {
|
||||||
|
unregisterReceiver(hotSpotReceiver)
|
||||||
|
hotSpotReceiverRegistered = false
|
||||||
|
}
|
||||||
stopRinging()
|
stopRinging()
|
||||||
stopMediaPlayer()
|
stopMediaPlayer()
|
||||||
abandonAudioFocus(applicationContext)
|
abandonAudioFocus(applicationContext)
|
||||||
|
|||||||
Reference in New Issue
Block a user