summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/service/wallpaper/WallpaperService.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index 324d1abf24bb..66f2dd5729b7 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -1466,9 +1466,12 @@ public abstract class WallpaperService extends Service {
void updatePage(EngineWindowPage currentPage, int pageIndx, int numPages,
float xOffsetStep) {
// to save creating a runnable, check twice
- long current = System.nanoTime() / 1_000_000;
+ long current = SystemClock.elapsedRealtime();
long lapsed = current - currentPage.getLastUpdateTime();
- if (lapsed < DEFAULT_UPDATE_SCREENSHOT_DURATION) {
+ // Always update the page when the last update time is <= 0
+ // This is important especially when the device first boots
+ if (lapsed < DEFAULT_UPDATE_SCREENSHOT_DURATION
+ && currentPage.getLastUpdateTime() > 0) {
return;
}
Surface surface = mSurfaceHolder.getSurface();