Fix flaky test for persistent notifications

Persistent notifications test sometimes fails due
to setup activity doesn't exit due to failed intent.
Adding setup exit command when on device tests are starting and
adding timeout for transition.

Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk
Flag: EXEMPT bugfix
Bug: 349820489
Change-Id: Iaf1c1f481612367bbce919b27e89f88a24abb582
This commit is contained in:
Pawan Wagh
2024-07-02 22:59:56 +00:00
parent ce20ff98e3
commit 999b8a9f33
3 changed files with 6 additions and 1 deletions

View File

@@ -134,6 +134,6 @@ public class PageAgnosticNotificationService extends Service {
// No updates should be allowed in page-agnostic mode
disableAutomaticUpdates();
return Service.START_NOT_STICKY;
return Service.START_REDELIVER_INTENT;
}
}

View File

@@ -76,11 +76,13 @@ public class Enable16KbTest extends BaseHostJUnit4Test {
installTestApp();
// Enable developer option and switch to 16kb kernel and Check page size
getDevice().enableAdbRoot();
runTestAndWait(SWITCH_TO_16KB);
result = getDevice().executeShellCommand("getconf PAGE_SIZE");
assertEquals("16384", result.strip());
// switch back to 4kb kernel and check page size
getDevice().enableAdbRoot();
runTestAndWait(SWITCH_TO_4KB);
result = getDevice().executeShellCommand("getconf PAGE_SIZE");
assertEquals("4096", result.strip());

View File

@@ -68,6 +68,8 @@ public class Enable16KbDeviceTest {
throw new RuntimeException("failed to freeze device orientation", e);
}
mDevice.executeShellCommand("am start -a com.android.setupwizard.FOUR_CORNER_EXIT");
mDevice.waitForWindowUpdate(null, TIMEOUT);
mDevice.executeShellCommand("input keyevent KEYCODE_WAKEUP");
mDevice.executeShellCommand("wm dismiss-keyguard");
}
@@ -150,6 +152,7 @@ public class Enable16KbDeviceTest {
private void openPersistentNotification(String title) {
mDevice.openNotification();
mDevice.waitForWindowUpdate(null, TIMEOUT);
verifyTextOnScreen(title);
mDevice.wait(Until.findObject(By.text(title)), TIMEOUT).click();
mDevice.waitForWindowUpdate(null, TIMEOUT);