Fix SMS Tests to Wait for Either Voice or Data

Bug: 30771202
Change-Id: I5c35350fc8a1e1c466430ff5b2d599a28701a177
diff --git a/acts/framework/acts/test_utils/tel/tel_voice_utils.py b/acts/framework/acts/test_utils/tel/tel_voice_utils.py
index b089917..43e04de 100644
--- a/acts/framework/acts/test_utils/tel/tel_voice_utils.py
+++ b/acts/framework/acts/test_utils/tel/tel_voice_utils.py
@@ -68,6 +68,8 @@
 from acts.test_utils.tel.tel_test_utils import toggle_volte_for_subscription
 from acts.test_utils.tel.tel_test_utils import verify_incall_state
 from acts.test_utils.tel.tel_test_utils import \
+    wait_for_data_attach_for_subscription
+from acts.test_utils.tel.tel_test_utils import \
     wait_for_network_generation_for_subscription
 from acts.test_utils.tel.tel_test_utils import wait_for_not_network_rat
 from acts.test_utils.tel.tel_test_utils import wait_for_network_rat
diff --git a/acts/tests/google/tel/live/TelLiveSmsTest.py b/acts/tests/google/tel/live/TelLiveSmsTest.py
index 4965323..4c6405c 100644
--- a/acts/tests/google/tel/live/TelLiveSmsTest.py
+++ b/acts/tests/google/tel/live/TelLiveSmsTest.py
@@ -46,10 +46,11 @@
 from acts.test_utils.tel.tel_voice_utils import is_phone_in_call_csfb
 from acts.test_utils.tel.tel_voice_utils import is_phone_in_call_iwlan
 from acts.test_utils.tel.tel_voice_utils import is_phone_in_call_volte
-from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_2g
 from acts.test_utils.tel.tel_voice_utils import phone_setup_3g
 from acts.test_utils.tel.tel_voice_utils import phone_setup_csfb
+from acts.test_utils.tel.tel_voice_utils import phone_setup_data_general
 from acts.test_utils.tel.tel_voice_utils import phone_setup_iwlan
+from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_2g
 from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_3g
 from acts.test_utils.tel.tel_voice_utils import phone_setup_volte
 from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_general
@@ -59,31 +60,18 @@
 class TelLiveSmsTest(TelephonyBaseTest):
     def __init__(self, controllers):
         TelephonyBaseTest.__init__(self, controllers)
-        self.tests = ("test_sms_mo_4g",
-                      "test_sms_mt_4g",
-                      "test_sms_mo_in_call_volte",
-                      "test_sms_mt_in_call_volte",
-                      "test_sms_mo_in_call_csfb",
-                      "test_sms_mt_in_call_csfb",
-                      "test_sms_mo_in_call_csfb_1x",
-                      "test_sms_mt_in_call_csfb_1x",
-                      "test_sms_mo_3g",
-                      "test_sms_mt_3g",
-                      "test_sms_mo_in_call_wcdma",
-                      "test_sms_mt_in_call_wcdma",
-                      "test_sms_mo_in_call_1x",
-                      "test_sms_mt_in_call_1x",
-                      "test_sms_mo_2g",
-                      "test_sms_mt_2g",
-                      "test_sms_mo_in_call_gsm",
-                      "test_sms_mt_in_call_gsm",
-                      "test_sms_mo_iwlan",
-                      "test_sms_mt_iwlan",
-                      "test_sms_mo_in_call_iwlan",
-                      "test_sms_mt_in_call_iwlan",
-                      "test_sms_mo_in_call_vt",
-                      "test_sms_mt_in_call_vt",
-                    )
+        self.tests = (
+            "test_sms_mo_4g", "test_sms_mt_4g", "test_sms_mo_in_call_volte",
+            "test_sms_mt_in_call_volte", "test_sms_mo_in_call_csfb",
+            "test_sms_mt_in_call_csfb", "test_sms_mo_in_call_csfb_1x",
+            "test_sms_mt_in_call_csfb_1x", "test_sms_mo_3g", "test_sms_mt_3g",
+            "test_sms_mo_in_call_wcdma", "test_sms_mt_in_call_wcdma",
+            "test_sms_mo_in_call_1x", "test_sms_mt_in_call_1x",
+            "test_sms_mo_2g", "test_sms_mt_2g", "test_sms_mo_in_call_gsm",
+            "test_sms_mt_in_call_gsm", "test_sms_mo_iwlan",
+            "test_sms_mt_iwlan", "test_sms_mo_in_call_iwlan",
+            "test_sms_mt_in_call_iwlan", "test_sms_mo_in_call_vt",
+            "test_sms_mt_in_call_vt")
         # The path for "sim config file" should be set
         # in "testbed.config" entry "sim_conf_file".
         self.wifi_network_ssid = self.user_params["wifi_network_ssid"]
@@ -332,9 +320,8 @@
         """
 
         ads = self.android_devices
-        # TODO: this is a temporary fix for this test case.
-        # A better fix will be introduced once pag/539845 is merged.
-        if not phone_setup_voice_general(self.log, ads[1]):
+        if (not phone_setup_data_general(self.log, ads[1]) and
+                not phone_setup_voice_general(self.log, ads[1])):
             self.log.error("Failed to setup PhoneB.")
             return False
         if not ensure_network_generation(self.log, ads[0], GEN_4G):
@@ -358,9 +345,8 @@
 
         ads = self.android_devices
 
-        # TODO: this is a temporary fix for this test case.
-        # A better fix will be introduced once pag/539845 is merged.
-        if not phone_setup_voice_general(self.log, ads[1]):
+        if (not phone_setup_data_general(self.log, ads[1]) and
+                not phone_setup_voice_general(self.log, ads[1])):
             self.log.error("Failed to setup PhoneB.")
             return False
         if not ensure_network_generation(self.log, ads[0], GEN_4G):