Loading src/java/com/android/internal/telephony/CallWaitingController.java +44 −32 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ import java.io.PrintWriter; */ public class CallWaitingController extends Handler { public static final String LOG_TAG = "CallWaiting"; public static final String LOG_TAG = "CallWaitingCtrl"; private static final boolean DBG = false; /* STOPSHIP if true */ // Terminal-based call waiting is not supported. */ Loading Loading @@ -107,7 +107,7 @@ public class CallWaitingController extends Handler { SubscriptionManager.INVALID_PHONE_INDEX); if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) { Rlog.e(LOG_TAG, "onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " + slotId); return; } Loading Loading @@ -155,7 +155,7 @@ public class CallWaitingController extends Handler { mCallWaitingState = sp.getInt(KEY_STATE + subId, TERMINAL_BASED_NOT_SUPPORTED); mSyncPreference = sp.getInt(KEY_CS_SYNC + phoneId, CALL_WAITING_SYNC_NONE); Rlog.i(LOG_TAG, "initialize phoneId=" + phoneId logi("initialize phoneId=" + phoneId + ", lastSubId=" + mLastSubId + ", subId=" + subId + ", state=" + mCallWaitingState + ", sync=" + mSyncPreference + ", csEnabled=" + mCsEnabled); Loading Loading @@ -189,7 +189,7 @@ public class CallWaitingController extends Handler { public synchronized boolean getCallWaiting(@Nullable Message onComplete) { if (mCallWaitingState == TERMINAL_BASED_NOT_SUPPORTED) return false; Rlog.i(LOG_TAG, "getCallWaiting " + mCallWaitingState); logi("getCallWaiting " + mCallWaitingState); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // Interrogate CW in CS network Loading Loading @@ -234,7 +234,7 @@ public class CallWaitingController extends Handler { if ((serviceClass & SERVICE_CLASS_VOICE) != SERVICE_CLASS_VOICE) return false; Rlog.i(LOG_TAG, "setCallWaiting enable=" + enable + ", service=" + serviceClass); logi("setCallWaiting enable=" + enable + ", service=" + serviceClass); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // Enable CW in the CS network Loading Loading @@ -295,22 +295,22 @@ public class CallWaitingController extends Handler { private synchronized void onSetCallWaitingDone(AsyncResult ar) { if (ar.userObj == null) { // For the case, CALL_WAITING_SYNC_FIRST_POWER_UP if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone to sync on network attached"); if (DBG) logd("onSetCallWaitingDone to sync on network attached"); if (ar.exception == null) { updateSyncState(true); } else { Rlog.e(LOG_TAG, "onSetCallWaitingDone e=" + ar.exception); loge("onSetCallWaitingDone e=" + ar.exception); } return; } if (!(ar.userObj instanceof Cw)) { // Unexpected state if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone unexpected result"); if (DBG) logd("onSetCallWaitingDone unexpected result"); return; } if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone"); if (DBG) logd("onSetCallWaitingDone"); Cw cw = (Cw) ar.userObj; if (mSyncPreference == CALL_WAITING_SYNC_IMS_ONLY) { Loading Loading @@ -341,7 +341,7 @@ public class CallWaitingController extends Handler { private synchronized void onGetCallWaitingDone(AsyncResult ar) { if (ar.userObj == null) { // For the case, CALL_WAITING_SYNC_FIRST_POWER_UP if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone to sync on network attached"); if (DBG) logd("onGetCallWaitingDone to sync on network attached"); boolean enabled = false; if (ar.exception == null) { //resp[0]: 1 if enabled, 0 otherwise Loading @@ -351,15 +351,15 @@ public class CallWaitingController extends Handler { enabled = (resp[0] == 1) && (resp[1] & SERVICE_CLASS_VOICE) == SERVICE_CLASS_VOICE; } else { Rlog.e(LOG_TAG, "onGetCallWaitingDone unexpected response"); loge("onGetCallWaitingDone unexpected response"); } } else { Rlog.e(LOG_TAG, "onGetCallWaitingDone e=" + ar.exception); loge("onGetCallWaitingDone e=" + ar.exception); } if (enabled) { updateSyncState(true); } else { Rlog.i(LOG_TAG, "onGetCallWaitingDone enabling CW service in CS network"); logi("onGetCallWaitingDone enabling CW service in CS network"); mPhone.mCi.setCallWaiting(true, SERVICE_CLASS_VOICE, obtainMessage(EVENT_SET_CALL_WAITING_DONE)); } Loading @@ -369,11 +369,11 @@ public class CallWaitingController extends Handler { if (!(ar.userObj instanceof Cw)) { // Unexpected state if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone unexpected result"); if (DBG) logd("onGetCallWaitingDone unexpected result"); return; } if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone"); if (DBG) logd("onGetCallWaitingDone"); Cw cw = (Cw) ar.userObj; if (mSyncPreference == CALL_WAITING_SYNC_IMS_ONLY) { Loading @@ -387,7 +387,7 @@ public class CallWaitingController extends Handler { //resp[0]: 1 if enabled, 0 otherwise //resp[1]: bitwise ORs of SERVICE_CLASS_ if (resp == null || resp.length < 2) { Rlog.i(LOG_TAG, "onGetCallWaitingDone unexpected response"); logi("onGetCallWaitingDone unexpected response"); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // no exception but unexpected response, local setting is preferred. sendGetCallWaitingResponse(cw.mOnComplete); Loading @@ -405,7 +405,7 @@ public class CallWaitingController extends Handler { if (!enabled && !cw.mImsRegistered) { // IMS is not registered, change the local setting Rlog.i(LOG_TAG, "onGetCallWaitingDone CW in CS network is disabled."); logi("onGetCallWaitingDone CW in CS network is disabled."); updateState(TERMINAL_BASED_NOT_ACTIVATED); } Loading @@ -419,7 +419,7 @@ public class CallWaitingController extends Handler { if (cw.mImsRegistered) { // queryCallWaiting failed. However, IMS is registered. Do not notify error. // return the user setting saved Rlog.i(LOG_TAG, "onGetCallWaitingDone get an exception, but IMS is registered"); logi("onGetCallWaitingDone get an exception, but IMS is registered"); sendGetCallWaitingResponse(cw.mOnComplete); return; } Loading Loading @@ -447,7 +447,7 @@ public class CallWaitingController extends Handler { private synchronized void onRegisteredToNetwork() { if (mCsEnabled) return; if (DBG) Rlog.d(LOG_TAG, "onRegisteredToNetwork"); if (DBG) logd("onRegisteredToNetwork"); mPhone.mCi.queryCallWaiting(SERVICE_CLASS_NONE, obtainMessage(EVENT_GET_CALL_WAITING_DONE)); Loading @@ -456,7 +456,7 @@ public class CallWaitingController extends Handler { private synchronized void onCarrierConfigChanged() { int subId = mPhone.getSubId(); if (!SubscriptionManager.isValidSubscriptionId(subId)) { Rlog.i(LOG_TAG, "onCarrierConfigChanged invalid subId=" + subId); logi("onCarrierConfigChanged invalid subId=" + subId); mValidSubscription = false; unregisterForNetworkAttached(); Loading @@ -468,7 +468,7 @@ public class CallWaitingController extends Handler { updateCarrierConfig(subId, b, false); Rlog.i(LOG_TAG, "onCarrierConfigChanged cs_enabled=" + mCsEnabled); logi("onCarrierConfigChanged cs_enabled=" + mCsEnabled); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_POWER_UP) { if (!mCsEnabled) { Loading Loading @@ -504,7 +504,7 @@ public class CallWaitingController extends Handler { int savedState = getSavedState(subId); if (DBG) { Rlog.d(LOG_TAG, "updateCarrierConfig phoneId=" + mPhone.getPhoneId() logd("updateCarrierConfig phoneId=" + mPhone.getPhoneId() + ", subId=" + subId + ", support=" + supportsTerminalBased + ", sync=" + syncPreference + ", default=" + defaultState + ", savedState=" + savedState); Loading Loading @@ -545,7 +545,7 @@ public class CallWaitingController extends Handler { int phoneId = mPhone.getPhoneId(); Rlog.i(LOG_TAG, "updateState phoneId=" + phoneId logi("updateState phoneId=" + phoneId + ", subId=" + subId + ", state=" + state + ", sync=" + syncPreference + ", ignoreSavedState=" + ignoreSavedState); Loading Loading @@ -573,7 +573,7 @@ public class CallWaitingController extends Handler { mContext.getSharedPreferences(PREFERENCE_TBCW, Context.MODE_PRIVATE); int state = sp.getInt(KEY_STATE + subId, TERMINAL_BASED_NOT_SUPPORTED); Rlog.i(LOG_TAG, "getSavedState subId=" + subId + ", state=" + state); logi("getSavedState subId=" + subId + ", state=" + state); return state; } Loading @@ -581,7 +581,7 @@ public class CallWaitingController extends Handler { private void updateSyncState(boolean enabled) { int phoneId = mPhone.getPhoneId(); Rlog.i(LOG_TAG, "updateSyncState phoneId=" + phoneId + ", enabled=" + enabled); logi("updateSyncState phoneId=" + phoneId + ", enabled=" + enabled); mCsEnabled = enabled; } Loading @@ -595,13 +595,13 @@ public class CallWaitingController extends Handler { } private boolean isCircuitSwitchedNetworkAvailable() { Rlog.i(LOG_TAG, "isCircuitSwitchedNetworkAvailable=" logi("isCircuitSwitchedNetworkAvailable=" + (mSST.getServiceState().getState() == ServiceState.STATE_IN_SERVICE)); return mSST.getServiceState().getState() == ServiceState.STATE_IN_SERVICE; } private boolean isImsRegistered() { Rlog.i(LOG_TAG, "isImsRegistered " + mImsRegistered); logi("isImsRegistered " + mImsRegistered); return mImsRegistered; } Loading @@ -609,13 +609,13 @@ public class CallWaitingController extends Handler { * Sets the registration state of IMS service. */ public synchronized void setImsRegistrationState(boolean registered) { Rlog.i(LOG_TAG, "setImsRegistrationState prev=" + mImsRegistered logi("setImsRegistrationState prev=" + mImsRegistered + ", new=" + registered); mImsRegistered = registered; } private void registerForNetworkAttached() { Rlog.i(LOG_TAG, "registerForNetworkAttached"); logi("registerForNetworkAttached"); if (mRegisteredForNetworkAttach) return; mSST.registerForNetworkAttached(this, EVENT_REGISTERED_TO_NETWORK, null); Loading @@ -623,7 +623,7 @@ public class CallWaitingController extends Handler { } private void unregisterForNetworkAttached() { Rlog.i(LOG_TAG, "unregisterForNetworkAttached"); logi("unregisterForNetworkAttached"); if (!mRegisteredForNetworkAttach) return; mSST.unregisterForNetworkAttached(this); Loading @@ -639,7 +639,7 @@ public class CallWaitingController extends Handler { public synchronized void setTerminalBasedCallWaitingSupported(boolean supported) { if (mSupportedByImsService == supported) return; Rlog.i(LOG_TAG, "setTerminalBasedCallWaitingSupported " + supported); logi("setTerminalBasedCallWaitingSupported " + supported); mSupportedByImsService = supported; Loading Loading @@ -668,7 +668,7 @@ public class CallWaitingController extends Handler { /** * Dump this instance into a readable format for dumpsys usage. */ public synchronized void dump(PrintWriter printWriter) { public void dump(PrintWriter printWriter) { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.increaseIndent(); pw.println("CallWaitingController:"); Loading @@ -682,4 +682,16 @@ public class CallWaitingController extends Handler { pw.println(" mImsRegistered=" + mImsRegistered); pw.decreaseIndent(); } private void loge(String msg) { Rlog.e(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logi(String msg) { Rlog.i(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logd(String msg) { Rlog.d(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } } src/java/com/android/internal/telephony/SsDomainController.java +35 −27 Original line number Diff line number Diff line Loading @@ -139,19 +139,19 @@ public class SsDomainController { new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { Rlog.i(LOG_TAG, "Network available: " + network); logi("Network available: " + network); updateWifiForUt(true); } @Override public void onLost(Network network) { Rlog.i(LOG_TAG, "Network lost: " + network); logi("Network lost: " + network); updateWifiForUt(false); } @Override public void onUnavailable() { Rlog.i(LOG_TAG, "Network unavailable"); logi("Network unavailable"); updateWifiForUt(false); } }; Loading Loading @@ -229,7 +229,7 @@ public class SsDomainController { } } } Rlog.i(LOG_TAG, "updateSsOverUtConfig terminal-based cw " logi("updateSsOverUtConfig terminal-based cw " + mSupportsTerminalBasedCallWaiting); mCbOverUtSupported.clear(); Loading @@ -238,7 +238,7 @@ public class SsDomainController { mUtAvailableRats.clear(); if (!mUtSupported) { Rlog.d(LOG_TAG, "updateSsOverUtConfig Ut is not supported"); logd("updateSsOverUtConfig Ut is not supported"); unregisterForConnectivityChanges(); return; } Loading @@ -259,7 +259,7 @@ public class SsDomainController { unregisterForConnectivityChanges(); } Rlog.i(LOG_TAG, "updateSsOverUtConfig supportsUt=" + mUtSupported logi("updateSsOverUtConfig supportsUt=" + mUtSupported + ", csfb=" + mCsfbSupported + ", regRequire=" + mUtRequiresImsRegistration + ", whenPsDataOff=" + mUtAvailableWhenPsDataOff Loading Loading @@ -322,18 +322,18 @@ public class SsDomainController { public boolean isUtEnabled() { Phone imsPhone = mPhone.getImsPhone(); if (imsPhone == null) { Rlog.d(LOG_TAG, "isUtEnabled: called for GsmCdma"); logd("isUtEnabled: called for GsmCdma"); return false; } if (!mUtSupported) { Rlog.d(LOG_TAG, "isUtEnabled: not supported"); logd("isUtEnabled: not supported"); return false; } if (mUtRequiresImsRegistration && imsPhone.getServiceState().getState() != ServiceState.STATE_IN_SERVICE) { Rlog.d(LOG_TAG, "isUtEnabled: not registered"); logd("isUtEnabled: not registered"); return false; } Loading @@ -349,34 +349,34 @@ public class SsDomainController { int state = Settings.Global.getInt(mPhone.getContext().getContentResolver(), Settings.Global.MOBILE_DATA, -1); if (state == -1) { Rlog.i(LOG_TAG, "isMobileDataEnabled MOBILE_DATA not found"); logi("isMobileDataEnabled MOBILE_DATA not found"); enabled = "true".equalsIgnoreCase( SystemProperties.get("ro.com.android.mobiledata", "true")); } else { enabled = (state != 0); } Rlog.i(LOG_TAG, "isMobileDataEnabled enabled=" + enabled); logi("isMobileDataEnabled enabled=" + enabled); return enabled; } private boolean isUtAvailableOnAnyTransport() { if (mUtAvailableWhenPsDataOff || isMobileDataEnabled()) { if (isUtAvailableOverCellular()) { Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport found cellular"); logi("isUtAvailableOnAnyTransport found cellular"); return true; } } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport wifiConnected=" + mWiFiAvailable); logi("isUtAvailableOnAnyTransport wifiConnected=" + mWiFiAvailable); if (mWiFiAvailable) { if (mUtAvailableRats.contains(IWLAN)) { Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport found wifi"); logi("isUtAvailableOnAnyTransport found wifi"); return true; } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport wifi not support Ut"); logi("isUtAvailableOnAnyTransport wifi not support Ut"); } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport no transport"); logi("isUtAvailableOnAnyTransport no transport"); return false; } Loading @@ -385,7 +385,7 @@ public class SsDomainController { NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN); if (nri != null && nri.isRegistered()) { if (!mUtAvailableWhenRoaming && nri.isRoaming()) { Rlog.i(LOG_TAG, "isUtAvailableOverCellular not available in roaming"); logi("isUtAvailableOverCellular not available in roaming"); return false; } Loading Loading @@ -415,7 +415,7 @@ public class SsDomainController { } } Rlog.i(LOG_TAG, "isUtAvailableOverCellular no cellular"); logi("isUtAvailableOverCellular no cellular"); return false; } Loading @@ -438,7 +438,7 @@ public class SsDomainController { ConnectivityManager cm = (ConnectivityManager) mPhone.getContext() .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { Rlog.i(LOG_TAG, "registerForConnectivityChanges"); logi("registerForConnectivityChanges"); NetworkRequest.Builder builder = new NetworkRequest.Builder(); builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); cm.registerNetworkCallback(builder.build(), mNetworkCallback); Loading @@ -457,7 +457,7 @@ public class SsDomainController { ConnectivityManager cm = (ConnectivityManager) mPhone.getContext() .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { Rlog.i(LOG_TAG, "unregisterForConnectivityChanges"); logi("unregisterForConnectivityChanges"); cm.unregisterNetworkCallback(mNetworkCallback); mIsMonitoringConnectivity = false; } Loading @@ -469,7 +469,7 @@ public class SsDomainController { @VisibleForTesting public boolean useCbOverUt(String facility) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useCbOverUt: Ut not supported"); logd("useCbOverUt: Ut not supported"); return false; } Loading @@ -482,7 +482,7 @@ public class SsDomainController { @VisibleForTesting public boolean useCfOverUt(int reason) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useCfOverUt: Ut not supported"); logd("useCfOverUt: Ut not supported"); return false; } Loading @@ -495,7 +495,7 @@ public class SsDomainController { @VisibleForTesting public boolean useSsOverUt(String service) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useSsOverUt: Ut not supported"); logd("useSsOverUt: Ut not supported"); return false; } Loading @@ -507,7 +507,7 @@ public class SsDomainController { */ public boolean supportCsfb() { if (!mUtSupported) { Rlog.d(LOG_TAG, "supportsCsfb: Ut not supported"); logd("supportsCsfb: Ut not supported"); return true; } Loading Loading @@ -561,7 +561,7 @@ public class SsDomainController { public void updateCarrierConfigForTest(boolean supportsUt, boolean supportsCsfb, boolean requiresImsRegistration, boolean availableWhenPsDataOff, boolean availableWhenRoaming, int[] services, int[] utRats, int[] tbServices) { Rlog.i(LOG_TAG, "updateCarrierConfigForTest supportsUt=" + supportsUt logi("updateCarrierConfigForTest supportsUt=" + supportsUt + ", csfb=" + supportsCsfb + ", reg=" + requiresImsRegistration + ", whenPsDataOff=" + availableWhenPsDataOff Loading @@ -579,7 +579,7 @@ public class SsDomainController { * Otherwise, false. */ public void setOemHandlesTerminalBasedCallWaiting(boolean state) { Rlog.i(LOG_TAG, "setOemHandlesTerminalBasedCallWaiting " + state); logi("setOemHandlesTerminalBasedCallWaiting " + state); mOemHandlesTerminalBasedCallWaiting = state; } Loading @@ -588,7 +588,7 @@ public class SsDomainController { * and Ims service handles it by itself. */ public boolean getOemHandlesTerminalBasedCallWaiting() { Rlog.i(LOG_TAG, "getOemHandlesTerminalBasedCallWaiting " logi("getOemHandlesTerminalBasedCallWaiting " + mSupportsTerminalBasedCallWaiting + ", " + mOemHandlesTerminalBasedCallWaiting); return mSupportsTerminalBasedCallWaiting && mOemHandlesTerminalBasedCallWaiting; } Loading @@ -614,4 +614,12 @@ public class SsDomainController { pw.println(" mSupportsTerminalBasedCallWaiting=" + mSupportsTerminalBasedCallWaiting); pw.decreaseIndent(); } private void logi(String msg) { Rlog.i(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logd(String msg) { Rlog.d(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } } Loading
src/java/com/android/internal/telephony/CallWaitingController.java +44 −32 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ import java.io.PrintWriter; */ public class CallWaitingController extends Handler { public static final String LOG_TAG = "CallWaiting"; public static final String LOG_TAG = "CallWaitingCtrl"; private static final boolean DBG = false; /* STOPSHIP if true */ // Terminal-based call waiting is not supported. */ Loading Loading @@ -107,7 +107,7 @@ public class CallWaitingController extends Handler { SubscriptionManager.INVALID_PHONE_INDEX); if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) { Rlog.e(LOG_TAG, "onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " + slotId); return; } Loading Loading @@ -155,7 +155,7 @@ public class CallWaitingController extends Handler { mCallWaitingState = sp.getInt(KEY_STATE + subId, TERMINAL_BASED_NOT_SUPPORTED); mSyncPreference = sp.getInt(KEY_CS_SYNC + phoneId, CALL_WAITING_SYNC_NONE); Rlog.i(LOG_TAG, "initialize phoneId=" + phoneId logi("initialize phoneId=" + phoneId + ", lastSubId=" + mLastSubId + ", subId=" + subId + ", state=" + mCallWaitingState + ", sync=" + mSyncPreference + ", csEnabled=" + mCsEnabled); Loading Loading @@ -189,7 +189,7 @@ public class CallWaitingController extends Handler { public synchronized boolean getCallWaiting(@Nullable Message onComplete) { if (mCallWaitingState == TERMINAL_BASED_NOT_SUPPORTED) return false; Rlog.i(LOG_TAG, "getCallWaiting " + mCallWaitingState); logi("getCallWaiting " + mCallWaitingState); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // Interrogate CW in CS network Loading Loading @@ -234,7 +234,7 @@ public class CallWaitingController extends Handler { if ((serviceClass & SERVICE_CLASS_VOICE) != SERVICE_CLASS_VOICE) return false; Rlog.i(LOG_TAG, "setCallWaiting enable=" + enable + ", service=" + serviceClass); logi("setCallWaiting enable=" + enable + ", service=" + serviceClass); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // Enable CW in the CS network Loading Loading @@ -295,22 +295,22 @@ public class CallWaitingController extends Handler { private synchronized void onSetCallWaitingDone(AsyncResult ar) { if (ar.userObj == null) { // For the case, CALL_WAITING_SYNC_FIRST_POWER_UP if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone to sync on network attached"); if (DBG) logd("onSetCallWaitingDone to sync on network attached"); if (ar.exception == null) { updateSyncState(true); } else { Rlog.e(LOG_TAG, "onSetCallWaitingDone e=" + ar.exception); loge("onSetCallWaitingDone e=" + ar.exception); } return; } if (!(ar.userObj instanceof Cw)) { // Unexpected state if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone unexpected result"); if (DBG) logd("onSetCallWaitingDone unexpected result"); return; } if (DBG) Rlog.d(LOG_TAG, "onSetCallWaitingDone"); if (DBG) logd("onSetCallWaitingDone"); Cw cw = (Cw) ar.userObj; if (mSyncPreference == CALL_WAITING_SYNC_IMS_ONLY) { Loading Loading @@ -341,7 +341,7 @@ public class CallWaitingController extends Handler { private synchronized void onGetCallWaitingDone(AsyncResult ar) { if (ar.userObj == null) { // For the case, CALL_WAITING_SYNC_FIRST_POWER_UP if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone to sync on network attached"); if (DBG) logd("onGetCallWaitingDone to sync on network attached"); boolean enabled = false; if (ar.exception == null) { //resp[0]: 1 if enabled, 0 otherwise Loading @@ -351,15 +351,15 @@ public class CallWaitingController extends Handler { enabled = (resp[0] == 1) && (resp[1] & SERVICE_CLASS_VOICE) == SERVICE_CLASS_VOICE; } else { Rlog.e(LOG_TAG, "onGetCallWaitingDone unexpected response"); loge("onGetCallWaitingDone unexpected response"); } } else { Rlog.e(LOG_TAG, "onGetCallWaitingDone e=" + ar.exception); loge("onGetCallWaitingDone e=" + ar.exception); } if (enabled) { updateSyncState(true); } else { Rlog.i(LOG_TAG, "onGetCallWaitingDone enabling CW service in CS network"); logi("onGetCallWaitingDone enabling CW service in CS network"); mPhone.mCi.setCallWaiting(true, SERVICE_CLASS_VOICE, obtainMessage(EVENT_SET_CALL_WAITING_DONE)); } Loading @@ -369,11 +369,11 @@ public class CallWaitingController extends Handler { if (!(ar.userObj instanceof Cw)) { // Unexpected state if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone unexpected result"); if (DBG) logd("onGetCallWaitingDone unexpected result"); return; } if (DBG) Rlog.d(LOG_TAG, "onGetCallWaitingDone"); if (DBG) logd("onGetCallWaitingDone"); Cw cw = (Cw) ar.userObj; if (mSyncPreference == CALL_WAITING_SYNC_IMS_ONLY) { Loading @@ -387,7 +387,7 @@ public class CallWaitingController extends Handler { //resp[0]: 1 if enabled, 0 otherwise //resp[1]: bitwise ORs of SERVICE_CLASS_ if (resp == null || resp.length < 2) { Rlog.i(LOG_TAG, "onGetCallWaitingDone unexpected response"); logi("onGetCallWaitingDone unexpected response"); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_CHANGE) { // no exception but unexpected response, local setting is preferred. sendGetCallWaitingResponse(cw.mOnComplete); Loading @@ -405,7 +405,7 @@ public class CallWaitingController extends Handler { if (!enabled && !cw.mImsRegistered) { // IMS is not registered, change the local setting Rlog.i(LOG_TAG, "onGetCallWaitingDone CW in CS network is disabled."); logi("onGetCallWaitingDone CW in CS network is disabled."); updateState(TERMINAL_BASED_NOT_ACTIVATED); } Loading @@ -419,7 +419,7 @@ public class CallWaitingController extends Handler { if (cw.mImsRegistered) { // queryCallWaiting failed. However, IMS is registered. Do not notify error. // return the user setting saved Rlog.i(LOG_TAG, "onGetCallWaitingDone get an exception, but IMS is registered"); logi("onGetCallWaitingDone get an exception, but IMS is registered"); sendGetCallWaitingResponse(cw.mOnComplete); return; } Loading Loading @@ -447,7 +447,7 @@ public class CallWaitingController extends Handler { private synchronized void onRegisteredToNetwork() { if (mCsEnabled) return; if (DBG) Rlog.d(LOG_TAG, "onRegisteredToNetwork"); if (DBG) logd("onRegisteredToNetwork"); mPhone.mCi.queryCallWaiting(SERVICE_CLASS_NONE, obtainMessage(EVENT_GET_CALL_WAITING_DONE)); Loading @@ -456,7 +456,7 @@ public class CallWaitingController extends Handler { private synchronized void onCarrierConfigChanged() { int subId = mPhone.getSubId(); if (!SubscriptionManager.isValidSubscriptionId(subId)) { Rlog.i(LOG_TAG, "onCarrierConfigChanged invalid subId=" + subId); logi("onCarrierConfigChanged invalid subId=" + subId); mValidSubscription = false; unregisterForNetworkAttached(); Loading @@ -468,7 +468,7 @@ public class CallWaitingController extends Handler { updateCarrierConfig(subId, b, false); Rlog.i(LOG_TAG, "onCarrierConfigChanged cs_enabled=" + mCsEnabled); logi("onCarrierConfigChanged cs_enabled=" + mCsEnabled); if (mSyncPreference == CALL_WAITING_SYNC_FIRST_POWER_UP) { if (!mCsEnabled) { Loading Loading @@ -504,7 +504,7 @@ public class CallWaitingController extends Handler { int savedState = getSavedState(subId); if (DBG) { Rlog.d(LOG_TAG, "updateCarrierConfig phoneId=" + mPhone.getPhoneId() logd("updateCarrierConfig phoneId=" + mPhone.getPhoneId() + ", subId=" + subId + ", support=" + supportsTerminalBased + ", sync=" + syncPreference + ", default=" + defaultState + ", savedState=" + savedState); Loading Loading @@ -545,7 +545,7 @@ public class CallWaitingController extends Handler { int phoneId = mPhone.getPhoneId(); Rlog.i(LOG_TAG, "updateState phoneId=" + phoneId logi("updateState phoneId=" + phoneId + ", subId=" + subId + ", state=" + state + ", sync=" + syncPreference + ", ignoreSavedState=" + ignoreSavedState); Loading Loading @@ -573,7 +573,7 @@ public class CallWaitingController extends Handler { mContext.getSharedPreferences(PREFERENCE_TBCW, Context.MODE_PRIVATE); int state = sp.getInt(KEY_STATE + subId, TERMINAL_BASED_NOT_SUPPORTED); Rlog.i(LOG_TAG, "getSavedState subId=" + subId + ", state=" + state); logi("getSavedState subId=" + subId + ", state=" + state); return state; } Loading @@ -581,7 +581,7 @@ public class CallWaitingController extends Handler { private void updateSyncState(boolean enabled) { int phoneId = mPhone.getPhoneId(); Rlog.i(LOG_TAG, "updateSyncState phoneId=" + phoneId + ", enabled=" + enabled); logi("updateSyncState phoneId=" + phoneId + ", enabled=" + enabled); mCsEnabled = enabled; } Loading @@ -595,13 +595,13 @@ public class CallWaitingController extends Handler { } private boolean isCircuitSwitchedNetworkAvailable() { Rlog.i(LOG_TAG, "isCircuitSwitchedNetworkAvailable=" logi("isCircuitSwitchedNetworkAvailable=" + (mSST.getServiceState().getState() == ServiceState.STATE_IN_SERVICE)); return mSST.getServiceState().getState() == ServiceState.STATE_IN_SERVICE; } private boolean isImsRegistered() { Rlog.i(LOG_TAG, "isImsRegistered " + mImsRegistered); logi("isImsRegistered " + mImsRegistered); return mImsRegistered; } Loading @@ -609,13 +609,13 @@ public class CallWaitingController extends Handler { * Sets the registration state of IMS service. */ public synchronized void setImsRegistrationState(boolean registered) { Rlog.i(LOG_TAG, "setImsRegistrationState prev=" + mImsRegistered logi("setImsRegistrationState prev=" + mImsRegistered + ", new=" + registered); mImsRegistered = registered; } private void registerForNetworkAttached() { Rlog.i(LOG_TAG, "registerForNetworkAttached"); logi("registerForNetworkAttached"); if (mRegisteredForNetworkAttach) return; mSST.registerForNetworkAttached(this, EVENT_REGISTERED_TO_NETWORK, null); Loading @@ -623,7 +623,7 @@ public class CallWaitingController extends Handler { } private void unregisterForNetworkAttached() { Rlog.i(LOG_TAG, "unregisterForNetworkAttached"); logi("unregisterForNetworkAttached"); if (!mRegisteredForNetworkAttach) return; mSST.unregisterForNetworkAttached(this); Loading @@ -639,7 +639,7 @@ public class CallWaitingController extends Handler { public synchronized void setTerminalBasedCallWaitingSupported(boolean supported) { if (mSupportedByImsService == supported) return; Rlog.i(LOG_TAG, "setTerminalBasedCallWaitingSupported " + supported); logi("setTerminalBasedCallWaitingSupported " + supported); mSupportedByImsService = supported; Loading Loading @@ -668,7 +668,7 @@ public class CallWaitingController extends Handler { /** * Dump this instance into a readable format for dumpsys usage. */ public synchronized void dump(PrintWriter printWriter) { public void dump(PrintWriter printWriter) { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.increaseIndent(); pw.println("CallWaitingController:"); Loading @@ -682,4 +682,16 @@ public class CallWaitingController extends Handler { pw.println(" mImsRegistered=" + mImsRegistered); pw.decreaseIndent(); } private void loge(String msg) { Rlog.e(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logi(String msg) { Rlog.i(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logd(String msg) { Rlog.d(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } }
src/java/com/android/internal/telephony/SsDomainController.java +35 −27 Original line number Diff line number Diff line Loading @@ -139,19 +139,19 @@ public class SsDomainController { new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { Rlog.i(LOG_TAG, "Network available: " + network); logi("Network available: " + network); updateWifiForUt(true); } @Override public void onLost(Network network) { Rlog.i(LOG_TAG, "Network lost: " + network); logi("Network lost: " + network); updateWifiForUt(false); } @Override public void onUnavailable() { Rlog.i(LOG_TAG, "Network unavailable"); logi("Network unavailable"); updateWifiForUt(false); } }; Loading Loading @@ -229,7 +229,7 @@ public class SsDomainController { } } } Rlog.i(LOG_TAG, "updateSsOverUtConfig terminal-based cw " logi("updateSsOverUtConfig terminal-based cw " + mSupportsTerminalBasedCallWaiting); mCbOverUtSupported.clear(); Loading @@ -238,7 +238,7 @@ public class SsDomainController { mUtAvailableRats.clear(); if (!mUtSupported) { Rlog.d(LOG_TAG, "updateSsOverUtConfig Ut is not supported"); logd("updateSsOverUtConfig Ut is not supported"); unregisterForConnectivityChanges(); return; } Loading @@ -259,7 +259,7 @@ public class SsDomainController { unregisterForConnectivityChanges(); } Rlog.i(LOG_TAG, "updateSsOverUtConfig supportsUt=" + mUtSupported logi("updateSsOverUtConfig supportsUt=" + mUtSupported + ", csfb=" + mCsfbSupported + ", regRequire=" + mUtRequiresImsRegistration + ", whenPsDataOff=" + mUtAvailableWhenPsDataOff Loading Loading @@ -322,18 +322,18 @@ public class SsDomainController { public boolean isUtEnabled() { Phone imsPhone = mPhone.getImsPhone(); if (imsPhone == null) { Rlog.d(LOG_TAG, "isUtEnabled: called for GsmCdma"); logd("isUtEnabled: called for GsmCdma"); return false; } if (!mUtSupported) { Rlog.d(LOG_TAG, "isUtEnabled: not supported"); logd("isUtEnabled: not supported"); return false; } if (mUtRequiresImsRegistration && imsPhone.getServiceState().getState() != ServiceState.STATE_IN_SERVICE) { Rlog.d(LOG_TAG, "isUtEnabled: not registered"); logd("isUtEnabled: not registered"); return false; } Loading @@ -349,34 +349,34 @@ public class SsDomainController { int state = Settings.Global.getInt(mPhone.getContext().getContentResolver(), Settings.Global.MOBILE_DATA, -1); if (state == -1) { Rlog.i(LOG_TAG, "isMobileDataEnabled MOBILE_DATA not found"); logi("isMobileDataEnabled MOBILE_DATA not found"); enabled = "true".equalsIgnoreCase( SystemProperties.get("ro.com.android.mobiledata", "true")); } else { enabled = (state != 0); } Rlog.i(LOG_TAG, "isMobileDataEnabled enabled=" + enabled); logi("isMobileDataEnabled enabled=" + enabled); return enabled; } private boolean isUtAvailableOnAnyTransport() { if (mUtAvailableWhenPsDataOff || isMobileDataEnabled()) { if (isUtAvailableOverCellular()) { Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport found cellular"); logi("isUtAvailableOnAnyTransport found cellular"); return true; } } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport wifiConnected=" + mWiFiAvailable); logi("isUtAvailableOnAnyTransport wifiConnected=" + mWiFiAvailable); if (mWiFiAvailable) { if (mUtAvailableRats.contains(IWLAN)) { Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport found wifi"); logi("isUtAvailableOnAnyTransport found wifi"); return true; } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport wifi not support Ut"); logi("isUtAvailableOnAnyTransport wifi not support Ut"); } Rlog.i(LOG_TAG, "isUtAvailableOnAnyTransport no transport"); logi("isUtAvailableOnAnyTransport no transport"); return false; } Loading @@ -385,7 +385,7 @@ public class SsDomainController { NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN); if (nri != null && nri.isRegistered()) { if (!mUtAvailableWhenRoaming && nri.isRoaming()) { Rlog.i(LOG_TAG, "isUtAvailableOverCellular not available in roaming"); logi("isUtAvailableOverCellular not available in roaming"); return false; } Loading Loading @@ -415,7 +415,7 @@ public class SsDomainController { } } Rlog.i(LOG_TAG, "isUtAvailableOverCellular no cellular"); logi("isUtAvailableOverCellular no cellular"); return false; } Loading @@ -438,7 +438,7 @@ public class SsDomainController { ConnectivityManager cm = (ConnectivityManager) mPhone.getContext() .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { Rlog.i(LOG_TAG, "registerForConnectivityChanges"); logi("registerForConnectivityChanges"); NetworkRequest.Builder builder = new NetworkRequest.Builder(); builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); cm.registerNetworkCallback(builder.build(), mNetworkCallback); Loading @@ -457,7 +457,7 @@ public class SsDomainController { ConnectivityManager cm = (ConnectivityManager) mPhone.getContext() .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { Rlog.i(LOG_TAG, "unregisterForConnectivityChanges"); logi("unregisterForConnectivityChanges"); cm.unregisterNetworkCallback(mNetworkCallback); mIsMonitoringConnectivity = false; } Loading @@ -469,7 +469,7 @@ public class SsDomainController { @VisibleForTesting public boolean useCbOverUt(String facility) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useCbOverUt: Ut not supported"); logd("useCbOverUt: Ut not supported"); return false; } Loading @@ -482,7 +482,7 @@ public class SsDomainController { @VisibleForTesting public boolean useCfOverUt(int reason) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useCfOverUt: Ut not supported"); logd("useCfOverUt: Ut not supported"); return false; } Loading @@ -495,7 +495,7 @@ public class SsDomainController { @VisibleForTesting public boolean useSsOverUt(String service) { if (!mUtSupported) { Rlog.d(LOG_TAG, "useSsOverUt: Ut not supported"); logd("useSsOverUt: Ut not supported"); return false; } Loading @@ -507,7 +507,7 @@ public class SsDomainController { */ public boolean supportCsfb() { if (!mUtSupported) { Rlog.d(LOG_TAG, "supportsCsfb: Ut not supported"); logd("supportsCsfb: Ut not supported"); return true; } Loading Loading @@ -561,7 +561,7 @@ public class SsDomainController { public void updateCarrierConfigForTest(boolean supportsUt, boolean supportsCsfb, boolean requiresImsRegistration, boolean availableWhenPsDataOff, boolean availableWhenRoaming, int[] services, int[] utRats, int[] tbServices) { Rlog.i(LOG_TAG, "updateCarrierConfigForTest supportsUt=" + supportsUt logi("updateCarrierConfigForTest supportsUt=" + supportsUt + ", csfb=" + supportsCsfb + ", reg=" + requiresImsRegistration + ", whenPsDataOff=" + availableWhenPsDataOff Loading @@ -579,7 +579,7 @@ public class SsDomainController { * Otherwise, false. */ public void setOemHandlesTerminalBasedCallWaiting(boolean state) { Rlog.i(LOG_TAG, "setOemHandlesTerminalBasedCallWaiting " + state); logi("setOemHandlesTerminalBasedCallWaiting " + state); mOemHandlesTerminalBasedCallWaiting = state; } Loading @@ -588,7 +588,7 @@ public class SsDomainController { * and Ims service handles it by itself. */ public boolean getOemHandlesTerminalBasedCallWaiting() { Rlog.i(LOG_TAG, "getOemHandlesTerminalBasedCallWaiting " logi("getOemHandlesTerminalBasedCallWaiting " + mSupportsTerminalBasedCallWaiting + ", " + mOemHandlesTerminalBasedCallWaiting); return mSupportsTerminalBasedCallWaiting && mOemHandlesTerminalBasedCallWaiting; } Loading @@ -614,4 +614,12 @@ public class SsDomainController { pw.println(" mSupportsTerminalBasedCallWaiting=" + mSupportsTerminalBasedCallWaiting); pw.decreaseIndent(); } private void logi(String msg) { Rlog.i(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } private void logd(String msg) { Rlog.d(LOG_TAG, "[" + mPhone.getPhoneId() + "] " + msg); } }