Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 487d8fa9 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Android (Google) Code Review
Browse files

Merge "Fix crash on potentially missing CarrierConfigManager [SystemUI]" into main

parents 2eca2241 d79db443
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -643,6 +643,7 @@ public class FrameworkServicesModule {

    @Provides
    @Singleton
    @Nullable
    static CarrierConfigManager provideCarrierConfigManager(Context context) {
        return context.getSystemService(CarrierConfigManager.class);
    }
+3 −3
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ class CarrierConfigRepository
@Inject
constructor(
    broadcastDispatcher: BroadcastDispatcher,
    private val carrierConfigManager: CarrierConfigManager,
    private val carrierConfigManager: CarrierConfigManager?,
    dumpManager: DumpManager,
    logger: MobileInputLogger,
    @Application scope: CoroutineScope,
@@ -87,7 +87,7 @@ constructor(
            .onEach { logger.logCarrierConfigChanged(it) }
            .filter { SubscriptionManager.isValidSubscriptionId(it) }
            .mapNotNull { subId ->
                val config = carrierConfigManager.getConfigForSubId(subId)
                val config = carrierConfigManager?.getConfigForSubId(subId)
                config?.let { subId to it }
            }
            .shareIn(scope, SharingStarted.WhileSubscribed())
@@ -111,7 +111,7 @@ constructor(
    fun getOrCreateConfigForSubId(subId: Int): SystemUiCarrierConfig {
        return configs.getOrElse(subId) {
            val config = SystemUiCarrierConfig(subId, defaultConfig)
            val carrierConfig = carrierConfigManager.getConfigForSubId(subId)
            val carrierConfig = carrierConfigManager?.getConfigForSubId(subId)
            if (carrierConfig != null) config.processNewCarrierConfig(carrierConfig)
            configs.put(subId, config)
            config
+5 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.util.ArraySet;
import android.util.SparseBooleanArray;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.internal.telephony.TelephonyIntents;
import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -72,7 +73,7 @@ public class CarrierConfigTracker

    @Inject
    public CarrierConfigTracker(
            CarrierConfigManager carrierConfigManager,
            @Nullable CarrierConfigManager carrierConfigManager,
            BroadcastDispatcher broadcastDispatcher) {
        mCarrierConfigManager = carrierConfigManager;
        IntentFilter filter = new IntentFilter();
@@ -95,6 +96,9 @@ public class CarrierConfigTracker
        final int subId = intent.getIntExtra(
                CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX,
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
        if (mCarrierConfigManager == null) {
            return;
        }
        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
            return;
        }