diff options
| author | 2021-06-07 09:29:20 -0700 | |
|---|---|---|
| committer | 2021-06-08 09:28:13 -0700 | |
| commit | e39fbace41fdf3ff5357963adc5c39ad272e6c31 (patch) | |
| tree | 8f7d86b8eda5da391d8d4270f468feb800061d6f | |
| parent | 03b86cd11f39877753c919e38d040c692e386b5d (diff) | |
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
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java b/packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java index 02a07e48e814..de5a3637fe9f 100644 --- a/packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java +++ b/packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java @@ -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; } } |