Esempio n. 1
0
def phone_setup_csfb_for_subscription(log, ad, sub_id):
    """Setup phone for CSFB call test for subscription id.

    Setup Phone to be in 4G mode.
    Disabled VoLTE.

    Args:
        log: log object
        ad: Android device object.
        sub_id: subscription id.

    Returns:
        True if setup successfully.
        False for errors.
    """
    if not phone_setup_4g_for_subscription(log, ad, sub_id):
        log.error("{} failed to set to 4G data.".format(ad.serial))
        return False
    if ad.droid.imsIsEnhanced4gLteModeSettingEnabledByPlatform():
        toggle_volte(log, ad, False)
    if not ensure_network_generation_for_subscription(
            log, ad, sub_id, GEN_4G, voice_or_data=NETWORK_SERVICE_DATA):
        return False

    if not wait_for_voice_attach_for_subscription(log, ad, sub_id,
                                                  MAX_WAIT_TIME_NW_SELECTION):
        return False

    return phone_idle_csfb_for_subscription(log, ad, sub_id)
 def droid_has_phone(log, ad):
     #check for sim and service
     subInfo = ad.droid.subscriptionGetAllSubInfoList()
     if not subInfo or len(subInfo) < 1:
         return False
     toggle_airplane_mode(log, ad, False)
     sub_id = ad.droid.subscriptionGetDefaultVoiceSubId()
     if not wait_for_voice_attach_for_subscription(
             log, ad, sub_id, MAX_WAIT_TIME_NW_SELECTION):
         log.error("{} didn't find a cell network".format(ad.serial))
         return False
     return True
Esempio n. 3
0
def phone_setup_voice_2g_for_subscription(log, ad, sub_id):
    """Setup phone voice to 2G for subscription id.

    Args:
        log: log object
        ad: Android device object.
        sub_id: subscription id.

    Returns:
        True if setup successfully.
        False for errors.
    """
    if not phone_setup_2g_for_subscription(log, ad, sub_id):
        log.error("{} failed to set to 2G data.".format(ad.serial))
        return False
    if not wait_for_voice_attach_for_subscription(log, ad, sub_id,
                                                  MAX_WAIT_TIME_NW_SELECTION):
        return False
    return phone_idle_2g_for_subscription(log, ad, sub_id)
Esempio n. 4
0
def phone_setup_voice_general_for_subscription(log, ad, sub_id):
    """Setup phone for voice general call test for subscription id.

    Make sure phone attached to voice.
    Make necessary delay.

    Args:
        ad: Android device object.
        sub_id: subscription id.

    Returns:
        True if setup successfully.
        False for errors.
    """
    toggle_airplane_mode(log, ad, False)
    if not wait_for_voice_attach_for_subscription(log, ad, sub_id,
                                                  MAX_WAIT_TIME_NW_SELECTION):
        # if phone can not attach voice, try phone_setup_voice_3g
        return phone_setup_voice_3g_for_subscription(log, ad, sub_id)
    return True
Esempio n. 5
0
 def test_pre_flight_check(self):
     for ad in self.android_devices:
         #check for sim and service
         subInfo = ad.droid.subscriptionGetAllSubInfoList()
         if not subInfo or len(subInfo) < 1:
             self._preflight_fail(
                 "{}: Unable to find A valid subscription!".format(
                     ad.serial))
         toggle_airplane_mode(self.log, ad, False, strict_checking=False)
         if ad.droid.subscriptionGetDefaultDataSubId() <= INVALID_SUB_ID:
             self._preflight_fail("{}: No Default Data Sub ID".format(
                 ad.serial))
         elif ad.droid.subscriptionGetDefaultVoiceSubId() <= INVALID_SUB_ID:
             self._preflight_fail("{}: No Valid Voice Sub ID".format(
                 ad.serial))
         sub_id = ad.droid.subscriptionGetDefaultVoiceSubId()
         if not wait_for_voice_attach_for_subscription(
                 self.log, ad, sub_id, MAX_WAIT_TIME_NW_SELECTION):
             self._preflight_fail(
                 "{}: Did Not Attach For Voice Services".format(ad.serial))
     return True