package com.example.util; import android.support.test.espresso.contrib.AccessibilityChecks; import android.support.test.runner.AndroidJUnitRunner; import android.support.test.runner.lifecycle.ActivityLifecycleMonitorRegistry; import android.support.test.runner.lifecycle.Stage; import static android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD; import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; import static android.view.WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; public class EspressoTestRunner extends AndroidJUnitRunner { @Override public void onStart() { enableAccessibilityChecks(); dismissLockAndTurnScreenOn(); super.onStart(); } /** * Run some automated accessibility checks. See https://google.github.io/android-testing-support-library/docs/accesibility-checking */ private void enableAccessibilityChecks() { AccessibilityChecks.enable(); } private void dismissLockAndTurnScreenOn() { ActivityLifecycleMonitorRegistry.getInstance().addLifecycleCallback((activity, stage) -> { if (stage == Stage.PRE_ON_CREATE) { activity.getWindow().addFlags(FLAG_DISMISS_KEYGUARD | FLAG_TURN_SCREEN_ON | FLAG_KEEP_SCREEN_ON); } }); } }