Loading core/java/android/inputmethodservice/IInputMethodSessionWrapper.java +9 −8 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.inputmethodservice; import com.android.internal.os.HandlerCaller; import com.android.internal.os.SomeArgs; import com.android.internal.view.IInputMethodCallback; import com.android.internal.view.IInputMethodSession; Loading Loading @@ -91,28 +92,28 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub (ExtractedText)msg.obj); return; case DO_DISPATCH_KEY_EVENT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.dispatchKeyEvent(msg.arg1, (KeyEvent)args.arg1, new InputMethodEventCallbackWrapper( (IInputMethodCallback)args.arg2)); mCaller.recycleArgs(args); args.recycle(); return; } case DO_DISPATCH_TRACKBALL_EVENT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.dispatchTrackballEvent(msg.arg1, (MotionEvent)args.arg1, new InputMethodEventCallbackWrapper( (IInputMethodCallback)args.arg2)); mCaller.recycleArgs(args); args.recycle(); return; } case DO_UPDATE_SELECTION: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.updateSelection(args.argi1, args.argi2, args.argi3, args.argi4, args.argi5, args.argi6); mCaller.recycleArgs(args); args.recycle(); return; } case DO_UPDATE_CURSOR: { Loading @@ -120,10 +121,10 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub return; } case DO_APP_PRIVATE_COMMAND: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.appPrivateCommand((String)args.arg1, (Bundle)args.arg2); mCaller.recycleArgs(args); args.recycle(); return; } case DO_TOGGLE_SOFT_INPUT: { Loading core/java/android/inputmethodservice/IInputMethodWrapper.java +7 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.inputmethodservice; import com.android.internal.os.HandlerCaller; import com.android.internal.os.SomeArgs; import com.android.internal.view.IInputContext; import com.android.internal.view.IInputMethod; import com.android.internal.view.IInputMethodCallback; Loading Loading @@ -124,7 +125,7 @@ class IInputMethodWrapper extends IInputMethod.Stub if (target == null) { return; } HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; try { target.dump((FileDescriptor)args.arg1, (PrintWriter)args.arg2, (String[])args.arg3); Loading @@ -134,6 +135,7 @@ class IInputMethodWrapper extends IInputMethod.Stub synchronized (args.arg4) { ((CountDownLatch)args.arg4).countDown(); } args.recycle(); return; } Loading @@ -149,23 +151,25 @@ class IInputMethodWrapper extends IInputMethod.Stub inputMethod.unbindInput(); return; case DO_START_INPUT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.startInput(ic, info); args.recycle(); return; } case DO_RESTART_INPUT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.restartInput(ic, info); args.recycle(); return; } case DO_CREATE_SESSION: { Loading core/java/android/service/wallpaper/WallpaperService.java +1 −1 Original line number Diff line number Diff line Loading @@ -255,7 +255,7 @@ public abstract class WallpaperService extends Service { final BaseIWindow mWindow = new BaseIWindow() { @Override public void resized(int w, int h, Rect contentInsets, public void resized(Rect frame, Rect contentInsets, Rect visibleInsets, boolean reportDraw, Configuration newConfig) { Message msg = mCaller.obtainMessageI(MSG_WINDOW_RESIZED, reportDraw ? 1 : 0); Loading core/java/android/view/AccessibilityInteractionController.java +14 −73 Original line number Diff line number Diff line Loading @@ -25,16 +25,14 @@ import android.os.Looper; import android.os.Message; import android.os.Process; import android.os.RemoteException; import android.util.Pool; import android.util.Poolable; import android.util.PoolableManager; import android.util.Pools; import android.util.SparseLongArray; import android.view.accessibility.AccessibilityInteractionClient; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; import android.view.accessibility.IAccessibilityInteractionConnectionCallback; import com.android.internal.os.SomeArgs; import java.util.ArrayList; import java.util.HashMap; import java.util.List; Loading @@ -48,7 +46,6 @@ import java.util.Map; * UI thread. */ final class AccessibilityInteractionController { private static final int POOL_SIZE = 5; private ArrayList<AccessibilityNodeInfo> mTempAccessibilityNodeInfoList = new ArrayList<AccessibilityNodeInfo>(); Loading Loading @@ -76,60 +73,6 @@ final class AccessibilityInteractionController { mPrefetcher = new AccessibilityNodePrefetcher(); } // Reusable poolable arguments for interacting with the view hierarchy // to fit more arguments than Message and to avoid sharing objects between // two messages since several threads can send messages concurrently. private final Pool<SomeArgs> mPool = Pools.synchronizedPool(Pools.finitePool( new PoolableManager<SomeArgs>() { public SomeArgs newInstance() { return new SomeArgs(); } public void onAcquired(SomeArgs info) { /* do nothing */ } public void onReleased(SomeArgs info) { info.clear(); } }, POOL_SIZE) ); private class SomeArgs implements Poolable<SomeArgs> { private SomeArgs mNext; private boolean mIsPooled; public Object arg1; public Object arg2; public int argi1; public int argi2; public int argi3; public SomeArgs getNextPoolable() { return mNext; } public boolean isPooled() { return mIsPooled; } public void setNextPoolable(SomeArgs args) { mNext = args; } public void setPooled(boolean isPooled) { mIsPooled = isPooled; } private void clear() { arg1 = null; arg2 = null; argi1 = 0; argi2 = 0; argi3 = 0; } } private boolean isShown(View view) { // The first two checks are made also made by isShown() which // however traverses the tree up to the parent to catch that. Loading @@ -148,7 +91,7 @@ final class AccessibilityInteractionController { message.what = PrivateHandler.MSG_FIND_ACCESSIBLITY_NODE_INFO_BY_ACCESSIBILITY_ID; message.arg1 = flags; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); args.argi2 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); args.argi3 = interactionId; Loading Loading @@ -177,7 +120,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); List<AccessibilityNodeInfo> infos = mTempAccessibilityNodeInfoList; infos.clear(); Loading Loading @@ -216,7 +159,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = viewId; args.argi2 = interactionId; args.arg1 = callback; Loading Loading @@ -245,7 +188,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo info = null; try { Loading Loading @@ -284,7 +227,7 @@ final class AccessibilityInteractionController { message.what = PrivateHandler.MSG_FIND_ACCESSIBLITY_NODE_INFO_BY_TEXT; message.arg1 = flags; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.arg1 = text; args.arg2 = callback; args.argi1 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); Loading Loading @@ -315,7 +258,7 @@ final class AccessibilityInteractionController { final int accessibilityViewId = args.argi1; final int virtualDescendantId = args.argi2; final int interactionId = args.argi3; mPool.release(args); args.recycle(); List<AccessibilityNodeInfo> infos = null; try { Loading Loading @@ -383,7 +326,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = focusType; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = interactionId; args.argi2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); args.argi3 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); Loading Loading @@ -414,7 +357,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo focused = null; try { Loading Loading @@ -480,8 +423,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); args.argi1 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); SomeArgs args = SomeArgs.obtain(); args.argi2 = direction; args.argi3 = interactionId; args.arg1 = callback; Loading @@ -505,13 +447,12 @@ final class AccessibilityInteractionController { final int accessibilityViewId = message.arg2; SomeArgs args = (SomeArgs) message.obj; final int virtualDescendantId = args.argi1; final int direction = args.argi2; final int interactionId = args.argi3; final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo next = null; try { Loading Loading @@ -552,7 +493,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); args.argi2 = action; args.argi3 = interactionId; Loading Loading @@ -585,7 +526,7 @@ final class AccessibilityInteractionController { (IAccessibilityInteractionConnectionCallback) args.arg1; Bundle arguments = (Bundle) args.arg2; mPool.release(args); args.recycle(); boolean succeeded = false; try { Loading core/java/android/view/IWindow.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ oneway interface IWindow { */ void executeCommand(String command, String parameters, in ParcelFileDescriptor descriptor); void resized(int w, int h, in Rect contentInsets, void resized(in Rect frame, in Rect contentInsets, in Rect visibleInsets, boolean reportDraw, in Configuration newConfig); void moved(int newX, int newY); void dispatchAppVisibility(boolean visible); Loading Loading
core/java/android/inputmethodservice/IInputMethodSessionWrapper.java +9 −8 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.inputmethodservice; import com.android.internal.os.HandlerCaller; import com.android.internal.os.SomeArgs; import com.android.internal.view.IInputMethodCallback; import com.android.internal.view.IInputMethodSession; Loading Loading @@ -91,28 +92,28 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub (ExtractedText)msg.obj); return; case DO_DISPATCH_KEY_EVENT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.dispatchKeyEvent(msg.arg1, (KeyEvent)args.arg1, new InputMethodEventCallbackWrapper( (IInputMethodCallback)args.arg2)); mCaller.recycleArgs(args); args.recycle(); return; } case DO_DISPATCH_TRACKBALL_EVENT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.dispatchTrackballEvent(msg.arg1, (MotionEvent)args.arg1, new InputMethodEventCallbackWrapper( (IInputMethodCallback)args.arg2)); mCaller.recycleArgs(args); args.recycle(); return; } case DO_UPDATE_SELECTION: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.updateSelection(args.argi1, args.argi2, args.argi3, args.argi4, args.argi5, args.argi6); mCaller.recycleArgs(args); args.recycle(); return; } case DO_UPDATE_CURSOR: { Loading @@ -120,10 +121,10 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub return; } case DO_APP_PRIVATE_COMMAND: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; mInputMethodSession.appPrivateCommand((String)args.arg1, (Bundle)args.arg2); mCaller.recycleArgs(args); args.recycle(); return; } case DO_TOGGLE_SOFT_INPUT: { Loading
core/java/android/inputmethodservice/IInputMethodWrapper.java +7 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.inputmethodservice; import com.android.internal.os.HandlerCaller; import com.android.internal.os.SomeArgs; import com.android.internal.view.IInputContext; import com.android.internal.view.IInputMethod; import com.android.internal.view.IInputMethodCallback; Loading Loading @@ -124,7 +125,7 @@ class IInputMethodWrapper extends IInputMethod.Stub if (target == null) { return; } HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; try { target.dump((FileDescriptor)args.arg1, (PrintWriter)args.arg2, (String[])args.arg3); Loading @@ -134,6 +135,7 @@ class IInputMethodWrapper extends IInputMethod.Stub synchronized (args.arg4) { ((CountDownLatch)args.arg4).countDown(); } args.recycle(); return; } Loading @@ -149,23 +151,25 @@ class IInputMethodWrapper extends IInputMethod.Stub inputMethod.unbindInput(); return; case DO_START_INPUT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.startInput(ic, info); args.recycle(); return; } case DO_RESTART_INPUT: { HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.restartInput(ic, info); args.recycle(); return; } case DO_CREATE_SESSION: { Loading
core/java/android/service/wallpaper/WallpaperService.java +1 −1 Original line number Diff line number Diff line Loading @@ -255,7 +255,7 @@ public abstract class WallpaperService extends Service { final BaseIWindow mWindow = new BaseIWindow() { @Override public void resized(int w, int h, Rect contentInsets, public void resized(Rect frame, Rect contentInsets, Rect visibleInsets, boolean reportDraw, Configuration newConfig) { Message msg = mCaller.obtainMessageI(MSG_WINDOW_RESIZED, reportDraw ? 1 : 0); Loading
core/java/android/view/AccessibilityInteractionController.java +14 −73 Original line number Diff line number Diff line Loading @@ -25,16 +25,14 @@ import android.os.Looper; import android.os.Message; import android.os.Process; import android.os.RemoteException; import android.util.Pool; import android.util.Poolable; import android.util.PoolableManager; import android.util.Pools; import android.util.SparseLongArray; import android.view.accessibility.AccessibilityInteractionClient; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; import android.view.accessibility.IAccessibilityInteractionConnectionCallback; import com.android.internal.os.SomeArgs; import java.util.ArrayList; import java.util.HashMap; import java.util.List; Loading @@ -48,7 +46,6 @@ import java.util.Map; * UI thread. */ final class AccessibilityInteractionController { private static final int POOL_SIZE = 5; private ArrayList<AccessibilityNodeInfo> mTempAccessibilityNodeInfoList = new ArrayList<AccessibilityNodeInfo>(); Loading Loading @@ -76,60 +73,6 @@ final class AccessibilityInteractionController { mPrefetcher = new AccessibilityNodePrefetcher(); } // Reusable poolable arguments for interacting with the view hierarchy // to fit more arguments than Message and to avoid sharing objects between // two messages since several threads can send messages concurrently. private final Pool<SomeArgs> mPool = Pools.synchronizedPool(Pools.finitePool( new PoolableManager<SomeArgs>() { public SomeArgs newInstance() { return new SomeArgs(); } public void onAcquired(SomeArgs info) { /* do nothing */ } public void onReleased(SomeArgs info) { info.clear(); } }, POOL_SIZE) ); private class SomeArgs implements Poolable<SomeArgs> { private SomeArgs mNext; private boolean mIsPooled; public Object arg1; public Object arg2; public int argi1; public int argi2; public int argi3; public SomeArgs getNextPoolable() { return mNext; } public boolean isPooled() { return mIsPooled; } public void setNextPoolable(SomeArgs args) { mNext = args; } public void setPooled(boolean isPooled) { mIsPooled = isPooled; } private void clear() { arg1 = null; arg2 = null; argi1 = 0; argi2 = 0; argi3 = 0; } } private boolean isShown(View view) { // The first two checks are made also made by isShown() which // however traverses the tree up to the parent to catch that. Loading @@ -148,7 +91,7 @@ final class AccessibilityInteractionController { message.what = PrivateHandler.MSG_FIND_ACCESSIBLITY_NODE_INFO_BY_ACCESSIBILITY_ID; message.arg1 = flags; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); args.argi2 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); args.argi3 = interactionId; Loading Loading @@ -177,7 +120,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); List<AccessibilityNodeInfo> infos = mTempAccessibilityNodeInfoList; infos.clear(); Loading Loading @@ -216,7 +159,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = viewId; args.argi2 = interactionId; args.arg1 = callback; Loading Loading @@ -245,7 +188,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo info = null; try { Loading Loading @@ -284,7 +227,7 @@ final class AccessibilityInteractionController { message.what = PrivateHandler.MSG_FIND_ACCESSIBLITY_NODE_INFO_BY_TEXT; message.arg1 = flags; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.arg1 = text; args.arg2 = callback; args.argi1 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); Loading Loading @@ -315,7 +258,7 @@ final class AccessibilityInteractionController { final int accessibilityViewId = args.argi1; final int virtualDescendantId = args.argi2; final int interactionId = args.argi3; mPool.release(args); args.recycle(); List<AccessibilityNodeInfo> infos = null; try { Loading Loading @@ -383,7 +326,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = focusType; SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = interactionId; args.argi2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); args.argi3 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); Loading Loading @@ -414,7 +357,7 @@ final class AccessibilityInteractionController { final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo focused = null; try { Loading Loading @@ -480,8 +423,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); args.argi1 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); SomeArgs args = SomeArgs.obtain(); args.argi2 = direction; args.argi3 = interactionId; args.arg1 = callback; Loading @@ -505,13 +447,12 @@ final class AccessibilityInteractionController { final int accessibilityViewId = message.arg2; SomeArgs args = (SomeArgs) message.obj; final int virtualDescendantId = args.argi1; final int direction = args.argi2; final int interactionId = args.argi3; final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; mPool.release(args); args.recycle(); AccessibilityNodeInfo next = null; try { Loading Loading @@ -552,7 +493,7 @@ final class AccessibilityInteractionController { message.arg1 = flags; message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId); SomeArgs args = mPool.acquire(); SomeArgs args = SomeArgs.obtain(); args.argi1 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId); args.argi2 = action; args.argi3 = interactionId; Loading Loading @@ -585,7 +526,7 @@ final class AccessibilityInteractionController { (IAccessibilityInteractionConnectionCallback) args.arg1; Bundle arguments = (Bundle) args.arg2; mPool.release(args); args.recycle(); boolean succeeded = false; try { Loading
core/java/android/view/IWindow.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ oneway interface IWindow { */ void executeCommand(String command, String parameters, in ParcelFileDescriptor descriptor); void resized(int w, int h, in Rect contentInsets, void resized(in Rect frame, in Rect contentInsets, in Rect visibleInsets, boolean reportDraw, in Configuration newConfig); void moved(int newX, int newY); void dispatchAppVisibility(boolean visible); Loading