Make setting wallpaper offset immediate.
Wallpaper offset was passing through H Handler before being set.
It isn't part of animation and wasn't going through animation anyways.
This change goes back to original implementation of setting
wallpaper offset directly from call.
Change-Id: Ied88e2dc042af814b5ba91c7efb839bd82682567
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 0f87d8e..5f5c9b3 100755
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -2045,11 +2045,6 @@
}
}
- // TODO(cmautner): Move to WindowAnimator.
- void setWallpaperOffset(final WindowStateAnimator winAnimator, final int left, final int top) {
- mH.sendMessage(mH.obtainMessage(H.SET_WALLPAPER_OFFSET, left, top, winAnimator));
- }
-
void updateWallpaperOffsetLocked(WindowState changingTarget, boolean sync) {
final int dw = mAppDisplayWidth;
final int dh = mAppDisplayHeight;
@@ -2084,19 +2079,8 @@
// TODO(cmautner): Don't move this from here, just lock the WindowAnimator.
if (winAnimator.mSurfaceX != wallpaper.mShownFrame.left
|| winAnimator.mSurfaceY != wallpaper.mShownFrame.top) {
- Surface.openTransaction();
- try {
- if (SHOW_TRANSACTIONS) logSurface(wallpaper,
- "POS " + wallpaper.mShownFrame.left
- + ", " + wallpaper.mShownFrame.top, null);
- setWallpaperOffset(winAnimator, (int) wallpaper.mShownFrame.left,
+ winAnimator.setWallpaperOffset((int) wallpaper.mShownFrame.left,
(int) wallpaper.mShownFrame.top);
- } catch (RuntimeException e) {
- Slog.w(TAG, "Error positioning surface of " + wallpaper
- + " pos=(" + wallpaper.mShownFrame.left
- + "," + wallpaper.mShownFrame.top + ")", e);
- }
- Surface.closeTransaction();
}
// We only want to be synchronous with one wallpaper.
sync = false;
@@ -6913,8 +6897,7 @@
public static final int ANIMATOR_WHAT_OFFSET = 100000;
public static final int SET_TRANSPARENT_REGION = ANIMATOR_WHAT_OFFSET + 1;
- public static final int SET_WALLPAPER_OFFSET = ANIMATOR_WHAT_OFFSET + 2;
- public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 3;
+ public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 2;
private Session mLastReportedHold;
@@ -7403,14 +7386,6 @@
break;
}
- case SET_WALLPAPER_OFFSET: {
- final WindowStateAnimator winAnimator = (WindowStateAnimator) msg.obj;
- winAnimator.setWallpaperOffset(msg.arg1, msg.arg2);
-
- scheduleAnimationLocked();
- break;
- }
-
case CLEAR_PENDING_ACTIONS: {
mAnimator.clearPendingActions();
break;