Skip AnrTests on systems which don't support system error dialogs.

Depending on the UI modes, system error dialogs like ANR are disabled.
Skip AnrTests on the systems with those UI modes.

Bug: 149510025
Test: atest AnrTests
Change-Id: I32ad471de42b874ca606808e477ed4131a4d31d8
diff --git a/tests/framework/base/windowmanager/src/android/server/wm/AnrTests.java b/tests/framework/base/windowmanager/src/android/server/wm/AnrTests.java
index 608a760..effa21f 100644
--- a/tests/framework/base/windowmanager/src/android/server/wm/AnrTests.java
+++ b/tests/framework/base/windowmanager/src/android/server/wm/AnrTests.java
@@ -26,7 +26,9 @@
 import static android.view.Display.DEFAULT_DISPLAY;
 
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
 
+import android.app.ActivityTaskManager;
 import android.content.ComponentName;
 import android.os.SystemClock;
 import android.platform.test.annotations.Presubmit;
@@ -67,6 +69,8 @@
     @Before
     public void setup() throws Exception {
         super.setUp();
+        assumeTrue(mAtm.currentUiModeSupportsErrorDialogs(mContext));
+
         mLogSeparator = separateLogs(); // add a new separator for logs
         mHideDialogSetting = new SettingsSession<>(
                 Settings.Global.getUriFor(Settings.Global.HIDE_ERROR_DIALOGS),
@@ -76,7 +80,7 @@
 
     @After
     public void teardown() {
-        mHideDialogSetting.close();
+        if (mHideDialogSetting != null) mHideDialogSetting.close();
         stopTestPackage(UNRESPONSIVE_ACTIVITY.getPackageName());
         stopTestPackage(HOST_ACTIVITY.getPackageName());
     }