summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author yinxu <yinxu@google.com> 2021-06-07 09:29:20 -0700
committer yinxu <yinxu@google.com> 2021-06-08 09:28:13 -0700
commite39fbace41fdf3ff5357963adc5c39ad272e6c31 (patch)
tree8f7d86b8eda5da391d8d4270f468feb800061d6f
parent03b86cd11f39877753c919e38d040c692e386b5d (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.java24
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;
}
}