diff options
-rw-r--r-- | media/java/android/media/MediaCodec.java | 2 | ||||
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 28 |
2 files changed, 26 insertions, 4 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index d5515eb..4502227 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -170,7 +170,7 @@ final public class MediaCodec { * <li>"audio/3gpp" - AMR narrowband audio * <li>"audio/amr-wb" - AMR wideband audio * <li>"audio/mpeg" - MPEG1/2 audio layer III - * <li>"audio/mp4a-latm" - AAC audio + * <li>"audio/mp4a-latm" - AAC audio (note, this is raw AAC packets, not packaged in LATM!) * <li>"audio/vorbis" - vorbis audio * <li>"audio/g711-alaw" - G.711 alaw audio * <li>"audio/g711-mlaw" - G.711 ulaw audio diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 194c750..d6dfff4 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -9461,9 +9461,31 @@ public class WindowManagerService extends IWindowManager.Stub if (DEBUG_ORIENTATION && winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i( TAG, "Resizing " + win + " WITH DRAW PENDING"); - win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets, - winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING, - configChanged ? win.mConfiguration : null); + final boolean reportDraw + = winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING; + final Configuration newConfig = configChanged ? win.mConfiguration : null; + if (win.mClient instanceof IWindow.Stub) { + // Simulate one-way call if win.mClient is a local object. + final IWindow client = win.mClient; + final Rect frame = win.mFrame; + final Rect contentInsets = win.mLastContentInsets; + final Rect visibleInsets = win.mLastVisibleInsets; + mH.post(new Runnable() { + @Override + public void run() { + try { + client.resized(frame, contentInsets, visibleInsets, + reportDraw, newConfig); + } catch (RemoteException e) { + // Actually, it's not a remote call. + // RemoteException mustn't be raised. + } + } + }); + } else { + win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets, + reportDraw, newConfig); + } win.mContentInsetsChanged = false; win.mVisibleInsetsChanged = false; winAnimator.mSurfaceResized = false; |