Loading services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ public class AppIdleHistoryTests extends AndroidTestCase { // Screen on time should not keep progressing with screen is off assertEquals(aih.getScreenOnTimeLocked(7000), 3000); assertEquals(aih.getScreenOnTimeLocked(8000), 3000); aih.writeElapsedTimeLocked(); aih.writeAppIdleDurationsLocked(); // Check if the screen on time is persisted across instantiations AppIdleHistory aih2 = new AppIdleHistory(mStorageDir, 0); Loading services/usage/java/com/android/server/usage/AppIdleHistory.java +1 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,6 @@ public class AppIdleHistory { } else { mScreenOnDuration += elapsedRealtime - mScreenOnSnapshot; mElapsedDuration += elapsedRealtime - mElapsedSnapshot; writeScreenOnTimeLocked(); mElapsedSnapshot = elapsedRealtime; } } Loading Loading @@ -167,7 +166,7 @@ public class AppIdleHistory { /** * To be called periodically to keep track of elapsed time when app idle times are written */ public void writeElapsedTimeLocked() { public void writeAppIdleDurationsLocked() { final long elapsedRealtime = SystemClock.elapsedRealtime(); // Only bump up and snapshot the elapsed time. Don't change screen on duration. mElapsedDuration += elapsedRealtime - mElapsedSnapshot; Loading services/usage/java/com/android/server/usage/UsageStatsService.java +5 −5 Original line number Diff line number Diff line Loading @@ -304,9 +304,9 @@ public class UsageStatsService extends SystemService implements @Override public void onDisplayChanged(int displayId) { if (displayId == Display.DEFAULT_DISPLAY) { final boolean displayOn = isDisplayOn(); synchronized (UsageStatsService.this.mLock) { mAppIdleHistory.updateDisplayLocked(isDisplayOn(), SystemClock.elapsedRealtime()); mAppIdleHistory.updateDisplayLocked(displayOn, SystemClock.elapsedRealtime()); } } } Loading Loading @@ -1005,9 +1005,9 @@ public class UsageStatsService extends SystemService implements service.persistActiveStats(); mAppIdleHistory.writeAppIdleTimesLocked(mUserState.keyAt(i)); } // Persist elapsed time periodically, in case screen doesn't get toggled // until the next boot mAppIdleHistory.writeElapsedTimeLocked(); // Persist elapsed and screen on time. If this fails for whatever reason, the apps will be // considered not-idle, which is the safest outcome in such an event. mAppIdleHistory.writeAppIdleDurationsLocked(); mHandler.removeMessages(MSG_FLUSH_TO_DISK); } Loading Loading
services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ public class AppIdleHistoryTests extends AndroidTestCase { // Screen on time should not keep progressing with screen is off assertEquals(aih.getScreenOnTimeLocked(7000), 3000); assertEquals(aih.getScreenOnTimeLocked(8000), 3000); aih.writeElapsedTimeLocked(); aih.writeAppIdleDurationsLocked(); // Check if the screen on time is persisted across instantiations AppIdleHistory aih2 = new AppIdleHistory(mStorageDir, 0); Loading
services/usage/java/com/android/server/usage/AppIdleHistory.java +1 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,6 @@ public class AppIdleHistory { } else { mScreenOnDuration += elapsedRealtime - mScreenOnSnapshot; mElapsedDuration += elapsedRealtime - mElapsedSnapshot; writeScreenOnTimeLocked(); mElapsedSnapshot = elapsedRealtime; } } Loading Loading @@ -167,7 +166,7 @@ public class AppIdleHistory { /** * To be called periodically to keep track of elapsed time when app idle times are written */ public void writeElapsedTimeLocked() { public void writeAppIdleDurationsLocked() { final long elapsedRealtime = SystemClock.elapsedRealtime(); // Only bump up and snapshot the elapsed time. Don't change screen on duration. mElapsedDuration += elapsedRealtime - mElapsedSnapshot; Loading
services/usage/java/com/android/server/usage/UsageStatsService.java +5 −5 Original line number Diff line number Diff line Loading @@ -304,9 +304,9 @@ public class UsageStatsService extends SystemService implements @Override public void onDisplayChanged(int displayId) { if (displayId == Display.DEFAULT_DISPLAY) { final boolean displayOn = isDisplayOn(); synchronized (UsageStatsService.this.mLock) { mAppIdleHistory.updateDisplayLocked(isDisplayOn(), SystemClock.elapsedRealtime()); mAppIdleHistory.updateDisplayLocked(displayOn, SystemClock.elapsedRealtime()); } } } Loading Loading @@ -1005,9 +1005,9 @@ public class UsageStatsService extends SystemService implements service.persistActiveStats(); mAppIdleHistory.writeAppIdleTimesLocked(mUserState.keyAt(i)); } // Persist elapsed time periodically, in case screen doesn't get toggled // until the next boot mAppIdleHistory.writeElapsedTimeLocked(); // Persist elapsed and screen on time. If this fails for whatever reason, the apps will be // considered not-idle, which is the safest outcome in such an event. mAppIdleHistory.writeAppIdleDurationsLocked(); mHandler.removeMessages(MSG_FLUSH_TO_DISK); } Loading