From 2ac2d0f7bc64628bfe4b35e066cb7afeb8eefa67 Mon Sep 17 00:00:00 2001 From: Jay Aliomer Date: Mon, 7 Jun 2021 22:03:12 -0400 Subject: [PATCH] Take a screenshot as soon as the phone unlocks Fixes: b/190443665 Test: visual Change-Id: Iddbf3fb46deb8760aeecd0ea22a04eff5b51f834 --- core/java/android/service/wallpaper/WallpaperService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 324d1abf24bbb..66f2dd5729b75 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();