add locallog for carrier config loader
Bug: 129229239
Test: Manual
Change-Id: If5b8997357997472f3617d1465d9f74187071107
(cherry picked from commit db04c29911c77540cae017d7c861b45e3cf033b3)
Merged-in: If5b8997357997472f3617d1465d9f74187071107
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 6a3e928..054fe2f 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -48,6 +48,7 @@
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.util.LocalLog;
import android.util.Log;
import com.android.internal.telephony.ICarrierConfigLoader;
@@ -104,6 +105,8 @@
private final BroadcastReceiver mBootReceiver = new ConfigLoaderBroadcastReceiver();
// Broadcast receiver for SIM and pkg intents, register intent filter in constructor.
private final BroadcastReceiver mPackageReceiver = new ConfigLoaderBroadcastReceiver();
+ private final LocalLog mCarrierConfigLoadingLog = new LocalLog(50);
+
// Message codes; see mHandler below.
// Request from SubscriptionInfoUpdater when SIM becomes absent or error.
@@ -243,6 +246,8 @@
broadcastConfigChangedIntent(phoneId);
// TODO: We *must* call unbindService even if bindService returns false.
// (And possibly if SecurityException was thrown.)
+ loge("binding to default app: "
+ + mPlatformCarrierConfigPackage + " fails");
}
}
break;
@@ -291,8 +296,12 @@
ICarrierService carrierService =
ICarrierService.Stub.asInterface(conn.service);
carrierService.getCarrierConfig(carrierId, resultReceiver);
+ logWithLocalLog("fetch config for default app: "
+ + mPlatformCarrierConfigPackage
+ + " carrierid: " + carrierId.toString());
} catch (RemoteException e) {
- loge("Failed to get carrier config: " + e.toString());
+ loge("Failed to get carrier config from default app: " +
+ mPlatformCarrierConfigPackage + " err: " + e.toString());
mContext.unbindService(conn);
break; // So we don't set a timeout.
}
@@ -310,6 +319,7 @@
mContext.unbindService(mServiceConnection[phoneId]);
removeMessages(EVENT_FETCH_DEFAULT_TIMEOUT);
broadcastConfigChangedIntent(phoneId);
+ loge("bind/fetch time out from " + mPlatformCarrierConfigPackage);
break;
}
@@ -359,6 +369,7 @@
} else {
// Send broadcast if bind fails.
broadcastConfigChangedIntent(phoneId);
+ loge("bind to carrier app: " + carrierPackageName + " fails");
}
}
break;
@@ -388,7 +399,8 @@
removeMessages(EVENT_FETCH_CARRIER_TIMEOUT);
if (resultCode == RESULT_ERROR || resultData == null) {
// On error, abort config fetching.
- loge("Failed to get carrier config");
+ loge("Failed to get carrier config from carrier app: "
+ + getCarrierPackageForPhoneId(phoneId));
broadcastConfigChangedIntent(phoneId);
return;
}
@@ -407,6 +419,9 @@
ICarrierService carrierService =
ICarrierService.Stub.asInterface(conn.service);
carrierService.getCarrierConfig(carrierId, resultReceiver);
+ logWithLocalLog("fetch config for carrier app: "
+ + getCarrierPackageForPhoneId(phoneId)
+ + " carrierid: " + carrierId.toString());
} catch (RemoteException e) {
loge("Failed to get carrier config: " + e.toString());
mContext.unbindService(conn);
@@ -426,6 +441,7 @@
mContext.unbindService(mServiceConnection[phoneId]);
removeMessages(EVENT_FETCH_CARRIER_TIMEOUT);
broadcastConfigChangedIntent(phoneId);
+ loge("bind/fetch from carrier app timeout");
break;
}
@@ -543,7 +559,7 @@
/** Binds to the default or carrier config app. */
private boolean bindToConfigPackage(String pkgName, int phoneId, int eventId) {
- log("Binding to " + pkgName + " for phone " + phoneId);
+ logWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
Intent carrierService = new Intent(CarrierService.CARRIER_SERVICE_INTERFACE);
carrierService.setPackage(pkgName);
mServiceConnection[phoneId] = new CarrierServiceConnection(phoneId, eventId);
@@ -654,7 +670,7 @@
private void saveConfigToXml(String packageName, int phoneId, PersistableBundle config) {
if (SubscriptionManager.getSimStateForSlotIndex(phoneId)
!= TelephonyManager.SIM_STATE_LOADED) {
- log("Skip save config because SIM records are not loaded.");
+ loge("Skip save config because SIM records are not loaded.");
return;
}
@@ -679,6 +695,8 @@
return;
}
+ logWithLocalLog("save config to xml, packagename: " + packageName + " phoneId: " + phoneId);
+
FileOutputStream outFile = null;
try {
outFile = new FileOutputStream(
@@ -729,7 +747,7 @@
}
if (SubscriptionManager.getSimStateForSlotIndex(phoneId)
!= TelephonyManager.SIM_STATE_LOADED) {
- log("Skip restoring config because SIM records are not yet loaded.");
+ loge("Skip restoring config because SIM records are not yet loaded.");
return null;
}
@@ -755,7 +773,7 @@
if (event == XmlPullParser.START_TAG && TAG_VERSION.equals(parser.getName())) {
String savedVersion = parser.nextText();
if (!version.equals(savedVersion)) {
- log("Saved version mismatch: " + version + " vs " + savedVersion);
+ loge("Saved version mismatch: " + version + " vs " + savedVersion);
break;
}
}
@@ -973,6 +991,9 @@
pw.println("");
printConfig(mOverrideConfigs[i], pw, "mOverrideConfigs");
}
+
+ pw.println("CarrierConfigLoadingLog=");
+ mCarrierConfigLoadingLog.dump(fd, pw, args);
}
private void printConfig(PersistableBundle configApp, PrintWriter pw, String name) {
@@ -1052,11 +1073,17 @@
}
}
- private static void log(String msg) {
+ private void log(String msg) {
Log.d(LOG_TAG, msg);
}
- private static void loge(String msg) {
+ private void logWithLocalLog(String msg) {
+ Log.d(LOG_TAG, msg);
+ mCarrierConfigLoadingLog.log(msg);
+ }
+
+ private void loge(String msg) {
Log.e(LOG_TAG, msg);
+ mCarrierConfigLoadingLog.log(msg);
}
}