| package com.android.settings; |
| |
| import static androidx.test.espresso.Espresso.onView; |
| import static androidx.test.espresso.assertion.ViewAssertions.matches; |
| import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; |
| import static androidx.test.espresso.matcher.ViewMatchers.withText; |
| |
| import android.content.Context; |
| import android.content.Intent; |
| import android.provider.Settings; |
| import android.support.test.uiautomator.UiDevice; |
| |
| import androidx.test.InstrumentationRegistry; |
| import androidx.test.filters.LargeTest; |
| import androidx.test.runner.AndroidJUnit4; |
| |
| import org.junit.Before; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| @RunWith(AndroidJUnit4.class) |
| @LargeTest |
| public class ZenModeSettingsIntegrationTest { |
| private static final String WM_DISMISS_KEYGUARD_COMMAND = "wm dismiss-keyguard"; |
| |
| private Context mContext; |
| private UiDevice mUiDevice; |
| |
| @Before |
| public void setUp() throws Exception { |
| mContext = InstrumentationRegistry.getTargetContext(); |
| mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); |
| mUiDevice.wakeUp(); |
| mUiDevice.executeShellCommand(WM_DISMISS_KEYGUARD_COMMAND); |
| } |
| |
| @Test |
| public void testZenModeSettingsPreferences() { |
| launchZenSettings(); |
| onView(withText("Calls")).check(matches(isDisplayed())); |
| onView(withText("SMS, MMS, and messaging apps")).check(matches(isDisplayed())); |
| onView(withText("Restrict notifications")).check(matches(isDisplayed())); |
| onView(withText("Duration")).check(matches(isDisplayed())); |
| onView(withText("Schedules")).check(matches(isDisplayed())); |
| } |
| |
| @Test |
| public void testZenModeBehaviorPreferences() { |
| launchZenBehaviorSettings(); |
| onView(withText("Calls")).check(matches(isDisplayed())); |
| onView(withText("SMS, MMS, and messaging apps")).check(matches(isDisplayed())); |
| onView(withText("Restrict notifications")).check(matches(isDisplayed())); |
| onView(withText("Duration")).check(matches(isDisplayed())); |
| onView(withText("Schedules")).check(matches(isDisplayed())); |
| } |
| |
| @Test |
| public void testZenModeAutomationPreferences() { |
| launchZenAutomationSettings(); |
| onView(withText("Sleeping")).check(matches(isDisplayed())); |
| onView(withText("Event")).check(matches(isDisplayed())); |
| onView(withText("Add more")).check(matches(isDisplayed())); |
| } |
| |
| private void launchZenSettings() { |
| Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS) |
| .setPackage(mContext.getPackageName()) |
| .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| mContext.startActivity(settingsIntent); |
| } |
| |
| private void launchZenAutomationSettings() { |
| Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_AUTOMATION_SETTINGS) |
| .setPackage(mContext.getPackageName()) |
| .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| mContext.startActivity(settingsIntent); |
| } |
| |
| private void launchZenBehaviorSettings() { |
| Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_PRIORITY_SETTINGS) |
| .setPackage(mContext.getPackageName()) |
| .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| mContext.startActivity(settingsIntent); |
| } |
| } |