Loading apex/jobscheduler/service/aconfig/app_idle.aconfig +0 −10 Original line number Diff line number Diff line package: "com.android.server.usage" container: "system" flag { name: "screen_time_bypass" namespace: "backstage_power" description: "Bypass the screen time check for bucket evaluation" bug: "374114769" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "adjust_default_bucket_elevation_params" namespace: "backstage_power" Loading apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java +2 −4 Original line number Diff line number Diff line Loading @@ -702,8 +702,7 @@ public class AppIdleHistory { AppUsageHistory appUsageHistory = getPackageHistory(userHistory, packageName, elapsedRealtime, false); // If we don't have any state for the app, assume never used if (appUsageHistory == null || appUsageHistory.lastUsedElapsedTime < 0 || (!Flags.screenTimeBypass() && appUsageHistory.lastUsedScreenTime < 0)) { if (appUsageHistory == null || appUsageHistory.lastUsedElapsedTime < 0) { return -1; } Loading @@ -716,8 +715,7 @@ public class AppIdleHistory { if (DEBUG) Slog.d(TAG, packageName + " screenOn=" + screenOnDelta + ", elapsed=" + elapsedDelta); for (int i = screenTimeThresholds.length - 1; i >= 0; i--) { if ((Flags.screenTimeBypass() || screenOnDelta >= screenTimeThresholds[i]) && elapsedDelta >= elapsedTimeThresholds[i]) { if (elapsedDelta >= elapsedTimeThresholds[i]) { return i; } } Loading services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java +0 −32 Original line number Diff line number Diff line Loading @@ -93,10 +93,7 @@ import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.os.UserHandle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.DeviceConfig; import android.util.ArraySet; import android.util.Pair; Loading @@ -114,7 +111,6 @@ import com.android.server.usage.AppStandbyInternal.AppIdleStateChangeListener; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading Loading @@ -189,9 +185,6 @@ public class AppStandbyControllerTests { private static final Random sRandom = new Random(); @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private MyInjector mInjector; private AppStandbyController mController; Loading Loading @@ -901,31 +894,6 @@ public class AppStandbyControllerTests { } @Test @DisableFlags(Flags.FLAG_SCREEN_TIME_BYPASS) public void testScreenTimeAndBuckets_Legacy() throws Exception { mInjector.setDisplayOn(false); assertTimeout(mController, 0, STANDBY_BUCKET_NEVER); reportEvent(mController, USER_INTERACTION, 0, PACKAGE_1); // ACTIVE bucket assertTimeout(mController, WORKING_SET_THRESHOLD - 1, STANDBY_BUCKET_ACTIVE); // WORKING_SET bucket assertTimeout(mController, WORKING_SET_THRESHOLD + 1, STANDBY_BUCKET_WORKING_SET); // RARE bucket, should fail because the screen wasn't ON. mInjector.mElapsedRealtime = RARE_THRESHOLD + 1; mController.checkIdleStates(USER_ID); waitAndAssertNotBucket(STANDBY_BUCKET_RARE, PACKAGE_1); mInjector.setDisplayOn(true); assertTimeout(mController, RARE_THRESHOLD + 2 * HOUR_MS + 1, STANDBY_BUCKET_RARE); } @Test @EnableFlags(Flags.FLAG_SCREEN_TIME_BYPASS) public void testScreenTimeAndBuckets_Bypass() throws Exception { mInjector.setDisplayOn(false); Loading Loading
apex/jobscheduler/service/aconfig/app_idle.aconfig +0 −10 Original line number Diff line number Diff line package: "com.android.server.usage" container: "system" flag { name: "screen_time_bypass" namespace: "backstage_power" description: "Bypass the screen time check for bucket evaluation" bug: "374114769" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "adjust_default_bucket_elevation_params" namespace: "backstage_power" Loading
apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java +2 −4 Original line number Diff line number Diff line Loading @@ -702,8 +702,7 @@ public class AppIdleHistory { AppUsageHistory appUsageHistory = getPackageHistory(userHistory, packageName, elapsedRealtime, false); // If we don't have any state for the app, assume never used if (appUsageHistory == null || appUsageHistory.lastUsedElapsedTime < 0 || (!Flags.screenTimeBypass() && appUsageHistory.lastUsedScreenTime < 0)) { if (appUsageHistory == null || appUsageHistory.lastUsedElapsedTime < 0) { return -1; } Loading @@ -716,8 +715,7 @@ public class AppIdleHistory { if (DEBUG) Slog.d(TAG, packageName + " screenOn=" + screenOnDelta + ", elapsed=" + elapsedDelta); for (int i = screenTimeThresholds.length - 1; i >= 0; i--) { if ((Flags.screenTimeBypass() || screenOnDelta >= screenTimeThresholds[i]) && elapsedDelta >= elapsedTimeThresholds[i]) { if (elapsedDelta >= elapsedTimeThresholds[i]) { return i; } } Loading
services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java +0 −32 Original line number Diff line number Diff line Loading @@ -93,10 +93,7 @@ import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.os.UserHandle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.DeviceConfig; import android.util.ArraySet; import android.util.Pair; Loading @@ -114,7 +111,6 @@ import com.android.server.usage.AppStandbyInternal.AppIdleStateChangeListener; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading Loading @@ -189,9 +185,6 @@ public class AppStandbyControllerTests { private static final Random sRandom = new Random(); @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private MyInjector mInjector; private AppStandbyController mController; Loading Loading @@ -901,31 +894,6 @@ public class AppStandbyControllerTests { } @Test @DisableFlags(Flags.FLAG_SCREEN_TIME_BYPASS) public void testScreenTimeAndBuckets_Legacy() throws Exception { mInjector.setDisplayOn(false); assertTimeout(mController, 0, STANDBY_BUCKET_NEVER); reportEvent(mController, USER_INTERACTION, 0, PACKAGE_1); // ACTIVE bucket assertTimeout(mController, WORKING_SET_THRESHOLD - 1, STANDBY_BUCKET_ACTIVE); // WORKING_SET bucket assertTimeout(mController, WORKING_SET_THRESHOLD + 1, STANDBY_BUCKET_WORKING_SET); // RARE bucket, should fail because the screen wasn't ON. mInjector.mElapsedRealtime = RARE_THRESHOLD + 1; mController.checkIdleStates(USER_ID); waitAndAssertNotBucket(STANDBY_BUCKET_RARE, PACKAGE_1); mInjector.setDisplayOn(true); assertTimeout(mController, RARE_THRESHOLD + 2 * HOUR_MS + 1, STANDBY_BUCKET_RARE); } @Test @EnableFlags(Flags.FLAG_SCREEN_TIME_BYPASS) public void testScreenTimeAndBuckets_Bypass() throws Exception { mInjector.setDisplayOn(false); Loading