Empty triangle displayed for radio signal but calls & data work
TelephonyRegistry: when default sub id is requested set isLegacyApp to
true so when ACTION_DEFAULT_SUBSCRIPTION_CHANGED is received the
TelephonyRegistry.Record.subId will be updated.
SubInfoRecord: Add SubInfoRecord toString for easier debugging
SubscriptionManager: Add putPHoneIdAndSubIdExtra(intent, phoneId, subId)
as this allows explicit setup of phoneId and subId and does not rely on
a phone's subId being set.
Bug: 15669560
Change-Id: I645ddb35b964b08dcb46f881c9d02b932d128950
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 9d92421..1bd837b 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -89,7 +89,7 @@
@Override
public String toString() {
- return "{pkgForDebug=" + pkgForDebug + " callerUid=" + callerUid +
+ return "{pkgForDebug=" + pkgForDebug + " callerUid=" + callerUid + " subId=" + subId +
" events=" + Integer.toHexString(events) + "}";
}
}
@@ -208,11 +208,13 @@
String action = intent.getAction();
Slog.d(TAG, "mBroadcastReceiver: action=" + action);
if (Intent.ACTION_USER_SWITCHED.equals(action)) {
- mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_SWITCHED,
- intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0), 0));
+ int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
+ if (DBG) Slog.d(TAG, "onReceive: userHandle=" + userHandle);
+ mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_SWITCHED, userHandle, 0));
} else if (action.equals(TelephonyIntents.ACTION_DEFAULT_SUBSCRIPTION_CHANGED)) {
mDefaultSubId = intent.getLongExtra(PhoneConstants.SUBSCRIPTION_KEY,
SubscriptionManager.getDefaultSubId());
+ if (DBG) Slog.d(TAG, "onReceive: mDefaultSubId=" + mDefaultSubId);
mHandler.sendMessage(mHandler.obtainMessage(MSG_UPDATE_DEFAULT_SUB, 0, 0));
}
}
@@ -340,18 +342,19 @@
// the received subId value update the isLegacyApp field
if ((r.subId <= 0) || (r.subId == SubscriptionManager.INVALID_SUB_ID)) {
r.subId = mDefaultSubId;
- r.isLegacyApp = true; // FIXME: is this needed ??
+ r.isLegacyApp = true; // r.subId is to be update when default changes.
}
if (r.subId == SubscriptionManager.DEFAULT_SUB_ID) {
r.subId = mDefaultSubId;
+ r.isLegacyApp = true; // r.subId is to be update when default changes.
if (DBG) Slog.i(TAG, "listen: DEFAULT_SUB_ID");
}
mRecords.add(r);
- if (DBG) Slog.i(TAG, "listen: add new record=" + r);
+ if (DBG) Slog.i(TAG, "listen: add new record");
}
int phoneId = SubscriptionManager.getPhoneId(subId);
- int send = events & (events ^ r.events);
r.events = events;
+ if (DBG) Slog.i(TAG, "listen: set events record=" + r);
if (notifyNow && validatePhoneId(phoneId)) {
if ((events & PhoneStateListener.LISTEN_SERVICE_STATE) != 0) {
try {
@@ -1063,6 +1066,7 @@
pw.println(" mDataConnectionLinkProperties=" + mDataConnectionLinkProperties);
pw.println(" mDataConnectionNetworkCapabilities=" +
mDataConnectionNetworkCapabilities);
+ pw.println(" mDefaultSubId=" + mDefaultSubId);
pw.println(" mCellLocation=" + mCellLocation);
pw.println(" mCellInfo=" + mCellInfo);
pw.println(" mDcRtInfo=" + mDcRtInfo);