Moved screen event receiver from baresip service to main activity

This commit is contained in:
Juha Heinanen
2022-01-24 17:28:02 +02:00
parent b5524b3f7e
commit 54f6b04163
2 changed files with 9 additions and 25 deletions

View File

@ -52,13 +52,11 @@ class BaresipService: Service() {
private lateinit var wm: WifiManager
private lateinit var tm: TelecomManager
private lateinit var btm: BluetoothManager
private lateinit var kgm: KeyguardManager
private lateinit var partialWakeLock: PowerManager.WakeLock
private lateinit var proximityWakeLock: PowerManager.WakeLock
private lateinit var wifiLock: WifiManager.WifiLock
private lateinit var bluetoothReceiver: BroadcastReceiver
private lateinit var hotSpotReceiver: BroadcastReceiver
private lateinit var screenReceiver: BroadcastReceiver
private var rtTimer: Timer? = null
private var audioFocusRequest: AudioFocusRequest? = null
@ -211,23 +209,6 @@ class BaresipService: Service() {
this.registerReceiver(hotSpotReceiver,
IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED"))
kgm = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
screenReceiver = object : BroadcastReceiver() {
override fun onReceive(contxt: Context, intent: Intent) {
if (kgm.isKeyguardLocked) {
Log.d(TAG, "Screen on when locked")
val i = Intent("screen event")
i.putExtra("event", Intent.ACTION_SCREEN_ON)
LocalBroadcastManager.getInstance(this@BaresipService).sendBroadcast(i)
}
}
}
this.registerReceiver(screenReceiver, IntentFilter().apply {
addAction(Intent.ACTION_SCREEN_ON)
})
tm = getSystemService(Context.TELECOM_SERVICE) as TelecomManager
btm = getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
@ -512,7 +493,6 @@ class BaresipService: Service() {
Log.d(TAG, "At Baresip Service onDestroy")
this.unregisterReceiver(bluetoothReceiver)
this.unregisterReceiver(hotSpotReceiver)
this.unregisterReceiver(screenReceiver)
if (am.isBluetoothScoOn) am.stopBluetoothSco()
cleanService()
if (isServiceRunning) {

View File

@ -169,13 +169,17 @@ class MainActivity : AppCompatActivity() {
IntentFilter("service event"))
screenEventReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Utils.setShowWhenLocked(this@MainActivity, Call.calls().size > 0)
override fun onReceive(contxt: Context, intent: Intent) {
if (kgm.isKeyguardLocked) {
Log.d(TAG, "Screen on when locked")
Utils.setShowWhenLocked(this@MainActivity, Call.calls().size > 0)
}
}
}
LocalBroadcastManager.getInstance(this).registerReceiver(screenEventReceiver,
IntentFilter("screen event"))
this.registerReceiver(screenEventReceiver, IntentFilter().apply {
addAction(Intent.ACTION_SCREEN_ON)
})
stopState = "initial"
quitTimer = object : CountDownTimer(5000, 1000) {
@ -720,7 +724,7 @@ class MainActivity : AppCompatActivity() {
override fun onDestroy() {
super.onDestroy()
Log.d(TAG, "Main onDestroy")
LocalBroadcastManager.getInstance(this).unregisterReceiver(screenEventReceiver)
this.unregisterReceiver(screenEventReceiver)
LocalBroadcastManager.getInstance(this).unregisterReceiver(serviceEventReceiver)
BaresipService.activities.clear()
}