Loading app/src/androidTest/java/net/sourceforge/opencamera/InstrumentedTest.java +32 −1 Original line number Diff line number Diff line Loading @@ -134,6 +134,10 @@ public class InstrumentedTest { } private void waitUntilCameraOpened() { waitUntilCameraOpened(true); } private void waitUntilCameraOpened(boolean wait_for_preview) { Log.d(TAG, "wait until camera opened"); long time_s = System.currentTimeMillis(); Loading @@ -150,6 +154,29 @@ public class InstrumentedTest { } catch (InterruptedException e) { e.printStackTrace(); } if( wait_for_preview ) { waitUntilPreviewStarted(); // needed for Camera2 API when starting preview on background thread and not waiting for it to start } } private void waitUntilPreviewStarted() { Log.d(TAG, "wait until preview started"); long time_s = System.currentTimeMillis(); boolean done = false; while( !done ) { assertTrue( System.currentTimeMillis() - time_s < 20000 ); done = getActivityValue(activity -> activity.getPreview().isPreviewStarted()); } Log.d(TAG, "preview is started!"); try { Thread.sleep(100); // sleep a bit just to be safe } catch (InterruptedException e) { e.printStackTrace(); } } private void waitUntilTimer() { Loading @@ -161,9 +188,13 @@ public class InstrumentedTest { } private void restart() { restart(true); } private void restart(boolean wait_for_preview) { Log.d(TAG, "restart"); mActivityRule.getScenario().recreate(); waitUntilCameraOpened(); waitUntilCameraOpened(wait_for_preview); Log.d(TAG, "restart done"); } Loading app/src/androidTest/java/net/sourceforge/opencamera/test/MainActivityTest.java +17 −3 Original line number Diff line number Diff line Loading @@ -141,6 +141,10 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } private void waitUntilCameraOpened() { waitUntilCameraOpened(true); } private void waitUntilCameraOpened(boolean wait_for_preview) { Log.d(TAG, "wait until camera opened"); long time_s = System.currentTimeMillis(); while( !mPreview.openCameraAttempted() ) { Loading @@ -154,6 +158,10 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } catch (InterruptedException e) { e.printStackTrace(); } if( wait_for_preview ) { waitUntilPreviewStarted(); // needed for Camera2 API when starting preview on background thread and not waiting for it to start } } private void waitUntilPreviewStarted() { Loading @@ -172,11 +180,15 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } } private void restart() { restart(true); } /** Restarts Open Camera. * WARNING: Make sure that any assigned variables related to the activity, e.g., anything * returned by findViewById(), is updated to the new mActivity after calling this method! */ private void restart() { private void restart(boolean wait_for_preview) { Log.d(TAG, "restart"); mActivity.finish(); setActivity(null); Loading @@ -185,7 +197,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "mActivity is now: " + mActivity); mPreview = mActivity.getPreview(); Log.d(TAG, "mPreview is now: " + mPreview); waitUntilCameraOpened(); waitUntilCameraOpened(wait_for_preview); Log.d(TAG, "restart done"); } Loading Loading @@ -10038,6 +10050,8 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "testSettings"); setToDefault(); restart(false); // so we test going to settings even without waiting for preview to start (for Camera2 API) assertFalse(mActivity.isCameraInBackground()); View settingsButton = mActivity.findViewById(net.sourceforge.opencamera.R.id.settings); clickView(settingsButton); Loading Loading @@ -10883,7 +10897,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "switch camera"); View switchCameraButton = mActivity.findViewById(net.sourceforge.opencamera.R.id.switch_camera); clickView(switchCameraButton); waitUntilCameraOpened(); waitUntilCameraOpened(false); assertNotNull(mPreview.getCameraControllerManager()); assertNull(mPreview.getCameraController()); this.getInstrumentation().waitForIdleSync(); Loading
app/src/androidTest/java/net/sourceforge/opencamera/InstrumentedTest.java +32 −1 Original line number Diff line number Diff line Loading @@ -134,6 +134,10 @@ public class InstrumentedTest { } private void waitUntilCameraOpened() { waitUntilCameraOpened(true); } private void waitUntilCameraOpened(boolean wait_for_preview) { Log.d(TAG, "wait until camera opened"); long time_s = System.currentTimeMillis(); Loading @@ -150,6 +154,29 @@ public class InstrumentedTest { } catch (InterruptedException e) { e.printStackTrace(); } if( wait_for_preview ) { waitUntilPreviewStarted(); // needed for Camera2 API when starting preview on background thread and not waiting for it to start } } private void waitUntilPreviewStarted() { Log.d(TAG, "wait until preview started"); long time_s = System.currentTimeMillis(); boolean done = false; while( !done ) { assertTrue( System.currentTimeMillis() - time_s < 20000 ); done = getActivityValue(activity -> activity.getPreview().isPreviewStarted()); } Log.d(TAG, "preview is started!"); try { Thread.sleep(100); // sleep a bit just to be safe } catch (InterruptedException e) { e.printStackTrace(); } } private void waitUntilTimer() { Loading @@ -161,9 +188,13 @@ public class InstrumentedTest { } private void restart() { restart(true); } private void restart(boolean wait_for_preview) { Log.d(TAG, "restart"); mActivityRule.getScenario().recreate(); waitUntilCameraOpened(); waitUntilCameraOpened(wait_for_preview); Log.d(TAG, "restart done"); } Loading
app/src/androidTest/java/net/sourceforge/opencamera/test/MainActivityTest.java +17 −3 Original line number Diff line number Diff line Loading @@ -141,6 +141,10 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } private void waitUntilCameraOpened() { waitUntilCameraOpened(true); } private void waitUntilCameraOpened(boolean wait_for_preview) { Log.d(TAG, "wait until camera opened"); long time_s = System.currentTimeMillis(); while( !mPreview.openCameraAttempted() ) { Loading @@ -154,6 +158,10 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } catch (InterruptedException e) { e.printStackTrace(); } if( wait_for_preview ) { waitUntilPreviewStarted(); // needed for Camera2 API when starting preview on background thread and not waiting for it to start } } private void waitUntilPreviewStarted() { Loading @@ -172,11 +180,15 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv } } private void restart() { restart(true); } /** Restarts Open Camera. * WARNING: Make sure that any assigned variables related to the activity, e.g., anything * returned by findViewById(), is updated to the new mActivity after calling this method! */ private void restart() { private void restart(boolean wait_for_preview) { Log.d(TAG, "restart"); mActivity.finish(); setActivity(null); Loading @@ -185,7 +197,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "mActivity is now: " + mActivity); mPreview = mActivity.getPreview(); Log.d(TAG, "mPreview is now: " + mPreview); waitUntilCameraOpened(); waitUntilCameraOpened(wait_for_preview); Log.d(TAG, "restart done"); } Loading Loading @@ -10038,6 +10050,8 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "testSettings"); setToDefault(); restart(false); // so we test going to settings even without waiting for preview to start (for Camera2 API) assertFalse(mActivity.isCameraInBackground()); View settingsButton = mActivity.findViewById(net.sourceforge.opencamera.R.id.settings); clickView(settingsButton); Loading Loading @@ -10883,7 +10897,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv Log.d(TAG, "switch camera"); View switchCameraButton = mActivity.findViewById(net.sourceforge.opencamera.R.id.switch_camera); clickView(switchCameraButton); waitUntilCameraOpened(); waitUntilCameraOpened(false); assertNotNull(mPreview.getCameraControllerManager()); assertNull(mPreview.getCameraController()); this.getInstrumentation().waitForIdleSync();