summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mattias Nilsson <mattias.nilsson@sony.com> 2020-01-24 17:49:49 +0100
committer Sooraj Sasindran <sasindran@google.com> 2020-08-10 11:01:13 -0700
commit789432b5d1a9071afee5eff4dae60a3ae3797d8b (patch)
treeec53ff10d155625b9d77702f607dd37bb86546ae
parent2a98e05f9a8bd9820c87f525e556b15d42ab7a4b (diff)
Move config_inflateSignalStrength to CC
Sim based customizations should not be resources because of two reasons: 1. The MCC/MNC value in AssetManager for Dual sim devices is undefined 2. There is no support for MVNOs. For dual sim devices there is only one value for MCC/MNC in AssetManager and that value is updated from multiple places without deciding if it should be the default voice sim card, the default data sim card or whatnot. This means that when frameworks is trying to decide what resource to use there is no guarantee that the resource that arrives is for the particular subscription we are asking for. MVNOs cannot be separated through only MCC/MNC but need more parameters like service provider, imsi, GID1 etc. MVNO support is available in CarrierConfig. When we now have support for ADCP updates of customizations and start using carrier id this is better placed in CarrierConfig, we then get support for MVNOs at the same time. Bug: 148483577 Test: Customize for sim card x and not for sim card y, insert both sim cards in a dual sim device and see the difference. Merged-In: I067d55b9ae5e1346dd3b3cd50a0097b05b100055 Change-Id: I067d55b9ae5e1346dd3b3cd50a0097b05b100055
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/net/SignalStrengthUtil.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java3
-rwxr-xr-xtelephony/java/android/telephony/CarrierConfigManager.java10
3 files changed, 20 insertions, 6 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/SignalStrengthUtil.java b/packages/SettingsLib/src/com/android/settingslib/net/SignalStrengthUtil.java
index 246f2ceac87c..e1174fa05ea5 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/SignalStrengthUtil.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/SignalStrengthUtil.java
@@ -17,7 +17,8 @@
package com.android.settingslib.net;
import android.content.Context;
-import android.telephony.SubscriptionManager;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
/**
* Utilities for dealing with signal strength.
@@ -28,7 +29,13 @@ public class SignalStrengthUtil {
* bar for the subscription with the given id
*/
public static boolean shouldInflateSignalStrength(Context context, int subscriptionId) {
- return SubscriptionManager.getResourcesForSubId(context, subscriptionId)
- .getBoolean(com.android.internal.R.bool.config_inflateSignalStrength);
+ final CarrierConfigManager carrierConfigMgr =
+ context.getSystemService(CarrierConfigManager.class);
+ PersistableBundle bundle = null;
+ if (carrierConfigMgr != null) {
+ bundle = carrierConfigMgr.getConfigForSubId(subscriptionId);
+ }
+ return (bundle != null && bundle.getBoolean(
+ CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false));
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 4ac3a9b6b40a..32c4aec39923 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -1191,7 +1191,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
boolean show4gForLte = false;
boolean hideLtePlus = false;
boolean hspaDataDistinguishable;
- boolean inflateSignalStrengths = false;
boolean alwaysShowDataRatIcon = false;
static Config readConfig(Context context) {
@@ -1203,8 +1202,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
res.getBoolean(com.android.internal.R.bool.config_alwaysUseCdmaRssi);
config.hspaDataDistinguishable =
res.getBoolean(R.bool.config_hspa_data_distinguishable);
- config.inflateSignalStrengths = res.getBoolean(
- com.android.internal.R.bool.config_inflateSignalStrength);
CarrierConfigManager configMgr = (CarrierConfigManager)
context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 870b9a4dd667..ab659440e348 100755
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -1085,6 +1085,15 @@ public class CarrierConfigManager {
"show_signal_strength_in_sim_status_bool";
/**
+ * Flag specifying if we should interpret all signal strength as one bar higher
+ * This is a replacement for the resource config_inflateSignalStrength
+ * The default value is false.
+ * @hide
+ */
+ public static final String KEY_INFLATE_SIGNAL_STRENGTH_BOOL =
+ "inflate_signal_strength_bool";
+
+ /**
* Flag specifying whether an additional (client initiated) intent needs to be sent on System
* update
*/
@@ -3989,6 +3998,7 @@ public class CarrierConfigManager {
sDefaults.putStringArray(KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY, null);
sDefaults.putBoolean(KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL, false);
sDefaults.putBoolean(KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL, true);
+ sDefaults.putBoolean(KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
sDefaults.putBoolean(KEY_CI_ACTION_ON_SYS_UPDATE_BOOL, false);
sDefaults.putString(KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING, "");
sDefaults.putString(KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING, "");