Added possibility to mark contact as favorite
This commit is contained in:
@@ -69,7 +69,7 @@ class BaresipService: Service() {
|
||||
private lateinit var wifiLock: WifiManager.WifiLock
|
||||
private lateinit var bluetoothReceiver: BroadcastReceiver
|
||||
private lateinit var hotSpotReceiver: BroadcastReceiver
|
||||
private lateinit var contentObserver: ContentObserver
|
||||
private lateinit var androidContactsObserver: ContentObserver
|
||||
private lateinit var stopState: String
|
||||
private lateinit var quitTimer: CountDownTimer
|
||||
|
||||
@@ -82,7 +82,7 @@ class BaresipService: Service() {
|
||||
private var hotSpotIsEnabled = false
|
||||
private var hotSpotAddresses = mapOf<String, String>()
|
||||
private var mediaPlayer: MediaPlayer? = null
|
||||
private var contentObserverRegistered = false
|
||||
private var androidContactsObserverRegistered = false
|
||||
private var isServiceClean = false
|
||||
|
||||
@SuppressLint("WakelockTimeout")
|
||||
@@ -318,9 +318,9 @@ class BaresipService: Service() {
|
||||
this.registerReceiver(bluetoothReceiver, filter)
|
||||
}
|
||||
|
||||
contentObserver = object : ContentObserver(null) {
|
||||
androidContactsObserver = object : ContentObserver(null) {
|
||||
override fun onChange(self: Boolean) {
|
||||
Log.d(TAG, "Contacts change")
|
||||
Log.d(TAG, "Android contacts change")
|
||||
if (contactsMode != "baresip") {
|
||||
Contact.loadAndroidContacts(this@BaresipService.applicationContext)
|
||||
Contact.contactsUpdate()
|
||||
@@ -412,7 +412,7 @@ class BaresipService: Service() {
|
||||
Contact.restoreBaresipContacts()
|
||||
if (contactsMode != "baresip") {
|
||||
Contact.loadAndroidContacts(applicationContext)
|
||||
registerContentObserver()
|
||||
registerAndroidContactsObserver()
|
||||
}
|
||||
Contact.contactsUpdate()
|
||||
|
||||
@@ -470,11 +470,11 @@ class BaresipService: Service() {
|
||||
}
|
||||
|
||||
"Start Content Observer" -> {
|
||||
registerContentObserver()
|
||||
registerAndroidContactsObserver()
|
||||
}
|
||||
|
||||
"Stop Content Observer" -> {
|
||||
unRegisterContentObserver()
|
||||
unRegisterAndroidContactsObserver()
|
||||
}
|
||||
|
||||
"Call Answer" -> {
|
||||
@@ -1493,21 +1493,21 @@ class BaresipService: Service() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun registerContentObserver() {
|
||||
if (!contentObserverRegistered)
|
||||
private fun registerAndroidContactsObserver() {
|
||||
if (!androidContactsObserverRegistered)
|
||||
try {
|
||||
contentResolver.registerContentObserver(ContactsContract.Contacts.CONTENT_URI,
|
||||
true, contentObserver)
|
||||
contentObserverRegistered = true
|
||||
true, androidContactsObserver)
|
||||
androidContactsObserverRegistered = true
|
||||
} catch (e: SecurityException) {
|
||||
Log.i(TAG, "No Contacts permission")
|
||||
}
|
||||
}
|
||||
|
||||
private fun unRegisterContentObserver() {
|
||||
if (contentObserverRegistered) {
|
||||
contentResolver.unregisterContentObserver(contentObserver)
|
||||
contentObserverRegistered = false
|
||||
private fun unRegisterAndroidContactsObserver() {
|
||||
if (androidContactsObserverRegistered) {
|
||||
contentResolver.unregisterContentObserver(androidContactsObserver)
|
||||
androidContactsObserverRegistered = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1529,8 +1529,8 @@ class BaresipService: Service() {
|
||||
proximityWakeLock.release()
|
||||
if (this::wifiLock.isInitialized)
|
||||
wifiLock.release()
|
||||
if (this::contentObserver.isInitialized)
|
||||
contentResolver.unregisterContentObserver(contentObserver)
|
||||
if (this::androidContactsObserver.isInitialized)
|
||||
contentResolver.unregisterContentObserver(androidContactsObserver)
|
||||
isServiceClean = true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user