Skip BackupQuotaTest if FEATURE_BACKUP is not declared

Earlier change skipped the test if LOCAL_TRANSPORT is not present.
Such a condition should only be allowed if the PackageManager
feature flag FEATURE_BACKUP is not declared.

Bug: 30120602
Change-Id: Ia5ffd331b83ab9850fabcda08fa1b3237149a988
diff --git a/tests/backup/src/android/backup/cts/BackupQuotaTest.java b/tests/backup/src/android/backup/cts/BackupQuotaTest.java
index bec28c7..0493993 100644
--- a/tests/backup/src/android/backup/cts/BackupQuotaTest.java
+++ b/tests/backup/src/android/backup/cts/BackupQuotaTest.java
@@ -17,6 +17,7 @@
 package android.backup.cts;
 
 import android.app.Instrumentation;
+import android.content.pm.PackageManager;
 import android.os.ParcelFileDescriptor;
 import android.test.InstrumentationTestCase;
 import android.util.Log;
@@ -46,18 +47,21 @@
 
     private static final int SMALL_LOGCAT_DELAY = 1000;
 
-    private boolean localTransportIsPresent;
+    private boolean isBackupSupported;
     private boolean wasBackupEnabled;
     private String oldTransport;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        localTransportIsPresent = hasBackupTransport(LOCAL_TRANSPORT);
-        if (!localTransportIsPresent) {
+        PackageManager packageManager = getInstrumentation().getContext().getPackageManager();
+        isBackupSupported = packageManager != null
+                && packageManager.hasSystemFeature(PackageManager.FEATURE_BACKUP);
+        if (!isBackupSupported) {
             return;
         }
         // Enable backup and select local backup transport
+        assertTrue("LocalTransport should be available.", hasBackupTransport(LOCAL_TRANSPORT));
         wasBackupEnabled = enableBackup(true);
         oldTransport = setBackupTransport(LOCAL_TRANSPORT);
     }
@@ -65,7 +69,7 @@
     @Override
     protected void tearDown() throws Exception {
         // Return old transport
-        if (localTransportIsPresent) {
+        if (isBackupSupported) {
             setBackupTransport(oldTransport);
             enableBackup(wasBackupEnabled);
         }
@@ -73,7 +77,7 @@
     }
 
     public void testQuotaExceeded() throws Exception {
-        if (!localTransportIsPresent) {
+        if (!isBackupSupported) {
             return;
         }
         exec("logcat --clear");