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

Commit e39fbace authored by yinxu's avatar yinxu
Browse files

Lazy fetch the default Carrier Config

Fetching the default Carrier Configs may cause some delay so move them
out of the constructor.

Bug: 188597489
Test: Manual testing
Change-Id: I1c6093ab6f0f59f2c74bcb84c0392eaace6b907e
parent 03b86cd1
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -37,20 +37,16 @@ public class CarrierConfigTracker extends BroadcastReceiver {
    private final SparseArray<Boolean> mCallStrengthConfigs = new SparseArray<>();
    private final SparseArray<Boolean> mNoCallingConfigs = new SparseArray<>();
    private final CarrierConfigManager mCarrierConfigManager;
    private final boolean mDefaultCallStrengthConfig;
    private final boolean mDefaultNoCallingConfig;
    private boolean mDefaultCallStrengthConfigLoaded;
    private boolean mDefaultCallStrengthConfig;
    private boolean mDefaultNoCallingConfigLoaded;
    private boolean mDefaultNoCallingConfig;

    @Inject
    public CarrierConfigTracker(Context context) {
        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
        context.registerReceiver(
                this, new IntentFilter(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED));
        mDefaultCallStrengthConfig =
                CarrierConfigManager.getDefaultConfig().getBoolean(
                        CarrierConfigManager.KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL);
        mDefaultNoCallingConfig =
                CarrierConfigManager.getDefaultConfig().getBoolean(
                        CarrierConfigManager.KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL);
    }

    @Override
@@ -81,6 +77,12 @@ public class CarrierConfigTracker extends BroadcastReceiver {
        if (mCallStrengthConfigs.indexOfKey(subId) >= 0) {
            return mCallStrengthConfigs.get(subId);
        }
        if (!mDefaultCallStrengthConfigLoaded) {
            mDefaultCallStrengthConfig =
                    CarrierConfigManager.getDefaultConfig().getBoolean(
                            CarrierConfigManager.KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL);
            mDefaultCallStrengthConfigLoaded = true;
        }
        return mDefaultCallStrengthConfig;
    }

@@ -91,6 +93,12 @@ public class CarrierConfigTracker extends BroadcastReceiver {
        if (mNoCallingConfigs.indexOfKey(subId) >= 0) {
            return mNoCallingConfigs.get(subId);
        }
        if (!mDefaultNoCallingConfigLoaded) {
            mDefaultNoCallingConfig =
                    CarrierConfigManager.getDefaultConfig().getBoolean(
                            CarrierConfigManager.KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL);
            mDefaultNoCallingConfigLoaded = true;
        }
        return mDefaultNoCallingConfig;
    }
}