Reboot device after remount if required

Bug: 243350945
Test: local
Change-Id: If970653f4e390a3ee2ba2ce26d26e764f13e5069
diff --git a/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py b/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
index ab2e164..7edf410 100644
--- a/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
+++ b/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
@@ -28,6 +28,7 @@
 from acts import signals
 from acts import utils
 from acts.base_test import BaseTestClass
+from acts.controllers.adb_lib.error import AdbCommandError
 from acts.controllers.android_device import DEFAULT_QXDM_LOG_PATH
 from acts.keys import Config
 from acts.libs.utils.multithread import multithread_func
@@ -90,6 +91,9 @@
 from acts_contrib.test_utils.tel.tel_wifi_utils import ensure_wifi_connected
 
 
+REMOUNT_REBOOT_MSG = "Now reboot your device for settings to take effect"
+
+
 class TelephonyBaseTest(BaseTestClass):
     # Use for logging in the test cases to facilitate
     # faster log lookup and reduce ambiguity in logging.
@@ -292,7 +296,11 @@
 
         if "_test" not in ad.build_info["build_id"]:
             ad.ensure_verity_disabled()
-            ad.adb.remount()
+            try:
+                ad.adb.remount()
+            except AdbCommandError as e:
+                if REMOUNT_REBOOT_MSG in e.stderr:
+                    ad.reboot()
             build_id = ad.build_info["build_id"].replace(".", r"\.")
             ad.adb.shell("sed -i '/^ro.build.id=/ "
                         f"s/{build_id}/&_test/g' /system/build.prop")