|
@@ -30,11 +30,14 @@ import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
|
|
+import java.util.Collection;
|
|
|
|
|
|
import androidx.test.espresso.contrib.DrawerActions;
|
|
import androidx.test.espresso.contrib.DrawerActions;
|
|
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
|
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|
import androidx.test.platform.app.InstrumentationRegistry;
|
|
import androidx.test.platform.app.InstrumentationRegistry;
|
|
|
|
+import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry;
|
|
|
|
+import androidx.test.runner.lifecycle.Stage;
|
|
|
|
|
|
import static androidx.test.InstrumentationRegistry.getInstrumentation;
|
|
import static androidx.test.InstrumentationRegistry.getInstrumentation;
|
|
import static androidx.test.espresso.Espresso.onView;
|
|
import static androidx.test.espresso.Espresso.onView;
|
|
@@ -52,6 +55,8 @@ public abstract class AbstractIT {
|
|
protected static Account account;
|
|
protected static Account account;
|
|
protected static Context targetContext;
|
|
protected static Context targetContext;
|
|
|
|
|
|
|
|
+ private Activity currentActivity;
|
|
|
|
+
|
|
@BeforeClass
|
|
@BeforeClass
|
|
public static void beforeAll() {
|
|
public static void beforeAll() {
|
|
try {
|
|
try {
|
|
@@ -167,4 +172,18 @@ public abstract class AbstractIT {
|
|
|
|
|
|
Screenshot.snapActivity(sut).record();
|
|
Screenshot.snapActivity(sut).record();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ protected Activity getCurrentActivity() {
|
|
|
|
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
|
|
|
|
+ Collection<Activity> resumedActivities = ActivityLifecycleMonitorRegistry
|
|
|
|
+ .getInstance()
|
|
|
|
+ .getActivitiesInStage(Stage.RESUMED);
|
|
|
|
+
|
|
|
|
+ if (resumedActivities.iterator().hasNext()) {
|
|
|
|
+ currentActivity = resumedActivities.iterator().next();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return currentActivity;
|
|
|
|
+ }
|
|
}
|
|
}
|