|
@@ -9,14 +9,17 @@ import android.os.IBinder
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
import im.angry.openeuicc.core.EuiccChannelManager
|
|
import im.angry.openeuicc.core.EuiccChannelManager
|
|
|
import im.angry.openeuicc.service.EuiccChannelManagerService
|
|
import im.angry.openeuicc.service.EuiccChannelManagerService
|
|
|
|
|
+import kotlinx.coroutines.CompletableDeferred
|
|
|
|
|
|
|
|
abstract class BaseEuiccAccessActivity : AppCompatActivity() {
|
|
abstract class BaseEuiccAccessActivity : AppCompatActivity() {
|
|
|
|
|
+ val euiccChannelManagerLoaded = CompletableDeferred<Unit>()
|
|
|
lateinit var euiccChannelManager: EuiccChannelManager
|
|
lateinit var euiccChannelManager: EuiccChannelManager
|
|
|
|
|
|
|
|
private val euiccChannelManagerServiceConnection = object : ServiceConnection {
|
|
private val euiccChannelManagerServiceConnection = object : ServiceConnection {
|
|
|
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
|
|
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
|
|
|
euiccChannelManager =
|
|
euiccChannelManager =
|
|
|
(service!! as EuiccChannelManagerService.LocalBinder).service.euiccChannelManager
|
|
(service!! as EuiccChannelManagerService.LocalBinder).service.euiccChannelManager
|
|
|
|
|
+ euiccChannelManagerLoaded.complete(Unit)
|
|
|
onInit()
|
|
onInit()
|
|
|
}
|
|
}
|
|
|
|
|
|