History log of /frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
119be9a5fc4033eba570ec94b94862401ee84570 19-Feb-2018 Amith Yamasani <yamasani@google.com> Improve reporting of bucketing reason

Keep track of main and sub reason for bucket change

Bug: 73178753
Test: atest AppIdleHistoryTests
Change-Id: I4936281ac06046bb5ffed9f3306efa24c7fd47ab
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
53f06eae611ffa559f80d9efaddba17544eb7819 06-Jan-2018 Amith Yamasani <yamasani@google.com> Track last job run time

JobScheduler can store the last job run time
for an app and use it later to help with
throttling.

Also, allow reporting a usage for a temporary
period. This will put the app in ACTIVE for a
minimum specified period during which timeouts
and predictions will not be able to reduce the
bucket level.

Bug: 71536897
Test: atest AppIdleHistoryTests
atest AppStandbyControllerTests
Change-Id: I2985f7f3766671f15ea641972346c69875f17946
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
afbccb7d37647f6da61ebcc52a598c7a9f54bc3f 27-Nov-2017 Amith Yamasani <yamasani@google.com> Expose App Standby APIs for apps and system

Allow apps to query their own standby bucket.
Allow privileged apps with PACKAGE_USAGE_STATS permission to
query apps.
Allow privileged apps with CHANGE_APP_IDLE_STATE to set the
standby state for apps, but not for themselves.
Removed AppStandby class and moved constants into UsageStatsManager.

Bug: 63527785
Test: cts-tradefed run cts-dev -m CtsAppUsageHostTestCases
Change-Id: I3c1c20f6ecb6d54e248233696039286b243d663c
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
84cd7b7a9e5ad6a604c075bc620f6bd9ab6b1486 07-Nov-2017 Amith Yamasani <yamasani@google.com> Allow standby timeouts to occur after usage

And inform listeners when the bucket changes, not just when
going in and out of RARE bucket.
Avoid redundant callbacks when informing listeners.

Bug: 63527785
Test: runtest -x
frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java
Change-Id: Icd98d59f597147fbf8ea4bf44edf4b3b3d5c8e14
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
17fffee4908f11038ba9cc5a672d15cb25be3dfe 29-Sep-2017 Amith Yamasani <yamasani@google.com> App Bucketing for Standby

Manage the standby bucket in AppStandbyController

Default implementation of bucketing based on simple timeout:
ACTIVE, if recently used
12 hrs to move to WORKING_SET
2 days to move to FREQUENT
7 days to move to RARE
(subject to change)

RARE bucket equates to the old "idle" or "inactive" state for
an app.

Bug: 63527785
Test: AppStandbyControllerTests.java
Change-Id: I970d7afcdf47c31a9413da8fd4852066a13676a2
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
61d5fd7fee3250bdf4b6ddfbccbd6bceae9436c6 24-Feb-2017 Amith Yamasani <yamasani@google.com> Reduce screen on delay during UsageStats rollover

Decoupled the app idle book-keeping from usage stats lock, by
introducing an mAppIdleLock. This is used for all state related
to app idle. In some cases, the locks will be nested, with
mLock being acquired first and then mAppIdleLock.

This should fix the situation where a rollover, which writes to
disk and could take several seconds when the system is swamped,
like when the device just came out of idle and the screen was
turned on (like this run-on sentence), causes calls from other
services for app-idle status to be blocked. This was resulting
in a long time to turn on the screen.

Also fixed a dump indentation issue.

Bug: 34627115
Bug: 34961340
Test: Manual, force into idle, increased rollover frequency,
and tested screen on time.

Change-Id: Ie8b44e6f07f82d8a31f1b733a403dd9b6dc310f6
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
f2d87eba750d15093c996c1dbae7b755a7462478 18-Aug-2016 Adam Lesinski <adamlesinski@google.com> AppIdleHistory: Only write screen on durations during regular sync

Stop writing to disk every time the display goes off. Only write to
disk periodically.

Consequences

Previously, if the device rebooted after the screen duration was written
to disk, apps would appear more stale than they actually were.

Now apps will always look fresher, which is a better scenario.

Bug:30807864
Change-Id: Ia69a2e51fc9e397789215b449fae56fa3e29c74a
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java
a93542f9d341897f3206f775fd5720663b17504f 04-Feb-2016 Amith Yamasani <yamasani@google.com> Rewrite app standby stats

Don't mix up with usage stats. Keep a separate db and history
based on elapsed time and screen on time.

Unit tests for AppIdleHistory class.

Bug: 26989006
Change-Id: If343785b46da1db67f7c1c1263854c2732a232c6
/frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java