Merge "Ignore non test package events for AppStandbyControllerTests" into rvc-dev am: 2ac647d545 am: 0de0eb9a4c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12788106 Change-Id: I8f7a59ab19baa21139f1b08150e5a060a8340f7e
This commit is contained in:
@@ -139,10 +139,13 @@ public class AppStandbyControllerTests {
|
|||||||
private AppStandbyController mController;
|
private AppStandbyController mController;
|
||||||
|
|
||||||
private CountDownLatch mStateChangedLatch = new CountDownLatch(1);
|
private CountDownLatch mStateChangedLatch = new CountDownLatch(1);
|
||||||
|
private String mLatchPkgName = null;
|
||||||
private AppIdleStateChangeListener mListener = new AppIdleStateChangeListener() {
|
private AppIdleStateChangeListener mListener = new AppIdleStateChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onAppIdleStateChanged(String packageName, int userId,
|
public void onAppIdleStateChanged(String packageName, int userId,
|
||||||
boolean idle, int bucket, int reason) {
|
boolean idle, int bucket, int reason) {
|
||||||
|
// Ignore events not related to mLatchPkgName, if set.
|
||||||
|
if (mLatchPkgName != null && !mLatchPkgName.equals(packageName)) return;
|
||||||
mStateChangedLatch.countDown();
|
mStateChangedLatch.countDown();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -374,6 +377,7 @@ public class AppStandbyControllerTests {
|
|||||||
mInjector.mElapsedRealtime, false));
|
mInjector.mElapsedRealtime, false));
|
||||||
|
|
||||||
controller.addListener(mListener);
|
controller.addListener(mListener);
|
||||||
|
mLatchPkgName = null;
|
||||||
return controller;
|
return controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1377,7 +1381,7 @@ public class AppStandbyControllerTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUnexemptedSyncScheduled() throws Exception {
|
public void testUnexemptedSyncScheduled() throws Exception {
|
||||||
mStateChangedLatch = new CountDownLatch(1);
|
rearmLatch(PACKAGE_1);
|
||||||
mController.addListener(mListener);
|
mController.addListener(mListener);
|
||||||
assertEquals("Test package did not start in the Never bucket", STANDBY_BUCKET_NEVER,
|
assertEquals("Test package did not start in the Never bucket", STANDBY_BUCKET_NEVER,
|
||||||
getStandbyBucket(mController, PACKAGE_1));
|
getStandbyBucket(mController, PACKAGE_1));
|
||||||
@@ -1389,7 +1393,7 @@ public class AppStandbyControllerTests {
|
|||||||
|
|
||||||
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
||||||
|
|
||||||
mStateChangedLatch = new CountDownLatch(1);
|
rearmLatch(PACKAGE_1);
|
||||||
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, false);
|
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, false);
|
||||||
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
||||||
assertEquals("Unexempted sync scheduled should not elevate a non Never bucket",
|
assertEquals("Unexempted sync scheduled should not elevate a non Never bucket",
|
||||||
@@ -1400,7 +1404,7 @@ public class AppStandbyControllerTests {
|
|||||||
public void testExemptedSyncScheduled() throws Exception {
|
public void testExemptedSyncScheduled() throws Exception {
|
||||||
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
||||||
mInjector.mDeviceIdleMode = true;
|
mInjector.mDeviceIdleMode = true;
|
||||||
mStateChangedLatch = new CountDownLatch(1);
|
rearmLatch(PACKAGE_1);
|
||||||
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, true);
|
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, true);
|
||||||
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
||||||
assertEquals("Exempted sync scheduled in doze should set bucket to working set",
|
assertEquals("Exempted sync scheduled in doze should set bucket to working set",
|
||||||
@@ -1408,7 +1412,7 @@ public class AppStandbyControllerTests {
|
|||||||
|
|
||||||
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
|
||||||
mInjector.mDeviceIdleMode = false;
|
mInjector.mDeviceIdleMode = false;
|
||||||
mStateChangedLatch = new CountDownLatch(1);
|
rearmLatch(PACKAGE_1);
|
||||||
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, true);
|
mController.postReportSyncScheduled(PACKAGE_1, USER_ID, true);
|
||||||
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
||||||
assertEquals("Exempted sync scheduled while not in doze should set bucket to active",
|
assertEquals("Exempted sync scheduled while not in doze should set bucket to active",
|
||||||
@@ -1558,10 +1562,19 @@ public class AppStandbyControllerTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setAndAssertBucket(String pkg, int user, int bucket, int reason) throws Exception {
|
private void setAndAssertBucket(String pkg, int user, int bucket, int reason) throws Exception {
|
||||||
mStateChangedLatch = new CountDownLatch(1);
|
rearmLatch(pkg);
|
||||||
mController.setAppStandbyBucket(pkg, user, bucket, reason);
|
mController.setAppStandbyBucket(pkg, user, bucket, reason);
|
||||||
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
mStateChangedLatch.await(100, TimeUnit.MILLISECONDS);
|
||||||
assertEquals("Failed to set package bucket", bucket,
|
assertEquals("Failed to set package bucket", bucket,
|
||||||
getStandbyBucket(mController, PACKAGE_1));
|
getStandbyBucket(mController, PACKAGE_1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void rearmLatch(String pkgName) {
|
||||||
|
mLatchPkgName = pkgName;
|
||||||
|
mStateChangedLatch = new CountDownLatch(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rearmLatch() {
|
||||||
|
rearmLatch(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user