Fix relaunch at the final screen
Bug: 161506936
Test: See repro step of b/161506936
Change-Id: I41ecf3cd7a0d4889b4dbb69a4c5cb0484ed9703a
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/OrderedTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/OrderedTestActivity.java
index d24fdb7..1e5eb57 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/OrderedTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/OrderedTestActivity.java
@@ -63,8 +63,7 @@
@Override
protected void onStart() {
super.onStart();
-
- mTests[mTestIndex].run();
+ processCurrentTest();
}
/** Returns a list of tests to run in order. */
@@ -80,16 +79,7 @@
protected void succeed() {
runOnUiThread(() -> {
mTestIndex++;
- if (mTestIndex < mTests.length) {
- mTests[mTestIndex].run();
- } else {
- // On test completion, hide "next" and "fail" buttons, and show "pass" button
- // instead.
- mInstructions.setText(R.string.tests_completed_successfully);
- mNextButton.setVisibility(View.GONE);
- findViewById(R.id.pass_button).setVisibility(View.VISIBLE);
- findViewById(R.id.fail_button).setVisibility(View.GONE);
- }
+ processCurrentTest();
});
}
@@ -97,6 +87,22 @@
Toast.makeText(this, stringResId, Toast.LENGTH_SHORT).show();
}
+ /**
+ * Must be invoked on the main thread
+ */
+ private void processCurrentTest() {
+ if (mTestIndex < mTests.length) {
+ mTests[mTestIndex].run();
+ } else {
+ // On test completion, hide "next" and "fail" buttons, and show "pass" button
+ // instead.
+ mInstructions.setText(R.string.tests_completed_successfully);
+ mNextButton.setVisibility(View.GONE);
+ findViewById(R.id.pass_button).setVisibility(View.VISIBLE);
+ findViewById(R.id.fail_button).setVisibility(View.GONE);
+ }
+ }
+
protected abstract class Test {
private final int mStringId;