AIRA-android/app/src/main/java/sushi/hardcore/aira/ServiceBoundActivity.kt

34 lines
1.0 KiB
Kotlin

package sushi.hardcore.aira
import android.content.Context
import android.content.Intent
import android.content.ServiceConnection
import androidx.appcompat.app.AppCompatActivity
import sushi.hardcore.aira.background_service.AIRAService
open class ServiceBoundActivity: AppCompatActivity() {
protected lateinit var airaService: AIRAService
protected lateinit var serviceConnection: ServiceConnection
protected lateinit var serviceIntent: Intent
protected fun isServiceInitialized(): Boolean {
return ::airaService.isInitialized
}
override fun onPause() {
super.onPause()
if (::airaService.isInitialized) {
airaService.isAppInBackground = true
airaService.uiCallbacks = null
unbindService(serviceConnection)
}
}
override fun onResume() {
super.onResume()
if (!::serviceIntent.isInitialized) {
serviceIntent = Intent(this, AIRAService::class.java)
}
bindService(serviceIntent, serviceConnection, Context.BIND_AUTO_CREATE)
}
}