Skip WifiSliceTest and SettingsPanelTest on ATV
TvSettings does not support the provider android.settings.slices.
TvSettings does not support handle these actions:
android.settings.panel.action.NFC
android.settings.panel.action.WIFI
android.settings.panel.action.VOLUME
android.settings.panel.action.INTERNET_CONNECTIVITY
Test: run cts -m CtsProviderTestCases -t
android.provider.cts.WifiSliceTest#wifiSlice_grantedPermissionToDefaultAssistant
android.provider.cts.WifiSliceTest#wifiSlice_hasCorrectUri
android.provider.cts.SettingsPanelTest#nfcPanel_seeMoreButton_launchesIntoSettings
android.provider.cts.SettingsPanelTest#nfcPanel_correctPackage
android.provider.cts.SettingsPanelTest#nfcPanel_correctTitle
android.provider.cts.SettingsPanelTest#nfcPanel_doneClosesPane
android.provider.cts.SettingsPanelTest#wifiPanel_correctPackage
android.provider.cts.SettingsPanelTest#wifiPanel_doneClosesPanel
android.provider.cts.SettingsPanelTest#wifiPanel_seeMoreButton_launchesIntoSettings
android.provider.cts.SettingsPanelTest#internetPanel_correctPackage
android.provider.cts.SettingsPanelTest#internetPanel_doneClosesPanel
android.provider.cts.SettingsPanelTest#internetPanel_seeMoreButton_launchesIntoSettings
android.provider.cts.SettingsPanelTest#volumePanel_correctPackage
android.provider.cts.SettingsPanelTest#volumePanel_doneClosesPanel
android.provider.cts.SettingsPanelTest#volumePanel_seeMoreButton_launchesIntoSettings
Bug: 141352581
Change-Id: Ib9af86c61a961f9741a36e6731d51539396faa09
diff --git a/tests/tests/provider/src/android/provider/cts/SettingsPanelTest.java b/tests/tests/provider/src/android/provider/cts/SettingsPanelTest.java
index e80e393..15a0a2d 100644
--- a/tests/tests/provider/src/android/provider/cts/SettingsPanelTest.java
+++ b/tests/tests/provider/src/android/provider/cts/SettingsPanelTest.java
@@ -18,7 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assume.assumeTrue;
-
+import static org.junit.Assume.assumeFalse;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -260,22 +260,33 @@
}
private void launchVolumePanel() {
+ assumeFalse("Skipping test: TV does not support handle ACTION_VOLUME", isTv());
launchPanel(Settings.Panel.ACTION_VOLUME);
}
private void launchInternetPanel() {
+ assumeFalse("Skipping test: TV does not support handle ACTION_INTERNET_CONNECTIVITY",
+ isTv());
launchPanel(Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
}
private void launchNfcPanel() {
+ assumeFalse("Skipping test: TV does not support handle ACTION_NFC", isTv());
assumeTrue("device does not support NFC", RequiredServiceRule.hasService("nfc"));
launchPanel(Settings.Panel.ACTION_NFC);
}
private void launchWifiPanel() {
+ assumeFalse("Skipping test: TV does not support handle ACTION_WIFI", isTv());
launchPanel(Settings.Panel.ACTION_WIFI);
}
+ private boolean isTv() {
+ PackageManager packageManager = mContext.getPackageManager();
+ return packageManager.hasSystemFeature(PackageManager.FEATURE_TELEVISION)
+ && packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK);
+ }
+
private void launchPanel(String action) {
// Start from the home screen
mDevice.pressHome();
diff --git a/tests/tests/provider/src/android/provider/cts/WifiSliceTest.java b/tests/tests/provider/src/android/provider/cts/WifiSliceTest.java
index 873a90f..04b62e7 100644
--- a/tests/tests/provider/src/android/provider/cts/WifiSliceTest.java
+++ b/tests/tests/provider/src/android/provider/cts/WifiSliceTest.java
@@ -19,7 +19,7 @@
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static com.google.common.truth.Truth.assertThat;
-
+import static org.junit.Assume.assumeFalse;
import android.app.slice.Slice;
import android.app.slice.SliceManager;
import android.content.Context;
@@ -67,6 +67,7 @@
@Before
public void setUp() throws Exception {
+ assumeFalse("Skipping test: TV does not support provider android.settings.slices", isTv());
mWifiSlice = mSliceManager.bindSlice(WIFI_SLICE_URI, Collections.emptySet());
}
@@ -133,6 +134,12 @@
}
}
+ private boolean isTv() {
+ PackageManager pm = mContext.getPackageManager();
+ return pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION)
+ && pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK);
+ }
+
private boolean isWifiEnabled() {
final WifiManager wifiManager = mContext.getSystemService(WifiManager.class);
return wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED