DO NOT MERGE: GNSS: Add a check of SIM presence to GnssConfig

There are functions in the  GnssConfiguration class that load and apply
GNSS properties from a carrier configuration file. But these properties
are related to SUPL and LPP that are used in cell phones.
Therefore, need to check the presence of SIM in device before
printing error messages.

Bug: 163993486
Test: $ adb logcat | grep 'Unable to set ES_EXTENSION_SEC: 0'
      to make sure that properties weren't applied.

Signed-off-by: Roman Hakh <roman.hakh@globallogic.com>
Change-Id: I173c8d614c1e2923f478698ffd6a806b04dcbf27
This commit is contained in:
Roman Hakh
2020-08-13 17:08:53 +03:00
committed by Yu-Han Yang
parent bad5c4ec49
commit df4111c2ab

View File

@@ -21,6 +21,7 @@ import android.os.PersistableBundle;
import android.os.SystemProperties;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import android.util.StatsLog;
@@ -236,6 +237,13 @@ class GnssConfiguration {
logConfigurations();
final HalInterfaceVersion gnssConfigurationIfaceVersion = getHalInterfaceVersion();
TelephonyManager phone = (TelephonyManager)
mContext.getSystemService(Context.TELEPHONY_SERVICE);
int ddSubId = SubscriptionManager.getDefaultDataSubscriptionId();
String simOperator = SubscriptionManager.isValidSubscriptionId(ddSubId)
? phone.getSimOperator(ddSubId) : phone.getSimOperator();
if (gnssConfigurationIfaceVersion != null) {
// Set to a range checked value.
if (isConfigEsExtensionSecSupported(gnssConfigurationIfaceVersion)
@@ -271,7 +279,7 @@ class GnssConfiguration {
try {
int propertyValueInt = Integer.decode(propertyValueString);
boolean result = entry.getValue().set(propertyValueInt);
if (!result) {
if (!result && !TextUtils.isEmpty(simOperator)) {
Log.e(TAG, "Unable to set " + propertyName);
}
} catch (NumberFormatException e) {