CarrierConfigLoader housekeeping.
Apply auto-format, clean up #dump execution, and rename log() calls to
logd() for readability.
Test: make TeleService
Test: adb shell dumpsys carrier_config
Bug: 146521742
Fix: 152125964
Change-Id: I185135306ec0fab3a3a997bc861dfc2b84fe00ba
Merged-In: I185135306ec0fab3a3a997bc861dfc2b84fe00ba
(cherry picked from commit 1ee238858c9659faa4d963cea6a21b9843ae2c56)
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index a816c89..9f8d2f6 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -1,4 +1,4 @@
-/**
+/*
* Copyright (c) 2015, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -174,42 +174,39 @@
@Override
public void handleMessage(Message msg) {
final int phoneId = msg.arg1;
- logWithLocalLog("mHandler: " + msg.what + " phoneId: " + phoneId);
+ logdWithLocalLog("mHandler: " + msg.what + " phoneId: " + phoneId);
if (!SubscriptionManager.isValidPhoneId(phoneId)
&& msg.what != EVENT_MULTI_SIM_CONFIG_CHANGED) {
return;
}
switch (msg.what) {
- case EVENT_CLEAR_CONFIG:
- {
+ case EVENT_CLEAR_CONFIG: {
clearConfigForPhone(phoneId, true);
break;
}
- case EVENT_SYSTEM_UNLOCKED:
- {
+ case EVENT_SYSTEM_UNLOCKED: {
for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount();
++i) {
// When user unlock device, we should only try to send broadcast again if we
// have sent it before unlock. This will avoid we try to load carrier config
// when SIM is still loading when unlock happens.
if (mHasSentConfigChange[i]) {
- logWithLocalLog("System unlocked");
+ logdWithLocalLog("System unlocked");
updateConfigForPhoneId(i);
}
}
break;
}
- case EVENT_PACKAGE_CHANGED:
- {
+ case EVENT_PACKAGE_CHANGED: {
final String carrierPackageName = (String) msg.obj;
// Only update if there are cached config removed to avoid updating config for
// unrelated packages.
if (clearCachedConfigForPackage(carrierPackageName)) {
int numPhones = TelephonyManager.from(mContext).getActiveModemCount();
for (int i = 0; i < numPhones; ++i) {
- logWithLocalLog("Package changed: " + carrierPackageName
+ logdWithLocalLog("Package changed: " + carrierPackageName
+ ", phone=" + i);
updateConfigForPhoneId(i);
}
@@ -217,13 +214,12 @@
break;
}
- case EVENT_DO_FETCH_DEFAULT:
- {
+ case EVENT_DO_FETCH_DEFAULT: {
// Restore persistent override values.
PersistableBundle config = restoreConfigFromXml(
mPlatformCarrierConfigPackage, OVERRIDE_PACKAGE_ADDITION, phoneId);
if (config != null) {
- log("Loaded persistent override config from XML. package="
+ logd("Loaded persistent override config from XML. package="
+ mPlatformCarrierConfigPackage
+ " phoneId=" + phoneId);
mPersistentOverrideConfigs[phoneId] = config;
@@ -231,7 +227,7 @@
config = restoreConfigFromXml(mPlatformCarrierConfigPackage, "", phoneId);
if (config != null) {
- log(
+ logd(
"Loaded config from XML. package="
+ mPlatformCarrierConfigPackage
+ " phoneId="
@@ -261,8 +257,7 @@
break;
}
- case EVENT_CONNECTED_TO_DEFAULT:
- {
+ case EVENT_CONNECTED_TO_DEFAULT: {
removeMessages(EVENT_BIND_DEFAULT_TIMEOUT);
final CarrierServiceConnection conn = (CarrierServiceConnection) msg.obj;
// If new service connection has been created, unbind.
@@ -292,7 +287,7 @@
PersistableBundle config =
resultData.getParcelable(KEY_CONFIG_BUNDLE);
saveConfigToXml(mPlatformCarrierConfigPackage, "", phoneId,
- carrierId, config);
+ carrierId, config);
mConfigFromDefaultApp[phoneId] = config;
sendMessage(
obtainMessage(
@@ -304,7 +299,7 @@
ICarrierService carrierService =
ICarrierService.Stub.asInterface(conn.service);
carrierService.getCarrierConfig(carrierId, resultReceiver);
- logWithLocalLog("fetch config for default app: "
+ logdWithLocalLog("Fetch config for default app: "
+ mPlatformCarrierConfigPackage
+ " carrierid: " + carrierId.toString());
} catch (RemoteException e) {
@@ -320,9 +315,8 @@
}
case EVENT_BIND_DEFAULT_TIMEOUT:
- case EVENT_FETCH_DEFAULT_TIMEOUT:
- {
- loge("bind/fetch time out from " + mPlatformCarrierConfigPackage);
+ case EVENT_FETCH_DEFAULT_TIMEOUT: {
+ loge("Bind/fetch time out from " + mPlatformCarrierConfigPackage);
removeMessages(EVENT_FETCH_DEFAULT_TIMEOUT);
// If we attempted to bind to the app, but the service connection is null due to
// the race condition that clear config event happens before bind/fetch complete
@@ -337,8 +331,7 @@
break;
}
- case EVENT_FETCH_DEFAULT_DONE:
- {
+ case EVENT_FETCH_DEFAULT_DONE: {
// If we attempted to bind to the app, but the service connection is null, then
// config was cleared while we were waiting and we should not continue.
if (!msg.getData().getBoolean("loaded_from_xml", false)
@@ -347,7 +340,7 @@
}
final String carrierPackageName = getCarrierPackageForPhoneId(phoneId);
if (carrierPackageName != null) {
- log("Found carrier config app: " + carrierPackageName);
+ logd("Found carrier config app: " + carrierPackageName);
sendMessage(obtainMessage(EVENT_DO_FETCH_CARRIER, phoneId, -1));
} else {
notifySubscriptionInfoUpdater(phoneId);
@@ -355,13 +348,12 @@
break;
}
- case EVENT_DO_FETCH_CARRIER:
- {
+ case EVENT_DO_FETCH_CARRIER: {
final String carrierPackageName = getCarrierPackageForPhoneId(phoneId);
final PersistableBundle config =
restoreConfigFromXml(carrierPackageName, "", phoneId);
if (config != null) {
- log(
+ logd(
"Loaded config from XML. package="
+ carrierPackageName
+ " phoneId="
@@ -372,26 +364,22 @@
sendMessage(newMsg);
} else {
// No cached config, so fetch it from a carrier app.
- if (carrierPackageName != null
- && bindToConfigPackage(
- carrierPackageName,
- phoneId,
- EVENT_CONNECTED_TO_CARRIER)) {
+ if (carrierPackageName != null && bindToConfigPackage(carrierPackageName,
+ phoneId, EVENT_CONNECTED_TO_CARRIER)) {
sendMessageDelayed(
obtainMessage(EVENT_BIND_CARRIER_TIMEOUT, phoneId, -1),
BIND_TIMEOUT_MILLIS);
} else {
// Send broadcast if bind fails.
broadcastConfigChangedIntent(phoneId);
- loge("bind to carrier app: " + carrierPackageName + " fails");
+ loge("Bind to carrier app: " + carrierPackageName + " fails");
notifySubscriptionInfoUpdater(phoneId);
}
}
break;
}
- case EVENT_CONNECTED_TO_CARRIER:
- {
+ case EVENT_CONNECTED_TO_CARRIER: {
removeMessages(EVENT_BIND_CARRIER_TIMEOUT);
final CarrierServiceConnection conn = (CarrierServiceConnection) msg.obj;
// If new service connection has been created, unbind.
@@ -435,7 +423,7 @@
ICarrierService carrierService =
ICarrierService.Stub.asInterface(conn.service);
carrierService.getCarrierConfig(carrierId, resultReceiver);
- logWithLocalLog("fetch config for carrier app: "
+ logdWithLocalLog("Fetch config for carrier app: "
+ getCarrierPackageForPhoneId(phoneId)
+ " carrierid: " + carrierId.toString());
} catch (RemoteException e) {
@@ -450,9 +438,8 @@
}
case EVENT_BIND_CARRIER_TIMEOUT:
- case EVENT_FETCH_CARRIER_TIMEOUT:
- {
- loge("bind/fetch from carrier app timeout");
+ case EVENT_FETCH_CARRIER_TIMEOUT: {
+ loge("Bind/fetch from carrier app timeout");
removeMessages(EVENT_FETCH_CARRIER_TIMEOUT);
// If we attempted to bind to the app, but the service connection is null due to
// the race condition that clear config event happens before bind/fetch complete
@@ -466,8 +453,7 @@
notifySubscriptionInfoUpdater(phoneId);
break;
}
- case EVENT_FETCH_CARRIER_DONE:
- {
+ case EVENT_FETCH_CARRIER_DONE: {
// If we attempted to bind to the app, but the service connection is null, then
// config was cleared while we were waiting and we should not continue.
if (!msg.getData().getBoolean("loaded_from_xml", false)
@@ -478,13 +464,12 @@
break;
}
- case EVENT_CHECK_SYSTEM_UPDATE:
- {
+ case EVENT_CHECK_SYSTEM_UPDATE: {
SharedPreferences sharedPrefs =
PreferenceManager.getDefaultSharedPreferences(mContext);
final String lastFingerprint = sharedPrefs.getString(KEY_FINGERPRINT, null);
if (!Build.FINGERPRINT.equals(lastFingerprint)) {
- log(
+ logd(
"Build fingerprint changed. old: "
+ lastFingerprint
+ " new: "
@@ -543,7 +528,7 @@
mHasSentConfigChange = new boolean[numPhones];
// Make this service available through ServiceManager.
ServiceManager.addService(Context.CARRIER_CONFIG_SERVICE, this);
- log("CarrierConfigLoader has started");
+ logd("CarrierConfigLoader has started");
mSubscriptionInfoUpdater = PhoneFactory.getSubscriptionInfoUpdater();
mHandler.sendEmptyMessage(EVENT_CHECK_SYSTEM_UPDATE);
}
@@ -638,14 +623,14 @@
}
}
intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, phoneId);
- log("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId);
+ logd("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId);
mContext.sendBroadcast(intent);
mHasSentConfigChange[phoneId] = true;
}
/** Binds to the default or carrier config app. */
private boolean bindToConfigPackage(String pkgName, int phoneId, int eventId) {
- logWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
+ logdWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
Intent carrierService = new Intent(CarrierService.CARRIER_SERVICE_INTERFACE);
carrierService.setPackage(pkgName);
mServiceConnection[phoneId] = new CarrierServiceConnection(phoneId, eventId);
@@ -756,9 +741,9 @@
*
* @param packageName the name of the package from which we fetched this bundle.
* @param extraString An extra string to be used in the XML file name.
- * @param phoneId the phone ID.
- * @param carrierId contains all carrier-identifying information.
- * @param config the bundle to be written. Null will be treated as an empty bundle.
+ * @param phoneId the phone ID.
+ * @param carrierId contains all carrier-identifying information.
+ * @param config the bundle to be written. Null will be treated as an empty bundle.
*/
private void saveConfigToXml(String packageName, @NonNull String extraString, int phoneId,
CarrierIdentifier carrierId, PersistableBundle config) {
@@ -789,7 +774,8 @@
return;
}
- logWithLocalLog("save config to xml, packagename: " + packageName + " phoneId: " + phoneId);
+ logdWithLocalLog(
+ "Save config to xml, packagename: " + packageName + " phoneId: " + phoneId);
FileOutputStream outFile = null;
try {
@@ -800,8 +786,7 @@
config.writeToStream(outFile);
outFile.flush();
outFile.close();
- }
- catch (IOException e) {
+ } catch (IOException e) {
loge(e.toString());
}
}
@@ -817,9 +802,9 @@
*
* @param packageName the name of the package from which we fetched this bundle.
* @param extraString An extra string to be used in the XML file name.
- * @param phoneId the phone ID.
+ * @param phoneId the phone ID.
* @return the bundle from the XML file. Returns null if there is no saved config, the saved
- * version does not match, or reading config fails.
+ * version does not match, or reading config fails.
*/
private PersistableBundle restoreConfigFromXml(String packageName, @NonNull String extraString,
int phoneId) {
@@ -859,13 +844,11 @@
}
inFile.close();
- }
- catch (FileNotFoundException e) {
+ } catch (FileNotFoundException e) {
// Missing file is normal occurrence that might occur with a new sim or when restoring
// an override file during boot and should not be treated as an error.
- if (file != null) log("File not found: " + file.getPath());
- }
- catch (IOException e) {
+ if (file != null) logd("File not found: " + file.getPath());
+ } catch (IOException e) {
loge(e.toString());
}
@@ -894,7 +877,7 @@
});
if (packageFiles == null || packageFiles.length < 1) return false;
for (File f : packageFiles) {
- log("deleting " + f.getName());
+ logd("Deleting " + f.getName());
f.delete();
}
return true;
@@ -902,7 +885,7 @@
/** Builds a canonical file name for a config file. */
private String getFilenameForConfig(@NonNull String packageName, @NonNull String extraString,
- @NonNull String iccid, int cid) {
+ @NonNull String iccid, int cid) {
// the same carrier should have a single copy of XML file named after carrier id.
// However, it's still possible that platform doesn't recognize the current sim carrier,
// we will use iccid + carrierid as the canonical file name. carrierid can also handle the
@@ -994,7 +977,7 @@
//TODO: Also check for SHELL UID to restrict this method to testing only (b/131326259)
int phoneId = SubscriptionManager.getPhoneId(subscriptionId);
if (!SubscriptionManager.isValidPhoneId(phoneId)) {
- log("Ignore invalid phoneId: " + phoneId + " for subId: " + subscriptionId);
+ logd("Ignore invalid phoneId: " + phoneId + " for subId: " + subscriptionId);
return;
}
overrideConfig(mOverrideConfigs, phoneId, overrides);
@@ -1033,7 +1016,7 @@
public void notifyConfigChangedForSubId(int subId) {
int phoneId = SubscriptionManager.getPhoneId(subId);
if (!SubscriptionManager.isValidPhoneId(phoneId)) {
- log("Ignore invalid phoneId: " + phoneId + " for subId: " + subId);
+ logd("Ignore invalid phoneId: " + phoneId + " for subId: " + subId);
return;
}
@@ -1055,7 +1038,7 @@
public void updateConfigForPhoneId(int phoneId, String simState) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.MODIFY_PHONE_STATE, null);
- logWithLocalLog("update config for phoneId: " + phoneId + " simState: " + simState);
+ logdWithLocalLog("Update config for phoneId: " + phoneId + " simState: " + simState);
if (!SubscriptionManager.isValidPhoneId(phoneId)) {
return;
}
@@ -1085,42 +1068,40 @@
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ IndentingPrintWriter indentPW = new IndentingPrintWriter(pw, " ");
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
!= PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump carrierconfig from from pid="
+ indentPW.println("Permission Denial: can't dump carrierconfig from from pid="
+ Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
return;
}
- pw.println("CarrierConfigLoader: " + this);
+ indentPW.println("CarrierConfigLoader: " + this);
for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
- pw.println("Phone Id = " + i);
+ indentPW.println("Phone Id = " + i);
// display default values in CarrierConfigManager
- printConfig(CarrierConfigManager.getDefaultConfig(), pw,
+ printConfig(CarrierConfigManager.getDefaultConfig(), indentPW,
"Default Values from CarrierConfigManager");
- pw.println("");
// display ConfigFromDefaultApp
- printConfig(mConfigFromDefaultApp[i], pw, "mConfigFromDefaultApp");
- pw.println("");
+ printConfig(mConfigFromDefaultApp[i], indentPW, "mConfigFromDefaultApp");
// display ConfigFromCarrierApp
- printConfig(mConfigFromCarrierApp[i], pw, "mConfigFromCarrierApp");
- pw.println("");
- printConfig(mPersistentOverrideConfigs[i], pw, "mPersistentOverrideConfigs");
- pw.println("");
- printConfig(mOverrideConfigs[i], pw, "mOverrideConfigs");
+ printConfig(mConfigFromCarrierApp[i], indentPW, "mConfigFromCarrierApp");
+ printConfig(mPersistentOverrideConfigs[i], indentPW, "mPersistentOverrideConfigs");
+ printConfig(mOverrideConfigs[i], indentPW, "mOverrideConfigs");
}
- pw.println("CarrierConfigLoadingLog=");
- mCarrierConfigLoadingLog.dump(fd, pw, args);
+ indentPW.println("CarrierConfigLoadingLog=");
+ mCarrierConfigLoadingLog.dump(fd, indentPW, args);
}
- private void printConfig(PersistableBundle configApp, PrintWriter pw, String name) {
- IndentingPrintWriter indentPW = new IndentingPrintWriter(pw, " ");
+ private void printConfig(PersistableBundle configApp, IndentingPrintWriter indentPW,
+ String name) {
+ indentPW.increaseIndent();
if (configApp == null) {
- indentPW.increaseIndent();
indentPW.println(name + " : null ");
+ indentPW.decreaseIndent();
+ indentPW.println("");
return;
}
- indentPW.increaseIndent();
indentPW.println(name + " : ");
List<String> sortedKeys = new ArrayList<String>(configApp.keySet());
Collections.sort(sortedKeys);
@@ -1136,6 +1117,10 @@
indentPW.println(key + " = " + configApp.get(key));
}
}
+ indentPW.decreaseIndent();
+ indentPW.decreaseIndent();
+ indentPW.decreaseIndent();
+ indentPW.println("");
}
private void unbindIfBound(Context context, CarrierServiceConnection conn,
@@ -1158,26 +1143,26 @@
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
- log("Connected to config app: " + name.flattenToString());
+ logd("Connected to config app: " + name.flattenToShortString());
this.service = service;
mHandler.sendMessage(mHandler.obtainMessage(eventId, phoneId, -1, this));
}
@Override
public void onServiceDisconnected(ComponentName name) {
- log("Disconnected from config app: " + name.flattenToString());
+ logd("Disconnected from config app: " + name.flattenToShortString());
this.service = null;
}
@Override
public void onBindingDied(ComponentName name) {
- log("Binding died from config app: " + name.flattenToString());
+ logd("Binding died from config app: " + name.flattenToShortString());
this.service = null;
}
@Override
public void onNullBinding(ComponentName name) {
- log("Null binding from config app: " + name.flattenToString());
+ logd("Null binding from config app: " + name.flattenToShortString());
this.service = null;
}
}
@@ -1188,8 +1173,9 @@
String action = intent.getAction();
boolean replace = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
// If replace is true, only care ACTION_PACKAGE_REPLACED.
- if (replace && !Intent.ACTION_PACKAGE_REPLACED.equals(action))
+ if (replace && !Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
return;
+ }
switch (action) {
case Intent.ACTION_BOOT_COMPLETED:
@@ -1211,11 +1197,11 @@
}
}
- private void log(String msg) {
+ private void logd(String msg) {
Log.d(LOG_TAG, msg);
}
- private void logWithLocalLog(String msg) {
+ private void logdWithLocalLog(String msg) {
Log.d(LOG_TAG, msg);
mCarrierConfigLoadingLog.log(msg);
}