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
This commit is contained in:
Craig Mautner
2012-07-03 19:15:35 -07:00
parent a76fdb7713
commit 12670b5fb4

View File

@@ -2045,11 +2045,6 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
// 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 @@ public class WindowManagerService extends IWindowManager.Stub
// 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 class WindowManagerService extends IWindowManager.Stub
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 @@ public class WindowManagerService extends IWindowManager.Stub
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;