1#!/usr/bin/env python3 2# 3# Copyright 2022 - Google 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17import time 18 19from acts import signals 20from acts.test_decorators import test_tracker_info 21from acts_contrib.test_utils.tel.loggers.protos.telephony_metric_pb2 import TelephonyVoiceTestResult 22from acts_contrib.test_utils.tel.loggers.telephony_metric_logger import TelephonyMetricLogger 23from acts_contrib.test_utils.tel.tel_defines import SimSlotInfo 24from acts_contrib.test_utils.tel.tel_dsds_utils import dsds_dds_swap_call_streaming_test 25from acts_contrib.test_utils.tel.tel_dsds_utils import dsds_dds_swap_message_streaming_test 26from acts_contrib.test_utils.tel.tel_defines import YOUTUBE_PACKAGE_NAME 27from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest 28from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_SMS_RECEIVE 29from acts_contrib.test_utils.tel.tel_defines import INVALID_SUB_ID 30from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_DISABLED 31from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_CELLULAR_PREFERRED 32from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED 33from acts_contrib.test_utils.tel.tel_data_utils import reboot_test 34from acts_contrib.test_utils.tel.tel_data_utils import start_youtube_video 35from acts_contrib.test_utils.tel.tel_data_utils import wait_for_cell_data_connection_for_subscription 36from acts_contrib.test_utils.tel.tel_ims_utils import is_volte_enabled 37from acts_contrib.test_utils.tel.tel_ims_utils import set_wfc_mode_for_subscription 38from acts_contrib.test_utils.tel.tel_ims_utils import toggle_volte_for_subscription 39from acts_contrib.test_utils.tel.tel_ims_utils import toggle_wfc_for_subscription 40from acts_contrib.test_utils.tel.tel_ims_utils import wait_for_wfc_enabled 41from acts_contrib.test_utils.tel.tel_message_utils import sms_send_receive_verify_for_subscription 42from acts_contrib.test_utils.tel.tel_message_utils import mms_send_receive_verify 43from acts_contrib.test_utils.tel.tel_message_utils import log_messaging_screen_shot 44from acts_contrib.test_utils.tel.tel_phone_setup_utils import ensure_phones_idle 45from acts_contrib.test_utils.tel.tel_phone_setup_utils import phone_setup_volte_for_subscription 46from acts_contrib.test_utils.tel.tel_phone_setup_utils import phone_setup_on_rat 47from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index 48from acts_contrib.test_utils.tel.tel_subscription_utils import get_default_data_sub_id 49from acts_contrib.test_utils.tel.tel_subscription_utils import get_slot_index_from_subid 50from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index 51from acts_contrib.test_utils.tel.tel_subscription_utils import set_message_subid 52from acts_contrib.test_utils.tel.tel_subscription_utils import set_subid_for_data 53from acts_contrib.test_utils.tel.tel_subscription_utils import set_voice_sub_id 54from acts_contrib.test_utils.tel.tel_subscription_utils import set_dds_on_slot_0 55from acts_contrib.test_utils.tel.tel_subscription_utils import set_dds_on_slot_1 56from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_on_same_network_of_host_ad 57from acts_contrib.test_utils.tel.tel_test_utils import verify_http_connection 58from acts_contrib.test_utils.tel.tel_test_utils import verify_internet_connection 59from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode 60from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_on_rat 61from acts_contrib.test_utils.tel.tel_voice_utils import two_phone_call_msim_for_slot 62from acts_contrib.test_utils.tel.tel_wifi_utils import check_is_wifi_connected 63from acts_contrib.test_utils.tel.tel_wifi_utils import ensure_wifi_connected 64from acts.utils import rand_ascii_str 65 66CallResult = TelephonyVoiceTestResult.CallResult.Value 67_WAIT_TIME_FOR_MEP_ENABLE_INTERVAL = 60 68_WAIT_TIME_FOR_MEP_ENABLE = 180 69 70 71class TelLiveGFTDSDSDDSSwitchTest(TelephonyBaseTest): 72 def setup_class(self): 73 TelephonyBaseTest.setup_class(self) 74 self.message_lengths = (50, 160, 180) 75 self.tel_logger = TelephonyMetricLogger.for_test_case() 76 if getattr(self.android_devices[0], 'mep', False): 77 start_time = time.monotonic() 78 timeout = start_time + _WAIT_TIME_FOR_MEP_ENABLE 79 while time.monotonic() < timeout: 80 mep_logs = self.android_devices[0].search_logcat( 81 "UNSOL_SIM_SLOT_STATUS_CHANGED") 82 if mep_logs: 83 for mep_log in mep_logs: 84 if "num_ports=2" in mep_log["log_message"]: 85 break 86 time.sleep(_WAIT_TIME_FOR_MEP_ENABLE_INTERVAL) 87 else: 88 self.log.warning("Couldn't found MEP enabled logs.") 89 90 def teardown_test(self): 91 self.android_devices[0].force_stop_apk(YOUTUBE_PACKAGE_NAME) 92 ensure_phones_idle(self.log, self.android_devices) 93 94 def _msim_message_test( 95 self, 96 ad_mo, 97 ad_mt, 98 mo_sub_id, 99 mt_sub_id, msg="SMS", 100 max_wait_time=MAX_WAIT_TIME_SMS_RECEIVE, 101 expected_result=True): 102 """Make MO/MT SMS/MMS at specific slot. 103 104 Args: 105 ad_mo: Android object of the device sending SMS/MMS 106 ad_mt: Android object of the device receiving SMS/MMS 107 mo_sub_id: Sub ID of MO device 108 mt_sub_id: Sub ID of MT device 109 max_wait_time: Max wait time before SMS/MMS is received. 110 expected_result: True for successful sending/receiving and False on 111 the contrary 112 113 Returns: 114 True if the result matches expected_result and False on the 115 contrary. 116 """ 117 118 if msg == "SMS": 119 for length in self.message_lengths: 120 message_array = [rand_ascii_str(length)] 121 if not sms_send_receive_verify_for_subscription( 122 self.log, 123 ad_mo, 124 ad_mt, 125 mo_sub_id, 126 mt_sub_id, 127 message_array, 128 max_wait_time): 129 ad_mo.log.warning( 130 "%s of length %s test failed", msg, length) 131 return False 132 else: 133 ad_mo.log.info( 134 "%s of length %s test succeeded", msg, length) 135 self.log.info("%s test of length %s characters succeeded.", 136 msg, self.message_lengths) 137 138 elif msg == "MMS": 139 for length in self.message_lengths: 140 message_array = [("Test Message", rand_ascii_str(length), None)] 141 142 if not mms_send_receive_verify( 143 self.log, 144 ad_mo, 145 ad_mt, 146 message_array, 147 max_wait_time, 148 expected_result): 149 self.log.warning("%s of body length %s test failed", 150 msg, length) 151 return False 152 else: 153 self.log.info( 154 "%s of body length %s test succeeded", msg, length) 155 self.log.info("%s test of body lengths %s succeeded", 156 msg, self.message_lengths) 157 return True 158 159 def _test_dds_switch_during_data_transfer( 160 self, 161 slot_0_nw_gen="volte", 162 slot_1_nw_gen="volte", 163 call_slot=0, 164 call_direction=None, 165 call_or_sms_or_mms="call", 166 streaming=True, 167 is_airplane_mode=False, 168 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]): 169 """Switch DDS and make voice call (VoLTE/WFC/CS call)/SMS/MMS together 170 with Youtube playing after each DDS switch at specific slot in specific 171 RAT. 172 173 Test step: 174 1. Get sub ID of each slot of the primary device. 175 2. Set up phones in desired RAT. 176 3. Switch DDS to slot 0. 177 4. Check HTTP connection after DDS switch. 178 5. Play Youtube. 179 6. Make voice call (VoLTE/WFC/CS call)/SMS/MMS 180 7. Switch DDS to slot 1 and repeat step 4-6. 181 8. Switch DDS to slot 0 again and repeat step 4-6. 182 183 Args: 184 1, slot_0_nw_gen: Network generation of slot 0 on the primary device 185 2, slot_1_nw_gen: Network generation of slot 1 on the primary device 186 3. call_slot: Slot for making voice call 187 4. call_direction: "mo" or "mt" or None to stoping making call. 188 5. call_or_sms_or_mms: Voice call or SMS or MMS 189 6. streaming: True for playing Youtube after DDS switch and False on 190 the contrary. 191 7. is_airplane_mode: True of False for WFC setup 192 8. wfc_mode: Cellular preferred or Wi-Fi preferred. 193 194 Returns: 195 True or False 196 """ 197 ad = self.android_devices[0] 198 slot_0_subid = get_subid_from_slot_index(self.log, ad, 0) 199 slot_1_subid = get_subid_from_slot_index(self.log, ad, 1) 200 201 if slot_0_subid == INVALID_SUB_ID or slot_1_subid == INVALID_SUB_ID: 202 ad.log.error("Not all slots have valid sub ID.") 203 raise signals.TestFailure("Failed", 204 extras={"fail_reason": "Not all slots have valid sub ID"}) 205 206 ad.log.info( 207 "Step 0: Set up phone in desired RAT (slot 0: %s, slot 1: %s)", 208 slot_0_nw_gen, slot_1_nw_gen) 209 210 if not phone_setup_on_rat( 211 self.log, 212 ad, 213 slot_0_nw_gen, 214 slot_0_subid, 215 is_airplane_mode, 216 wfc_mode[0], 217 self.wifi_network_ssid, 218 self.wifi_network_pass): 219 220 self.log.error("Phone Failed to Set Up Properly.") 221 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE")) 222 raise signals.TestFailure("Failed", 223 extras={"fail_reason": "Phone Failed to Set Up Properly."}) 224 225 if not phone_setup_on_rat( 226 self.log, 227 ad, 228 slot_1_nw_gen, 229 slot_1_subid, 230 is_airplane_mode, 231 wfc_mode[1], 232 self.wifi_network_ssid, 233 self.wifi_network_pass): 234 235 self.log.error("Phone Failed to Set Up Properly.") 236 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE")) 237 raise signals.TestFailure("Failed", 238 extras={"fail_reason": "Phone Failed to Set Up Properly."}) 239 240 is_slot0_in_call = is_phone_in_call_on_rat( 241 self.log, ad, slot_0_nw_gen, True) 242 is_slot1_in_call = is_phone_in_call_on_rat( 243 self.log, ad, slot_1_nw_gen, True) 244 245 for attempt in range(3): 246 if attempt != 0: 247 ad.log.info("Repeat step 1 to 4.") 248 249 ad.log.info("Step 1: Switch DDS.") 250 if attempt % 2 == 0: 251 set_dds_on_slot_0(ad) 252 else: 253 set_dds_on_slot_1(ad) 254 255 ad.log.info("Step 2: Check HTTP connection after DDS switch.") 256 if not verify_http_connection(self.log, ad): 257 ad.log.error("Failed to verify http connection.") 258 return False 259 else: 260 ad.log.info("Verify http connection successfully.") 261 262 if streaming: 263 ad.log.info("Step 3: Start Youtube streaming.") 264 if not start_youtube_video(ad): 265 ad.log.warning("Fail to bring up youtube video") 266 time.sleep(10) 267 else: 268 ad.log.info("Step 3: Skip Youtube streaming.") 269 270 if not call_direction: 271 return True 272 else: 273 expected_result = True 274 if call_direction == "mo": 275 ad_mo = self.android_devices[0] 276 ad_mt = self.android_devices[1] 277 mo_sub_id = get_subid_from_slot_index(self.log, ad, call_slot) 278 if call_or_sms_or_mms == "call": 279 set_voice_sub_id(ad_mo, mo_sub_id) 280 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad( 281 self.android_devices) 282 283 if call_slot == 0: 284 is_mo_in_call = is_slot0_in_call 285 elif call_slot == 1: 286 is_mo_in_call = is_slot1_in_call 287 is_mt_in_call = None 288 289 elif call_or_sms_or_mms == "sms": 290 set_message_subid(ad_mo, mo_sub_id) 291 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad( 292 self.android_devices, type="sms") 293 set_message_subid(ad_mt, mt_sub_id) 294 295 elif call_or_sms_or_mms == "mms": 296 current_data_sub_id = get_default_data_sub_id(ad_mo) 297 if mo_sub_id != current_data_sub_id: 298 ad_mo.log.warning( 299 "Current data sub ID (%s) does not match" 300 " message sub ID (%s). MMS should NOT be sent.", 301 current_data_sub_id, mo_sub_id) 302 expected_result = False 303 set_message_subid(ad_mo, mo_sub_id) 304 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad( 305 self.android_devices, type="sms") 306 set_message_subid(ad_mt, mt_sub_id) 307 set_subid_for_data(ad_mt, mt_sub_id) 308 ad_mt.droid.telephonyToggleDataConnection(True) 309 310 elif call_direction == "mt": 311 ad_mo = self.android_devices[1] 312 ad_mt = self.android_devices[0] 313 mt_sub_id = get_subid_from_slot_index(self.log, ad, call_slot) 314 if call_or_sms_or_mms == "call": 315 set_voice_sub_id(ad_mt, mt_sub_id) 316 _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad( 317 self.android_devices) 318 319 if call_slot == 0: 320 is_mt_in_call = is_slot0_in_call 321 elif call_slot == 1: 322 is_mt_in_call = is_slot1_in_call 323 is_mo_in_call = None 324 325 elif call_or_sms_or_mms == "sms": 326 set_message_subid(ad_mt, mt_sub_id) 327 _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad( 328 self.android_devices, type="sms") 329 set_message_subid(ad_mo, mo_sub_id) 330 331 elif call_or_sms_or_mms == "mms": 332 current_data_sub_id = get_default_data_sub_id(ad_mt) 333 if mt_sub_id != current_data_sub_id: 334 ad_mt.log.warning( 335 "Current data sub ID (%s) does not match" 336 " message sub ID (%s). MMS should NOT be" 337 " received.", current_data_sub_id, mt_sub_id) 338 expected_result = False 339 set_message_subid(ad_mt, mt_sub_id) 340 _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad( 341 self.android_devices, type="sms") 342 set_message_subid(ad_mo, mo_sub_id) 343 set_subid_for_data(ad_mo, mo_sub_id) 344 ad_mo.droid.telephonyToggleDataConnection(True) 345 346 if call_or_sms_or_mms == "call": 347 self.log.info("Step 4: Make voice call.") 348 mo_slot = get_slot_index_from_subid(ad_mo, mo_sub_id) 349 mt_slot = get_slot_index_from_subid(ad_mt, mt_sub_id) 350 result = two_phone_call_msim_for_slot( 351 self.log, 352 ad_mo, 353 mo_slot, 354 None, 355 is_mo_in_call, 356 ad_mt, 357 mt_slot, 358 None, 359 is_mt_in_call) 360 self.tel_logger.set_result(result.result_value) 361 362 if not result: 363 self.log.error( 364 "Failed to make MO call from %s slot %s to %s" 365 " slot %s", ad_mo.serial, mo_slot, ad_mt.serial, 366 mt_slot) 367 raise signals.TestFailure("Failed", 368 extras={"fail_reason": str(result.result_value)}) 369 else: 370 self.log.info("Step 4: Send %s.", call_or_sms_or_mms) 371 if call_or_sms_or_mms == "sms": 372 result = self._msim_message_test( 373 ad_mo, 374 ad_mt, 375 mo_sub_id, 376 mt_sub_id, 377 msg=call_or_sms_or_mms.upper()) 378 elif call_or_sms_or_mms == "mms": 379 result = self._msim_message_test( 380 ad_mo, 381 ad_mt, 382 mo_sub_id, 383 mt_sub_id, 384 msg=call_or_sms_or_mms.upper(), 385 expected_result=expected_result) 386 if not result: 387 log_messaging_screen_shot( 388 ad_mo, test_name="%s_tx" % call_or_sms_or_mms) 389 log_messaging_screen_shot( 390 ad_mt, test_name="%s_rx" % call_or_sms_or_mms) 391 392 return False 393 return True 394 395 def _test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 396 self, 397 slot_0_nw_gen="volte", 398 slot_1_nw_gen="volte", 399 call_slot=0, 400 call_direction=None, 401 streaming=True, 402 airplane_mode_cycling=False, 403 cellular_data_cycling=False, 404 wifi_cycling=False, 405 enable_volte=[True, True], 406 enable_wfc=[True, True], 407 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 408 is_airplane_mode=False, 409 is_wifi_connected=False): 410 """Switch DDS and make VoLTE/WFC call together with Youtube playing 411 after each DDS switch at specific slot in specific RAT. 412 413 Test step: 414 1. Get sub ID of each slot of the primary device. 415 2. Set up phones in desired RAT. 416 3. Toggle on/off VoLTE/WFC and set WFC mode. 417 4. Airplane mode or cellular data or Wi-Fi cycling. 418 5. Switch DDS to slot 0. 419 6. Check HTTP connection after DDS switch. 420 7. Play Youtube. 421 8. Make VoLTE or WFC call. 422 9. Switch DDS to slot 1 and repeat step 6-8. 423 10. Switch DDS to slot 0 again and repeat step 6-8. 424 425 Args: 426 1, slot_0_nw_gen: Network generation of slot 0 on the primary device 427 2, slot_1_nw_gen: Network generation of slot 1 on the primary device 428 3. call_slot: Slot for making voice call 429 4. call_direction: "mo" or "mt" or None to stoping making call. 430 5. streaming: True for playing Youtube after DDS switch and False on 431 the contrary. 432 6. airplane_mode_cycling: True for cycling airplane 433 7. cellular_data_cycling: True for cycling cellular data 434 8. wifi_cycling: True for cycling Wi-Fi 435 9. enable_volte: True for enabling and False for disabling VoLTE for 436 each slot on the primary device 437 10. enable_wfc: True for enabling and False for disabling WFC for 438 each slot on the primary device 439 11. wfc_mode: Cellular preferred or Wi-Fi preferred. 440 12. is_airplane_mode: True of False for WFC setup 441 442 Returns: 443 True or False 444 """ 445 ad = self.android_devices[0] 446 slot_0_subid = get_subid_from_slot_index(self.log, ad, 0) 447 slot_1_subid = get_subid_from_slot_index(self.log, ad, 1) 448 449 if slot_0_subid == INVALID_SUB_ID or slot_1_subid == INVALID_SUB_ID: 450 ad.log.error("Not all slots have valid sub ID.") 451 raise signals.TestFailure("Failed", 452 extras={"fail_reason": "Not all slots have valid sub ID"}) 453 454 ad.log.info( 455 "Step 0: Set up phone in desired RAT (slot 0: %s, slot 1: %s)", 456 slot_0_nw_gen, slot_1_nw_gen) 457 458 if not phone_setup_on_rat( 459 self.log, 460 ad, 461 slot_0_nw_gen, 462 slot_0_subid, 463 is_airplane_mode, 464 wfc_mode[0], 465 self.wifi_network_ssid, 466 self.wifi_network_pass): 467 468 self.log.error("Phone Failed to Set Up Properly.") 469 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE")) 470 raise signals.TestFailure("Failed", 471 extras={"fail_reason": "Phone Failed to Set Up Properly."}) 472 473 if not phone_setup_on_rat( 474 self.log, 475 ad, 476 slot_1_nw_gen, 477 slot_1_subid, 478 is_airplane_mode, 479 wfc_mode[1], 480 self.wifi_network_ssid, 481 self.wifi_network_pass): 482 483 self.log.error("Phone Failed to Set Up Properly.") 484 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE")) 485 raise signals.TestFailure("Failed", 486 extras={"fail_reason": "Phone Failed to Set Up Properly."}) 487 488 is_slot0_in_call = is_phone_in_call_on_rat( 489 self.log, ad, slot_0_nw_gen, True) 490 is_slot1_in_call = is_phone_in_call_on_rat( 491 self.log, ad, slot_1_nw_gen, True) 492 493 if is_wifi_connected: 494 if not ensure_wifi_connected( 495 self.log, 496 ad, 497 self.wifi_network_ssid, 498 self.wifi_network_pass, 499 apm=False): 500 return False 501 time.sleep(5) 502 503 ad.log.info("Step 1: Enable/disable VoLTE and WFC.") 504 for sub_id, volte in zip([slot_0_subid, slot_1_subid], enable_volte): 505 if not toggle_volte_for_subscription( 506 self.log, 507 ad, 508 sub_id, 509 new_state=volte): 510 return False 511 512 for sub_id, wfc, mode in \ 513 zip([slot_0_subid, slot_1_subid], enable_wfc, wfc_mode): 514 if not toggle_wfc_for_subscription(self.log, ad, new_state=wfc, sub_id=sub_id): 515 return False 516 if not set_wfc_mode_for_subscription(ad, mode, sub_id=sub_id): 517 return False 518 519 if airplane_mode_cycling: 520 ad.log.info("Step 2: Airplane mode cycling.") 521 ad.log.info("Step 2-1: Toggle on airplane mode.") 522 if not toggle_airplane_mode(self.log, ad, True): 523 ad.log.error("Failed to toggle on airplane mode.") 524 return False 525 time.sleep(5) 526 ad.log.info("Step 2-2: Toggle off airplane mode.") 527 if not toggle_airplane_mode(self.log, ad, False): 528 ad.log.error("Failed to toggle off airplane mode.") 529 return False 530 531 if is_airplane_mode: 532 time.sleep(5) 533 ad.log.info("Step 2-3: Toggle on airplane mode again.") 534 if not toggle_airplane_mode(self.log, ad, True): 535 ad.log.error("Failed to toggle on airplane mode.") 536 return False 537 538 if wfc_mode[0] or wfc_mode[1]: 539 time.sleep(5) 540 ad.log.info("Step 2-4: Toggle on Wi-Fi again.") 541 if not ensure_wifi_connected( 542 self.log, 543 ad, 544 self.wifi_network_ssid, 545 self.wifi_network_pass, 546 apm=is_airplane_mode): 547 return False 548 time.sleep(5) 549 550 if cellular_data_cycling: 551 if call_slot == 0: 552 sub_id = slot_0_subid 553 elif call_slot == 1: 554 sub_id = slot_1_subid 555 ad.log.info("Step 2: Cellular data cycling") 556 ad.log.info("Step 2-1: Toggle off cellular data.") 557 ad.droid.telephonyToggleDataConnection(False) 558 if not check_is_wifi_connected( 559 self.log, 560 ad, 561 self.wifi_network_ssid): 562 if not wait_for_cell_data_connection_for_subscription( 563 self.log, ad, sub_id, False): 564 ad.log.error("Failed to disable cellular data") 565 return False 566 567 if not verify_internet_connection( 568 self.log, 569 ad, 570 expected_state=False): 571 ad.log.error("Internet still accessible when cellular data" 572 " is disabled.") 573 return False 574 time.sleep(5) 575 ad.log.info("Step 2-2: Toggle on cellular data.") 576 ad.droid.telephonyToggleDataConnection(True) 577 if not check_is_wifi_connected( 578 self.log, 579 ad, 580 self.wifi_network_ssid): 581 if not wait_for_cell_data_connection_for_subscription( 582 self.log, ad, sub_id, True): 583 ad.log.error("Failed to enable cellular data") 584 return False 585 if not verify_internet_connection(self.log, ad, retries=3): 586 ad.log.error( 587 "Internet inaccessible when cellular data is enabled.") 588 return False 589 590 if wifi_cycling: 591 ad.log.info("Step 2: Wi-Fi cycling") 592 ad.log.info("Step 2-1: Toggle on Wi-Fi.") 593 if not ensure_wifi_connected( 594 self.log, 595 ad, 596 self.wifi_network_ssid, 597 self.wifi_network_pass, 598 apm=is_airplane_mode): 599 return False 600 time.sleep(5) 601 ad.log.info("Step 2-2: Toggle off Wi-Fi.") 602 ad.droid.wifiToggleState(False) 603 time.sleep(5) 604 605 if (call_slot == 0 and slot_0_nw_gen == "wfc") or \ 606 (call_slot == 1 and slot_1_nw_gen == "wfc") or is_wifi_connected: 607 if not ensure_wifi_connected( 608 self.log, 609 ad, 610 self.wifi_network_ssid, 611 self.wifi_network_pass, 612 apm=is_airplane_mode): 613 return False 614 615 for attempt in range(3): 616 if attempt != 0: 617 ad.log.info("Repeat step 1 to 4.") 618 619 ad.log.info("Step 3: Switch DDS.") 620 if attempt % 2 == 0: 621 set_dds_on_slot_0(ad) 622 else: 623 set_dds_on_slot_1(ad) 624 625 ad.log.info("Step 4: Check HTTP connection after DDS switch.") 626 if not verify_http_connection(self.log, ad): 627 ad.log.error("Failed to verify http connection.") 628 return False 629 else: 630 ad.log.info("Verify http connection successfully.") 631 632 if streaming: 633 ad.log.info("Step 5: Start Youtube streaming.") 634 if not start_youtube_video(ad): 635 ad.log.warning("Fail to bring up youtube video") 636 time.sleep(10) 637 else: 638 ad.log.info("Step 5: Skip Youtube streaming.") 639 640 if not call_direction: 641 return True 642 else: 643 if call_direction == "mo": 644 ad_mo = self.android_devices[0] 645 ad_mt = self.android_devices[1] 646 mo_sub_id = get_subid_from_slot_index(self.log, ad, call_slot) 647 648 set_voice_sub_id(ad_mo, mo_sub_id) 649 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad( 650 self.android_devices) 651 652 if call_slot == 0: 653 is_mo_in_call = is_slot0_in_call 654 elif call_slot == 1: 655 is_mo_in_call = is_slot1_in_call 656 is_mt_in_call = None 657 658 elif call_direction == "mt": 659 ad_mo = self.android_devices[1] 660 ad_mt = self.android_devices[0] 661 mt_sub_id = get_subid_from_slot_index(self.log, ad, call_slot) 662 663 set_voice_sub_id(ad_mt, mt_sub_id) 664 _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad( 665 self.android_devices) 666 667 if call_slot == 0: 668 is_mt_in_call = is_slot0_in_call 669 elif call_slot == 1: 670 is_mt_in_call = is_slot1_in_call 671 is_mo_in_call = None 672 673 if (call_slot == 0 and slot_0_nw_gen == "wfc") or \ 674 (call_slot == 1 and slot_1_nw_gen == "wfc"): 675 if not wait_for_wfc_enabled(self.log, ad): 676 return False 677 678 self.log.info("Step 6: Make voice call.") 679 mo_slot = get_slot_index_from_subid(ad_mo, mo_sub_id) 680 mt_slot = get_slot_index_from_subid(ad_mt, mt_sub_id) 681 result = two_phone_call_msim_for_slot( 682 self.log, 683 ad_mo, 684 mo_slot, 685 None, 686 is_mo_in_call, 687 ad_mt, 688 mt_slot, 689 None, 690 is_mt_in_call) 691 self.tel_logger.set_result(result.result_value) 692 693 if not result: 694 self.log.error( 695 "Failed to make MO call from %s slot %s to %s slot %s", 696 ad_mo.serial, mo_slot, ad_mt.serial, mt_slot) 697 raise signals.TestFailure("Failed", 698 extras={"fail_reason": str(result.result_value)}) 699 700 return True 701 702 def _test_dds_switch_volte_cycling(self, slot=0): 703 """ VoLTE cycling after DDS switch. 704 705 Test steps: 706 1. Enable VoLTE. 707 2. Disable VoLTE. 708 3. Switch DDS to slot 0. 709 4. Check HTTP connection after DDS switch. 710 5. Enable VoLTE again. 711 6. Check if IMS can be registered successfully and if VoLTE is 712 available. 713 7. Repeat steps 2-6 for 2 times and each time DDS should be switched 714 to another slot. 715 716 Args: 717 slot: slot to be tested 718 719 Returns: 720 True or False 721 """ 722 ad = self.android_devices[0] 723 slot_0_subid = get_subid_from_slot_index(self.log, ad, 0) 724 slot_1_subid = get_subid_from_slot_index(self.log, ad, 1) 725 726 if slot == 0: 727 sub_id = slot_0_subid 728 elif slot == 1: 729 sub_id = slot_1_subid 730 731 ad.log.info("Step 1: Enable VoLTE for sub ID %s.", sub_id) 732 if not phone_setup_volte_for_subscription(self.log, ad, sub_id): 733 return False 734 735 for attempt in range(3): 736 if attempt != 0: 737 ad.log.info("Repeat step 2 to 4.") 738 739 ad.log.info("Step 2-1: Disable VoLTE for sub ID %s.", sub_id) 740 if not toggle_volte_for_subscription( 741 self.log, ad, sub_id, new_state=False): 742 return False 743 744 ad.log.info( 745 "Step 2-2: Ensure VoLTE is disabled for sub ID %s.", sub_id) 746 if is_volte_enabled(self.log, ad, sub_id): 747 return False 748 749 ad.log.info("Step 3: Switch DDS.") 750 if attempt % 2 == 0: 751 set_dds_on_slot_0(ad) 752 else: 753 set_dds_on_slot_1(ad) 754 755 ad.log.info("Step 4: Check HTTP connection after DDS switch.") 756 if not verify_http_connection(self.log, ad): 757 ad.log.error("Failed to verify http connection.") 758 return False 759 else: 760 ad.log.info("Verify http connection successfully.") 761 762 ad.log.info( 763 "Step 5: Enable VoLTE again after DDS switch for sub ID %s.", 764 sub_id) 765 if not phone_setup_volte_for_subscription(self.log, ad, sub_id): 766 return False 767 768 return True 769 770 @test_tracker_info(uuid="06908fb0-aaaa-4c95-b073-ea5ba8977050") 771 @TelephonyBaseTest.tel_test_wrap 772 def test_dds_switch_when_volte_enabled(self): 773 ad = self.android_devices[0] 774 slot_0_subid = get_subid_from_slot_index(self.log, ad, 0) 775 slot_1_subid = get_subid_from_slot_index(self.log, ad, 1) 776 777 ad.log.info("Step 0: Ensure VoLTE is enabled as initial condition.") 778 if not phone_setup_volte_for_subscription(self.log, ad, slot_0_subid): 779 return False 780 if not phone_setup_volte_for_subscription(self.log, ad, slot_1_subid): 781 return False 782 783 for attempt in range(3): 784 ad.log.info("Step 1: Switch DDS.") 785 if attempt % 2 == 0: 786 set_dds_on_slot_0(ad) 787 else: 788 set_dds_on_slot_1(ad) 789 790 ad.log.info("Step 2: Check HTTP connection after DDS switch.") 791 if not verify_http_connection(self.log, ad): 792 ad.log.error("Failed to verify http connection.") 793 return False 794 else: 795 ad.log.info("Verify http connection successfully.") 796 797 ad.log.info("Step 3: Ensure VoLTE is still enabled after DDS" 798 " switch.") 799 if not phone_setup_volte_for_subscription( 800 self.log, ad, slot_0_subid): 801 return False 802 if not phone_setup_volte_for_subscription( 803 self.log, ad, slot_1_subid): 804 return False 805 return True 806 807 @test_tracker_info(uuid="6b41d84c-4485-47b0-a5d8-eac16ed36258") 808 @TelephonyBaseTest.tel_test_wrap 809 def test_dds_switch_and_reboot_when_volte_enabled(self): 810 ad = self.android_devices[0] 811 slot_0_subid = get_subid_from_slot_index(self.log, ad, 0) 812 slot_1_subid = get_subid_from_slot_index(self.log, ad, 1) 813 814 ad.log.info("Step 0: Ensure VoLTE is enabled as initial condition.") 815 if not phone_setup_volte_for_subscription(self.log, ad, slot_0_subid): 816 return False 817 if not phone_setup_volte_for_subscription(self.log, ad, slot_1_subid): 818 return False 819 820 for attempt in range(3): 821 ad.log.info("Step 1: Switch DDS.") 822 if attempt % 2 == 0: 823 set_dds_on_slot_0(ad) 824 else: 825 set_dds_on_slot_1(ad) 826 827 ad.log.info("Step 2: Check HTTP connection after DDS switch.") 828 if not verify_http_connection(self.log, ad): 829 ad.log.error("Failed to verify http connection.") 830 return False 831 else: 832 ad.log.info("Verify http connection successfully.") 833 834 ad.log.info("Step 3: Reboot.") 835 if not reboot_test(self.log, ad): 836 return False 837 838 ad.log.info("Step 4: Ensure VoLTE is still enabled after DDS" 839 " switch.") 840 if not phone_setup_volte_for_subscription( 841 self.log, ad, slot_0_subid): 842 return False 843 if not phone_setup_volte_for_subscription( 844 self.log, ad, slot_1_subid): 845 return False 846 return True 847 848 @test_tracker_info(uuid="bb440f33-ab0d-4999-885c-5c1f933430c4") 849 @TelephonyBaseTest.tel_test_wrap 850 def test_dds_switch_when_volte_cycling_psim(self): 851 return self._test_dds_switch_volte_cycling(slot=0) 852 853 @test_tracker_info(uuid="cbd5a4ae-be37-4435-b9db-fe58e8fdac5f") 854 @TelephonyBaseTest.tel_test_wrap 855 def test_dds_switch_when_volte_cycling_esim(self): 856 return self._test_dds_switch_volte_cycling(slot=1) 857 858 859 @test_tracker_info(uuid="2df5faf9-8318-4acb-9068-e6ec0481c2ca") 860 @TelephonyBaseTest.tel_test_wrap 861 def test_dds_switch_youtube_volte(self): 862 return self._test_dds_switch_during_data_transfer( 863 slot_0_nw_gen="volte", 864 slot_1_nw_gen="volte") 865 866 @test_tracker_info(uuid="eb73506e-c604-48df-be04-9b602a801afc") 867 @TelephonyBaseTest.tel_test_wrap 868 def test_dds_switch_youtube_and_voice_call_mo_volte_psim(self): 869 return self._test_dds_switch_during_data_transfer( 870 slot_0_nw_gen="volte", 871 slot_1_nw_gen="volte", 872 call_slot=0, 873 call_direction="mo") 874 875 @test_tracker_info(uuid="2e2feab1-65a8-40a7-8666-0c46cb3411a4") 876 @TelephonyBaseTest.tel_test_wrap 877 def test_dds_switch_youtube_and_voice_call_mo_volte_esim(self): 878 return self._test_dds_switch_during_data_transfer( 879 slot_0_nw_gen="volte", 880 slot_1_nw_gen="volte", 881 call_slot=1, 882 call_direction="mo") 883 884 @test_tracker_info(uuid="f2a7d62c-1f54-4081-b7bb-4782c5482b41") 885 @TelephonyBaseTest.tel_test_wrap 886 def test_dds_switch_youtube_and_voice_call_mt_volte_psim(self): 887 return self._test_dds_switch_during_data_transfer( 888 slot_0_nw_gen="volte", 889 slot_1_nw_gen="volte", 890 call_slot=0, 891 call_direction="mt") 892 893 @test_tracker_info(uuid="df211078-b260-499d-8f7e-86cad039c5f5") 894 @TelephonyBaseTest.tel_test_wrap 895 def test_dds_switch_youtube_and_voice_call_mt_volte_esim(self): 896 return self._test_dds_switch_during_data_transfer( 897 slot_0_nw_gen="volte", 898 slot_1_nw_gen="volte", 899 call_slot=1, 900 call_direction="mt") 901 902 @test_tracker_info(uuid="bd77782d-f43d-40c6-9982-47cd452d980f") 903 @TelephonyBaseTest.tel_test_wrap 904 def test_dds_switch_youtube_and_voice_call_mo_csfb_psim(self): 905 return self._test_dds_switch_during_data_transfer( 906 slot_0_nw_gen="csfb", 907 slot_1_nw_gen="csfb", 908 call_slot=0, 909 call_direction="mo") 910 911 @test_tracker_info(uuid="361a6f69-e6ea-4013-960d-732931fcd130") 912 @TelephonyBaseTest.tel_test_wrap 913 def test_dds_switch_youtube_and_voice_call_mo_csfb_esim(self): 914 return self._test_dds_switch_during_data_transfer( 915 slot_0_nw_gen="csfb", 916 slot_1_nw_gen="csfb", 917 call_slot=1, 918 call_direction="mo") 919 920 @test_tracker_info(uuid="26186d4f-0b0d-41c5-ab91-04e9851461f0") 921 @TelephonyBaseTest.tel_test_wrap 922 def test_dds_switch_youtube_and_voice_call_mt_csfb_psim(self): 923 return self._test_dds_switch_during_data_transfer( 924 slot_0_nw_gen="csfb", 925 slot_1_nw_gen="csfb", 926 call_slot=0, 927 call_direction="mt") 928 929 @test_tracker_info(uuid="7d31c644-a470-4eb9-b272-f0cfc34d23cb") 930 @TelephonyBaseTest.tel_test_wrap 931 def test_dds_switch_youtube_and_voice_call_mt_csfb_esim(self): 932 return self._test_dds_switch_during_data_transfer( 933 slot_0_nw_gen="csfb", 934 slot_1_nw_gen="csfb", 935 call_slot=1, 936 call_direction="mt") 937 938 @test_tracker_info(uuid="614076a6-b042-45f3-84fe-c84591e02f78") 939 @TelephonyBaseTest.tel_test_wrap 940 def test_dds_switch_youtube_and_sms_volte(self): 941 result = True 942 self.log.info("Scenario 1: MO SMS at slot 0") 943 if not self._test_dds_switch_during_data_transfer( 944 slot_0_nw_gen="volte", 945 slot_1_nw_gen="volte", 946 call_slot=0, 947 call_direction="mo", 948 call_or_sms_or_mms="sms"): 949 result = False 950 self.log.info("Scenario 2: MO SMS at slot 1") 951 if not self._test_dds_switch_during_data_transfer( 952 slot_0_nw_gen="volte", 953 slot_1_nw_gen="volte", 954 call_slot=1, 955 call_direction="mo", 956 call_or_sms_or_mms="sms"): 957 result = False 958 self.log.info("Scenario 3: MT SMS at slot 0") 959 if not self._test_dds_switch_during_data_transfer( 960 slot_0_nw_gen="volte", 961 slot_1_nw_gen="volte", 962 call_slot=0, 963 call_direction="mt", 964 call_or_sms_or_mms="sms"): 965 result = False 966 self.log.info("Scenario 4: MT SMS at slot 1") 967 if not self._test_dds_switch_during_data_transfer( 968 slot_0_nw_gen="volte", 969 slot_1_nw_gen="volte", 970 call_slot=1, 971 call_direction="mt", 972 call_or_sms_or_mms="sms"): 973 result = False 974 return result 975 976 @test_tracker_info(uuid="5e61f007-7b01-4dee-ac2d-fd2225ac3dbd") 977 @TelephonyBaseTest.tel_test_wrap 978 def test_dds_switch_youtube_and_mms_volte(self): 979 result = True 980 self.log.info("Scenario 1: MO MMS at slot 0") 981 if not self._test_dds_switch_during_data_transfer( 982 slot_0_nw_gen="volte", 983 slot_1_nw_gen="volte", 984 call_slot=0, 985 call_direction="mo", 986 call_or_sms_or_mms="mms"): 987 result = False 988 self.log.info("Scenario 2: MO MMS at slot 1") 989 if not self._test_dds_switch_during_data_transfer( 990 slot_0_nw_gen="volte", 991 slot_1_nw_gen="volte", 992 call_slot=1, 993 call_direction="mo", 994 call_or_sms_or_mms="mms"): 995 result = False 996 self.log.info("Scenario 3: MT MMS at slot 0") 997 if not self._test_dds_switch_during_data_transfer( 998 slot_0_nw_gen="volte", 999 slot_1_nw_gen="volte", 1000 call_slot=0, 1001 call_direction="mt", 1002 call_or_sms_or_mms="mms"): 1003 result = False 1004 self.log.info("Scenario 4: MT MMS at slot 1") 1005 if not self._test_dds_switch_during_data_transfer( 1006 slot_0_nw_gen="volte", 1007 slot_1_nw_gen="volte", 1008 call_slot=1, 1009 call_direction="mt", 1010 call_or_sms_or_mms="mms"): 1011 result = False 1012 return result 1013 1014 @test_tracker_info(uuid="47b9bf08-2c17-4646-b1d3-3d191318bc0d") 1015 @TelephonyBaseTest.tel_test_wrap 1016 def test_dds_switch_voice_call_mo_volte_psim(self): 1017 return self._test_dds_switch_during_data_transfer( 1018 "volte", "volte", 0, "mo", "call", False) 1019 1020 @test_tracker_info(uuid="eef31675-f0a3-4086-8474-d67614ede507") 1021 @TelephonyBaseTest.tel_test_wrap 1022 def test_dds_switch_voice_call_mo_volte_esim(self): 1023 return self._test_dds_switch_during_data_transfer( 1024 "volte", "volte", 1, "mo", "call", False) 1025 1026 @test_tracker_info(uuid="ce8b6ce8-d314-49ca-bead-391c15809235") 1027 @TelephonyBaseTest.tel_test_wrap 1028 def test_dds_switch_voice_call_mt_volte_psim(self): 1029 return self._test_dds_switch_during_data_transfer( 1030 "volte", "volte", 0, "mt", "call", False) 1031 1032 @test_tracker_info(uuid="64c941e0-fcab-43ca-a988-f667398f1997") 1033 @TelephonyBaseTest.tel_test_wrap 1034 def test_dds_switch_voice_call_mt_volte_esim(self): 1035 return self._test_dds_switch_during_data_transfer( 1036 "volte", "volte", 1, "mt", "call", False) 1037 1038 @test_tracker_info(uuid="28963e86-f8ce-4324-8ce8-8e6628fd2d99") 1039 @TelephonyBaseTest.tel_test_wrap 1040 def test_dds_switch_sms_volte(self): 1041 result = True 1042 self.log.info("Scenario 1: MO SMS at slot 0") 1043 if not self._test_dds_switch_during_data_transfer( 1044 "volte", "volte", 0, "mo", "sms", False): 1045 result = False 1046 self.log.info("Scenario 2: MO SMS at slot 1") 1047 if not self._test_dds_switch_during_data_transfer( 1048 "volte", "volte", 1, "mo", "sms", False): 1049 result = False 1050 self.log.info("Scenario 3: MT SMS at slot 0") 1051 if not self._test_dds_switch_during_data_transfer( 1052 "volte", "volte", 0, "mt", "sms", False): 1053 result = False 1054 self.log.info("Scenario 4: MT SMS at slot 1") 1055 if not self._test_dds_switch_during_data_transfer( 1056 "volte", "volte", 1, "mt", "sms", False): 1057 result = False 1058 return result 1059 1060 @test_tracker_info(uuid="915c0eb3-1a84-4eb0-8cba-cafe32c0d604") 1061 @TelephonyBaseTest.tel_test_wrap 1062 def test_dds_switch_mms_volte(self): 1063 result = True 1064 self.log.info("Scenario 1: MO MMS at slot 0") 1065 if not self._test_dds_switch_during_data_transfer( 1066 "volte", "volte", 0, "mo", "mms", False): 1067 result = False 1068 self.log.info("Scenario 2: MO MMS at slot 1") 1069 if not self._test_dds_switch_during_data_transfer( 1070 "volte", "volte", 1, "mo", "mms", False): 1071 result = False 1072 self.log.info("Scenario 3: MT MMS at slot 0") 1073 if not self._test_dds_switch_during_data_transfer( 1074 "volte", "volte", 0, "mt", "mms", False): 1075 result = False 1076 self.log.info("Scenario 4: MT MMS at slot 1") 1077 if not self._test_dds_switch_during_data_transfer( 1078 "volte", "volte", 1, "mt", "mms", False): 1079 result = False 1080 return result 1081 1082 @test_tracker_info(uuid="d58939c0-d246-453e-9eac-54152d6dc70c") 1083 @TelephonyBaseTest.tel_test_wrap 1084 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_apm_cycling(self): 1085 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1086 slot_0_nw_gen="volte", 1087 slot_1_nw_gen="volte", 1088 call_slot=0, 1089 call_direction="mo", 1090 streaming=True, 1091 airplane_mode_cycling=True, 1092 enable_volte=[True, True], 1093 enable_wfc=[True, True], 1094 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1095 1096 @test_tracker_info(uuid="61dfb957-6349-4190-8e63-973558b1292b") 1097 @TelephonyBaseTest.tel_test_wrap 1098 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_apm_cycling(self): 1099 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1100 slot_0_nw_gen="volte", 1101 slot_1_nw_gen="volte", 1102 call_slot=1, 1103 call_direction="mo", 1104 streaming=True, 1105 airplane_mode_cycling=True, 1106 enable_volte=[True, True], 1107 enable_wfc=[True, True], 1108 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1109 1110 @test_tracker_info(uuid="127377f2-973f-4758-b138-4c0dd276f893") 1111 @TelephonyBaseTest.tel_test_wrap 1112 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_apm_cycling(self): 1113 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1114 slot_0_nw_gen="volte", 1115 slot_1_nw_gen="volte", 1116 call_slot=0, 1117 call_direction="mt", 1118 streaming=True, 1119 airplane_mode_cycling=True, 1120 enable_volte=[True, True], 1121 enable_wfc=[True, True], 1122 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1123 1124 @test_tracker_info(uuid="a149d357-27a7-490d-a30b-70f44cd43ac7") 1125 @TelephonyBaseTest.tel_test_wrap 1126 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_apm_cycling(self): 1127 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1128 slot_0_nw_gen="volte", 1129 slot_1_nw_gen="volte", 1130 call_slot=1, 1131 call_direction="mt", 1132 streaming=True, 1133 airplane_mode_cycling=True, 1134 enable_volte=[True, True], 1135 enable_wfc=[True, True], 1136 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1137 1138 @test_tracker_info(uuid="8823e87c-0e4d-435d-a17f-84e1b65c1012") 1139 @TelephonyBaseTest.tel_test_wrap 1140 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_wifi_on_apm_cycling(self): 1141 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1142 slot_0_nw_gen="volte", 1143 slot_1_nw_gen="volte", 1144 call_slot=0, 1145 call_direction="mo", 1146 streaming=True, 1147 airplane_mode_cycling=True, 1148 enable_volte=[True, True], 1149 enable_wfc=[True, True], 1150 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1151 is_wifi_connected=True) 1152 1153 @test_tracker_info(uuid="bd038a77-baa6-483d-9af0-fe18d50d7f1f") 1154 @TelephonyBaseTest.tel_test_wrap 1155 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_wifi_on_apm_cycling(self): 1156 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1157 slot_0_nw_gen="volte", 1158 slot_1_nw_gen="volte", 1159 call_slot=1, 1160 call_direction="mo", 1161 streaming=True, 1162 airplane_mode_cycling=True, 1163 enable_volte=[True, True], 1164 enable_wfc=[True, True], 1165 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1166 is_wifi_connected=True) 1167 1168 @test_tracker_info(uuid="3f96fb8a-d4ee-49b8-8958-45cd509ed7b8") 1169 @TelephonyBaseTest.tel_test_wrap 1170 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_wifi_on_apm_cycling(self): 1171 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1172 slot_0_nw_gen="volte", 1173 slot_1_nw_gen="volte", 1174 call_slot=0, 1175 call_direction="mt", 1176 streaming=True, 1177 airplane_mode_cycling=True, 1178 enable_volte=[True, True], 1179 enable_wfc=[True, True], 1180 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1181 is_wifi_connected=True) 1182 1183 @test_tracker_info(uuid="1f89da8b-e559-4e96-afc7-0d2127616c56") 1184 @TelephonyBaseTest.tel_test_wrap 1185 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_wifi_on_apm_cycling(self): 1186 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1187 slot_0_nw_gen="volte", 1188 slot_1_nw_gen="volte", 1189 call_slot=1, 1190 call_direction="mt", 1191 streaming=True, 1192 airplane_mode_cycling=True, 1193 enable_volte=[True, True], 1194 enable_wfc=[True, True], 1195 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1196 is_wifi_connected=True) 1197 1198 @test_tracker_info(uuid="bc522b4d-2d26-4b5f-b82c-f92356f103d0") 1199 @TelephonyBaseTest.tel_test_wrap 1200 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_volte_on_apm_cycling(self): 1201 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1202 slot_0_nw_gen="wfc", 1203 slot_1_nw_gen="wfc", 1204 call_slot=0, 1205 call_direction="mo", 1206 streaming=True, 1207 airplane_mode_cycling=True, 1208 enable_volte=[True, True], 1209 enable_wfc=[True, True], 1210 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1211 is_airplane_mode=True) 1212 1213 @test_tracker_info(uuid="970ccdb4-c7b3-4b56-b93b-f811407c82cb") 1214 @TelephonyBaseTest.tel_test_wrap 1215 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_volte_on_apm_cycling(self): 1216 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1217 slot_0_nw_gen="wfc", 1218 slot_1_nw_gen="wfc", 1219 call_slot=1, 1220 call_direction="mo", 1221 streaming=True, 1222 airplane_mode_cycling=True, 1223 enable_volte=[True, True], 1224 enable_wfc=[True, True], 1225 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1226 is_airplane_mode=True) 1227 1228 @test_tracker_info(uuid="26c8b63e-631c-42d0-868b-03c2db6181b7") 1229 @TelephonyBaseTest.tel_test_wrap 1230 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_volte_on_apm_cycling(self): 1231 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1232 slot_0_nw_gen="wfc", 1233 slot_1_nw_gen="wfc", 1234 call_slot=0, 1235 call_direction="mo", 1236 streaming=True, 1237 airplane_mode_cycling=True, 1238 enable_volte=[True, True], 1239 enable_wfc=[True, True], 1240 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1241 is_airplane_mode=False) 1242 1243 @test_tracker_info(uuid="efd73091-8667-42a3-8551-eafa497fc383") 1244 @TelephonyBaseTest.tel_test_wrap 1245 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_volte_on_apm_cycling(self): 1246 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1247 slot_0_nw_gen="wfc", 1248 slot_1_nw_gen="wfc", 1249 call_slot=1, 1250 call_direction="mo", 1251 streaming=True, 1252 airplane_mode_cycling=True, 1253 enable_volte=[True, True], 1254 enable_wfc=[True, True], 1255 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1256 is_airplane_mode=False) 1257 1258 @test_tracker_info(uuid="618768b9-83c2-4ab7-b1fb-10a4037c5834") 1259 @TelephonyBaseTest.tel_test_wrap 1260 def test_dds_switch_voice_call_mt_wfc_psim_cellular_preferred_apm_on_with_volte_on_apm_cycling(self): 1261 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1262 slot_0_nw_gen="wfc", 1263 slot_1_nw_gen="wfc", 1264 call_slot=0, 1265 call_direction="mt", 1266 streaming=True, 1267 airplane_mode_cycling=True, 1268 enable_volte=[True, True], 1269 enable_wfc=[True, True], 1270 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1271 is_airplane_mode=True) 1272 1273 @test_tracker_info(uuid="24d695a1-7421-4038-bb07-4d81f3f6d05b") 1274 @TelephonyBaseTest.tel_test_wrap 1275 def test_dds_switch_voice_call_mt_wfc_esim_cellular_preferred_apm_on_with_volte_on_apm_cycling(self): 1276 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1277 slot_0_nw_gen="wfc", 1278 slot_1_nw_gen="wfc", 1279 call_slot=1, 1280 call_direction="mt", 1281 streaming=True, 1282 airplane_mode_cycling=True, 1283 enable_volte=[True, True], 1284 enable_wfc=[True, True], 1285 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1286 is_airplane_mode=True) 1287 1288 @test_tracker_info(uuid="2f28db8f-c0c3-4cf6-9f6f-439c9e32d9f3") 1289 @TelephonyBaseTest.tel_test_wrap 1290 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_volte_on_apm_cycling(self): 1291 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1292 slot_0_nw_gen="wfc", 1293 slot_1_nw_gen="wfc", 1294 call_slot=0, 1295 call_direction="mt", 1296 streaming=True, 1297 airplane_mode_cycling=True, 1298 enable_volte=[True, True], 1299 enable_wfc=[True, True], 1300 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1301 is_airplane_mode=False) 1302 1303 @test_tracker_info(uuid="60d851c5-f79d-46e7-b921-b510bcdc9024") 1304 @TelephonyBaseTest.tel_test_wrap 1305 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_volte_on_apm_cycling(self): 1306 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1307 slot_0_nw_gen="wfc", 1308 slot_1_nw_gen="wfc", 1309 call_slot=1, 1310 call_direction="mt", 1311 streaming=True, 1312 airplane_mode_cycling=True, 1313 enable_volte=[True, True], 1314 enable_wfc=[True, True], 1315 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1316 is_airplane_mode=False) 1317 1318 @test_tracker_info(uuid="092b1e43-3de4-4b08-b526-4f3f1e71a47a") 1319 @TelephonyBaseTest.tel_test_wrap 1320 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_cellular_data_cycling(self): 1321 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1322 slot_0_nw_gen="volte", 1323 slot_1_nw_gen="volte", 1324 call_slot=0, 1325 call_direction="mo", 1326 streaming=True, 1327 cellular_data_cycling=True, 1328 enable_volte=[True, True], 1329 enable_wfc=[True, True], 1330 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1331 1332 @test_tracker_info(uuid="3b876b39-1cfb-4adb-a45c-11a02890f8e1") 1333 @TelephonyBaseTest.tel_test_wrap 1334 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_cellular_data_cycling(self): 1335 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1336 slot_0_nw_gen="volte", 1337 slot_1_nw_gen="volte", 1338 call_slot=1, 1339 call_direction="mo", 1340 streaming=True, 1341 cellular_data_cycling=True, 1342 enable_volte=[True, True], 1343 enable_wfc=[True, True], 1344 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1345 1346 @test_tracker_info(uuid="96c42ffb-5b4e-4ab0-b52a-8b498a25f759") 1347 @TelephonyBaseTest.tel_test_wrap 1348 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_cellular_data_cycling(self): 1349 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1350 slot_0_nw_gen="volte", 1351 slot_1_nw_gen="volte", 1352 call_slot=0, 1353 call_direction="mt", 1354 streaming=True, 1355 cellular_data_cycling=True, 1356 enable_volte=[True, True], 1357 enable_wfc=[True, True], 1358 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1359 1360 @test_tracker_info(uuid="fbd4c30c-fef9-4100-b704-eb27d3bcb7ae") 1361 @TelephonyBaseTest.tel_test_wrap 1362 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_cellular_data_cycling(self): 1363 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1364 slot_0_nw_gen="volte", 1365 slot_1_nw_gen="volte", 1366 call_slot=1, 1367 call_direction="mt", 1368 streaming=True, 1369 cellular_data_cycling=True, 1370 enable_volte=[True, True], 1371 enable_wfc=[True, True], 1372 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1373 1374 @test_tracker_info(uuid="fbd88b9d-e27b-4c06-a983-a780d0c00623") 1375 @TelephonyBaseTest.tel_test_wrap 1376 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_wifi_on_cellular_data_cycling(self): 1377 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1378 slot_0_nw_gen="volte", 1379 slot_1_nw_gen="volte", 1380 call_slot=0, 1381 call_direction="mo", 1382 streaming=True, 1383 cellular_data_cycling=True, 1384 enable_volte=[True, True], 1385 enable_wfc=[True, True], 1386 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1387 is_wifi_connected=True) 1388 1389 @test_tracker_info(uuid="0fabca6f-28c4-4843-af70-f33d806d8dc1") 1390 @TelephonyBaseTest.tel_test_wrap 1391 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_wifi_on_cellular_data_cycling(self): 1392 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1393 slot_0_nw_gen="volte", 1394 slot_1_nw_gen="volte", 1395 call_slot=1, 1396 call_direction="mo", 1397 streaming=True, 1398 cellular_data_cycling=True, 1399 enable_volte=[True, True], 1400 enable_wfc=[True, True], 1401 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1402 is_wifi_connected=True) 1403 1404 @test_tracker_info(uuid="9b060264-69d8-437e-9981-b86e213952c5") 1405 @TelephonyBaseTest.tel_test_wrap 1406 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_wifi_on_cellular_data_cycling(self): 1407 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1408 slot_0_nw_gen="volte", 1409 slot_1_nw_gen="volte", 1410 call_slot=0, 1411 call_direction="mt", 1412 streaming=True, 1413 cellular_data_cycling=True, 1414 enable_volte=[True, True], 1415 enable_wfc=[True, True], 1416 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1417 is_wifi_connected=True) 1418 1419 @test_tracker_info(uuid="3a2effa4-728a-4160-9e0c-2aeafc7ba153") 1420 @TelephonyBaseTest.tel_test_wrap 1421 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_wifi_on_cellular_data_cycling(self): 1422 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1423 slot_0_nw_gen="volte", 1424 slot_1_nw_gen="volte", 1425 call_slot=1, 1426 call_direction="mt", 1427 streaming=True, 1428 cellular_data_cycling=True, 1429 enable_volte=[True, True], 1430 enable_wfc=[True, True], 1431 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1432 is_wifi_connected=True) 1433 1434 @test_tracker_info(uuid="ad491362-8bcc-4097-84af-932878002ce6") 1435 @TelephonyBaseTest.tel_test_wrap 1436 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_volte_on_cellular_data_cycling(self): 1437 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1438 slot_0_nw_gen="wfc", 1439 slot_1_nw_gen="wfc", 1440 call_slot=0, 1441 call_direction="mo", 1442 streaming=True, 1443 cellular_data_cycling=True, 1444 enable_volte=[True, True], 1445 enable_wfc=[True, True], 1446 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1447 is_airplane_mode=True) 1448 1449 @test_tracker_info(uuid="c137fe4e-380b-4dc5-8996-c8c5654596f7") 1450 @TelephonyBaseTest.tel_test_wrap 1451 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_volte_on_cellular_data_cycling(self): 1452 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1453 slot_0_nw_gen="wfc", 1454 slot_1_nw_gen="wfc", 1455 call_slot=1, 1456 call_direction="mo", 1457 streaming=True, 1458 cellular_data_cycling=True, 1459 enable_volte=[True, True], 1460 enable_wfc=[True, True], 1461 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1462 is_airplane_mode=True) 1463 1464 @test_tracker_info(uuid="e7936ce8-1652-4b21-b3f0-5327084b823c") 1465 @TelephonyBaseTest.tel_test_wrap 1466 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_volte_on_cellular_data_cycling(self): 1467 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1468 slot_0_nw_gen="wfc", 1469 slot_1_nw_gen="wfc", 1470 call_slot=0, 1471 call_direction="mo", 1472 streaming=True, 1473 cellular_data_cycling=True, 1474 enable_volte=[True, True], 1475 enable_wfc=[True, True], 1476 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1477 is_airplane_mode=False) 1478 1479 @test_tracker_info(uuid="86db06b4-907f-4085-af8e-75c983831bb0") 1480 @TelephonyBaseTest.tel_test_wrap 1481 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_volte_on_cellular_data_cycling(self): 1482 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1483 slot_0_nw_gen="wfc", 1484 slot_1_nw_gen="wfc", 1485 call_slot=1, 1486 call_direction="mo", 1487 streaming=True, 1488 cellular_data_cycling=True, 1489 enable_volte=[True, True], 1490 enable_wfc=[True, True], 1491 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1492 is_airplane_mode=False) 1493 1494 @test_tracker_info(uuid="e43b23b5-022a-4830-9110-839ece333f6f") 1495 @TelephonyBaseTest.tel_test_wrap 1496 def test_dds_switch_voice_call_mt_wfc_psim_cellular_preferred_apm_on_with_volte_on_cellular_data_cycling(self): 1497 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1498 slot_0_nw_gen="wfc", 1499 slot_1_nw_gen="wfc", 1500 call_slot=0, 1501 call_direction="mt", 1502 streaming=True, 1503 cellular_data_cycling=True, 1504 enable_volte=[True, True], 1505 enable_wfc=[True, True], 1506 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1507 is_airplane_mode=True) 1508 1509 @test_tracker_info(uuid="00d0bfc2-2121-4ba9-9dd7-72bf78380121") 1510 @TelephonyBaseTest.tel_test_wrap 1511 def test_dds_switch_voice_call_mt_wfc_esim_cellular_preferred_apm_on_with_volte_on_cellular_data_cycling(self): 1512 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1513 slot_0_nw_gen="wfc", 1514 slot_1_nw_gen="wfc", 1515 call_slot=1, 1516 call_direction="mt", 1517 streaming=True, 1518 cellular_data_cycling=True, 1519 enable_volte=[True, True], 1520 enable_wfc=[True, True], 1521 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1522 is_airplane_mode=True) 1523 1524 @test_tracker_info(uuid="4921a948-54d4-4945-81ea-02893d10b6e6") 1525 @TelephonyBaseTest.tel_test_wrap 1526 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_volte_on_cellular_data_cycling(self): 1527 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1528 slot_0_nw_gen="wfc", 1529 slot_1_nw_gen="wfc", 1530 call_slot=0, 1531 call_direction="mt", 1532 streaming=True, 1533 cellular_data_cycling=True, 1534 enable_volte=[True, True], 1535 enable_wfc=[True, True], 1536 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1537 is_airplane_mode=False) 1538 1539 @test_tracker_info(uuid="ed4b8ba4-1b31-4e3c-9be3-0e184e324523") 1540 @TelephonyBaseTest.tel_test_wrap 1541 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_volte_on_cellular_data_cycling(self): 1542 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1543 slot_0_nw_gen="wfc", 1544 slot_1_nw_gen="wfc", 1545 call_slot=1, 1546 call_direction="mt", 1547 streaming=True, 1548 cellular_data_cycling=True, 1549 enable_volte=[True, True], 1550 enable_wfc=[True, True], 1551 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1552 is_airplane_mode=False) 1553 1554 @test_tracker_info(uuid="1fb43960-51dd-4be9-adf1-51c84cb8d85a") 1555 @TelephonyBaseTest.tel_test_wrap 1556 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_wifi_cycling(self): 1557 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1558 slot_0_nw_gen="volte", 1559 slot_1_nw_gen="volte", 1560 call_slot=0, 1561 call_direction="mo", 1562 streaming=True, 1563 wifi_cycling=True, 1564 enable_volte=[True, True], 1565 enable_wfc=[True, True], 1566 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1567 1568 @test_tracker_info(uuid="1052e02f-5a4b-4826-9c47-9ab6d142f300") 1569 @TelephonyBaseTest.tel_test_wrap 1570 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_wifi_cycling(self): 1571 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1572 slot_0_nw_gen="volte", 1573 slot_1_nw_gen="volte", 1574 call_slot=1, 1575 call_direction="mo", 1576 streaming=True, 1577 wifi_cycling=True, 1578 enable_volte=[True, True], 1579 enable_wfc=[True, True], 1580 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1581 1582 @test_tracker_info(uuid="23bb1991-6ff1-4528-aeee-1ec0c7b525be") 1583 @TelephonyBaseTest.tel_test_wrap 1584 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_wifi_cycling(self): 1585 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1586 slot_0_nw_gen="volte", 1587 slot_1_nw_gen="volte", 1588 call_slot=0, 1589 call_direction="mt", 1590 streaming=True, 1591 wifi_cycling=True, 1592 enable_volte=[True, True], 1593 enable_wfc=[True, True], 1594 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1595 1596 @test_tracker_info(uuid="1d5842c5-91f5-4c87-9f65-67891d255d43") 1597 @TelephonyBaseTest.tel_test_wrap 1598 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_wifi_cycling(self): 1599 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1600 slot_0_nw_gen="volte", 1601 slot_1_nw_gen="volte", 1602 call_slot=1, 1603 call_direction="mt", 1604 streaming=True, 1605 wifi_cycling=True, 1606 enable_volte=[True, True], 1607 enable_wfc=[True, True], 1608 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED]) 1609 1610 @test_tracker_info(uuid="380bd592-5437-4e16-9564-5f47b066cab2") 1611 @TelephonyBaseTest.tel_test_wrap 1612 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_on_wifi_on_wifi_cycling(self): 1613 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1614 slot_0_nw_gen="volte", 1615 slot_1_nw_gen="volte", 1616 call_slot=0, 1617 call_direction="mo", 1618 streaming=True, 1619 wifi_cycling=True, 1620 enable_volte=[True, True], 1621 enable_wfc=[True, True], 1622 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1623 is_wifi_connected=True) 1624 1625 @test_tracker_info(uuid="90bb2647-71f1-44cd-bff3-5bbb720e59b7") 1626 @TelephonyBaseTest.tel_test_wrap 1627 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_on_wifi_on_wifi_cycling(self): 1628 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1629 slot_0_nw_gen="volte", 1630 slot_1_nw_gen="volte", 1631 call_slot=1, 1632 call_direction="mo", 1633 streaming=True, 1634 wifi_cycling=True, 1635 enable_volte=[True, True], 1636 enable_wfc=[True, True], 1637 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1638 is_wifi_connected=True) 1639 1640 @test_tracker_info(uuid="5bca72c8-62d0-41bf-8888-310cd235dac4") 1641 @TelephonyBaseTest.tel_test_wrap 1642 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_on_wifi_on_wifi_cycling(self): 1643 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1644 slot_0_nw_gen="volte", 1645 slot_1_nw_gen="volte", 1646 call_slot=0, 1647 call_direction="mt", 1648 streaming=True, 1649 wifi_cycling=True, 1650 enable_volte=[True, True], 1651 enable_wfc=[True, True], 1652 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1653 is_wifi_connected=True) 1654 1655 @test_tracker_info(uuid="13805ecf-3cf9-44c8-98bc-a099edb36340") 1656 @TelephonyBaseTest.tel_test_wrap 1657 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_on_wifi_on_wifi_cycling(self): 1658 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1659 slot_0_nw_gen="volte", 1660 slot_1_nw_gen="volte", 1661 call_slot=1, 1662 call_direction="mt", 1663 streaming=True, 1664 wifi_cycling=True, 1665 enable_volte=[True, True], 1666 enable_wfc=[True, True], 1667 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1668 is_wifi_connected=True) 1669 1670 @test_tracker_info(uuid="33ed3dee-581f-4ae8-b236-1317377a6ca1") 1671 @TelephonyBaseTest.tel_test_wrap 1672 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_with_volte_on_wifi_cycling(self): 1673 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1674 slot_0_nw_gen="wfc", 1675 slot_1_nw_gen="wfc", 1676 call_slot=0, 1677 call_direction="mo", 1678 streaming=True, 1679 wifi_cycling=True, 1680 enable_volte=[True, True], 1681 enable_wfc=[True, True], 1682 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1683 is_airplane_mode=True) 1684 1685 @test_tracker_info(uuid="88391458-6886-483f-a997-c62fd6dfd0b8") 1686 @TelephonyBaseTest.tel_test_wrap 1687 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_with_volte_on_wifi_cycling(self): 1688 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1689 slot_0_nw_gen="wfc", 1690 slot_1_nw_gen="wfc", 1691 call_slot=1, 1692 call_direction="mo", 1693 streaming=True, 1694 wifi_cycling=True, 1695 enable_volte=[True, True], 1696 enable_wfc=[True, True], 1697 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1698 is_airplane_mode=True) 1699 1700 @test_tracker_info(uuid="966bcb75-dd2d-4400-a880-e7407989ee52") 1701 @TelephonyBaseTest.tel_test_wrap 1702 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_with_volte_on_wifi_cycling(self): 1703 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1704 slot_0_nw_gen="wfc", 1705 slot_1_nw_gen="wfc", 1706 call_slot=0, 1707 call_direction="mo", 1708 streaming=True, 1709 wifi_cycling=True, 1710 enable_volte=[True, True], 1711 enable_wfc=[True, True], 1712 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1713 is_airplane_mode=False) 1714 1715 @test_tracker_info(uuid="7ff48189-5b4b-4b2d-a96a-fa66e86d0596") 1716 @TelephonyBaseTest.tel_test_wrap 1717 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_with_volte_on_wifi_cycling(self): 1718 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1719 slot_0_nw_gen="wfc", 1720 slot_1_nw_gen="wfc", 1721 call_slot=1, 1722 call_direction="mo", 1723 streaming=True, 1724 wifi_cycling=True, 1725 enable_volte=[True, True], 1726 enable_wfc=[True, True], 1727 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1728 is_airplane_mode=False) 1729 1730 @test_tracker_info(uuid="ab503377-7150-4a6d-a7c1-b21009a69402") 1731 @TelephonyBaseTest.tel_test_wrap 1732 def test_dds_switch_voice_call_mt_psim_wfc_cellular_preferred_apm_on_with_with_volte_on_wifi_cycling(self): 1733 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1734 slot_0_nw_gen="wfc", 1735 slot_1_nw_gen="wfc", 1736 call_slot=0, 1737 call_direction="mt", 1738 streaming=True, 1739 wifi_cycling=True, 1740 enable_volte=[True, True], 1741 enable_wfc=[True, True], 1742 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1743 is_airplane_mode=True) 1744 1745 @test_tracker_info(uuid="7f02ee60-19e9-4602-8f6d-a13b976a6bba") 1746 @TelephonyBaseTest.tel_test_wrap 1747 def test_dds_switch_voice_call_mt_esim_wfc_cellular_preferred_apm_on_with_with_volte_on_wifi_cycling(self): 1748 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1749 slot_0_nw_gen="wfc", 1750 slot_1_nw_gen="wfc", 1751 call_slot=1, 1752 call_direction="mt", 1753 streaming=True, 1754 wifi_cycling=True, 1755 enable_volte=[True, True], 1756 enable_wfc=[True, True], 1757 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1758 is_airplane_mode=True) 1759 1760 @test_tracker_info(uuid="e93fa3ac-c5cd-4e21-b872-5172aa22d030") 1761 @TelephonyBaseTest.tel_test_wrap 1762 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_with_volte_on_wifi_cycling(self): 1763 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1764 slot_0_nw_gen="wfc", 1765 slot_1_nw_gen="wfc", 1766 call_slot=0, 1767 call_direction="mt", 1768 streaming=True, 1769 wifi_cycling=True, 1770 enable_volte=[True, True], 1771 enable_wfc=[True, True], 1772 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1773 is_airplane_mode=False) 1774 1775 @test_tracker_info(uuid="c2af6998-f702-4e36-bbaa-f099a307b21a") 1776 @TelephonyBaseTest.tel_test_wrap 1777 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_with_volte_on_wifi_cycling(self): 1778 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1779 slot_0_nw_gen="wfc", 1780 slot_1_nw_gen="wfc", 1781 call_slot=1, 1782 call_direction="mt", 1783 streaming=True, 1784 wifi_cycling=True, 1785 enable_volte=[True, True], 1786 enable_wfc=[True, True], 1787 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 1788 is_airplane_mode=False) 1789 1790 @test_tracker_info(uuid="45ba6e90-bdaa-4dc0-a504-c596bafdfaad") 1791 @TelephonyBaseTest.tel_test_wrap 1792 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_off_apm_cycling(self): 1793 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1794 slot_0_nw_gen="volte", 1795 slot_1_nw_gen="volte", 1796 call_slot=0, 1797 call_direction="mo", 1798 streaming=True, 1799 airplane_mode_cycling=True, 1800 enable_volte=[True, True], 1801 enable_wfc=[False, False], 1802 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1803 1804 @test_tracker_info(uuid="1b573f40-3eaf-4149-baad-2e73e5bf15f4") 1805 @TelephonyBaseTest.tel_test_wrap 1806 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_off_apm_cycling(self): 1807 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1808 slot_0_nw_gen="volte", 1809 slot_1_nw_gen="volte", 1810 call_slot=1, 1811 call_direction="mo", 1812 streaming=True, 1813 airplane_mode_cycling=True, 1814 enable_volte=[True, True], 1815 enable_wfc=[False, False], 1816 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1817 1818 @test_tracker_info(uuid="13511fb6-2984-40c3-b1b9-22f27f241c07") 1819 @TelephonyBaseTest.tel_test_wrap 1820 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_off_apm_cycling(self): 1821 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1822 slot_0_nw_gen="volte", 1823 slot_1_nw_gen="volte", 1824 call_slot=0, 1825 call_direction="mt", 1826 streaming=True, 1827 airplane_mode_cycling=True, 1828 enable_volte=[True, True], 1829 enable_wfc=[False, False], 1830 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1831 1832 @test_tracker_info(uuid="61cf33d1-e1b2-427a-bb38-29a4c7566947") 1833 @TelephonyBaseTest.tel_test_wrap 1834 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_off_apm_cycling(self): 1835 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1836 slot_0_nw_gen="volte", 1837 slot_1_nw_gen="volte", 1838 call_slot=1, 1839 call_direction="mt", 1840 streaming=True, 1841 airplane_mode_cycling=True, 1842 enable_volte=[True, True], 1843 enable_wfc=[False, False], 1844 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1845 1846 @test_tracker_info(uuid="31a2a741-c825-46f8-8e0a-8487fab9940e") 1847 @TelephonyBaseTest.tel_test_wrap 1848 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_off_cellular_data_cycling(self): 1849 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1850 slot_0_nw_gen="volte", 1851 slot_1_nw_gen="volte", 1852 call_slot=0, 1853 call_direction="mo", 1854 streaming=True, 1855 cellular_data_cycling=True, 1856 enable_volte=[True, True], 1857 enable_wfc=[False, False], 1858 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1859 1860 @test_tracker_info(uuid="9fb2a85f-08b3-4d5d-9e03-3f7f67039148") 1861 @TelephonyBaseTest.tel_test_wrap 1862 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_off_cellular_data_cycling(self): 1863 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1864 slot_0_nw_gen="volte", 1865 slot_1_nw_gen="volte", 1866 call_slot=1, 1867 call_direction="mo", 1868 streaming=True, 1869 cellular_data_cycling=True, 1870 enable_volte=[True, True], 1871 enable_wfc=[False, False], 1872 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1873 1874 @test_tracker_info(uuid="30eba519-b349-4a75-9f31-3fea0d1a8447") 1875 @TelephonyBaseTest.tel_test_wrap 1876 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_off_cellular_data_cycling(self): 1877 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1878 slot_0_nw_gen="volte", 1879 slot_1_nw_gen="volte", 1880 call_slot=0, 1881 call_direction="mt", 1882 streaming=True, 1883 cellular_data_cycling=True, 1884 enable_volte=[True, True], 1885 enable_wfc=[False, False], 1886 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1887 1888 @test_tracker_info(uuid="37240938-3ce1-4ad2-b35a-a8862dc2c70f") 1889 @TelephonyBaseTest.tel_test_wrap 1890 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_off_cellular_data_cycling(self): 1891 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1892 slot_0_nw_gen="volte", 1893 slot_1_nw_gen="volte", 1894 call_slot=1, 1895 call_direction="mt", 1896 streaming=True, 1897 cellular_data_cycling=True, 1898 enable_volte=[True, True], 1899 enable_wfc=[False, False], 1900 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1901 1902 @test_tracker_info(uuid="a7321b9c-fb2c-4a03-9566-05e4244ae6fd") 1903 @TelephonyBaseTest.tel_test_wrap 1904 def test_dds_switch_voice_call_mo_volte_psim_with_wfc_off_wifi_cycling(self): 1905 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1906 slot_0_nw_gen="volte", 1907 slot_1_nw_gen="volte", 1908 call_slot=0, 1909 call_direction="mo", 1910 streaming=True, 1911 wifi_cycling=True, 1912 enable_volte=[True, True], 1913 enable_wfc=[False, False], 1914 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1915 1916 @test_tracker_info(uuid="6de8d678-2f72-41ea-9ed9-47b27afee038") 1917 @TelephonyBaseTest.tel_test_wrap 1918 def test_dds_switch_voice_call_mo_volte_esim_with_wfc_off_wifi_cycling(self): 1919 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1920 slot_0_nw_gen="volte", 1921 slot_1_nw_gen="volte", 1922 call_slot=1, 1923 call_direction="mo", 1924 streaming=True, 1925 wifi_cycling=True, 1926 enable_volte=[True, True], 1927 enable_wfc=[False, False], 1928 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1929 1930 @test_tracker_info(uuid="7bc16dcf-6dab-4eec-931d-9b342caa7a32") 1931 @TelephonyBaseTest.tel_test_wrap 1932 def test_dds_switch_voice_call_mt_volte_psim_with_wfc_off_wifi_cycling(self): 1933 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1934 slot_0_nw_gen="volte", 1935 slot_1_nw_gen="volte", 1936 call_slot=0, 1937 call_direction="mt", 1938 streaming=True, 1939 wifi_cycling=True, 1940 enable_volte=[True, True], 1941 enable_wfc=[False, False], 1942 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1943 1944 @test_tracker_info(uuid="9c13e51b-385d-4df6-90b7-33b5e185f225") 1945 @TelephonyBaseTest.tel_test_wrap 1946 def test_dds_switch_voice_call_mt_volte_esim_with_wfc_off_wifi_cycling(self): 1947 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1948 slot_0_nw_gen="volte", 1949 slot_1_nw_gen="volte", 1950 call_slot=1, 1951 call_direction="mt", 1952 streaming=True, 1953 wifi_cycling=True, 1954 enable_volte=[True, True], 1955 enable_wfc=[False, False], 1956 wfc_mode=[WFC_MODE_DISABLED, WFC_MODE_DISABLED]) 1957 1958 @test_tracker_info(uuid="161341e7-5c2d-45f9-9b11-4f44d542cd01") 1959 @TelephonyBaseTest.tel_test_wrap 1960 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_volte_off_apm_cycling(self): 1961 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1962 slot_0_nw_gen="wfc", 1963 slot_1_nw_gen="wfc", 1964 call_slot=0, 1965 call_direction="mo", 1966 streaming=True, 1967 airplane_mode_cycling=True, 1968 enable_volte=[False, False], 1969 enable_wfc=[True, True], 1970 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1971 is_airplane_mode=True) 1972 1973 @test_tracker_info(uuid="4d43f92f-562f-4bf1-bc25-71410f14425c") 1974 @TelephonyBaseTest.tel_test_wrap 1975 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_volte_off_apm_cycling(self): 1976 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1977 slot_0_nw_gen="wfc", 1978 slot_1_nw_gen="wfc", 1979 call_slot=1, 1980 call_direction="mo", 1981 streaming=True, 1982 airplane_mode_cycling=True, 1983 enable_volte=[False, False], 1984 enable_wfc=[True, True], 1985 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 1986 is_airplane_mode=True) 1987 1988 @test_tracker_info(uuid="fe83e92d-c554-4f81-a447-d58300426da7") 1989 @TelephonyBaseTest.tel_test_wrap 1990 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_volte_off_apm_cycling(self): 1991 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 1992 slot_0_nw_gen="wfc", 1993 slot_1_nw_gen="wfc", 1994 call_slot=0, 1995 call_direction="mo", 1996 streaming=True, 1997 airplane_mode_cycling=True, 1998 enable_volte=[False, False], 1999 enable_wfc=[True, True], 2000 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2001 is_airplane_mode=False) 2002 2003 @test_tracker_info(uuid="76ba6834-1523-4ce8-80b9-079f2428da67") 2004 @TelephonyBaseTest.tel_test_wrap 2005 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_volte_off_apm_cycling(self): 2006 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2007 slot_0_nw_gen="wfc", 2008 slot_1_nw_gen="wfc", 2009 call_slot=1, 2010 call_direction="mo", 2011 streaming=True, 2012 airplane_mode_cycling=True, 2013 enable_volte=[False, False], 2014 enable_wfc=[True, True], 2015 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2016 is_airplane_mode=False) 2017 2018 @test_tracker_info(uuid="15289348-8e09-4997-b5a3-f66bb7e7dca1") 2019 @TelephonyBaseTest.tel_test_wrap 2020 def test_dds_switch_voice_call_mt_wfc_psim_cellular_preferred_apm_on_with_volte_off_apm_cycling(self): 2021 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2022 slot_0_nw_gen="wfc", 2023 slot_1_nw_gen="wfc", 2024 call_slot=0, 2025 call_direction="mt", 2026 streaming=True, 2027 airplane_mode_cycling=True, 2028 enable_volte=[False, False], 2029 enable_wfc=[True, True], 2030 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2031 is_airplane_mode=True) 2032 2033 @test_tracker_info(uuid="1ae4fa98-1ac3-4194-a483-097b7262415b") 2034 @TelephonyBaseTest.tel_test_wrap 2035 def test_dds_switch_voice_call_mt_wfc_esim_cellular_preferred_apm_on_with_volte_off_apm_cycling(self): 2036 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2037 slot_0_nw_gen="wfc", 2038 slot_1_nw_gen="wfc", 2039 call_slot=1, 2040 call_direction="mt", 2041 streaming=True, 2042 airplane_mode_cycling=True, 2043 enable_volte=[False, False], 2044 enable_wfc=[True, True], 2045 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2046 is_airplane_mode=True) 2047 2048 @test_tracker_info(uuid="13d0af2c-2870-4cbc-8a38-311f93cd4bd7") 2049 @TelephonyBaseTest.tel_test_wrap 2050 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_volte_off_apm_cycling(self): 2051 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2052 slot_0_nw_gen="wfc", 2053 slot_1_nw_gen="wfc", 2054 call_slot=0, 2055 call_direction="mt", 2056 streaming=True, 2057 airplane_mode_cycling=True, 2058 enable_volte=[False, False], 2059 enable_wfc=[True, True], 2060 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2061 is_airplane_mode=False) 2062 2063 @test_tracker_info(uuid="5fbe2002-a02f-4750-81e5-4a06d7b62740") 2064 @TelephonyBaseTest.tel_test_wrap 2065 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_volte_off_apm_cycling(self): 2066 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2067 slot_0_nw_gen="wfc", 2068 slot_1_nw_gen="wfc", 2069 call_slot=1, 2070 call_direction="mt", 2071 streaming=True, 2072 airplane_mode_cycling=True, 2073 enable_volte=[False, False], 2074 enable_wfc=[True, True], 2075 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2076 is_airplane_mode=False) 2077 2078 @test_tracker_info(uuid="f8f523d2-e432-45d4-a850-469a22894bc7") 2079 @TelephonyBaseTest.tel_test_wrap 2080 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_volte_off_cellular_data_cycling(self): 2081 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2082 slot_0_nw_gen="wfc", 2083 slot_1_nw_gen="wfc", 2084 call_slot=0, 2085 call_direction="mo", 2086 streaming=True, 2087 cellular_data_cycling=True, 2088 enable_volte=[False, False], 2089 enable_wfc=[True, True], 2090 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2091 is_airplane_mode=True) 2092 2093 @test_tracker_info(uuid="750a8690-f9dd-4779-b13f-4011f478f194") 2094 @TelephonyBaseTest.tel_test_wrap 2095 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_volte_off_cellular_data_cycling(self): 2096 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2097 slot_0_nw_gen="wfc", 2098 slot_1_nw_gen="wfc", 2099 call_slot=1, 2100 call_direction="mo", 2101 streaming=True, 2102 cellular_data_cycling=True, 2103 enable_volte=[False, False], 2104 enable_wfc=[True, True], 2105 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2106 is_airplane_mode=True) 2107 2108 @test_tracker_info(uuid="9fcda7e5-1705-4bbe-8f18-f005437c71f2") 2109 @TelephonyBaseTest.tel_test_wrap 2110 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_volte_off_cellular_data_cycling(self): 2111 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2112 slot_0_nw_gen="wfc", 2113 slot_1_nw_gen="wfc", 2114 call_slot=0, 2115 call_direction="mo", 2116 streaming=True, 2117 cellular_data_cycling=True, 2118 enable_volte=[False, False], 2119 enable_wfc=[True, True], 2120 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2121 is_airplane_mode=False) 2122 2123 @test_tracker_info(uuid="0e054729-945a-4f6f-ad29-4d832f0b11ed") 2124 @TelephonyBaseTest.tel_test_wrap 2125 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_volte_off_cellular_data_cycling(self): 2126 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2127 slot_0_nw_gen="wfc", 2128 slot_1_nw_gen="wfc", 2129 call_slot=1, 2130 call_direction="mo", 2131 streaming=True, 2132 cellular_data_cycling=True, 2133 enable_volte=[False, False], 2134 enable_wfc=[True, True], 2135 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2136 is_airplane_mode=False) 2137 2138 @test_tracker_info(uuid="2e387739-cc4a-4d48-aa56-83bf621835b1") 2139 @TelephonyBaseTest.tel_test_wrap 2140 def test_dds_switch_voice_call_mt_wfc_psim_cellular_preferred_apm_on_with_volte_off_cellular_data_cycling(self): 2141 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2142 slot_0_nw_gen="wfc", 2143 slot_1_nw_gen="wfc", 2144 call_slot=0, 2145 call_direction="mt", 2146 streaming=True, 2147 cellular_data_cycling=True, 2148 enable_volte=[False, False], 2149 enable_wfc=[True, True], 2150 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2151 is_airplane_mode=True) 2152 2153 @test_tracker_info(uuid="a0e2deda-9148-4665-abc8-7665e3818d06") 2154 @TelephonyBaseTest.tel_test_wrap 2155 def test_dds_switch_voice_call_mt_wfc_esim_cellular_preferred_apm_on_with_volte_off_cellular_data_cycling(self): 2156 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2157 slot_0_nw_gen="wfc", 2158 slot_1_nw_gen="wfc", 2159 call_slot=1, 2160 call_direction="mt", 2161 streaming=True, 2162 cellular_data_cycling=True, 2163 enable_volte=[False, False], 2164 enable_wfc=[True, True], 2165 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2166 is_airplane_mode=True) 2167 2168 @test_tracker_info(uuid="6a43acef-aaa1-4fe8-ae7e-c8e045bf8814") 2169 @TelephonyBaseTest.tel_test_wrap 2170 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_volte_off_cellular_data_cycling(self): 2171 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2172 slot_0_nw_gen="wfc", 2173 slot_1_nw_gen="wfc", 2174 call_slot=0, 2175 call_direction="mt", 2176 streaming=True, 2177 cellular_data_cycling=True, 2178 enable_volte=[False, False], 2179 enable_wfc=[True, True], 2180 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2181 is_airplane_mode=False) 2182 2183 @test_tracker_info(uuid="95524166-212f-4e82-9e02-2f9b58d92a9f") 2184 @TelephonyBaseTest.tel_test_wrap 2185 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_volte_off_cellular_data_cycling(self): 2186 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2187 slot_0_nw_gen="wfc", 2188 slot_1_nw_gen="wfc", 2189 call_slot=1, 2190 call_direction="mt", 2191 streaming=True, 2192 cellular_data_cycling=True, 2193 enable_volte=[False, False], 2194 enable_wfc=[True, True], 2195 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2196 is_airplane_mode=False) 2197 2198 @test_tracker_info(uuid="828ae64c-41b3-4974-a412-342d3ca16ce3") 2199 @TelephonyBaseTest.tel_test_wrap 2200 def test_dds_switch_voice_call_mo_wfc_psim_cellular_preferred_apm_on_with_volte_off_wifi_cycling(self): 2201 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2202 slot_0_nw_gen="wfc", 2203 slot_1_nw_gen="wfc", 2204 call_slot=0, 2205 call_direction="mo", 2206 streaming=True, 2207 wifi_cycling=True, 2208 enable_volte=[False, False], 2209 enable_wfc=[True, True], 2210 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2211 is_airplane_mode=True) 2212 2213 @test_tracker_info(uuid="343cf9dc-4f4c-4c0c-bd7b-ba664381f6bd") 2214 @TelephonyBaseTest.tel_test_wrap 2215 def test_dds_switch_voice_call_mo_wfc_esim_cellular_preferred_apm_on_with_volte_off_wifi_cycling(self): 2216 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2217 slot_0_nw_gen="wfc", 2218 slot_1_nw_gen="wfc", 2219 call_slot=1, 2220 call_direction="mo", 2221 streaming=True, 2222 wifi_cycling=True, 2223 enable_volte=[False, False], 2224 enable_wfc=[True, True], 2225 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2226 is_airplane_mode=True) 2227 2228 @test_tracker_info(uuid="6ef18605-bf4c-43d8-83fd-0bf71311973e") 2229 @TelephonyBaseTest.tel_test_wrap 2230 def test_dds_switch_voice_call_mo_wfc_psim_wifi_preferred_apm_off_with_volte_off_wifi_cycling(self): 2231 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2232 slot_0_nw_gen="wfc", 2233 slot_1_nw_gen="wfc", 2234 call_slot=0, 2235 call_direction="mo", 2236 streaming=True, 2237 wifi_cycling=True, 2238 enable_volte=[False, False], 2239 enable_wfc=[True, True], 2240 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2241 is_airplane_mode=False) 2242 2243 @test_tracker_info(uuid="9bddfe69-68e1-4d04-aeaa-75fb0f9ed9aa") 2244 @TelephonyBaseTest.tel_test_wrap 2245 def test_dds_switch_voice_call_mo_wfc_esim_wifi_preferred_apm_off_with_volte_off_wifi_cycling(self): 2246 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2247 slot_0_nw_gen="wfc", 2248 slot_1_nw_gen="wfc", 2249 call_slot=1, 2250 call_direction="mo", 2251 streaming=True, 2252 wifi_cycling=True, 2253 enable_volte=[False, False], 2254 enable_wfc=[True, True], 2255 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2256 is_airplane_mode=False) 2257 2258 @test_tracker_info(uuid="81e7d2b6-e3eb-4651-807f-66bf8eeeea93") 2259 @TelephonyBaseTest.tel_test_wrap 2260 def test_dds_switch_voice_call_mt_wfc_psim_cellular_preferred_apm_on_with_volte_off_wifi_cycling(self): 2261 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2262 slot_0_nw_gen="wfc", 2263 slot_1_nw_gen="wfc", 2264 call_slot=0, 2265 call_direction="mt", 2266 streaming=True, 2267 wifi_cycling=True, 2268 enable_volte=[False, False], 2269 enable_wfc=[True, True], 2270 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2271 is_airplane_mode=True) 2272 2273 @test_tracker_info(uuid="8c6da88b-be3a-4c0c-a239-255faf03a28b") 2274 @TelephonyBaseTest.tel_test_wrap 2275 def test_dds_switch_voice_call_mt_wfc_esim_cellular_preferred_apm_on_with_volte_off_wifi_cycling(self): 2276 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2277 slot_0_nw_gen="wfc", 2278 slot_1_nw_gen="wfc", 2279 call_slot=1, 2280 call_direction="mt", 2281 streaming=True, 2282 wifi_cycling=True, 2283 enable_volte=[False, False], 2284 enable_wfc=[True, True], 2285 wfc_mode=[WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_CELLULAR_PREFERRED], 2286 is_airplane_mode=True) 2287 2288 @test_tracker_info(uuid="1b9ef6b4-c0c0-4375-b1a5-d569b946491e") 2289 @TelephonyBaseTest.tel_test_wrap 2290 def test_dds_switch_voice_call_mt_wfc_psim_wifi_preferred_apm_off_with_volte_off_wifi_cycling(self): 2291 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2292 slot_0_nw_gen="wfc", 2293 slot_1_nw_gen="wfc", 2294 call_slot=0, 2295 call_direction="mt", 2296 streaming=True, 2297 wifi_cycling=True, 2298 enable_volte=[False, False], 2299 enable_wfc=[True, True], 2300 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2301 is_airplane_mode=False) 2302 2303 @test_tracker_info(uuid="5771fedb-5eed-4868-84a3-0d7a01474dcf") 2304 @TelephonyBaseTest.tel_test_wrap 2305 def test_dds_switch_voice_call_mt_wfc_esim_wifi_preferred_apm_off_with_volte_off_wifi_cycling(self): 2306 return self._test_dds_switch_during_data_transfer_with_apm_cycling_and_ims_setting( 2307 slot_0_nw_gen="wfc", 2308 slot_1_nw_gen="wfc", 2309 call_slot=1, 2310 call_direction="mt", 2311 streaming=True, 2312 wifi_cycling=True, 2313 enable_volte=[False, False], 2314 enable_wfc=[True, True], 2315 wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED], 2316 is_airplane_mode=False) 2317 2318 # e+e call 2319 @test_tracker_info(uuid="ee94a2f1-9aac-4698-adc7-e5525541fac0") 2320 @TelephonyBaseTest.tel_test_wrap 2321 def test_dds_switch_youtube_esim_port_0_volte_esim_port_1_volte(self): 2322 """ LTE DDS swap call test(Initial DDS is on esim port 0). 2323 2324 1. Check HTTP connection when DDS is on esim port 0 and idle. 2325 2. Switch DDS to esim port 1. 2326 3. Check HTTP connection when DDS is on esim port 1 and idle. 2327 4. Switch DDS to esim port 0, make sure data works fine. 2328 """ 2329 return dsds_dds_swap_call_streaming_test( 2330 self.log, 2331 self.tel_logger, 2332 self.android_devices, 2333 sim_slot = [SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2334 test_rat=["volte", "volte"], 2335 init_dds=1, 2336 test_slot=[None, None, None]) 2337 2338 @test_tracker_info(uuid="d74b7a10-b944-4b6b-8271-420beae810f4") 2339 @TelephonyBaseTest.tel_test_wrap 2340 def test_dds_switch_voice_esim_port_0_mo_volte_esim_port_1_volte(self): 2341 """ LTE DDS swap call test(Initial DDS is on esim port 0). 2342 2343 1. Make MO call via esim port 0 when DDS is on esim port 0 and idle. 2344 2. Switch DDS to esim port 1. 2345 3. Make MO call via esim port 0 when DDS is on esim port 1 and idle. 2346 4. Switch DDS to esim port 0, make sure data works fine. 2347 2348 After call end will check the dds slot if is attach to the network 2349 with assigned RAT successfully and data works fine. 2350 """ 2351 return dsds_dds_swap_call_streaming_test( 2352 self.log, 2353 self.tel_logger, 2354 self.android_devices, 2355 sim_slot = [SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2356 test_rat=["volte", "volte"], 2357 init_dds=1, 2358 test_slot=[ 2359 SimSlotInfo.SLOT_1, 2360 SimSlotInfo.SLOT_1, 2361 SimSlotInfo.SLOT_1], 2362 direction="mo", 2363 duration=30, 2364 streaming=False) 2365 2366 @test_tracker_info(uuid="b424f8de-591e-4a72-ba4e-5c0771e9629d") 2367 @TelephonyBaseTest.tel_test_wrap 2368 def test_dds_switch_voice_esim_port_0_mt_volte_esim_port_1_volte(self): 2369 """ LTE DDS swap call test(Initial DDS is on esim port 0). 2370 2371 1. Receive MT call via esim port 0 when DDS is on esim port 0 and idle. 2372 2. Switch DDS to esim port 1. 2373 3. Receive MT call via esim port 0 when DDS is on esim port 1 and idle. 2374 4. Switch DDS to esim port 0, make sure data works fine. 2375 2376 After call end will check the dds slot if is attach to the network 2377 with assigned RAT successfully and data works fine. 2378 """ 2379 return dsds_dds_swap_call_streaming_test( 2380 self.log, 2381 self.tel_logger, 2382 self.android_devices, 2383 sim_slot = [SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2384 test_rat=["volte", "volte"], 2385 init_dds=1, 2386 test_slot=[ 2387 SimSlotInfo.SLOT_1, 2388 SimSlotInfo.SLOT_1, 2389 SimSlotInfo.SLOT_1], 2390 direction="mt", 2391 duration=30, 2392 streaming=False) 2393 2394 @test_tracker_info(uuid="55b0f7ce-351f-4a46-a0cb-bf54a2404edb") 2395 @TelephonyBaseTest.tel_test_wrap 2396 def test_dds_switch_voice_esim_port_1_mo_volte_esim_port_0_volte(self): 2397 """ LTE DDS swap call test(Initial DDS is on esim port 0). 2398 2399 1. Make MO call via esim port 1 when DDS is on esim port 0 and idle. 2400 2. Switch DDS to esim port 1. 2401 3. Make MO call via esim port 1 when DDS is on esim port 1 and idle. 2402 4. Switch DDS to esim port 0, make sure data works fine. 2403 2404 After call end will check the dds slot if is attach to the network 2405 with assigned RAT successfully and data works fine. 2406 """ 2407 return dsds_dds_swap_call_streaming_test( 2408 self.log, 2409 self.tel_logger, 2410 self.android_devices, 2411 sim_slot = [SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2412 test_rat=["volte", "volte"], 2413 init_dds=1, 2414 test_slot=[ 2415 SimSlotInfo.SLOT_2, 2416 SimSlotInfo.SLOT_2, 2417 SimSlotInfo.SLOT_2], 2418 direction="mo", 2419 duration=30, 2420 streaming=False) 2421 2422 @test_tracker_info(uuid="27ecd41f-9e08-44ce-9d5d-95158cb7a354") 2423 @TelephonyBaseTest.tel_test_wrap 2424 def test_dds_switch_voice_esim_port_1_mt_volte_esim_port_0_volte(self): 2425 """ LTE DDS swap call test(Initial DDS is on esim port 0). 2426 2427 1. Receive MT call via esim port 1 when DDS is on esim port 0 and idle. 2428 2. Switch DDS to esim port 1. 2429 3. Receive MT call via esim port 1 when DDS is on esim port 1 and idle. 2430 4. Switch DDS to esim port 0, make sure data works fine. 2431 2432 After call end will check the dds slot if is attach to the network 2433 with assigned RAT successfully and data works fine. 2434 """ 2435 return dsds_dds_swap_call_streaming_test( 2436 self.log, 2437 self.tel_logger, 2438 self.android_devices, 2439 sim_slot = [SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2440 test_rat=["volte", "volte"], 2441 init_dds=1, 2442 test_slot=[ 2443 SimSlotInfo.SLOT_2, 2444 SimSlotInfo.SLOT_2, 2445 SimSlotInfo.SLOT_2], 2446 direction="mt", 2447 duration=30, 2448 streaming=False) 2449 2450 # e+e message 2451 @test_tracker_info(uuid="") 2452 @TelephonyBaseTest.tel_test_wrap 2453 def test_dds_switch_sms_esim_port_0_mo_volte_esim_port_1_volte(self): 2454 """ LTE DDS swap SMS test(Initial DDS is on esim_port_0). 2455 2456 1. Make MO SMS via esim_port_0 when DDS is on esim_port_0 and idle. 2457 2. Switch DDS to esim_port_1. 2458 3. Make MO SMS via esim_port_0 when DDS is on esim_port_1 and idle. 2459 4. Switch DDS to esim_port_0, make sure data works fine. 2460 2461 After Make SMS will check the dds slot if is attach to the 2462 network with assigned RAT successfully and data works fine. 2463 """ 2464 return dsds_dds_swap_message_streaming_test( 2465 self.log, 2466 self.android_devices, 2467 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2468 test_rat=["volte", "volte"], 2469 test_slot=[ 2470 SimSlotInfo.SLOT_1, 2471 SimSlotInfo.SLOT_1, 2472 SimSlotInfo.SLOT_1], 2473 init_dds=1, 2474 msg_type="SMS", 2475 direction="mo", 2476 streaming=False) 2477 2478 @test_tracker_info(uuid="") 2479 @TelephonyBaseTest.tel_test_wrap 2480 def test_dds_switch_sms_esim_port_0_mt_volte_esim_port_1_volte(self): 2481 """ LTE DDS swap SMS test(Initial DDS is on esim_port_0). 2482 2483 1. Make MT SMS via esim_port_0 when DDS is on esim_port_0 and idle. 2484 2. Switch DDS to esim_port_1. 2485 3. Make MT SMS via esim_port_0 when DDS is on esim_port_1 and idle. 2486 4. Switch DDS to esim_port_0, make sure data works fine. 2487 2488 After Receive SMS will check the dds slot if is attach to the 2489 network with assigned RAT successfully and data works fine. 2490 """ 2491 return dsds_dds_swap_message_streaming_test( 2492 self.log, 2493 self.android_devices, 2494 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2495 test_rat=["volte", "volte"], 2496 test_slot=[ 2497 SimSlotInfo.SLOT_1, 2498 SimSlotInfo.SLOT_1, 2499 SimSlotInfo.SLOT_1], 2500 init_dds=1, 2501 msg_type="SMS", 2502 direction="mt", 2503 streaming=False) 2504 2505 @test_tracker_info(uuid="") 2506 @TelephonyBaseTest.tel_test_wrap 2507 def test_dds_switch_sms_esim_port_1_mo_volte_esim_port_0_volte(self): 2508 """ LTE DDS swap SMS test(Initial DDS is on esim_port_0). 2509 2510 1. Make MO SMS via esim_port_1 when DDS is on esim_port_0 and idle. 2511 2. Switch DDS to esim_port_1. 2512 3. Make MO SMS via esim_port_1 when DDS is on esim_port_1 and idle. 2513 4. Switch DDS to esim_port_0, make sure data works fine. 2514 2515 After Make SMS will check the dds slot if is attach to the 2516 network with assigned RAT successfully and data works fine. 2517 """ 2518 return dsds_dds_swap_message_streaming_test( 2519 self.log, 2520 self.android_devices, 2521 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2522 test_rat=["volte", "volte"], 2523 test_slot=[ 2524 SimSlotInfo.SLOT_2, 2525 SimSlotInfo.SLOT_2, 2526 SimSlotInfo.SLOT_2], 2527 init_dds=1, 2528 msg_type="SMS", 2529 direction="mo", 2530 streaming=False) 2531 2532 @test_tracker_info(uuid="") 2533 @TelephonyBaseTest.tel_test_wrap 2534 def test_dds_switch_sms_esim_port_1_mt_volte_esim_port_0_volte(self): 2535 """ LTE DDS swap SMS test(Initial DDS is on esim_port_0). 2536 2537 1. Make MT SMS via esim_port_1 when DDS is on esim_port_0 and idle. 2538 2. Switch DDS to esim_port_1. 2539 3. Make MT SMS via esim_port_1 when DDS is on esim_port_1 and idle. 2540 4. Switch DDS to esim_port_0, make sure data works fine. 2541 2542 After Make SMS will check the dds slot if is attach to the 2543 network with assigned RAT successfully and data works fine. 2544 """ 2545 return dsds_dds_swap_message_streaming_test( 2546 self.log, 2547 self.android_devices, 2548 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2549 test_rat=["volte", "volte"], 2550 test_slot=[ 2551 SimSlotInfo.SLOT_2, 2552 SimSlotInfo.SLOT_2, 2553 SimSlotInfo.SLOT_2], 2554 init_dds=1, 2555 msg_type="SMS", 2556 direction="mt", 2557 streaming=False) 2558 2559 @test_tracker_info(uuid="") 2560 @TelephonyBaseTest.tel_test_wrap 2561 def test_dds_switch_mms_esim_port_0_mo_volte_esim_port_1_volte(self): 2562 """ LTE DDS swap MMS test(Initial DDS is on esim_port_0). 2563 2564 1. Make MO MMS via esim_port_0 when DDS is on esim_port_0 and idle. 2565 2. Switch DDS to esim_port_1. 2566 3. Make MO MMS via esim_port_0 when DDS is on esim_port_1 and idle. 2567 4. Switch DDS to esim_port_0, make sure data works fine. 2568 2569 After Make MMS will check the dds slot if is attach to the 2570 network with assigned RAT successfully and data works fine. 2571 """ 2572 return dsds_dds_swap_message_streaming_test( 2573 self.log, 2574 self.android_devices, 2575 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2576 test_rat=["volte", "volte"], 2577 test_slot=[ 2578 SimSlotInfo.SLOT_1, 2579 SimSlotInfo.SLOT_1, 2580 SimSlotInfo.SLOT_1], 2581 init_dds=1, 2582 msg_type="MMS", 2583 direction="mo", 2584 streaming=False) 2585 2586 @test_tracker_info(uuid="") 2587 @TelephonyBaseTest.tel_test_wrap 2588 def test_dds_switch_mms_esim_port_0_mt_volte_esim_port_1_volte(self): 2589 """ LTE DDS swap MMS test(Initial DDS is on esim_port_0). 2590 2591 1. Make MT MMS via esim_port_0 when DDS is on esim_port_0 and idle. 2592 2. Switch DDS to esim_port_1. 2593 3. Make MT MMS via esim_port_0 when DDS is on esim_port_1 and idle. 2594 4. Switch DDS to esim_port_0, make sure data works fine. 2595 2596 After Receive MMS will check the dds slot if is attach to the 2597 network with assigned RAT successfully and data works fine. 2598 """ 2599 return dsds_dds_swap_message_streaming_test( 2600 self.log, 2601 self.android_devices, 2602 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2603 test_rat=["volte", "volte"], 2604 test_slot=[ 2605 SimSlotInfo.SLOT_1, 2606 SimSlotInfo.SLOT_1, 2607 SimSlotInfo.SLOT_1], 2608 init_dds=1, 2609 msg_type="MMS", 2610 direction="mt", 2611 streaming=False) 2612 2613 @test_tracker_info(uuid="") 2614 @TelephonyBaseTest.tel_test_wrap 2615 def test_dds_switch_mms_esim_port_1_mo_volte_esim_port_0_volte(self): 2616 """ LTE DDS swap MMS test(Initial DDS is on esim_port_0). 2617 2618 1. Make MO MMS via esim_port_1 when DDS is on esim_port_0 and idle. 2619 2. Switch DDS to esim_port_1. 2620 3. Make MO MMS via esim_port_1 when DDS is on esim_port_1 and idle. 2621 4. Switch DDS to esim_port_0, make sure data works fine. 2622 2623 After Make MMS will check the dds slot if is attach to the 2624 network with assigned RAT successfully and data works fine. 2625 """ 2626 return dsds_dds_swap_message_streaming_test( 2627 self.log, 2628 self.android_devices, 2629 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2630 test_rat=["volte", "volte"], 2631 test_slot=[ 2632 SimSlotInfo.SLOT_2, 2633 SimSlotInfo.SLOT_2, 2634 SimSlotInfo.SLOT_2], 2635 init_dds=1, 2636 msg_type="MMS", 2637 direction="mo", 2638 streaming=False) 2639 2640 @test_tracker_info(uuid="") 2641 @TelephonyBaseTest.tel_test_wrap 2642 def test_dds_switch_mms_esim_port_1_mt_volte_esim_port_0_volte(self): 2643 """ LTE DDS swap MMS test(Initial DDS is on esim_port_0). 2644 2645 1. Make MT MMS via esim_port_1 when DDS is on esim_port_0 and idle. 2646 2. Switch DDS to esim_port_1. 2647 3. Make MT MMS via esim_port_1 when DDS is on esim_port_1 and idle. 2648 4. Switch DDS to esim_port_0, make sure data works fine. 2649 2650 After Make MMS will check the dds slot if is attach to the 2651 network with assigned RAT successfully and data works fine. 2652 """ 2653 return dsds_dds_swap_message_streaming_test( 2654 self.log, 2655 self.android_devices, 2656 sim_slot=[SimSlotInfo.SLOT_1, SimSlotInfo.SLOT_2], 2657 test_rat=["volte", "volte"], 2658 test_slot=[ 2659 SimSlotInfo.SLOT_2, 2660 SimSlotInfo.SLOT_2, 2661 SimSlotInfo.SLOT_2], 2662 init_dds=1, 2663 msg_type="MMS", 2664 direction="mt", 2665 streaming=False)