Merge "UsageStats: Use new settings key idle_duration2 for app idle" into mnc-dr1.5-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d2e215978b
@@ -7281,10 +7281,12 @@ public final class Settings {
|
|||||||
* The following keys are supported:
|
* The following keys are supported:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* idle_duration (long)
|
* idle_duration2 (long)
|
||||||
* wallclock_threshold (long)
|
* wallclock_threshold (long)
|
||||||
* parole_interval (long)
|
* parole_interval (long)
|
||||||
* parole_duration (long)
|
* parole_duration (long)
|
||||||
|
*
|
||||||
|
* idle_duration (long) // This is deprecated and used to circumvent b/26355386.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -280,6 +280,11 @@ public class UsageStatsService extends SystemService implements
|
|||||||
mHandler.sendEmptyMessageDelayed(MSG_FLUSH_TO_DISK, FLUSH_INTERVAL);
|
mHandler.sendEmptyMessageDelayed(MSG_FLUSH_TO_DISK, FLUSH_INTERVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getAppIdleRollingWindowDurationMillis() {
|
||||||
|
return mAppIdleWallclockThresholdMillis * 2;
|
||||||
|
}
|
||||||
|
|
||||||
private void cleanUpRemovedUsersLocked() {
|
private void cleanUpRemovedUsersLocked() {
|
||||||
final List<UserInfo> users = mUserManager.getUsers(true);
|
final List<UserInfo> users = mUserManager.getUsers(true);
|
||||||
if (users == null || users.size() == 0) {
|
if (users == null || users.size() == 0) {
|
||||||
@@ -1107,7 +1112,13 @@ public class UsageStatsService extends SystemService implements
|
|||||||
* Observe settings changes for {@link Settings.Global#APP_IDLE_CONSTANTS}.
|
* Observe settings changes for {@link Settings.Global#APP_IDLE_CONSTANTS}.
|
||||||
*/
|
*/
|
||||||
private class SettingsObserver extends ContentObserver {
|
private class SettingsObserver extends ContentObserver {
|
||||||
private static final String KEY_IDLE_DURATION = "idle_duration";
|
/**
|
||||||
|
* This flag has been used to disable app idle on older builds with bug b/26355386.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
private static final String KEY_IDLE_DURATION_OLD = "idle_duration";
|
||||||
|
|
||||||
|
private static final String KEY_IDLE_DURATION = "idle_duration2";
|
||||||
private static final String KEY_WALLCLOCK_THRESHOLD = "wallclock_threshold";
|
private static final String KEY_WALLCLOCK_THRESHOLD = "wallclock_threshold";
|
||||||
private static final String KEY_PAROLE_INTERVAL = "parole_interval";
|
private static final String KEY_PAROLE_INTERVAL = "parole_interval";
|
||||||
private static final String KEY_PAROLE_DURATION = "parole_duration";
|
private static final String KEY_PAROLE_DURATION = "parole_duration";
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ class UserUsageStatsService {
|
|||||||
|
|
||||||
interface StatsUpdatedListener {
|
interface StatsUpdatedListener {
|
||||||
void onStatsUpdated();
|
void onStatsUpdated();
|
||||||
|
long getAppIdleRollingWindowDurationMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
UserUsageStatsService(Context context, int userId, File usageStatsDir,
|
UserUsageStatsService(Context context, int userId, File usageStatsDir,
|
||||||
@@ -581,9 +582,11 @@ class UserUsageStatsService {
|
|||||||
*/
|
*/
|
||||||
void refreshAppIdleRollingWindow(final long currentTimeMillis, final long deviceUsageTime) {
|
void refreshAppIdleRollingWindow(final long currentTimeMillis, final long deviceUsageTime) {
|
||||||
// Start the rolling window for AppIdle requests.
|
// Start the rolling window for AppIdle requests.
|
||||||
|
final long startRangeMillis = currentTimeMillis -
|
||||||
|
mListener.getAppIdleRollingWindowDurationMillis();
|
||||||
|
|
||||||
List<IntervalStats> stats = mDatabase.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,
|
List<IntervalStats> stats = mDatabase.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,
|
||||||
currentTimeMillis - (1000 * 60 * 60 * 24 * 2), currentTimeMillis,
|
startRangeMillis, currentTimeMillis, new StatCombiner<IntervalStats>() {
|
||||||
new StatCombiner<IntervalStats>() {
|
|
||||||
@Override
|
@Override
|
||||||
public void combine(IntervalStats stats, boolean mutable,
|
public void combine(IntervalStats stats, boolean mutable,
|
||||||
List<IntervalStats> accumulatedResult) {
|
List<IntervalStats> accumulatedResult) {
|
||||||
|
|||||||
Reference in New Issue
Block a user