From a6d734571303ced5c968e0cd74f88a6b8f47602c Mon Sep 17 00:00:00 2001 From: JW Wang Date: Thu, 15 Dec 2022 10:03:30 +0800 Subject: API coverage for Builder#requireDeviceIdle Add a property to simulate idle jobs during test. Bug: 262614529 Bug: 235306967 Test: atest CtsStagedInstallHostTestCases Change-Id: Ieddce6f571e1a01793c360d05228d78b335b195e --- services/core/java/com/android/server/pm/GentleUpdateHelper.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/pm/GentleUpdateHelper.java b/services/core/java/com/android/server/pm/GentleUpdateHelper.java index 7cb096d4e074..9ad847d5d88c 100644 --- a/services/core/java/com/android/server/pm/GentleUpdateHelper.java +++ b/services/core/java/com/android/server/pm/GentleUpdateHelper.java @@ -35,6 +35,7 @@ import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.os.SystemClock; +import android.os.SystemProperties; import android.text.format.DateUtils; import android.util.Slog; @@ -167,6 +168,14 @@ public class GentleUpdateHelper { @WorkerThread private void scheduleIdleJob() { + // Simulate idle jobs during test. Otherwise we need to wait for + // more than 30 mins for JS to trigger the job. + boolean isIdle = SystemProperties.getBoolean("debug.pm.gentle_update_test.is_idle", false); + if (isIdle) { + mHandler.post(this::runIdleJob); + return; + } + if (mHasPendingIdleJob) { // No need to schedule the job again return; -- cgit v1.2.3-59-g8ed1b