Loading src/java/com/android/internal/telephony/CallWaitingController.java +32 −45 Original line number Diff line number Diff line Loading @@ -30,13 +30,9 @@ import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_NON import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_VOICE; import android.annotation.Nullable; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.AsyncResult; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.PersistableBundle; Loading Loading @@ -68,7 +64,6 @@ public class CallWaitingController extends Handler { private static final int EVENT_SET_CALL_WAITING_DONE = 1; private static final int EVENT_GET_CALL_WAITING_DONE = 2; private static final int EVENT_REGISTERED_TO_NETWORK = 3; private static final int EVENT_CARRIER_CONFIG_CHANGED = 4; // Class to pack mOnComplete object passed by the caller private static class Cw { Loading @@ -92,32 +87,9 @@ public class CallWaitingController extends Handler { @VisibleForTesting public static final String KEY_CS_SYNC = "cs_sync"; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent == null) { return; } if (CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) { Bundle bundle = intent.getExtras(); if (bundle == null) { return; } int slotId = bundle.getInt(CarrierConfigManager.EXTRA_SLOT_INDEX, SubscriptionManager.INVALID_PHONE_INDEX); if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) { loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " + slotId); return; } if (slotId == mPhone.getPhoneId()) { sendEmptyMessage(EVENT_CARRIER_CONFIG_CHANGED); } } } }; private final CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener = (slotIndex, subId, carrierId, specificCarrierId) -> onCarrierConfigurationChanged( slotIndex); private boolean mSupportedByImsService = false; private boolean mValidSubscription = false; Loading @@ -144,8 +116,13 @@ public class CallWaitingController extends Handler { } private void initialize() { mContext.registerReceiver(mReceiver, new IntentFilter( CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)); CarrierConfigManager ccm = mContext.getSystemService(CarrierConfigManager.class); if (ccm != null) { // Callback directly handle carrier config change should be executed in handler thread ccm.registerCarrierConfigChangeListener(this::post, mCarrierConfigChangeListener); } else { loge("CarrierConfigLoader is not available."); } int phoneId = mPhone.getPhoneId(); int subId = mPhone.getSubId(); Loading Loading @@ -284,9 +261,6 @@ public class CallWaitingController extends Handler { case EVENT_REGISTERED_TO_NETWORK: onRegisteredToNetwork(); break; case EVENT_CARRIER_CONFIG_CHANGED: onCarrierConfigChanged(); break; default: break; } Loading Loading @@ -453,7 +427,9 @@ public class CallWaitingController extends Handler { obtainMessage(EVENT_GET_CALL_WAITING_DONE)); } private synchronized void onCarrierConfigChanged() { private synchronized void onCarrierConfigurationChanged(int slotIndex) { if (slotIndex != mPhone.getPhoneId()) return; int subId = mPhone.getSubId(); if (!SubscriptionManager.isValidSubscriptionId(subId)) { logi("onCarrierConfigChanged invalid subId=" + subId); Loading @@ -463,10 +439,9 @@ public class CallWaitingController extends Handler { return; } CarrierConfigManager configManager = mContext.getSystemService(CarrierConfigManager.class); PersistableBundle b = configManager.getConfigForSubId(subId); updateCarrierConfig(subId, b, false); if (!updateCarrierConfig(subId, false /* ignoreSavedState */)) { return; } logi("onCarrierConfigChanged cs_enabled=" + mCsEnabled); Loading @@ -479,12 +454,20 @@ public class CallWaitingController extends Handler { /** * @param ignoreSavedState only used for test * @return true when succeeded. */ @VisibleForTesting public void updateCarrierConfig(int subId, PersistableBundle b, boolean ignoreSavedState) { public boolean updateCarrierConfig(int subId, boolean ignoreSavedState) { mValidSubscription = true; if (b == null) return; PersistableBundle b = CarrierConfigManager.getCarrierConfigSubset( mContext, subId, KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY, KEY_TERMINAL_BASED_CALL_WAITING_SYNC_TYPE_INT, KEY_TERMINAL_BASED_CALL_WAITING_DEFAULT_ENABLED_BOOL); if (b.isEmpty()) return false; boolean supportsTerminalBased = false; int[] services = b.getIntArray(KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY); Loading Loading @@ -527,6 +510,7 @@ public class CallWaitingController extends Handler { } updateState(desiredState, syncPreference, ignoreSavedState); return true; } private void updateState(int state) { Loading Loading @@ -645,9 +629,12 @@ public class CallWaitingController extends Handler { if (supported) { initialize(); onCarrierConfigChanged(); onCarrierConfigurationChanged(mPhone.getPhoneId()); } else { mContext.unregisterReceiver(mReceiver); CarrierConfigManager ccm = mContext.getSystemService(CarrierConfigManager.class); if (ccm != null && mCarrierConfigChangeListener != null) { ccm.unregisterCarrierConfigChangeListener(mCarrierConfigChangeListener); } updateState(TERMINAL_BASED_NOT_SUPPORTED); } } Loading tests/telephonytests/src/com/android/internal/telephony/CallWaitingControllerTest.java +22 −11 Original line number Diff line number Diff line Loading @@ -40,8 +40,10 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.any; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; import android.content.Context; import android.content.SharedPreferences; Loading Loading @@ -94,7 +96,8 @@ public class CallWaitingControllerTest extends TelephonyTest { public void testSetTerminalBasedCallWaitingSupported() { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); Loading @@ -111,7 +114,7 @@ public class CallWaitingControllerTest extends TelephonyTest { setPreference(mPhone.getPhoneId(), FAKE_SUB_ID, TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_NONE); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt()); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt(), any()); mCWC.setTerminalBasedCallWaitingSupported(true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); Loading @@ -127,7 +130,7 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(false); bundle = getConfigBundle(false, CALL_WAITING_SYNC_NONE, false); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt()); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt(), any()); mCWC.setTerminalBasedCallWaitingSupported(true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_NOT_SUPPORTED); Loading @@ -139,13 +142,15 @@ public class CallWaitingControllerTest extends TelephonyTest { public void testCarrierConfigChanged() { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); bundle = getConfigBundle(false, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, false); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, false); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_NOT_SUPPORTED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_NOT_SUPPORTED); Loading Loading @@ -179,7 +184,8 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mHandler = new GetTestHandler(); Loading Loading @@ -216,7 +222,8 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.setCallWaiting(true, SERVICE_CLASS_VOICE, null)); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); Loading Loading @@ -247,7 +254,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_USER_CHANGE); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_USER_CHANGE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); Loading Loading @@ -303,7 +311,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_NOT_ACTIVATED, CALL_WAITING_SYNC_FIRST_POWER_UP); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_FIRST_POWER_UP, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertFalse(mCWC.getSyncState()); mCWC.notifyRegisteredToNetwork(); Loading @@ -320,7 +329,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_NOT_ACTIVATED, CALL_WAITING_SYNC_FIRST_CHANGE); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_FIRST_CHANGE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mCWC.setImsRegistrationState(false); assertFalse(mCWC.getSyncState()); Loading Loading @@ -359,7 +369,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_IMS_ONLY); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_IMS_ONLY, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mSimulatedCommands.setCallWaiting(false, SERVICE_CLASS_VOICE, null); Loading Loading
src/java/com/android/internal/telephony/CallWaitingController.java +32 −45 Original line number Diff line number Diff line Loading @@ -30,13 +30,9 @@ import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_NON import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_VOICE; import android.annotation.Nullable; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.AsyncResult; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.PersistableBundle; Loading Loading @@ -68,7 +64,6 @@ public class CallWaitingController extends Handler { private static final int EVENT_SET_CALL_WAITING_DONE = 1; private static final int EVENT_GET_CALL_WAITING_DONE = 2; private static final int EVENT_REGISTERED_TO_NETWORK = 3; private static final int EVENT_CARRIER_CONFIG_CHANGED = 4; // Class to pack mOnComplete object passed by the caller private static class Cw { Loading @@ -92,32 +87,9 @@ public class CallWaitingController extends Handler { @VisibleForTesting public static final String KEY_CS_SYNC = "cs_sync"; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent == null) { return; } if (CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) { Bundle bundle = intent.getExtras(); if (bundle == null) { return; } int slotId = bundle.getInt(CarrierConfigManager.EXTRA_SLOT_INDEX, SubscriptionManager.INVALID_PHONE_INDEX); if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) { loge("onReceive ACTION_CARRIER_CONFIG_CHANGED invalid slotId " + slotId); return; } if (slotId == mPhone.getPhoneId()) { sendEmptyMessage(EVENT_CARRIER_CONFIG_CHANGED); } } } }; private final CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener = (slotIndex, subId, carrierId, specificCarrierId) -> onCarrierConfigurationChanged( slotIndex); private boolean mSupportedByImsService = false; private boolean mValidSubscription = false; Loading @@ -144,8 +116,13 @@ public class CallWaitingController extends Handler { } private void initialize() { mContext.registerReceiver(mReceiver, new IntentFilter( CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)); CarrierConfigManager ccm = mContext.getSystemService(CarrierConfigManager.class); if (ccm != null) { // Callback directly handle carrier config change should be executed in handler thread ccm.registerCarrierConfigChangeListener(this::post, mCarrierConfigChangeListener); } else { loge("CarrierConfigLoader is not available."); } int phoneId = mPhone.getPhoneId(); int subId = mPhone.getSubId(); Loading Loading @@ -284,9 +261,6 @@ public class CallWaitingController extends Handler { case EVENT_REGISTERED_TO_NETWORK: onRegisteredToNetwork(); break; case EVENT_CARRIER_CONFIG_CHANGED: onCarrierConfigChanged(); break; default: break; } Loading Loading @@ -453,7 +427,9 @@ public class CallWaitingController extends Handler { obtainMessage(EVENT_GET_CALL_WAITING_DONE)); } private synchronized void onCarrierConfigChanged() { private synchronized void onCarrierConfigurationChanged(int slotIndex) { if (slotIndex != mPhone.getPhoneId()) return; int subId = mPhone.getSubId(); if (!SubscriptionManager.isValidSubscriptionId(subId)) { logi("onCarrierConfigChanged invalid subId=" + subId); Loading @@ -463,10 +439,9 @@ public class CallWaitingController extends Handler { return; } CarrierConfigManager configManager = mContext.getSystemService(CarrierConfigManager.class); PersistableBundle b = configManager.getConfigForSubId(subId); updateCarrierConfig(subId, b, false); if (!updateCarrierConfig(subId, false /* ignoreSavedState */)) { return; } logi("onCarrierConfigChanged cs_enabled=" + mCsEnabled); Loading @@ -479,12 +454,20 @@ public class CallWaitingController extends Handler { /** * @param ignoreSavedState only used for test * @return true when succeeded. */ @VisibleForTesting public void updateCarrierConfig(int subId, PersistableBundle b, boolean ignoreSavedState) { public boolean updateCarrierConfig(int subId, boolean ignoreSavedState) { mValidSubscription = true; if (b == null) return; PersistableBundle b = CarrierConfigManager.getCarrierConfigSubset( mContext, subId, KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY, KEY_TERMINAL_BASED_CALL_WAITING_SYNC_TYPE_INT, KEY_TERMINAL_BASED_CALL_WAITING_DEFAULT_ENABLED_BOOL); if (b.isEmpty()) return false; boolean supportsTerminalBased = false; int[] services = b.getIntArray(KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY); Loading Loading @@ -527,6 +510,7 @@ public class CallWaitingController extends Handler { } updateState(desiredState, syncPreference, ignoreSavedState); return true; } private void updateState(int state) { Loading Loading @@ -645,9 +629,12 @@ public class CallWaitingController extends Handler { if (supported) { initialize(); onCarrierConfigChanged(); onCarrierConfigurationChanged(mPhone.getPhoneId()); } else { mContext.unregisterReceiver(mReceiver); CarrierConfigManager ccm = mContext.getSystemService(CarrierConfigManager.class); if (ccm != null && mCarrierConfigChangeListener != null) { ccm.unregisterCarrierConfigChangeListener(mCarrierConfigChangeListener); } updateState(TERMINAL_BASED_NOT_SUPPORTED); } } Loading
tests/telephonytests/src/com/android/internal/telephony/CallWaitingControllerTest.java +22 −11 Original line number Diff line number Diff line Loading @@ -40,8 +40,10 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.any; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; import android.content.Context; import android.content.SharedPreferences; Loading Loading @@ -94,7 +96,8 @@ public class CallWaitingControllerTest extends TelephonyTest { public void testSetTerminalBasedCallWaitingSupported() { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); Loading @@ -111,7 +114,7 @@ public class CallWaitingControllerTest extends TelephonyTest { setPreference(mPhone.getPhoneId(), FAKE_SUB_ID, TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_NONE); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt()); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt(), any()); mCWC.setTerminalBasedCallWaitingSupported(true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); Loading @@ -127,7 +130,7 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(false); bundle = getConfigBundle(false, CALL_WAITING_SYNC_NONE, false); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt()); doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(anyInt(), any()); mCWC.setTerminalBasedCallWaitingSupported(true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_NOT_SUPPORTED); Loading @@ -139,13 +142,15 @@ public class CallWaitingControllerTest extends TelephonyTest { public void testCarrierConfigChanged() { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); bundle = getConfigBundle(false, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, false); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, false); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_NOT_SUPPORTED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_NOT_SUPPORTED); Loading Loading @@ -179,7 +184,8 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mHandler = new GetTestHandler(); Loading Loading @@ -216,7 +222,8 @@ public class CallWaitingControllerTest extends TelephonyTest { mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_NONE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.setCallWaiting(true, SERVICE_CLASS_VOICE, null)); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); Loading Loading @@ -247,7 +254,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_USER_CHANGE); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_USER_CHANGE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertTrue(mCWC.getTerminalBasedCallWaitingState(false) == TERMINAL_BASED_ACTIVATED); assertTrue(mCWC.getTerminalBasedCallWaitingState(true) == TERMINAL_BASED_ACTIVATED); Loading Loading @@ -303,7 +311,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_NOT_ACTIVATED, CALL_WAITING_SYNC_FIRST_POWER_UP); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_FIRST_POWER_UP, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); assertFalse(mCWC.getSyncState()); mCWC.notifyRegisteredToNetwork(); Loading @@ -320,7 +329,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_NOT_ACTIVATED, CALL_WAITING_SYNC_FIRST_CHANGE); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_FIRST_CHANGE, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mCWC.setImsRegistrationState(false); assertFalse(mCWC.getSyncState()); Loading Loading @@ -359,7 +369,8 @@ public class CallWaitingControllerTest extends TelephonyTest { TERMINAL_BASED_ACTIVATED, CALL_WAITING_SYNC_IMS_ONLY); mCWC.setTerminalBasedCallWaitingSupported(true); PersistableBundle bundle = getConfigBundle(true, CALL_WAITING_SYNC_IMS_ONLY, true); mCWC.updateCarrierConfig(FAKE_SUB_ID, bundle, true); when(mCarrierConfigManager.getConfigForSubId(anyInt(), any())).thenReturn(bundle); mCWC.updateCarrierConfig(FAKE_SUB_ID, true); mSimulatedCommands.setCallWaiting(false, SERVICE_CLASS_VOICE, null); Loading