Revert "Tests migration feature meta tags to Conditionalized Tests."

This reverts commit df27920926a97bce26f266357b71ee2bfadfbade.

Change-Id: I4794a72c372cbf8a93231090afdcf509541918ad
diff --git a/apps/CtsVerifier/AndroidManifest.xml b/apps/CtsVerifier/AndroidManifest.xml
index 60d294e..61937ff 100644
--- a/apps/CtsVerifier/AndroidManifest.xml
+++ b/apps/CtsVerifier/AndroidManifest.xml
@@ -90,6 +90,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_device_admin" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
 
         <!-- A generic activity for intent based tests -->
@@ -103,6 +105,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_device_admin" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
 
         <activity android:name=".admin.RedactedNotificationKeyguardDisabledFeaturesActivity"
@@ -113,6 +117,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_device_admin" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
 
         <activity android:name=".admin.ScreenLockTestActivity"
@@ -123,6 +129,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_device_admin" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
 
         <activity android:name=".backup.BackupTestActivity" android:label="@string/backup_test">
@@ -130,6 +138,8 @@
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.backup" />
         </activity>
 
         <activity android:name=".bluetooth.BluetoothTestActivity"
@@ -140,6 +150,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_networking" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.bluetooth" />
         </activity>
 
         <activity android:name=".bluetooth.BluetoothToggleActivity"
@@ -151,6 +162,7 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/bt_control" />
             <meta-data android:name="test_parent" android:value="com.android.cts.verifier.bluetooth.BluetoothTestActivity" />
+            <meta-data android:name="test_excluded_features" android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".bluetooth.SecureServerActivity"
@@ -243,6 +255,8 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/bt_le" />
             <meta-data android:name="test_parent" android:value="com.android.cts.verifier.bluetooth.BluetoothTestActivity" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.bluetooth_le"/>
         </activity>
 
         <activity android:name=".bluetooth.BleServerStartActivity"
@@ -254,6 +268,8 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/bt_le" />
             <meta-data android:name="test_parent" android:value="com.android.cts.verifier.bluetooth.BluetoothTestActivity" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.bluetooth_le"/>
         </activity> -->
 
         <activity android:name=".bluetooth.BleScannerTestActivity"
@@ -265,6 +281,8 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/bt_le" />
             <meta-data android:name="test_parent" android:value="com.android.cts.verifier.bluetooth.BluetoothTestActivity" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.bluetooth_le"/>
         </activity>
 
         <activity android:name=".bluetooth.BleScannerPowerLevelActivity"
@@ -300,6 +318,8 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/bt_le" />
             <meta-data android:name="test_parent" android:value="com.android.cts.verifier.bluetooth.BluetoothTestActivity" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.bluetooth_le"/>
          </activity>
 
         <activity android:name=".bluetooth.BleAdvertiserPowerLevelActivity"
@@ -344,6 +364,9 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_security" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.fingerprint" />
         </activity>
         <activity android:name=".security.ScreenLockBoundKeysTest"
                 android:label="@string/sec_lock_bound_key_test"
@@ -353,6 +376,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_security" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
         <activity android:name=".security.LockConfirmBypassTest"
                 android:label="@string/lock_confirm_test_title"
@@ -362,6 +387,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_security" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.device_admin" />
         </activity>
         <activity android:name=".security.WiFiCACertificateBugTest"
                 android:configChanges="keyboardHidden|orientation|screenSize"
@@ -371,6 +398,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_security"/>
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch"/>
         </activity>
 
         <activity android:name=".streamquality.StreamingVideoActivity"
@@ -381,6 +410,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_streaming" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
         </activity>
 
         <activity android:name=".streamquality.PlayVideoActivity"
@@ -404,6 +435,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_hardware" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.location.gps" />
         </activity>
 
         <activity android:name=".net.ConnectivityScreenOffTestActivity"
@@ -413,6 +445,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_networking" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.wifi" />
         </activity>
 
         <activity android:name=".nfc.NfcTestActivity"
@@ -423,6 +456,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_hardware" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.nfc" />
         </activity>
 
         <activity android:name="com.android.cts.verifier.nfc.hce.HceReaderTestActivity"
@@ -698,6 +732,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.accelerometer"/>
         </activity>
 
         <activity android:name=".sensors.GyroscopeMeasurementTestActivity"
@@ -708,6 +744,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.gyroscope"/>
         </activity>
 
         <activity android:name=".sensors.HeartRateMonitorTestActivity"
@@ -718,6 +756,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.heartrate" />
         </activity>
 
         <activity android:name=".sensors.MagneticFieldMeasurementTestActivity"
@@ -728,6 +768,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.compass" />
         </activity>
 
         <activity
@@ -764,6 +806,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.gyroscope" />
         </activity-->
 
         <activity android:name=".sensors.BatchingTestActivity"
@@ -774,6 +818,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_applicable_features"
+                       android:value="android.hardware.sensor.stepcounter:android.hardware.sensor.stepdetector:android.hardware.sensor.proximity:android.hardware.sensor.light" />
         </activity>
 
         <!-- TODO: enable when a more reliable way to identify time synchronization is available -->
@@ -785,6 +831,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.gyroscope" />
         </activity-->
 
         <activity android:name=".sensors.SingleSensorTestsActivity"
@@ -795,6 +843,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_applicable_features"
+                       android:value="android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope:android.hardware.sensor.barometer" />
         </activity>
 
         <activity android:name=".sensors.SensorBatchingTestsActivity"
@@ -805,6 +855,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_applicable_features"
+                       android:value="android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope:android.hardware.sensor.barometer" />
         </activity>
 
         <activity android:name=".sensors.SensorIntegrationTestsActivity"
@@ -815,6 +867,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_applicable_features"
+                       android:value="android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope" />
         </activity>
 
         <activity android:name=".sensors.SensorTestActivity"
@@ -825,6 +879,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST"/>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors"/>
+            <meta-data android:name="test_applicable_features"
+                       android:value="android.hardware.sensor.accelerometer:android.hardware.sensor.stepcounter:android.hardware.sensor.stepdetector:android.hardware.sensor.heartrate:android.hardware.sensor.compass:android.hardware.sensor.ambient_temperature" />
         </activity>
 
         <!-- End sensor tests definitions -->
@@ -836,6 +892,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_location" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
         <activity android:name=".location.LocationModeHighAccuracyTestActivity"
                 android:label="@string/location_mode_high_accuracy_test">
@@ -844,6 +904,12 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_location" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.hardware.location.network:android.hardware.location.gps" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
         <activity android:name=".location.LocationModeBatterySavingTestActivity"
                 android:label="@string/location_mode_battery_saving_test">
@@ -852,6 +918,11 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_location" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.location.network" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
         <activity android:name=".location.LocationModeDeviceOnlyTestActivity"
                 android:label="@string/location_mode_device_only_test">
@@ -860,6 +931,11 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_location" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.location.gps" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".camera.formats.CameraFormatsActivity"
@@ -871,6 +947,7 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
 
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.any"/>
         </activity>
 
         <activity android:name=".camera.intents.CameraIntentsActivity"
@@ -881,6 +958,7 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
 
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.any"/>
         </activity>
 
 
@@ -893,6 +971,7 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
 
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.any"/>
         </activity>
 
         <activity
