diff --git a/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt b/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt index 036ee8d..eef2ef5 100644 --- a/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt +++ b/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt @@ -55,7 +55,11 @@ class ModemConfigService : Service() { fun specificity() = listOfNotNull(mcc, mnc, gid1, imsi, sp).count() } - private lateinit var providers: List + private val providers: List by lazy { + // WARNING: This lazy assumes `providers` is used after the service has started, + // parseProviders requires a valid Context to call `getResources()` on. + parseProviders() + } private val notificationManager: NotificationManager by lazy { getSystemService(NotificationManager::class.java) @@ -217,9 +221,6 @@ class ModemConfigService : Service() { override fun onCreate() { Log.e(TAG, "Starting") - - providers = parseProviders() - val sm = getSystemService(SubscriptionManager::class.java) ?: throw Exception("Expected SubscriptionManager, got null")