Use committed display state in WallpaperService

Uses committed display state instead of
display state, so the wallpaper receive more
up-to-date information about visibility as
display power state could take a considerable
amount of time.

Test: manual, perfetto traces
Bug: 273204503
Change-Id: If747112d610822df116971b60b9a0b82a686a37a
Merged-In: If747112d610822df116971b60b9a0b82a686a37a
This commit is contained in:
Nick Chameyev
2023-03-16 11:01:11 +00:00
parent e8a0ffc86c
commit 71f5a23c05

View File

@@ -1430,7 +1430,7 @@ public abstract class WallpaperService extends Service {
com.android.internal.R.dimen.config_wallpaperDimAmount);
mWallpaperDimAmount = mDefaultDimAmount;
mPreviousWallpaperDimAmount = mWallpaperDimAmount;
mDisplayState = mDisplay.getState();
mDisplayState = mDisplay.getCommittedState();
mDisplayInstallOrientation = mDisplay.getInstallOrientation();
if (DEBUG) Log.v(TAG, "onCreate(): " + this);
@@ -1521,7 +1521,8 @@ public abstract class WallpaperService extends Service {
return;
}
if (!mDestroyed) {
mDisplayState = mDisplay == null ? Display.STATE_UNKNOWN : mDisplay.getState();
mDisplayState = mDisplay == null ? Display.STATE_UNKNOWN :
mDisplay.getCommittedState();
boolean visible = mVisible && mDisplayState != Display.STATE_OFF;
if (mReportedVisible != visible) {
mReportedVisible = visible;