Loading src/java/com/android/internal/telephony/data/PhoneSwitcher.java +68 −6 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class PhoneSwitcher extends Handler { protected RadioConfig mRadioConfig; private static final int MAX_LOCAL_LOG_LINES = 32; private static final int MAX_LOCAL_LOG_LINES = 256; // Default timeout value of network validation in millisecond. private final static int DEFAULT_VALIDATION_EXPIRATION_TIME = 2000; Loading Loading @@ -958,7 +958,7 @@ public class PhoneSwitcher extends Handler { mPrioritizedDcRequests.add(dcRequest); Collections.sort(mPrioritizedDcRequests); onEvaluate(REQUESTS_CHANGED, "netRequest"); log("Added DcRequest, size: " + mPrioritizedDcRequests.size()); if (VDBG) log("Added DcRequest, size: " + mPrioritizedDcRequests.size()); } } } Loading @@ -979,7 +979,7 @@ public class PhoneSwitcher extends Handler { if (mPrioritizedDcRequests.remove(dcRequest)) { onEvaluate(REQUESTS_CHANGED, "netReleased"); collectReleaseNetworkMetrics(networkRequest); log("Removed DcRequest, size: " + mPrioritizedDcRequests.size()); if (VDBG) log("Removed DcRequest, size: " + mPrioritizedDcRequests.size()); } } } Loading Loading @@ -1264,7 +1264,7 @@ public class PhoneSwitcher extends Handler { protected void sendRilCommands(int phoneId) { if (!SubscriptionManager.isValidPhoneId(phoneId)) { log("sendRilCommands: skip dds switch due to invalid phoneid=" + phoneId); log("sendRilCommands: skip dds switch due to invalid phoneId=" + phoneId); return; } Loading Loading @@ -1674,8 +1674,54 @@ public class PhoneSwitcher extends Handler { mLocalLog.log(l); } /** * Convert data switch reason into string. * * @param reason The switch reason. * @return The switch reason in string format. */ private static @NonNull String switchReasonToString(int reason) { switch(reason) { case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_UNKNOWN: return "UNKNOWN"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_MANUAL: return "MANUAL"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_IN_CALL: return "IN_CALL"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_CBRS: return "CBRS"; default: return "UNKNOWN(" + reason + ")"; } } /** * Concert switching state to string * * @param state The switching state. * @return The switching state in string format. */ private static @NonNull String switchStateToString(int state) { switch(state) { case TelephonyEvent.EventState.EVENT_STATE_UNKNOWN: return "UNKNOWN"; case TelephonyEvent.EventState.EVENT_STATE_START: return "START"; case TelephonyEvent.EventState.EVENT_STATE_END: return "END"; default: return "UNKNOWN(" + state + ")"; } } /** * Log data switch event * * @param subId Subscription index. * @param state The switching state. * @param reason The switching reason. */ private void logDataSwitchEvent(int subId, int state, int reason) { log("logDataSwitchEvent subId " + subId + " state " + state + " reason " + reason); log("Data switch event. subId=" + subId + ", state=" + switchStateToString(state) + ", reason=" + switchReasonToString(reason)); DataSwitch dataSwitch = new DataSwitch(); dataSwitch.state = state; dataSwitch.reason = reason; Loading Loading @@ -1708,6 +1754,7 @@ public class PhoneSwitcher extends Handler { public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println("PhoneSwitcher:"); pw.increaseIndent(); Calendar c = Calendar.getInstance(); for (int i = 0; i < mActiveModemCount; i++) { PhoneState ps = mPhoneStates[i]; Loading @@ -1716,14 +1763,29 @@ public class PhoneSwitcher extends Handler { (ps.lastRequested == 0 ? "never" : String.format("%tm-%td %tH:%tM:%tS.%tL", c, c, c, c, c, c))); } pw.println("mPreferredDataPhoneId=" + mPreferredDataPhoneId); pw.println("mPreferredDataSubId=" + mPreferredDataSubId.get()); pw.println("DefaultDataSubId=" + mSubscriptionController.getDefaultDataSubId()); pw.println("DefaultDataPhoneId=" + mSubscriptionController.getPhoneId( mSubscriptionController.getDefaultDataSubId())); pw.println("mPrimaryDataSubId=" + mPrimaryDataSubId); pw.println("mOpptDataSubId=" + mOpptDataSubId); pw.println("mIsRegisteredForImsRadioTechChange=" + mIsRegisteredForImsRadioTechChange); pw.println("mPendingSwitchNeedValidation=" + mPendingSwitchNeedValidation); pw.println("mMaxDataAttachModemCount=" + mMaxDataAttachModemCount); pw.println("mActiveModemCount=" + mActiveModemCount); pw.println("mPhoneIdInVoiceCall=" + mPhoneIdInVoiceCall); pw.println("mCurrentDdsSwitchFailure=" + mCurrentDdsSwitchFailure); pw.println("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); } private boolean isAnyVoiceCallActiveOnDevice() { boolean ret = mPhoneIdInVoiceCall != SubscriptionManager.INVALID_PHONE_INDEX; log("isAnyVoiceCallActiveOnDevice: " + ret); if (VDBG) log("isAnyVoiceCallActiveOnDevice: " + ret); return ret; } Loading src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java +9 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { public final String LOG_TAG; protected static final boolean DBG = true; private static final int REQUEST_LOG_SIZE = 32; private static final int REQUEST_LOG_SIZE = 256; private static final int ACTION_NO_OP = 0; private static final int ACTION_REQUEST = 1; Loading Loading @@ -302,6 +302,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { // apply or revoke requests if our active-ness changes private void onActivePhoneSwitch() { logl("onActivePhoneSwitch"); for (Map.Entry<TelephonyNetworkRequest, Integer> entry : mNetworkRequests.entrySet()) { TelephonyNetworkRequest networkRequest = entry.getKey(); boolean applied = entry.getValue() != AccessNetworkConstants.TRANSPORT_TYPE_INVALID; Loading Loading @@ -338,7 +339,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { final int newSubscriptionId = mSubscriptionController.getSubIdUsingPhoneId( mPhone.getPhoneId()); if (mSubscriptionId != newSubscriptionId) { if (DBG) log("onSubIdChange " + mSubscriptionId + "->" + newSubscriptionId); if (DBG) logl("onSubIdChange " + mSubscriptionId + "->" + newSubscriptionId); mSubscriptionId = newSubscriptionId; setCapabilityFilter(makeNetworkFilter(mSubscriptionId)); } Loading Loading @@ -535,6 +536,8 @@ public class TelephonyNetworkFactory extends NetworkFactory { */ public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println("TelephonyNetworkFactory-" + mPhone.getPhoneId()); pw.increaseIndent(); pw.println("Network Requests:"); pw.increaseIndent(); for (Map.Entry<TelephonyNetworkRequest, Integer> entry : mNetworkRequests.entrySet()) { Loading @@ -543,7 +546,11 @@ public class TelephonyNetworkFactory extends NetworkFactory { pw.println(nr + (transport != AccessNetworkConstants.TRANSPORT_TYPE_INVALID ? (" applied on " + transport) : " not applied")); } pw.decreaseIndent(); pw.print("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); } } Loading
src/java/com/android/internal/telephony/data/PhoneSwitcher.java +68 −6 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class PhoneSwitcher extends Handler { protected RadioConfig mRadioConfig; private static final int MAX_LOCAL_LOG_LINES = 32; private static final int MAX_LOCAL_LOG_LINES = 256; // Default timeout value of network validation in millisecond. private final static int DEFAULT_VALIDATION_EXPIRATION_TIME = 2000; Loading Loading @@ -958,7 +958,7 @@ public class PhoneSwitcher extends Handler { mPrioritizedDcRequests.add(dcRequest); Collections.sort(mPrioritizedDcRequests); onEvaluate(REQUESTS_CHANGED, "netRequest"); log("Added DcRequest, size: " + mPrioritizedDcRequests.size()); if (VDBG) log("Added DcRequest, size: " + mPrioritizedDcRequests.size()); } } } Loading @@ -979,7 +979,7 @@ public class PhoneSwitcher extends Handler { if (mPrioritizedDcRequests.remove(dcRequest)) { onEvaluate(REQUESTS_CHANGED, "netReleased"); collectReleaseNetworkMetrics(networkRequest); log("Removed DcRequest, size: " + mPrioritizedDcRequests.size()); if (VDBG) log("Removed DcRequest, size: " + mPrioritizedDcRequests.size()); } } } Loading Loading @@ -1264,7 +1264,7 @@ public class PhoneSwitcher extends Handler { protected void sendRilCommands(int phoneId) { if (!SubscriptionManager.isValidPhoneId(phoneId)) { log("sendRilCommands: skip dds switch due to invalid phoneid=" + phoneId); log("sendRilCommands: skip dds switch due to invalid phoneId=" + phoneId); return; } Loading Loading @@ -1674,8 +1674,54 @@ public class PhoneSwitcher extends Handler { mLocalLog.log(l); } /** * Convert data switch reason into string. * * @param reason The switch reason. * @return The switch reason in string format. */ private static @NonNull String switchReasonToString(int reason) { switch(reason) { case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_UNKNOWN: return "UNKNOWN"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_MANUAL: return "MANUAL"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_IN_CALL: return "IN_CALL"; case TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_CBRS: return "CBRS"; default: return "UNKNOWN(" + reason + ")"; } } /** * Concert switching state to string * * @param state The switching state. * @return The switching state in string format. */ private static @NonNull String switchStateToString(int state) { switch(state) { case TelephonyEvent.EventState.EVENT_STATE_UNKNOWN: return "UNKNOWN"; case TelephonyEvent.EventState.EVENT_STATE_START: return "START"; case TelephonyEvent.EventState.EVENT_STATE_END: return "END"; default: return "UNKNOWN(" + state + ")"; } } /** * Log data switch event * * @param subId Subscription index. * @param state The switching state. * @param reason The switching reason. */ private void logDataSwitchEvent(int subId, int state, int reason) { log("logDataSwitchEvent subId " + subId + " state " + state + " reason " + reason); log("Data switch event. subId=" + subId + ", state=" + switchStateToString(state) + ", reason=" + switchReasonToString(reason)); DataSwitch dataSwitch = new DataSwitch(); dataSwitch.state = state; dataSwitch.reason = reason; Loading Loading @@ -1708,6 +1754,7 @@ public class PhoneSwitcher extends Handler { public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println("PhoneSwitcher:"); pw.increaseIndent(); Calendar c = Calendar.getInstance(); for (int i = 0; i < mActiveModemCount; i++) { PhoneState ps = mPhoneStates[i]; Loading @@ -1716,14 +1763,29 @@ public class PhoneSwitcher extends Handler { (ps.lastRequested == 0 ? "never" : String.format("%tm-%td %tH:%tM:%tS.%tL", c, c, c, c, c, c))); } pw.println("mPreferredDataPhoneId=" + mPreferredDataPhoneId); pw.println("mPreferredDataSubId=" + mPreferredDataSubId.get()); pw.println("DefaultDataSubId=" + mSubscriptionController.getDefaultDataSubId()); pw.println("DefaultDataPhoneId=" + mSubscriptionController.getPhoneId( mSubscriptionController.getDefaultDataSubId())); pw.println("mPrimaryDataSubId=" + mPrimaryDataSubId); pw.println("mOpptDataSubId=" + mOpptDataSubId); pw.println("mIsRegisteredForImsRadioTechChange=" + mIsRegisteredForImsRadioTechChange); pw.println("mPendingSwitchNeedValidation=" + mPendingSwitchNeedValidation); pw.println("mMaxDataAttachModemCount=" + mMaxDataAttachModemCount); pw.println("mActiveModemCount=" + mActiveModemCount); pw.println("mPhoneIdInVoiceCall=" + mPhoneIdInVoiceCall); pw.println("mCurrentDdsSwitchFailure=" + mCurrentDdsSwitchFailure); pw.println("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); } private boolean isAnyVoiceCallActiveOnDevice() { boolean ret = mPhoneIdInVoiceCall != SubscriptionManager.INVALID_PHONE_INDEX; log("isAnyVoiceCallActiveOnDevice: " + ret); if (VDBG) log("isAnyVoiceCallActiveOnDevice: " + ret); return ret; } Loading
src/java/com/android/internal/telephony/data/TelephonyNetworkFactory.java +9 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { public final String LOG_TAG; protected static final boolean DBG = true; private static final int REQUEST_LOG_SIZE = 32; private static final int REQUEST_LOG_SIZE = 256; private static final int ACTION_NO_OP = 0; private static final int ACTION_REQUEST = 1; Loading Loading @@ -302,6 +302,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { // apply or revoke requests if our active-ness changes private void onActivePhoneSwitch() { logl("onActivePhoneSwitch"); for (Map.Entry<TelephonyNetworkRequest, Integer> entry : mNetworkRequests.entrySet()) { TelephonyNetworkRequest networkRequest = entry.getKey(); boolean applied = entry.getValue() != AccessNetworkConstants.TRANSPORT_TYPE_INVALID; Loading Loading @@ -338,7 +339,7 @@ public class TelephonyNetworkFactory extends NetworkFactory { final int newSubscriptionId = mSubscriptionController.getSubIdUsingPhoneId( mPhone.getPhoneId()); if (mSubscriptionId != newSubscriptionId) { if (DBG) log("onSubIdChange " + mSubscriptionId + "->" + newSubscriptionId); if (DBG) logl("onSubIdChange " + mSubscriptionId + "->" + newSubscriptionId); mSubscriptionId = newSubscriptionId; setCapabilityFilter(makeNetworkFilter(mSubscriptionId)); } Loading Loading @@ -535,6 +536,8 @@ public class TelephonyNetworkFactory extends NetworkFactory { */ public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println("TelephonyNetworkFactory-" + mPhone.getPhoneId()); pw.increaseIndent(); pw.println("Network Requests:"); pw.increaseIndent(); for (Map.Entry<TelephonyNetworkRequest, Integer> entry : mNetworkRequests.entrySet()) { Loading @@ -543,7 +546,11 @@ public class TelephonyNetworkFactory extends NetworkFactory { pw.println(nr + (transport != AccessNetworkConstants.TRANSPORT_TYPE_INVALID ? (" applied on " + transport) : " not applied")); } pw.decreaseIndent(); pw.print("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); } }