@@ -905,6 +984,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.sensor.gyroscope" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.any"/>
         </activity>
         <activity
             android:name=".camera.fov.DetermineFovActivity"
@@ -926,6 +1007,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.hardware.camera.any"/>
         </activity>
 
         <activity android:name=".camera.its.ItsTestActivity"
@@ -937,6 +1020,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.any" />
         </activity>
 
         <activity android:name=".camera.flashlight.CameraFlashlightActivity"
@@ -947,6 +1031,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_camera" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.camera.flash" />
         </activity>
 
         <activity android:name=".usb.UsbAccessoryTestActivity"
@@ -963,6 +1048,9 @@
             <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
                     android:resource="@xml/accessory_filter" />
             <meta-data android:name="test_category" android:value="@string/test_category_hardware" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.usb.accessory" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
         </activity>
 <!-- Turned off Sensor Power Test in initial L release
         <activity android:name=".sensors.SensorPowerTestActivity"
@@ -973,6 +1061,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback" />
         </activity>
 -->
         <activity android:name=".p2p.P2pTestListActivity"
@@ -983,6 +1073,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_networking" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.wifi.direct" />
         </activity>
 
         <activity android:name=".notifications.NotificationListenerVerifierActivity"
@@ -1001,6 +1092,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_notifications" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch:android.software.leanback" />
         </activity>
 
         <activity android:name=".notifications.PackagePriorityVerifierActivity"
@@ -1010,6 +1103,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_notifications" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.watch:android.software.leanback" />
         </activity>
 
         <service android:name=".notifications.MockListener"
@@ -1030,6 +1125,12 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_notifications" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
         <activity android:name=".security.CANotifyOnBootActivity"
                 android:label="@string/caboot_test">
@@ -1038,6 +1139,12 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_notifications" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".security.KeyChainTest"
@@ -1048,6 +1155,12 @@
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_security" />
             <!-- KeyChain is only installed on communication-oriented devices inheriting core.mk -->
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".security.AlarmIntentTest"
@@ -1121,6 +1234,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_other" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.app_widgets" />
         </activity>
 
         <activity android:name=".deskclock.DeskClockTestsActivity"
@@ -1130,6 +1245,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_deskclock" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
 <!-- TODO: enable when not requiring to tap the screen and timeouts are tuned -->
@@ -1144,6 +1263,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback" />
         </activity>
 -->
           <activity
@@ -1155,6 +1276,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <receiver android:name="com.android.cts.verifier.sensors.DeviceSuspendTestActivity$AlarmReceiver">
@@ -1176,6 +1301,8 @@
             <meta-data
                 android:name="test_category"
                 android:value="@string/test_category_sensors" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.sensor.accelerometer" />
         </activity>
 
         <receiver android:name=".widget.WidgetCtsProvider">
@@ -1199,6 +1326,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.faketouch" />
         </activity>
 
         <activity android:name=".projection.widgets.ProjectionWidgetActivity"
@@ -1208,6 +1336,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.faketouch" />
         </activity>
 
         <activity android:name=".projection.list.ProjectionListActivity"
@@ -1217,6 +1346,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback" />
         </activity>
 
         <activity android:name=".projection.video.ProjectionVideoActivity"
@@ -1226,6 +1357,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.watch" />
         </activity>
 
         <activity android:name=".projection.touch.ProjectionTouchActivity"
@@ -1235,6 +1368,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_required_features"
+                       android:value="android.hardware.faketouch:android.hardware.touchscreen.multitouch" />
         </activity>
 
 
@@ -1245,6 +1380,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_projection" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback" />
         </activity>
 
         <service android:name=".projection.ProjectionService"
@@ -1258,6 +1395,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_managed_provisioning" />
+            <meta-data android:name="test_required_features" android:value="android.software.device_admin" />
         </activity>
 
         <activity android:name=".managedprovisioning.DeviceOwnerPositiveTestActivity"
@@ -1267,6 +1405,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_managed_provisioning" />
+            <meta-data android:name="test_required_features" android:value="android.software.device_admin" />
         </activity>
 
         <activity android:name=".managedprovisioning.DeviceOwnerPositiveTestActivity$CommandReceiver"
@@ -1340,6 +1479,7 @@
                 <category android:name="android.intent.category.DEFAULT"></category>
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_managed_provisioning" />
+            <meta-data android:name="test_required_features" android:value="android.software.managed_users:android.software.device_admin" />
         </activity>
 
         <activity android:name=".managedprovisioning.ByodHelperActivity">
@@ -1368,6 +1508,7 @@
         </activity>
 
         <activity android:name=".managedprovisioning.NfcTestActivity">
+            <meta-data android:name="test_required_features" android:value="android.hardware.nfc" />
         </activity>
 
         <provider
@@ -1505,6 +1646,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_jobscheduler" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".jobscheduler.ChargingConstraintTestActivity" android:label="@string/js_charging_test">
@@ -1513,6 +1658,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_jobscheduler" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <activity android:name=".jobscheduler.ConnectivityConstraintTestActivity" android:label="@string/js_connectivity_test">
@@ -1521,6 +1670,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_jobscheduler" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.hardware.type.television" />
+            <meta-data android:name="test_excluded_features"
+                    android:value="android.software.leanback" />
         </activity>
 
         <service android:name=".jobscheduler.MockJobService"
@@ -1536,6 +1689,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_tv" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.live_tv" />
         </activity>
 
         <activity android:name=".tv.ParentalControlTestActivity"
@@ -1545,6 +1700,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_tv" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.live_tv" />
         </activity>
 
         <activity android:name=".tv.MultipleTracksTestActivity"
@@ -1554,6 +1711,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_tv" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.live_tv" />
         </activity>
 
         <!-- Comment out in M due to b/29916035.
@@ -1564,6 +1723,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_tv" />
+            <meta-data android:name="test_required_features"
+                    android:value="android.software.live_tv" />
         </activity>
         -->
 
@@ -1575,6 +1736,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_tv" />
+            <meta-data android:name="test_required_features"
+                android:value="android.software.live_tv" />
         </activity>
 
         <activity android:name=".screenpinning.ScreenPinningTestActivity"
@@ -1584,6 +1747,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_other" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch" />
         </activity>
 
         <activity android:name=".tv.MockTvInputSetupActivity">
@@ -1600,6 +1765,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
         </activity>
 
         <activity android:name=".audio.HifiUltrasoundSpeakerTestActivity"
@@ -1610,6 +1776,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
         </activity>
 
         <activity android:name=".audio.AudioOutputDeviceNotificationsActivity"
@@ -1619,6 +1786,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
         </activity>
 
         <activity android:name=".audio.AudioInputDeviceNotificationsActivity"
@@ -1628,6 +1796,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
         </activity>
 
         <activity android:name=".audio.AudioOutputRoutingNotificationsActivity"
@@ -1637,6 +1806,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
             </activity>
 
         <activity android:name=".audio.AudioInputRoutingNotificationsActivity"
@@ -1646,6 +1816,7 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
             </activity>
 
         <activity android:name=".audio.AudioLoopbackActivity"
@@ -1655,6 +1826,10 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.television" />
         </activity>
 
         <activity android:name=".audio.AudioFrequencyLineActivity"
