DO NOT MERGE: Handle SMS, MMS CTS failures in CtsTelephonyProviderTestCases and CtsTelephonyTestCases modules for device where no messaging support

Data only device Messaging application will not be present, All database operations related to sms and mms failed due to isSmsCapable false.

Check messaging feature support before test execution, skip or mark as assumption failure if isSmsCapable is false

Bug:196304811
Bug:196306890
Test: Build CTS
Test: 1.run cts -m CtsTelephonyProviderTestCases
2.run cts -m CtsTelephonyTestCases -t android.telephony.cts.SmsManagerTest#testSendAndReceiveMessages

Change-Id: Iba5e552e147a49f70e53a8ba806fcd64c75257d0
diff --git a/tests/tests/telephony/current/src/android/telephony/cts/SmsManagerTest.java b/tests/tests/telephony/current/src/android/telephony/cts/SmsManagerTest.java
index b7d50c0..7eaeaa0 100755
--- a/tests/tests/telephony/current/src/android/telephony/cts/SmsManagerTest.java
+++ b/tests/tests/telephony/current/src/android/telephony/cts/SmsManagerTest.java
@@ -145,6 +145,7 @@
         mTelephonyManager =
             (TelephonyManager) getContext().getSystemService(
                     Context.TELEPHONY_SERVICE);
+        assumeTrue(mTelephonyManager.isSmsCapable());
         mPackageManager = mContext.getPackageManager();
         mDestAddr = mTelephonyManager.getLine1Number();
         mText = "This is a test message";
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/CellBroadcastProviderTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/CellBroadcastProviderTest.java
index 8218ce4..5ac07ce 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/CellBroadcastProviderTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/CellBroadcastProviderTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.hasTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.hasSms;
 
 import android.content.ContentResolver;
 import android.provider.Telephony;
@@ -25,17 +26,19 @@
 public class CellBroadcastProviderTest extends InstrumentationTestCase {
     private ContentResolver mContentResolver;
     private boolean mHasTelephony;
+    private boolean mHasSms;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
         mHasTelephony = hasTelephony();
+        mHasSms = hasSms();
     }
 
     // this is only allowed for privileged process
     public void testAccess() {
-        if (!mHasTelephony) {
+        if (!mHasTelephony || !mHasSms) {
             return;
         }
         try {
@@ -48,7 +51,7 @@
     }
 
     public void testAccessMessageHistoryWithoutPermission() {
-        if (!mHasTelephony) {
+        if (!mHasTelephony || !mHasSms) {
             return;
         }
         try {
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/DefaultSmsAppHelper.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/DefaultSmsAppHelper.java
index 0a433b0..72f1fc7 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/DefaultSmsAppHelper.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/DefaultSmsAppHelper.java
@@ -33,6 +33,7 @@
 
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executor;
+import android.telephony.TelephonyManager;
 
 class DefaultSmsAppHelper {
     static void ensureDefaultSmsApp() {
@@ -110,6 +111,10 @@
         Assume.assumeTrue(hasTelephony());
     }
 
+    static void assumeSms() {
+        Assume.assumeTrue(hasSms());
+    }
+
     static boolean hasTelephony() {
         Context context = ApplicationProvider.getApplicationContext();
         return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/LockedMessageTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/LockedMessageTest.java
index d2e6fd0..00b04b2 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/LockedMessageTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/LockedMessageTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -61,6 +62,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
     }
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsPartTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsPartTest.java
index 00e4dfe..2acbe64 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsPartTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsPartTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -64,6 +65,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
     }
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsTest.java
index 85df75d..db669d8 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/MmsTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -68,6 +69,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
     }
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsConversationTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsConversationTest.java
index ebecd8a..60a131c 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsConversationTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsConversationTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -59,6 +60,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
     }
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsTest.java
index dba15dc..c897396 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/SmsTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -62,6 +63,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContentResolver = getInstrumentation().getContext().getContentResolver();
         mSmsTestHelper = new SmsTestHelper();
diff --git a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/ThreadsTest.java b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/ThreadsTest.java
index 66365e2..b619687 100644
--- a/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/ThreadsTest.java
+++ b/tests/tests/telephonyprovider/src/android/telephonyprovider/cts/ThreadsTest.java
@@ -17,6 +17,7 @@
 package android.telephonyprovider.cts;
 
 import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeTelephony;
+import static android.telephonyprovider.cts.DefaultSmsAppHelper.assumeSms;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
@@ -61,6 +62,7 @@
     @Before
     public void setupTestEnvironment() {
         assumeTelephony();
+        assumeSms();
         cleanup();
         mContext = getInstrumentation().getContext();
         mContentResolver = mContext.getContentResolver();