e99da175b5
断网时把验证码、来电用短信发到 iPhone: - ConnectivityMonitor: NetworkCallback 监听在线状态 - CarrierDetector: SIM MCC+MNC 映射移动/联通/电信/广电 - CarrierBalanceQuery: 发免费查询短信拿套餐短信余量,解析回执 - SmsFallbackForwarder: 限频(5min)/余额(≤5挂起)/紧要性检查 - NotificationProcessor 拦截运营商回执(10086/10010/10001/10099) - 设置页新增短信兜底卡片,首页余额耗尽警告 版本 1.3.0 → 1.4.0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
53 lines
1.7 KiB
Kotlin
53 lines
1.7 KiB
Kotlin
package com.a2i.forwarder
|
|
|
|
import android.app.Application
|
|
import com.a2i.forwarder.core.CarrierBalanceQuery
|
|
import com.a2i.forwarder.core.CarrierDetector
|
|
import com.a2i.forwarder.core.ConnectivityMonitor
|
|
import com.a2i.forwarder.core.LogStore
|
|
import com.a2i.forwarder.core.PhoneCallMonitor
|
|
import com.a2i.forwarder.core.SmsFallbackForwarder
|
|
import com.a2i.forwarder.store.AppRulesStore
|
|
import com.a2i.forwarder.store.SettingsStore
|
|
import kotlinx.coroutines.CoroutineScope
|
|
import kotlinx.coroutines.Dispatchers
|
|
import kotlinx.coroutines.SupervisorJob
|
|
|
|
class A2iApp : Application() {
|
|
val appScope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Default)
|
|
|
|
lateinit var settings: SettingsStore
|
|
private set
|
|
lateinit var appRules: AppRulesStore
|
|
private set
|
|
lateinit var logStore: LogStore
|
|
private set
|
|
lateinit var phoneCallMonitor: PhoneCallMonitor
|
|
private set
|
|
lateinit var connectivityMonitor: ConnectivityMonitor
|
|
private set
|
|
lateinit var carrierBalanceQuery: CarrierBalanceQuery
|
|
private set
|
|
lateinit var smsForwarder: SmsFallbackForwarder
|
|
private set
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
instance = this
|
|
settings = SettingsStore(this, appScope)
|
|
appRules = AppRulesStore(this, appScope)
|
|
logStore = LogStore(this, appScope)
|
|
phoneCallMonitor = PhoneCallMonitor(this)
|
|
phoneCallMonitor.start()
|
|
connectivityMonitor = ConnectivityMonitor(this)
|
|
connectivityMonitor.start()
|
|
carrierBalanceQuery = CarrierBalanceQuery(this)
|
|
smsForwarder = SmsFallbackForwarder(this)
|
|
}
|
|
|
|
companion object {
|
|
lateinit var instance: A2iApp
|
|
private set
|
|
}
|
|
}
|