@@ -1664,6 +1839,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
         </activity>
 
         <activity android:name=".audio.AudioFrequencySpeakerActivity"
@@ -1673,6 +1850,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.usb.host" />
         </activity>
 
         <activity android:name=".audio.AudioFrequencyMicActivity"
@@ -1682,6 +1861,9 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.audio.output" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.usb.host" />
         </activity>
 
         <service android:name=".tv.MockTvInputService"
@@ -1708,6 +1890,8 @@
                 <category android:name="android.cts.intent.category.MANUAL_TEST" />
             </intent-filter>
             <meta-data android:name="test_category" android:value="@string/test_category_car" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch" />
 
         </activity>
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/admin/DeviceAdminKeyguardDisabledFeaturesActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/admin/DeviceAdminKeyguardDisabledFeaturesActivity.java
index 64a49ff..2ad77f6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/admin/DeviceAdminKeyguardDisabledFeaturesActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/admin/DeviceAdminKeyguardDisabledFeaturesActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.admin;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -35,7 +34,6 @@
 /**
  * Tests for Device Admin keyguard disabled features.
  */
-@ConditionalTest(required_features = "android.software.device_admin")
 public class DeviceAdminKeyguardDisabledFeaturesActivity extends KeyguardDisabledFeaturesActivity {
     @Override
     protected int getKeyguardDisabledFeatures() {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/admin/PolicySerializationTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/admin/PolicySerializationTestActivity.java
index 73d6be2..ee24868 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/admin/PolicySerializationTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/admin/PolicySerializationTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.admin;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -47,7 +46,6 @@
  * returning to the test, the activity checks that the device manager is reporting the values
  * it set before the user rebooted the device.
  */
-@ConditionalTest(required_features = "android.software.device_admin")
 public class PolicySerializationTestActivity extends PassFailButtons.ListActivity {
 
     /**
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/admin/RedactedNotificationKeyguardDisabledFeaturesActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/admin/RedactedNotificationKeyguardDisabledFeaturesActivity.java
index 79f2835..711fd8c 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/admin/RedactedNotificationKeyguardDisabledFeaturesActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/admin/RedactedNotificationKeyguardDisabledFeaturesActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.admin;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.admin.DevicePolicyManager;
 
 import android.content.Intent;
@@ -32,7 +31,6 @@
  * would mask KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS.
  *  */
 
-@ConditionalTest(required_features = "android.software.device_admin")
 public class RedactedNotificationKeyguardDisabledFeaturesActivity
     extends DeviceAdminKeyguardDisabledFeaturesActivity {
   @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/admin/ScreenLockTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/admin/ScreenLockTestActivity.java
index 95c5141..41217a6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/admin/ScreenLockTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/admin/ScreenLockTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.admin;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -33,7 +32,6 @@
 import android.view.View.OnClickListener;
 import android.widget.Button;
 
-@ConditionalTest(required_features = "android.software.device_admin")
 public class ScreenLockTestActivity extends PassFailButtons.Activity {
 
     private static final int ADD_DEVICE_ADMIN_REQUEST_CODE = 1;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java
index 0db2f0f..edb3bf0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.audio.wavelib.*;
@@ -48,7 +47,6 @@
 /**
  * Tests Audio Device roundtrip latency by using a loopback plug.
  */
-@ConditionalTest(required_features = "android.hardware.microphone:android.hardware.audio.output")
 public class AudioFrequencyLineActivity extends PassFailButtons.Activity implements Runnable,
     AudioRecord.OnRecordPositionUpdateListener {
     private static final String TAG = "AudioFrequencyLineActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyMicActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyMicActivity.java
index 87a8689..03d84e1 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyMicActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyMicActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.audio.wavelib.*;
@@ -55,7 +54,6 @@
 /**
  * Tests Audio built in Microphone response using external speakers and USB reference microphone.
  */
-@ConditionalTest(required_features = "android.hardware.microphone:android.hardware.audio.output:android.hardware.usb.host")
 public class AudioFrequencyMicActivity extends PassFailButtons.Activity implements Runnable,
     AudioRecord.OnRecordPositionUpdateListener {
     private static final String TAG = "AudioFrequencyMicActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java
index 85316cc..ba7b86d 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.audio.wavelib.*;
@@ -55,7 +54,6 @@
 /**
  * Tests Audio Device roundtrip latency by using a loopback plug.
  */
-@ConditionalTest(required_features = "android.hardware.audio.output:android.hardware.usb.host")
 public class AudioFrequencySpeakerActivity extends PassFailButtons.Activity implements Runnable,
     AudioRecord.OnRecordPositionUpdateListener {
     private static final String TAG = "AudioFrequencySpeakerActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputDeviceNotificationsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputDeviceNotificationsActivity.java
index fe8cc17..e253635 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputDeviceNotificationsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputDeviceNotificationsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.content.Context;
@@ -37,7 +36,6 @@
  * Tests Audio Device Connection events for output by prompting the user to insert/remove a
  * wired headset (or microphone) and noting the presence (or absence) of notifications.
  */
-@ConditionalTest(required_features = "android.hardware.microphone")
 public class AudioInputDeviceNotificationsActivity extends HeadsetHonorSystemActivity {
     Context mContext;
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputRoutingNotificationsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputRoutingNotificationsActivity.java
index 94440cf..eefa9e4 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputRoutingNotificationsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioInputRoutingNotificationsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.content.Context;
@@ -40,7 +39,6 @@
 /**
  * Tests AudioRecord (re)Routing messages.
  */
-@ConditionalTest(required_features = "android.hardware.microphone")
 public class AudioInputRoutingNotificationsActivity extends HeadsetHonorSystemActivity {
     private static final String TAG = "AudioInputRoutingNotificationsActivity";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java
index 7b0c460..fbec57a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 import com.android.compatibility.common.util.ReportLog;
@@ -47,10 +46,6 @@
 /**
  * Tests Audio Device roundtrip latency by using a loopback plug.
  */
-@ConditionalTest(
-    required_features = "android.hardware.microphone:android.hardware.audio.output",
-    excluded_features = "android.hardware.type.watch:android.hardware.type.television"
-)
 public class AudioLoopbackActivity extends PassFailButtons.Activity {
     private static final String TAG = "AudioLoopbackActivity";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputDeviceNotificationsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputDeviceNotificationsActivity.java
index 2dec28f..ad8ba68 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputDeviceNotificationsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputDeviceNotificationsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.content.Context;
@@ -37,7 +36,6 @@
  * Tests Audio Device Connection events for output devices by prompting the user to
  * insert/remove a wired headset and noting the presence (or absence) of notifications.
  */
-@ConditionalTest(required_features = "android.hardware.audio.output")
 public class AudioOutputDeviceNotificationsActivity extends HeadsetHonorSystemActivity {
     Context mContext;
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputRoutingNotificationsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputRoutingNotificationsActivity.java
index 4c25e82..a6d8846 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputRoutingNotificationsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioOutputRoutingNotificationsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.content.Context;
@@ -40,7 +39,6 @@
 /**
  * Tests AudioTrack and AudioRecord (re)Routing messages.
  */
-@ConditionalTest(required_features = "android.hardware.audio.output")
 public class AudioOutputRoutingNotificationsActivity extends HeadsetHonorSystemActivity {
     private static final String TAG = "AudioOutputRoutingNotificationsActivity";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundSpeakerTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundSpeakerTestActivity.java
index 39a36e9..dc81e19 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundSpeakerTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundSpeakerTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -42,7 +41,6 @@
 import com.androidplot.xy.XYSeries;
 import com.androidplot.xy.*;
 
-@ConditionalTest(required_features = "android.hardware.audio.output")
 public class HifiUltrasoundSpeakerTestActivity extends PassFailButtons.Activity {
 
   public enum Status {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundTestActivity.java
index 9be20f2..85b3e37 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/HifiUltrasoundTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.audio;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -42,7 +41,6 @@
 import com.androidplot.xy.XYSeries;
 import com.androidplot.xy.*;
 
-@ConditionalTest(required_features = "android.hardware.microphone")
 public class HifiUltrasoundTestActivity extends PassFailButtons.Activity {
 
   public enum Status {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/backup/BackupTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/backup/BackupTestActivity.java
index e71761f..cccc1c2 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/backup/BackupTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/backup/BackupTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.backup;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -55,7 +54,6 @@
  * several preferences and contents of files that should get backed up and restored after
  * running the backup manager and reinstalling the CTS verifier.
  */
-@ConditionalTest(required_features = "android.software.backup")
 public class BackupTestActivity extends PassFailButtons.ListActivity {
 
     private static final String TAG = BackupTestActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserTestActivity.java
index 4fa2283..64c50bc 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.bluetooth;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.ManifestTestListAdapter;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -27,7 +26,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-@ConditionalTest(required_features = "android.hardware.bluetooth_le")
 public class BleAdvertiserTestActivity extends PassFailButtons.TestListActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleScannerTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleScannerTestActivity.java
index 9de78db..52933e0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleScannerTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleScannerTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.bluetooth;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.ManifestTestListAdapter;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -27,7 +26,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-@ConditionalTest(required_features = "android.hardware.bluetooth_le")
 public class BleScannerTestActivity extends PassFailButtons.TestListActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothTestActivity.java
index 9e6a3bc..df70984 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.bluetooth;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.ManifestTestListAdapter;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -28,7 +27,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-@ConditionalTest(required_features = "android.hardware.bluetooth")
 public class BluetoothTestActivity extends PassFailButtons.TestListActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothToggleActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothToggleActivity.java
index 15e630f..7106e7b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothToggleActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BluetoothToggleActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.bluetooth;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -38,7 +37,6 @@
  * a button that toggles Bluetooth by disabling it via {@link BluetoothAdapter#disable()} and
  * enabling it via the Intent action {@link BluetoothAdapter#ACTION_REQUEST_ENABLE}.
  */
-@ConditionalTest(excluded_features = "android.software.leanback")
 public class BluetoothToggleActivity extends PassFailButtons.Activity {
 
     private static final String TAG = BluetoothToggleActivity.class.getName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/flashlight/CameraFlashlightActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/flashlight/CameraFlashlightActivity.java
index 2456789..4d37b3ee 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/flashlight/CameraFlashlightActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/flashlight/CameraFlashlightActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.camera.flashlight;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -38,7 +37,6 @@
  * turns on or off the flashlight, it asks for user input to verify the flashlight status. The
  * test will pass when the user input is correct for all camera devices with a flash unit.
  */
-@ConditionalTest(required_features = "android.hardware.camera.flash")
 public class CameraFlashlightActivity extends PassFailButtons.Activity {
 
     private static final String TAG = "CameraFlashlight";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
index 1979ebd..9c5b31d 100755
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.camera.formats;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -58,7 +57,6 @@
  * Tests for manual verification of the CDD-required camera output formats
  * for preview callbacks
  */
-@ConditionalTest(required_features = "android.hardware.camera.any")
 public class CameraFormatsActivity extends PassFailButtons.Activity
         implements TextureView.SurfaceTextureListener, Camera.PreviewCallback {
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
index 76f2be3..44029a9 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.camera.fov;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -56,7 +55,6 @@
 /**
  * An activity for showing the camera preview and taking a picture.
  */
-@ConditionalTest(required_features = "android.hardware.sensor.gyroscope:android.hardware.camera.any")
 public class PhotoCaptureActivity extends Activity
         implements PictureCallback, SurfaceHolder.Callback {
     private static final String TAG = PhotoCaptureActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/intents/CameraIntentsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/intents/CameraIntentsActivity.java
index 040ca05..9204de3 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/intents/CameraIntentsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/intents/CameraIntentsActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.camera.intents;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -55,7 +54,6 @@
  *  (e.g. social network apps that upload a photo after you take a picture)
  *  rely on this functionality present and correctly working.
  */
-@ConditionalTest(required_features = "android.hardware.camera.any")
 public class CameraIntentsActivity extends PassFailButtons.Activity
 implements OnClickListener, SurfaceHolder.Callback {
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsTestActivity.java
index 8cb7a91..0c39a9e 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.camera.its;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -51,7 +50,6 @@
  * This test activity requires a USB connection to a computer, and a corresponding host-side run of
  * the python scripts found in the CameraITS directory.
  */
-@ConditionalTest(required_features = "android.hardware.camera.any")
 public class ItsTestActivity extends PassFailButtons.Activity {
     private static final String TAG = "ItsTestActivity";
     private static final String EXTRA_CAMERA_ID = "camera.its.extra.CAMERA_ID";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
index 295030e..49b34fd 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
@@ -13,7 +13,6 @@
  */
 package com.android.cts.verifier.camera.orientation;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -47,7 +46,6 @@
  * Tests for manual verification of the CDD-required camera output formats
  * for preview callbacks
  */
-@ConditionalTest(required_features = "android.hardware.camera.any")
 public class CameraOrientationActivity extends PassFailButtons.Activity
 implements OnClickListener, SurfaceHolder.Callback {
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
index 7667c73..0a397e8 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.camera.video;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.graphics.Matrix;
@@ -57,7 +56,6 @@
 /**
  * Tests for manual verification of camera video capture
  */
-@ConditionalTest(required_features = "android.hardware.camera.any")
 public class CameraVideoActivity extends PassFailButtons.Activity
         implements TextureView.SurfaceTextureListener {
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/car/CarDockTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/car/CarDockTestActivity.java
index bad6342..4473a3c 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/car/CarDockTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/car/CarDockTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.car;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.UiModeManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -37,7 +36,6 @@
  * Tests that CAR_DOCK mode opens the app associated with car dock when going into
  * car mode.
  */
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback:android.hardware.type.watch")
 public class CarDockTestActivity extends PassFailButtons.Activity {
 
     private static final String CAR_DOCK1 =
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/deskclock/DeskClockTestsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/deskclock/DeskClockTestsActivity.java
index 1ebd3c2..aaea279 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/deskclock/DeskClockTestsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/deskclock/DeskClockTestsActivity.java
@@ -2,7 +2,6 @@
 
 package com.android.cts.verifier.deskclock;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.Intent;
 import android.database.DataSetObserver;
 import android.os.Bundle;
@@ -23,7 +22,6 @@
 /**
  * Activity that lists all the DeskClock tests.
  */
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class DeskClockTestsActivity extends PassFailButtons.TestListActivity {
 
     private static final String SHOW_ALARMS_TEST = "SHOW_ALARMS";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ChargingConstraintTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ChargingConstraintTestActivity.java
index ff86e13..4b70b894 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ChargingConstraintTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ChargingConstraintTestActivity.java
@@ -1,6 +1,5 @@
 package com.android.cts.verifier.jobscheduler;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.annotation.TargetApi;
 import android.app.job.JobInfo;
 import android.app.job.JobScheduler;
@@ -27,7 +26,6 @@
  *      not run.
  */
 @TargetApi(21)
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class ChargingConstraintTestActivity extends ConstraintTestActivity {
 
     private static final int ON_CHARGING_JOB_ID =
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ConnectivityConstraintTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ConnectivityConstraintTestActivity.java
index 5f4f447..aaf68e6 100755
--- a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ConnectivityConstraintTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/ConnectivityConstraintTestActivity.java
@@ -1,6 +1,5 @@
 package com.android.cts.verifier.jobscheduler;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.annotation.TargetApi;
 import android.app.job.JobInfo;
 import android.content.BroadcastReceiver;
@@ -24,7 +23,6 @@
  * run in the absence of an internet connection.
  */
 @TargetApi(21)
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class ConnectivityConstraintTestActivity extends ConstraintTestActivity {
     private static final String TAG = "ConnectivityConstraintTestActivity";
     private static final int ANY_CONNECTIVITY_JOB_ID =
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/IdleConstraintTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/IdleConstraintTestActivity.java
index f6416ae..05c1a2e 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/IdleConstraintTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/jobscheduler/IdleConstraintTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.jobscheduler;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.annotation.TargetApi;
@@ -40,7 +39,6 @@
  *      turn off the screen to run to run tests that require idle mode to be on.
  */
 @TargetApi(21)
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class IdleConstraintTestActivity extends ConstraintTestActivity {
     private static final String TAG = "IdleModeTestActivity";
     /**
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
index fc1463d..4909497 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.location;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -42,7 +41,6 @@
 /**
  * CTS Verifier case for verifying GPS.
  */
-@ConditionalTest(required_features = "android.hardware.location.gps")
 public class GpsTestActivity extends PassFailButtons.Activity implements PassFailLog {
     private LocationManager mLocationManager;
     private TextView mTextView;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeBatterySavingTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeBatterySavingTestActivity.java
index 03d1a32..08fb34d 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeBatterySavingTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeBatterySavingTestActivity.java
@@ -16,15 +16,10 @@
 
 package com.android.cts.verifier.location;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.location.LocationManager;
 import android.provider.Settings.Secure;
 import com.android.cts.verifier.R;
 
-@ConditionalTest(
-    required_features = "android.hardware.location.network",
-    excluded_features = "android.hardware.type.television:android.software.leanback"
-)
 public class LocationModeBatterySavingTestActivity extends LocationModeTestActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeDeviceOnlyTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeDeviceOnlyTestActivity.java
index 8efbf09..0ba9f76 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeDeviceOnlyTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeDeviceOnlyTestActivity.java
@@ -16,15 +16,10 @@
 
 package com.android.cts.verifier.location;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.location.LocationManager;
 import android.provider.Settings.Secure;
 import com.android.cts.verifier.R;
 
-@ConditionalTest(
-    required_features = "android.hardware.location.gps",
-    excluded_features = "android.hardware.type.television:android.software.leanback"
-)
 public class LocationModeDeviceOnlyTestActivity extends LocationModeTestActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeHighAccuracyTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeHighAccuracyTestActivity.java
index 7546821..9c10705 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeHighAccuracyTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeHighAccuracyTestActivity.java
@@ -16,15 +16,10 @@
 
 package com.android.cts.verifier.location;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.location.LocationManager;
 import android.provider.Settings.Secure;
 import com.android.cts.verifier.R;
 
-@ConditionalTest(
-    required_features = "android.hardware.location.network:android.hardware.location.gps",
-    excluded_features = "android.hardware.type.television:android.software.leanback"
-)
 public class LocationModeHighAccuracyTestActivity extends LocationModeTestActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeOffTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeOffTestActivity.java
index 4fe9922..92b0742c 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeOffTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationModeOffTestActivity.java
@@ -16,12 +16,10 @@
 
 package com.android.cts.verifier.location;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.location.LocationManager;
 import android.provider.Settings.Secure;
 import com.android.cts.verifier.R;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class LocationModeOffTestActivity extends LocationModeTestActivity {
 
     @Override
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
index 4018ae1..fe6de97 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.managedprovisioning;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.admin.DevicePolicyManager;
 import android.content.ActivityNotFoundException;
 import android.content.ComponentName;
@@ -48,7 +47,6 @@
  * The first two verifications are performed automatically, by interacting with profile owner using
  * cross-profile intents, while the last two are carried out manually by the user.
  */
-@ConditionalTest(required_features = "android.software.managed_users:android.software.device_admin")
 public class ByodFlowTestActivity extends DialogTestListActivity {
 
     private final String TAG = "ByodFlowTestActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerNegativeTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerNegativeTestActivity.java
index ecb0420..3c0955d 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerNegativeTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerNegativeTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.managedprovisioning;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.Intent;
 import android.database.DataSetObserver;
 import android.os.Bundle;
@@ -32,7 +31,6 @@
 /**
  * Activity that lists all device owner negative tests.
  */
-@ConditionalTest(required_features = "android.software.device_admin")
 public class DeviceOwnerNegativeTestActivity extends PassFailButtons.TestListActivity {
 
     private static final String ACTION_PROVISION_MANAGED_DEVICE
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
index adb463d..f4eb2b3 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.managedprovisioning;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.admin.DevicePolicyManager;
@@ -48,7 +47,6 @@
  * adb shell dpm set-device-owner
  *  'com.android.cts.verifier/com.android.cts.verifier.managedprovisioning.DeviceAdminTestReceiver'
  */
-@ConditionalTest(required_features = "android.software.device_admin")
 public class DeviceOwnerPositiveTestActivity extends PassFailButtons.TestListActivity {
     private static final String TAG = "DeviceOwnerPositiveTestActivity";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/NfcTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/NfcTestActivity.java
index 732106a..2f7619c 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/NfcTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/NfcTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.managedprovisioning;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.ActivityNotFoundException;
@@ -44,7 +43,6 @@
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 
-@ConditionalTest(required_features = "android.hardware.nfc")
 public class NfcTestActivity extends Activity {
     private static final String TAG = "NfcTestActivity";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/net/ConnectivityScreenOffTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/net/ConnectivityScreenOffTestActivity.java
index a183d0e..6109893 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/net/ConnectivityScreenOffTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/net/ConnectivityScreenOffTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.net;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -76,7 +75,6 @@
  *     [4] The screen is put to sleep.
  *     [5] After two minutes, another IPv6 connectivity test is performed.
  */
-@ConditionalTest(required_features = "android.hardware.wifi")
 public class ConnectivityScreenOffTestActivity extends PassFailButtons.Activity {
 
     private static final String TAG = ConnectivityScreenOffTestActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
index e3140fc..68fc027 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.nfc;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.ArrayTestListAdapter;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -33,7 +32,6 @@
 import android.os.Bundle;
 
 /** Activity that lists all the NFC tests. */
-@ConditionalTest(required_features = "android.hardware.nfc")
 public class NfcTestActivity extends PassFailButtons.TestListActivity {
 
     private static final String NDEF_ID =
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
index 179629a..4898ab2 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.notifications;
 
-import com.android.cts.verifier.ConditionalTest;
 import static com.android.cts.verifier.notifications.MockListener.JSON_AMBIENT;
 import static com.android.cts.verifier.notifications.MockListener.JSON_MATCHES_ZEN_FILTER;
 import static com.android.cts.verifier.notifications.MockListener.JSON_TAG;
@@ -44,7 +43,6 @@
 import java.util.List;
 import java.util.Set;
 
-@ConditionalTest(excluded_features = "android.hardware.type.watch:android.software.leanback")
 public class AttentionManagementVerifierActivity
         extends InteractiveVerifierActivity {
     private static final String TAG = "NoListenerAttentionVerifier";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/PackagePriorityVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/PackagePriorityVerifierActivity.java
index 0761e70..5870981 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/PackagePriorityVerifierActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/PackagePriorityVerifierActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.notifications;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Notification;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -34,7 +33,6 @@
  * result in the notificaitons from that package being ranked higher than those from
  * other packages.
  */
-@ConditionalTest(excluded_features = "android.hardware.type.watch:android.software.leanback")
 public class PackagePriorityVerifierActivity
         extends InteractiveVerifierActivity {
     private static final String ACTION_POST = "com.android.cts.robot.ACTION_POST";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
index 088e5b4..5985be6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.p2p;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.AlertDialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -37,7 +36,6 @@
 /**
  * Activity that lists all the WiFi Direct tests.
  */
-@ConditionalTest(required_features = "android.hardware.wifi.direct")
 public class P2pTestListActivity extends PassFailButtons.TestListActivity {
 
     /*
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/cube/ProjectionCubeActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/cube/ProjectionCubeActivity.java
index 977f390..0ef9a30 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/cube/ProjectionCubeActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/cube/ProjectionCubeActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.cube;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 
 import android.os.Bundle;
@@ -25,7 +24,6 @@
 import com.android.cts.verifier.projection.ProjectionActivity;
 import com.android.cts.verifier.projection.ProjectionPresentationType;
 
-@ConditionalTest(required_features = "android.hardware.faketouch")
 public class ProjectionCubeActivity extends ProjectionActivity {
     private static final String TAG = ProjectionCubeActivity.class.getSimpleName();
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/list/ProjectionListActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/list/ProjectionListActivity.java
index 4f9c1bd..c166320 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/list/ProjectionListActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/list/ProjectionListActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.list;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -25,7 +24,6 @@
 import com.android.cts.verifier.projection.ProjectionPresentationType;
 import com.android.cts.verifier.projection.cube.ProjectionCubeActivity;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class ProjectionListActivity extends ProjectionActivity {
     private static final String TAG = ProjectionCubeActivity.class.getSimpleName();
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/offscreen/ProjectionOffscreenActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/offscreen/ProjectionOffscreenActivity.java
index 1d39d3c..cfa097b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/offscreen/ProjectionOffscreenActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/offscreen/ProjectionOffscreenActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.offscreen;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -51,7 +50,6 @@
 
 import java.nio.ByteBuffer;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class ProjectionOffscreenActivity extends PassFailButtons.Activity
         implements ImageReader.OnImageAvailableListener {
     private static String TAG = ProjectionOffscreenActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/touch/ProjectionTouchActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/touch/ProjectionTouchActivity.java
index 5931854..ed1d881 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/touch/ProjectionTouchActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/touch/ProjectionTouchActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.touch;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -25,7 +24,6 @@
 import com.android.cts.verifier.projection.ProjectionPresentationType;
 import com.android.cts.verifier.projection.cube.ProjectionCubeActivity;
 
-@ConditionalTest(required_features = "android.hardware.faketouch:android.hardware.touchscreen.multitouch")
 public class ProjectionTouchActivity extends ProjectionActivity {
     private static final String TAG = ProjectionCubeActivity.class.getSimpleName();
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/video/ProjectionVideoActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/video/ProjectionVideoActivity.java
index 684abaa..7a32b27 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/video/ProjectionVideoActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/video/ProjectionVideoActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.video;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -24,7 +23,6 @@
 import com.android.cts.verifier.projection.ProjectionActivity;
 import com.android.cts.verifier.projection.ProjectionPresentationType;
 
-@ConditionalTest(excluded_features = "android.hardware.type.watch")
 public class ProjectionVideoActivity extends ProjectionActivity {
     private static final String TAG = ProjectionVideoActivity.class.getSimpleName();
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/projection/widgets/ProjectionWidgetActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/projection/widgets/ProjectionWidgetActivity.java
index 5c7f0a2..9f8cb51 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/projection/widgets/ProjectionWidgetActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/projection/widgets/ProjectionWidgetActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.projection.widgets;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.util.Log;
@@ -29,7 +28,6 @@
 import com.android.cts.verifier.projection.ProjectionActivity;
 import com.android.cts.verifier.projection.ProjectionPresentationType;
 
-@ConditionalTest(required_features = "android.hardware.faketouch")
 public class ProjectionWidgetActivity extends ProjectionActivity {
     private static final String TAG = ProjectionWidgetActivity.class.getSimpleName();
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/screenpinning/ScreenPinningTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/screenpinning/ScreenPinningTestActivity.java
index 75ae6e5..a6e5f98 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/screenpinning/ScreenPinningTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/screenpinning/ScreenPinningTestActivity.java
@@ -15,7 +15,6 @@
  */
 package com.android.cts.verifier.screenpinning;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.ActivityManager;
 import android.os.Bundle;
 import android.util.Log;
@@ -28,7 +27,6 @@
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback:android.hardware.type.watch")
 public class ScreenPinningTestActivity extends PassFailButtons.Activity {
 
     private static final String TAG = "ScreenPinningTestActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/CAInstallNotificationVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/CAInstallNotificationVerifierActivity.java
index 3f781ff..3e8110e 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/CAInstallNotificationVerifierActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/CAInstallNotificationVerifierActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Service;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
@@ -40,7 +39,6 @@
 import java.io.InputStream;
 import java.util.concurrent.LinkedBlockingQueue;
 
-@ConditionalTest(excluded_features = "android.hardware.type.watch:android.hardware.type.television:android.software.leanback")
 public class CAInstallNotificationVerifierActivity extends PassFailButtons.Activity
 implements Runnable {
     static final String TAG = CAInstallNotificationVerifierActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/CANotifyOnBootActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/CANotifyOnBootActivity.java
index 9a3d9b8..5537b15 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/CANotifyOnBootActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/CANotifyOnBootActivity.java
@@ -1,6 +1,5 @@
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
 import android.os.Bundle;
@@ -18,7 +17,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-@ConditionalTest(excluded_features = "android.hardware.type.watch:android.hardware.type.television:android.software.leanback")
 public class CANotifyOnBootActivity extends PassFailButtons.Activity {
 
     private static final String TAG = CANotifyOnBootActivity.class.getSimpleName();
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java
index 56ea969..bca7a66 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -59,10 +58,6 @@
 import javax.crypto.NoSuchPaddingException;
 import javax.crypto.SecretKey;
 
-@ConditionalTest(
-    required_features = "android.hardware.fingerprint",
-    excluded_features = "android.hardware.type.television:android.software.leanback:android.hardware.type.watch"
-)
 public class FingerprintBoundKeysTest extends PassFailButtons.Activity {
     private static final String TAG = "FingerprintBoundKeysTest";
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/KeyChainTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/KeyChainTest.java
index ec6ea0f..ebdb4c0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/KeyChainTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/KeyChainTest.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.Activity;
 import android.content.Intent;
 import android.content.res.Resources;
@@ -72,7 +71,6 @@
 /**
  * Simple activity based test that exercises the KeyChain API
  */
-@ConditionalTest(excluded_features = "android.hardware.type.watch:android.hardware.type.television:android.software.leanback")
 public class KeyChainTest extends PassFailButtons.Activity implements View.OnClickListener {
 
     private static final String TAG = "KeyChainTest";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/LockConfirmBypassTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/LockConfirmBypassTest.java
index 5fda5f3..a0f9c36 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/LockConfirmBypassTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/LockConfirmBypassTest.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Intent;
@@ -37,7 +36,6 @@
  * if he/she was prompted for the original pattern or password. If the user wasn't prompted,
  * the test fails.
  */
-@ConditionalTest(required_features = "android.software.device_admin")
 public class LockConfirmBypassTest extends PassFailButtons.Activity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java
index 7f63a81..863488b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -51,7 +50,6 @@
 import javax.crypto.NoSuchPaddingException;
 import javax.crypto.SecretKey;
 
-@ConditionalTest(required_features = "android.software.device_admin")
 public class ScreenLockBoundKeysTest extends PassFailButtons.Activity {
 
     /** Alias for our key in the Android Key Store. */
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/WiFiCACertificateBugTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/WiFiCACertificateBugTest.java
index d664e55..474a157 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/security/WiFiCACertificateBugTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/WiFiCACertificateBugTest.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.security;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.AlertDialog;
 import android.app.KeyguardManager;
 import android.content.DialogInterface;
@@ -50,7 +49,6 @@
 import javax.net.ssl.TrustManagerFactory;
 import javax.net.ssl.X509TrustManager;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback:android.hardware.type.watch")
 public class WiFiCACertificateBugTest extends PassFailButtons.Activity {
 
     private static final String CERT_ASSET_NAME = "myCA.cer";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/AccelerometerMeasurementTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/AccelerometerMeasurementTestActivity.java
index ee8f89f..52b3dee 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/AccelerometerMeasurementTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/AccelerometerMeasurementTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.sensors.base.SensorCtsVerifierTestActivity;
 
@@ -31,7 +30,6 @@
 /**
  * Semi-automated test that focuses on characteristics associated with Accelerometer measurements.
  */
-@ConditionalTest(required_features = "android.hardware.sensor.accelerometer")
 public class AccelerometerMeasurementTestActivity extends SensorCtsVerifierTestActivity {
     public AccelerometerMeasurementTestActivity() {
         super(AccelerometerMeasurementTestActivity.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/BatchingTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/BatchingTestActivity.java
index d8a42a6..7ef63d7 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/BatchingTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/BatchingTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.sensors.base.SensorCtsVerifierTestActivity;
 
@@ -34,7 +33,6 @@
  * If a sensor supports the batching mode, FifoReservedEventCount for that sensor should be greater
  * than one.
  */
-@ConditionalTest(applicable_features = "android.hardware.sensor.stepcounter:android.hardware.sensor.stepdetector:android.hardware.sensor.proximity:android.hardware.sensor.light")
 public class BatchingTestActivity extends SensorCtsVerifierTestActivity {
     public BatchingTestActivity() {
         super(BatchingTestActivity.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
index 7dbfb67..21a4f56 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
@@ -1,6 +1,5 @@
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Timer;
@@ -46,7 +45,6 @@
 
 import junit.framework.Assert;
 
-@ConditionalTest(excluded_features = "android.hardware.type.television:android.software.leanback")
 public class DeviceSuspendTestActivity
             extends SensorCtsVerifierTestActivity {
         public DeviceSuspendTestActivity() {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/GyroscopeMeasurementTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/GyroscopeMeasurementTestActivity.java
index 47ef0fa..7be0fb1 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/GyroscopeMeasurementTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/GyroscopeMeasurementTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.sensors.base.SensorCtsVerifierTestActivity;
 import com.android.cts.verifier.sensors.renderers.GLRotationGuideRenderer;
@@ -33,7 +32,6 @@
 /**
  * Semi-automated test that focuses on characteristics associated with Gyroscope measurements.
  */
-@ConditionalTest(required_features = "android.hardware.sensor.gyroscope")
 public class GyroscopeMeasurementTestActivity extends SensorCtsVerifierTestActivity {
     private static final float THRESHOLD_CALIBRATED_UNCALIBRATED_RAD_SEC = 0.01f;
     private static final float THRESHOLD_AXIS_UNDER_ROTATION_DEG = 10.0f;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/HeartRateMonitorTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/HeartRateMonitorTestActivity.java
index b8f2f7f..b6a1c47 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/HeartRateMonitorTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/HeartRateMonitorTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.hardware.Sensor;
@@ -34,7 +33,6 @@
  * CTS Verifier case for verifying correct integration of heart rate monitor.
  * If a user is wearing a device with an HRM, the value is between <> and <>
  */
-@ConditionalTest(required_features = "android.hardware.sensor.heartrate")
 public class HeartRateMonitorTestActivity extends PassFailButtons.Activity {
     private SensorManager mSensorManager;
     private Sensor mSensor;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/MagneticFieldMeasurementTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/MagneticFieldMeasurementTestActivity.java
index 39fc0b3..229a9dc 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/MagneticFieldMeasurementTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/MagneticFieldMeasurementTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.sensors.base.SensorCtsVerifierTestActivity;
 
@@ -38,7 +37,6 @@
  * Also, it is recommended to execute these tests outdoors, or at least far from magnetic
  * disturbances.
  */
-@ConditionalTest(required_features = "android.hardware.sensor.compass")
 public class MagneticFieldMeasurementTestActivity extends SensorCtsVerifierTestActivity {
     private static final float THRESHOLD_CALIBRATED_UNCALIBRATED_UT = 3f;
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/RVCVXCheckTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/RVCVXCheckTestActivity.java
index adfb380..789de68 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/RVCVXCheckTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/RVCVXCheckTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -53,7 +52,6 @@
  * Currently only ROTATION_VECTOR sensor is used.
  *
  */
-@ConditionalTest(required_features = "android.hardware.sensor.accelerometer:android.hardware.sensor.gyroscope:android.hardware.sensor.compass:android.hardware.camera.any")
 public class RVCVXCheckTestActivity
         extends SensorCtsVerifierTestActivity {
     public RVCVXCheckTestActivity() {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorBatchingTestsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorBatchingTestsActivity.java
index 1d33158..d1923cc 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorBatchingTestsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorBatchingTestsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.sensors.base.SensorCtsTestActivity;
 
 import android.hardware.cts.SensorBatchingTests;
@@ -25,7 +24,6 @@
  * Activity to execute CTS sensor batching tests.
  * It is a wrapper for {@link SensorBatchingTests} running with AndroidJUnitRunner.
  */
-@ConditionalTest(applicable_features = "android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope:android.hardware.sensor.barometer")
 public class SensorBatchingTestsActivity extends SensorCtsTestActivity {
     public SensorBatchingTestsActivity() {
         super(SensorBatchingTests.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorIntegrationTestsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorIntegrationTestsActivity.java
index adcf6c7..bda7f2b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorIntegrationTestsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorIntegrationTestsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.sensors.base.SensorCtsTestActivity;
 
 import android.hardware.cts.SensorIntegrationTests;
@@ -25,7 +24,6 @@
  * Activity to execute CTS sensor integration tests.
  * It is a wrapper for {@link SensorIntegrationTests} running with AndroidJUnitRunner.
  */
-@ConditionalTest(applicable_features = "android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope")
 public class SensorIntegrationTestsActivity extends SensorCtsTestActivity {
     public SensorIntegrationTestsActivity() {
         super(SensorIntegrationTests.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorTestActivity.java
index 14ed380..fd3d380 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SensorTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.sensors.base.SensorCtsTestActivity;
 
 import android.hardware.cts.SensorTest;
@@ -25,7 +24,6 @@
  * Activity to execute CTS sensor tests.
  * It is a wrapper for {@link SensorTest} running with AndroidJUnitRunner.
  */
-@ConditionalTest(applicable_features = "android.hardware.sensor.accelerometer:android.hardware.sensor.stepcounter:android.hardware.sensor.stepdetector:android.hardware.sensor.heartrate:android.hardware.sensor.compass:android.hardware.sensor.ambient_temperature")
 public class SensorTestActivity extends SensorCtsTestActivity {
     public SensorTestActivity() {
         super(SensorTest.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SignificantMotionTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SignificantMotionTestActivity.java
index 585c3dd..e1cba262 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SignificantMotionTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SignificantMotionTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.CountDownLatch;
@@ -52,7 +51,6 @@
  * Test cases for Significant Motion sensor.
  * They use walking motion to change the location and trigger Significant Motion.
  */
-@ConditionalTest(required_features = "android.hardware.sensor.accelerometer")
 public class SignificantMotionTestActivity extends SensorCtsVerifierTestActivity {
     public SignificantMotionTestActivity() {
         super(SignificantMotionTestActivity.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SingleSensorTestsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SingleSensorTestsActivity.java
index 731c426..23b5707 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SingleSensorTestsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/SingleSensorTestsActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.sensors;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.sensors.base.SensorCtsTestActivity;
 
 import android.hardware.cts.SingleSensorTests;
@@ -25,7 +24,6 @@
  * Activity to execute CTS single sensor tests.
  * It is a wrapper for {@link SingleSensorTests} running with AndroidJUnitRunner.
  */
-@ConditionalTest(applicable_features = "android.hardware.sensor.accelerometer:android.hardware.sensor.compass:android.hardware.sensor.gyroscope:android.hardware.sensor.barometer")
 public class SingleSensorTestsActivity extends SensorCtsTestActivity {
     public SingleSensorTestsActivity() {
         super(SingleSensorTests.class);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/streamquality/StreamingVideoActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/streamquality/StreamingVideoActivity.java
index 065701c..00a52ae 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/streamquality/StreamingVideoActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/streamquality/StreamingVideoActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.streamquality;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.ArrayTestListAdapter;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
@@ -47,7 +46,6 @@
  * different protocols for a short amount of time, after which users can mark Pass/Fail depending
  * on the smoothness and subjective quality of the video.
  */
-@ConditionalTest(excluded_features = "android.hardware.type.watch")
 public class StreamingVideoActivity extends PassFailButtons.TestListActivity {
     /**
      * Simple storage class for stream information.
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/tv/AppLinkTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/tv/AppLinkTestActivity.java
index 71b3a00..43f293a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/tv/AppLinkTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/tv/AppLinkTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.tv;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.content.Intent;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
@@ -31,7 +30,6 @@
 /**
  * Tests for verifying TV app behavior for TV app-link.
  */
-@ConditionalTest(required_features = "android.software.live_tv")
 public class AppLinkTestActivity extends TvAppVerifierActivity implements View.OnClickListener {
     private static final long TIMEOUT_MS = 5l * 60l * 1000l;  // 5 mins.
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/tv/MultipleTracksTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/tv/MultipleTracksTestActivity.java
index 069b121..a912cc6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/tv/MultipleTracksTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/tv/MultipleTracksTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.tv;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import android.annotation.SuppressLint;
 import android.content.Intent;
@@ -38,7 +37,6 @@
  * Tests for verifying TV app behavior on multiple tracks and subtitle.
  */
 @SuppressLint("NewApi")
-@ConditionalTest(required_features = "android.software.live_tv")
 public class MultipleTracksTestActivity extends TvAppVerifierActivity
         implements View.OnClickListener {
     private static final String TAG = "MultipleTracksTestActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/tv/ParentalControlTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/tv/ParentalControlTestActivity.java
index 4fa6efc..5e3d08a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/tv/ParentalControlTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/tv/ParentalControlTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.tv;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.R;
 import android.annotation.SuppressLint;
 import android.content.Intent;
@@ -37,7 +36,6 @@
  * Tests for verifying TV app behavior on parental control.
  */
 @SuppressLint("NewApi")
-@ConditionalTest(required_features = "android.software.live_tv")
 public class ParentalControlTestActivity extends TvAppVerifierActivity
         implements View.OnClickListener {
     private static final String TAG = "ParentalControlTestActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
index 5942838..d088e2d 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.tv;
 
-import com.android.cts.verifier.ConditionalTest;
 import android.app.SearchableInfo;
 import android.content.Context;
 import android.content.Intent;
@@ -29,7 +28,6 @@
 /**
  * Tests for verifying TV app behavior for third-party TV input apps.
  */
-@ConditionalTest(required_features = "android.software.live_tv")
 public class TvInputDiscoveryTestActivity extends TvAppVerifierActivity
         implements View.OnClickListener {
     private static final String TAG = "TvInputDiscoveryTestActivity";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/usb/UsbAccessoryTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/usb/UsbAccessoryTestActivity.java
index 2c9b4ef..5c31ea4 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/usb/UsbAccessoryTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/usb/UsbAccessoryTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.usb;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.TestResult;
@@ -55,10 +54,6 @@
  * Test for USB accessories. The test activity interacts with a cts-usb-accessory program that
  * acts as an accessory by exchanging a series of messages.
  */
-@ConditionalTest(
-    required_features = "android.hardware.usb.accessory",
-    excluded_features = "android.hardware.type.watch"
-)
 public class UsbAccessoryTestActivity extends PassFailButtons.Activity {
 
     private static final String TAG = "UsbAccessoryTest";
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/widget/WidgetTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/widget/WidgetTestActivity.java
index 2f7411f..25f0a7a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/widget/WidgetTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/widget/WidgetTestActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.cts.verifier.widget;
 
-import com.android.cts.verifier.ConditionalTest;
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -30,7 +29,6 @@
 /**
  * CTS Verifier case for verifying basic widget framework functionality.
  */
-@ConditionalTest(required_features = "android.software.app_widgets")
 public class WidgetTestActivity extends PassFailButtons.Activity {
 
     @Override