/*
 * This file is auto-generated.  DO NOT MODIFY.
 * Original file: /var/tmp/code-browser-generator/android_android_9.0.0_r358833596918674107602/combined/android/view/IWindowSession.aidl
 */
package android.view;
System private per-application interface to the window manager. {@hide}
/** * System private per-application interface to the window manager. * * {@hide} */
public interface IWindowSession extends android.os.IInterface {
Local-side IPC implementation stub class.
/** Local-side IPC implementation stub class. */
public static abstract class Stub extends android.os.Binder implements android.view.IWindowSession { private static final java.lang.String DESCRIPTOR = "android.view.IWindowSession";
Construct the stub at attach it to the interface.
/** Construct the stub at attach it to the interface. */
public Stub() { this.attachInterface(this, DESCRIPTOR); }
Cast an IBinder object into an android.view.IWindowSession interface, generating a proxy if needed.
/** * Cast an IBinder object into an android.view.IWindowSession interface, * generating a proxy if needed. */
public static android.view.IWindowSession asInterface(android.os.IBinder obj) { if ((obj==null)) { return null; } android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR); if (((iin!=null)&&(iin instanceof android.view.IWindowSession))) { return ((android.view.IWindowSession)iin); } return new android.view.IWindowSession.Stub.Proxy(obj); } @Override public android.os.IBinder asBinder() { return this; } @Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException { java.lang.String descriptor = DESCRIPTOR; switch (code) { case INTERFACE_TRANSACTION: { reply.writeString(descriptor); return true; } case TRANSACTION_add: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.WindowManager.LayoutParams _arg2; if ((0!=data.readInt())) { _arg2 = android.view.WindowManager.LayoutParams.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); android.graphics.Rect _arg4; _arg4 = new android.graphics.Rect(); android.graphics.Rect _arg5; _arg5 = new android.graphics.Rect(); android.view.InputChannel _arg6; _arg6 = new android.view.InputChannel(); int _result = this.add(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); reply.writeNoException(); reply.writeInt(_result); if ((_arg4!=null)) { reply.writeInt(1); _arg4.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg5!=null)) { reply.writeInt(1); _arg5.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg6!=null)) { reply.writeInt(1); _arg6.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_addToDisplay: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.WindowManager.LayoutParams _arg2; if ((0!=data.readInt())) { _arg2 = android.view.WindowManager.LayoutParams.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); int _arg4; _arg4 = data.readInt(); android.graphics.Rect _arg5; _arg5 = new android.graphics.Rect(); android.graphics.Rect _arg6; _arg6 = new android.graphics.Rect(); android.graphics.Rect _arg7; _arg7 = new android.graphics.Rect(); android.graphics.Rect _arg8; _arg8 = new android.graphics.Rect(); android.view.DisplayCutout.ParcelableWrapper _arg9; _arg9 = new android.view.DisplayCutout.ParcelableWrapper(); android.view.InputChannel _arg10; _arg10 = new android.view.InputChannel(); int _result = this.addToDisplay(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10); reply.writeNoException(); reply.writeInt(_result); if ((_arg5!=null)) { reply.writeInt(1); _arg5.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg6!=null)) { reply.writeInt(1); _arg6.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg7!=null)) { reply.writeInt(1); _arg7.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg8!=null)) { reply.writeInt(1); _arg8.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg9!=null)) { reply.writeInt(1); _arg9.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg10!=null)) { reply.writeInt(1); _arg10.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_addWithoutInputChannel: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.WindowManager.LayoutParams _arg2; if ((0!=data.readInt())) { _arg2 = android.view.WindowManager.LayoutParams.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); android.graphics.Rect _arg4; _arg4 = new android.graphics.Rect(); android.graphics.Rect _arg5; _arg5 = new android.graphics.Rect(); int _result = this.addWithoutInputChannel(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5); reply.writeNoException(); reply.writeInt(_result); if ((_arg4!=null)) { reply.writeInt(1); _arg4.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg5!=null)) { reply.writeInt(1); _arg5.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_addToDisplayWithoutInputChannel: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.WindowManager.LayoutParams _arg2; if ((0!=data.readInt())) { _arg2 = android.view.WindowManager.LayoutParams.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); int _arg4; _arg4 = data.readInt(); android.graphics.Rect _arg5; _arg5 = new android.graphics.Rect(); android.graphics.Rect _arg6; _arg6 = new android.graphics.Rect(); int _result = this.addToDisplayWithoutInputChannel(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); reply.writeNoException(); reply.writeInt(_result); if ((_arg5!=null)) { reply.writeInt(1); _arg5.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg6!=null)) { reply.writeInt(1); _arg6.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_remove: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); this.remove(_arg0); reply.writeNoException(); return true; } case TRANSACTION_relayout: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.WindowManager.LayoutParams _arg2; if ((0!=data.readInt())) { _arg2 = android.view.WindowManager.LayoutParams.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); int _arg4; _arg4 = data.readInt(); int _arg5; _arg5 = data.readInt(); int _arg6; _arg6 = data.readInt(); long _arg7; _arg7 = data.readLong(); android.graphics.Rect _arg8; _arg8 = new android.graphics.Rect(); android.graphics.Rect _arg9; _arg9 = new android.graphics.Rect(); android.graphics.Rect _arg10; _arg10 = new android.graphics.Rect(); android.graphics.Rect _arg11; _arg11 = new android.graphics.Rect(); android.graphics.Rect _arg12; _arg12 = new android.graphics.Rect(); android.graphics.Rect _arg13; _arg13 = new android.graphics.Rect(); android.graphics.Rect _arg14; _arg14 = new android.graphics.Rect(); android.view.DisplayCutout.ParcelableWrapper _arg15; _arg15 = new android.view.DisplayCutout.ParcelableWrapper(); android.util.MergedConfiguration _arg16; _arg16 = new android.util.MergedConfiguration(); android.view.Surface _arg17; _arg17 = new android.view.Surface(); int _result = this.relayout(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _arg13, _arg14, _arg15, _arg16, _arg17); reply.writeNoException(); reply.writeInt(_result); if ((_arg8!=null)) { reply.writeInt(1); _arg8.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg9!=null)) { reply.writeInt(1); _arg9.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg10!=null)) { reply.writeInt(1); _arg10.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg11!=null)) { reply.writeInt(1); _arg11.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg12!=null)) { reply.writeInt(1); _arg12.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg13!=null)) { reply.writeInt(1); _arg13.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg14!=null)) { reply.writeInt(1); _arg14.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg15!=null)) { reply.writeInt(1); _arg15.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg16!=null)) { reply.writeInt(1); _arg16.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } if ((_arg17!=null)) { reply.writeInt(1); _arg17.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_prepareToReplaceWindows: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); boolean _arg1; _arg1 = (0!=data.readInt()); this.prepareToReplaceWindows(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_outOfMemory: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); boolean _result = this.outOfMemory(_arg0); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_setTransparentRegion: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); android.graphics.Region _arg1; if ((0!=data.readInt())) { _arg1 = android.graphics.Region.CREATOR.createFromParcel(data); } else { _arg1 = null; } this.setTransparentRegion(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_setInsets: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.graphics.Rect _arg2; if ((0!=data.readInt())) { _arg2 = android.graphics.Rect.CREATOR.createFromParcel(data); } else { _arg2 = null; } android.graphics.Rect _arg3; if ((0!=data.readInt())) { _arg3 = android.graphics.Rect.CREATOR.createFromParcel(data); } else { _arg3 = null; } android.graphics.Region _arg4; if ((0!=data.readInt())) { _arg4 = android.graphics.Region.CREATOR.createFromParcel(data); } else { _arg4 = null; } this.setInsets(_arg0, _arg1, _arg2, _arg3, _arg4); reply.writeNoException(); return true; } case TRANSACTION_getDisplayFrame: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); android.graphics.Rect _arg1; _arg1 = new android.graphics.Rect(); this.getDisplayFrame(_arg0, _arg1); reply.writeNoException(); if ((_arg1!=null)) { reply.writeInt(1); _arg1.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_finishDrawing: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); this.finishDrawing(_arg0); reply.writeNoException(); return true; } case TRANSACTION_setInTouchMode: { data.enforceInterface(descriptor); boolean _arg0; _arg0 = (0!=data.readInt()); this.setInTouchMode(_arg0); reply.writeNoException(); return true; } case TRANSACTION_getInTouchMode: { data.enforceInterface(descriptor); boolean _result = this.getInTouchMode(); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_performHapticFeedback: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); boolean _arg2; _arg2 = (0!=data.readInt()); boolean _result = this.performHapticFeedback(_arg0, _arg1, _arg2); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_performDrag: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); android.view.SurfaceControl _arg2; if ((0!=data.readInt())) { _arg2 = android.view.SurfaceControl.CREATOR.createFromParcel(data); } else { _arg2 = null; } int _arg3; _arg3 = data.readInt(); float _arg4; _arg4 = data.readFloat(); float _arg5; _arg5 = data.readFloat(); float _arg6; _arg6 = data.readFloat(); float _arg7; _arg7 = data.readFloat(); android.content.ClipData _arg8; if ((0!=data.readInt())) { _arg8 = android.content.ClipData.CREATOR.createFromParcel(data); } else { _arg8 = null; } android.os.IBinder _result = this.performDrag(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); reply.writeNoException(); reply.writeStrongBinder(_result); return true; } case TRANSACTION_reportDropResult: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); boolean _arg1; _arg1 = (0!=data.readInt()); this.reportDropResult(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_cancelDragAndDrop: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); this.cancelDragAndDrop(_arg0); reply.writeNoException(); return true; } case TRANSACTION_dragRecipientEntered: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); this.dragRecipientEntered(_arg0); reply.writeNoException(); return true; } case TRANSACTION_dragRecipientExited: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); this.dragRecipientExited(_arg0); reply.writeNoException(); return true; } case TRANSACTION_setWallpaperPosition: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); float _arg1; _arg1 = data.readFloat(); float _arg2; _arg2 = data.readFloat(); float _arg3; _arg3 = data.readFloat(); float _arg4; _arg4 = data.readFloat(); this.setWallpaperPosition(_arg0, _arg1, _arg2, _arg3, _arg4); reply.writeNoException(); return true; } case TRANSACTION_wallpaperOffsetsComplete: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); this.wallpaperOffsetsComplete(_arg0); reply.writeNoException(); return true; } case TRANSACTION_setWallpaperDisplayOffset: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); this.setWallpaperDisplayOffset(_arg0, _arg1, _arg2); reply.writeNoException(); return true; } case TRANSACTION_sendWallpaperCommand: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); java.lang.String _arg1; _arg1 = data.readString(); int _arg2; _arg2 = data.readInt(); int _arg3; _arg3 = data.readInt(); int _arg4; _arg4 = data.readInt(); android.os.Bundle _arg5; if ((0!=data.readInt())) { _arg5 = android.os.Bundle.CREATOR.createFromParcel(data); } else { _arg5 = null; } boolean _arg6; _arg6 = (0!=data.readInt()); android.os.Bundle _result = this.sendWallpaperCommand(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_wallpaperCommandComplete: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); android.os.Bundle _arg1; if ((0!=data.readInt())) { _arg1 = android.os.Bundle.CREATOR.createFromParcel(data); } else { _arg1 = null; } this.wallpaperCommandComplete(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_onRectangleOnScreenRequested: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); android.graphics.Rect _arg1; if ((0!=data.readInt())) { _arg1 = android.graphics.Rect.CREATOR.createFromParcel(data); } else { _arg1 = null; } this.onRectangleOnScreenRequested(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_getWindowId: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); android.view.IWindowId _result = this.getWindowId(_arg0); reply.writeNoException(); reply.writeStrongBinder((((_result!=null))?(_result.asBinder()):(null))); return true; } case TRANSACTION_pokeDrawLock: { data.enforceInterface(descriptor); android.os.IBinder _arg0; _arg0 = data.readStrongBinder(); this.pokeDrawLock(_arg0); reply.writeNoException(); return true; } case TRANSACTION_startMovingTask: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); float _arg1; _arg1 = data.readFloat(); float _arg2; _arg2 = data.readFloat(); boolean _result = this.startMovingTask(_arg0, _arg1, _arg2); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_updatePointerIcon: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); this.updatePointerIcon(_arg0); reply.writeNoException(); return true; } case TRANSACTION_updateTapExcludeRegion: { data.enforceInterface(descriptor); android.view.IWindow _arg0; _arg0 = android.view.IWindow.Stub.asInterface(data.readStrongBinder()); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); int _arg3; _arg3 = data.readInt(); int _arg4; _arg4 = data.readInt(); int _arg5; _arg5 = data.readInt(); this.updateTapExcludeRegion(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5); reply.writeNoException(); return true; } default: { return super.onTransact(code, data, reply, flags); } } } private static class Proxy implements android.view.IWindowSession { private android.os.IBinder mRemote; Proxy(android.os.IBinder remote) { mRemote = remote; } @Override public android.os.IBinder asBinder() { return mRemote; } public java.lang.String getInterfaceDescriptor() { return DESCRIPTOR; } @Override public int add(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets, android.view.InputChannel outInputChannel) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(seq); if ((attrs!=null)) { _data.writeInt(1); attrs.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(viewVisibility); mRemote.transact(Stub.TRANSACTION_add, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); if ((0!=_reply.readInt())) { outContentInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outStableInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outInputChannel.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int addToDisplay(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, int layerStackId, android.graphics.Rect outFrame, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets, android.graphics.Rect outOutsets, android.view.DisplayCutout.ParcelableWrapper displayCutout, android.view.InputChannel outInputChannel) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(seq); if ((attrs!=null)) { _data.writeInt(1); attrs.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(viewVisibility); _data.writeInt(layerStackId); mRemote.transact(Stub.TRANSACTION_addToDisplay, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); if ((0!=_reply.readInt())) { outFrame.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outContentInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outStableInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outOutsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { displayCutout.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outInputChannel.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int addWithoutInputChannel(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(seq); if ((attrs!=null)) { _data.writeInt(1); attrs.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(viewVisibility); mRemote.transact(Stub.TRANSACTION_addWithoutInputChannel, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); if ((0!=_reply.readInt())) { outContentInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outStableInsets.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int addToDisplayWithoutInputChannel(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, int layerStackId, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(seq); if ((attrs!=null)) { _data.writeInt(1); attrs.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(viewVisibility); _data.writeInt(layerStackId); mRemote.transact(Stub.TRANSACTION_addToDisplayWithoutInputChannel, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); if ((0!=_reply.readInt())) { outContentInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outStableInsets.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void remove(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_remove, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public int relayout(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int requestedWidth, int requestedHeight, int viewVisibility, int flags, long frameNumber, android.graphics.Rect outFrame, android.graphics.Rect outOverscanInsets, android.graphics.Rect outContentInsets, android.graphics.Rect outVisibleInsets, android.graphics.Rect outStableInsets, android.graphics.Rect outOutsets, android.graphics.Rect outBackdropFrame, android.view.DisplayCutout.ParcelableWrapper displayCutout, android.util.MergedConfiguration outMergedConfiguration, android.view.Surface outSurface) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(seq); if ((attrs!=null)) { _data.writeInt(1); attrs.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(requestedWidth); _data.writeInt(requestedHeight); _data.writeInt(viewVisibility); _data.writeInt(flags); _data.writeLong(frameNumber); mRemote.transact(Stub.TRANSACTION_relayout, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); if ((0!=_reply.readInt())) { outFrame.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outOverscanInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outContentInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outVisibleInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outStableInsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outOutsets.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outBackdropFrame.readFromParcel(_reply); } if ((0!=_reply.readInt())) { displayCutout.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outMergedConfiguration.readFromParcel(_reply); } if ((0!=_reply.readInt())) { outSurface.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } return _result; } /* * Notify the window manager that an application is relaunching and * windows should be prepared for replacement. * * @param appToken The application * @param childrenOnly Whether to only prepare child windows for replacement * (for example when main windows are being reused via preservation). */ @Override public void prepareToReplaceWindows(android.os.IBinder appToken, boolean childrenOnly) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(appToken); _data.writeInt(((childrenOnly)?(1):(0))); mRemote.transact(Stub.TRANSACTION_prepareToReplaceWindows, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Called by a client to report that it ran out of graphics memory.
/** * Called by a client to report that it ran out of graphics memory. */
@Override public boolean outOfMemory(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_outOfMemory, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Give the window manager a hint of the part of the window that is completely transparent, allowing it to work with the surface flinger to optimize compositing of this part of the window.
/** * Give the window manager a hint of the part of the window that is * completely transparent, allowing it to work with the surface flinger * to optimize compositing of this part of the window. */
@Override public void setTransparentRegion(android.view.IWindow window, android.graphics.Region region) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); if ((region!=null)) { _data.writeInt(1); region.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_setTransparentRegion, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Tell the window manager about the content and visible insets of the given window, which can be used to adjust the outContentInsets and outVisibleInsets values returned by relayout() for windows behind this one.
Params:
  • touchableInsets – Controls which part of the window inside of its frame can receive pointer events, as defined by InternalInsetsInfo.
/** * Tell the window manager about the content and visible insets of the * given window, which can be used to adjust the <var>outContentInsets</var> * and <var>outVisibleInsets</var> values returned by * {@link #relayout relayout()} for windows behind this one. * * @param touchableInsets Controls which part of the window inside of its * frame can receive pointer events, as defined by * {@link android.view.ViewTreeObserver.InternalInsetsInfo}. */
@Override public void setInsets(android.view.IWindow window, int touchableInsets, android.graphics.Rect contentInsets, android.graphics.Rect visibleInsets, android.graphics.Region touchableRegion) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(touchableInsets); if ((contentInsets!=null)) { _data.writeInt(1); contentInsets.writeToParcel(_data, 0); } else { _data.writeInt(0); } if ((visibleInsets!=null)) { _data.writeInt(1); visibleInsets.writeToParcel(_data, 0); } else { _data.writeInt(0); } if ((touchableRegion!=null)) { _data.writeInt(1); touchableRegion.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_setInsets, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Return the current display size in which the window is being laid out, accounting for screen decorations around it.
/** * Return the current display size in which the window is being laid out, * accounting for screen decorations around it. */
@Override public void getDisplayFrame(android.view.IWindow window, android.graphics.Rect outDisplayFrame) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_getDisplayFrame, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { outDisplayFrame.readFromParcel(_reply); } } finally { _reply.recycle(); _data.recycle(); } } @Override public void finishDrawing(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_finishDrawing, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void setInTouchMode(boolean showFocus) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(((showFocus)?(1):(0))); mRemote.transact(Stub.TRANSACTION_setInTouchMode, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public boolean getInTouchMode() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getInTouchMode, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public boolean performHapticFeedback(android.view.IWindow window, int effectId, boolean always) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(effectId); _data.writeInt(((always)?(1):(0))); mRemote.transact(Stub.TRANSACTION_performHapticFeedback, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Initiate the drag operation itself
Params:
  • window – Window which initiates drag operation.
  • flags – See View#startDragAndDrop
  • surface – Surface containing drag shadow image
  • touchSource – See InputDevice#getSource()
  • touchX – X coordinate of last touch point
  • touchY – Y coordinate of last touch point
  • thumbCenterX – X coordinate for the position within the shadow image that should be underneath the touch point during the drag and drop operation.
  • thumbCenterY – Y coordinate for the position within the shadow image that should be underneath the touch point during the drag and drop operation.
  • data – Data transferred by drag and drop
Returns:Token of drag operation which will be passed to cancelDragAndDrop.
/** * Initiate the drag operation itself * * @param window Window which initiates drag operation. * @param flags See {@code View#startDragAndDrop} * @param surface Surface containing drag shadow image * @param touchSource See {@code InputDevice#getSource()} * @param touchX X coordinate of last touch point * @param touchY Y coordinate of last touch point * @param thumbCenterX X coordinate for the position within the shadow image that should be * underneath the touch point during the drag and drop operation. * @param thumbCenterY Y coordinate for the position within the shadow image that should be * underneath the touch point during the drag and drop operation. * @param data Data transferred by drag and drop * @return Token of drag operation which will be passed to cancelDragAndDrop. */
@Override public android.os.IBinder performDrag(android.view.IWindow window, int flags, android.view.SurfaceControl surface, int touchSource, float touchX, float touchY, float thumbCenterX, float thumbCenterY, android.content.ClipData data) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.IBinder _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(flags); if ((surface!=null)) { _data.writeInt(1); surface.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(touchSource); _data.writeFloat(touchX); _data.writeFloat(touchY); _data.writeFloat(thumbCenterX); _data.writeFloat(thumbCenterY); if ((data!=null)) { _data.writeInt(1); data.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_performDrag, _data, _reply, 0); _reply.readException(); _result = _reply.readStrongBinder(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Report the result of a drop action targeted to the given window. consumed is 'true' when the drop was accepted by a valid recipient, 'false' otherwise.
/** * Report the result of a drop action targeted to the given window. * consumed is 'true' when the drop was accepted by a valid recipient, * 'false' otherwise. */
@Override public void reportDropResult(android.view.IWindow window, boolean consumed) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(((consumed)?(1):(0))); mRemote.transact(Stub.TRANSACTION_reportDropResult, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Cancel the current drag operation.
/** * Cancel the current drag operation. */
@Override public void cancelDragAndDrop(android.os.IBinder dragToken) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(dragToken); mRemote.transact(Stub.TRANSACTION_cancelDragAndDrop, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Tell the OS that we've just dragged into a View that is willing to accept the drop
/** * Tell the OS that we've just dragged into a View that is willing to accept the drop */
@Override public void dragRecipientEntered(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_dragRecipientEntered, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Tell the OS that we've just dragged *off* of a View that was willing to accept the drop
/** * Tell the OS that we've just dragged *off* of a View that was willing to accept the drop */
@Override public void dragRecipientExited(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_dragRecipientExited, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
For windows with the wallpaper behind them, and the wallpaper is larger than the screen, set the offset within the screen. For multi screen launcher type applications, xstep and ystep indicate how big the increment is from one screen to another.
/** * For windows with the wallpaper behind them, and the wallpaper is * larger than the screen, set the offset within the screen. * For multi screen launcher type applications, xstep and ystep indicate * how big the increment is from one screen to another. */
@Override public void setWallpaperPosition(android.os.IBinder windowToken, float x, float y, float xstep, float ystep) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(windowToken); _data.writeFloat(x); _data.writeFloat(y); _data.writeFloat(xstep); _data.writeFloat(ystep); mRemote.transact(Stub.TRANSACTION_setWallpaperPosition, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void wallpaperOffsetsComplete(android.os.IBinder window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(window); mRemote.transact(Stub.TRANSACTION_wallpaperOffsetsComplete, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Apply a raw offset to the wallpaper service when shown behind this window.
/** * Apply a raw offset to the wallpaper service when shown behind this window. */
@Override public void setWallpaperDisplayOffset(android.os.IBinder windowToken, int x, int y) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(windowToken); _data.writeInt(x); _data.writeInt(y); mRemote.transact(Stub.TRANSACTION_setWallpaperDisplayOffset, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public android.os.Bundle sendWallpaperCommand(android.os.IBinder window, java.lang.String action, int x, int y, int z, android.os.Bundle extras, boolean sync) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.Bundle _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(window); _data.writeString(action); _data.writeInt(x); _data.writeInt(y); _data.writeInt(z); if ((extras!=null)) { _data.writeInt(1); extras.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeInt(((sync)?(1):(0))); mRemote.transact(Stub.TRANSACTION_sendWallpaperCommand, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = android.os.Bundle.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void wallpaperCommandComplete(android.os.IBinder window, android.os.Bundle result) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(window); if ((result!=null)) { _data.writeInt(1); result.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_wallpaperCommandComplete, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Notifies that a rectangle on the screen has been requested.
/** * Notifies that a rectangle on the screen has been requested. */
@Override public void onRectangleOnScreenRequested(android.os.IBinder token, android.graphics.Rect rectangle) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(token); if ((rectangle!=null)) { _data.writeInt(1); rectangle.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_onRectangleOnScreenRequested, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public android.view.IWindowId getWindowId(android.os.IBinder window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.view.IWindowId _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(window); mRemote.transact(Stub.TRANSACTION_getWindowId, _data, _reply, 0); _reply.readException(); _result = android.view.IWindowId.Stub.asInterface(_reply.readStrongBinder()); } finally { _reply.recycle(); _data.recycle(); } return _result; }
When the system is dozing in a low-power partially suspended state, pokes a short lived wake lock and ensures that the display is ready to accept the next frame of content drawn in the window. This mechanism is bound to the window rather than to the display manager or the power manager so that the system can ensure that the window is actually visible and prevent runaway applications from draining the battery. This is similar to how FLAG_KEEP_SCREEN_ON works. This method is synchronous because it may need to acquire a wake lock before returning. The assumption is that this method will be called rather infrequently.
/** * When the system is dozing in a low-power partially suspended state, pokes a short * lived wake lock and ensures that the display is ready to accept the next frame * of content drawn in the window. * * This mechanism is bound to the window rather than to the display manager or the * power manager so that the system can ensure that the window is actually visible * and prevent runaway applications from draining the battery. This is similar to how * FLAG_KEEP_SCREEN_ON works. * * This method is synchronous because it may need to acquire a wake lock before returning. * The assumption is that this method will be called rather infrequently. */
@Override public void pokeDrawLock(android.os.IBinder window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder(window); mRemote.transact(Stub.TRANSACTION_pokeDrawLock, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Starts a task window move with {startX, startY} as starting point. The amount of move will be the offset between {startX, startY} and the new cursor position. Returns true if the move started successfully; false otherwise.
/** * Starts a task window move with {startX, startY} as starting point. The amount of move * will be the offset between {startX, startY} and the new cursor position. * * Returns true if the move started successfully; false otherwise. */
@Override public boolean startMovingTask(android.view.IWindow window, float startX, float startY) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeFloat(startX); _data.writeFloat(startY); mRemote.transact(Stub.TRANSACTION_startMovingTask, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void updatePointerIcon(android.view.IWindow window) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_updatePointerIcon, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Update a tap exclude region with a rectangular area identified by provided id in the window. Touches on this region will not switch focus to this window. Passing an empty rect will remove the area from the exclude region of this window.
/** * Update a tap exclude region with a rectangular area identified by provided id in the window. * Touches on this region will not switch focus to this window. Passing an empty rect will * remove the area from the exclude region of this window. */
@Override public void updateTapExcludeRegion(android.view.IWindow window, int regionId, int left, int top, int width, int height) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((window!=null))?(window.asBinder()):(null))); _data.writeInt(regionId); _data.writeInt(left); _data.writeInt(top); _data.writeInt(width); _data.writeInt(height); mRemote.transact(Stub.TRANSACTION_updateTapExcludeRegion, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } } static final int TRANSACTION_add = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0); static final int TRANSACTION_addToDisplay = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1); static final int TRANSACTION_addWithoutInputChannel = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2); static final int TRANSACTION_addToDisplayWithoutInputChannel = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3); static final int TRANSACTION_remove = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4); static final int TRANSACTION_relayout = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5); static final int TRANSACTION_prepareToReplaceWindows = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6); static final int TRANSACTION_outOfMemory = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7); static final int TRANSACTION_setTransparentRegion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8); static final int TRANSACTION_setInsets = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9); static final int TRANSACTION_getDisplayFrame = (android.os.IBinder.FIRST_CALL_TRANSACTION + 10); static final int TRANSACTION_finishDrawing = (android.os.IBinder.FIRST_CALL_TRANSACTION + 11); static final int TRANSACTION_setInTouchMode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 12); static final int TRANSACTION_getInTouchMode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 13); static final int TRANSACTION_performHapticFeedback = (android.os.IBinder.FIRST_CALL_TRANSACTION + 14); static final int TRANSACTION_performDrag = (android.os.IBinder.FIRST_CALL_TRANSACTION + 15); static final int TRANSACTION_reportDropResult = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16); static final int TRANSACTION_cancelDragAndDrop = (android.os.IBinder.FIRST_CALL_TRANSACTION + 17); static final int TRANSACTION_dragRecipientEntered = (android.os.IBinder.FIRST_CALL_TRANSACTION + 18); static final int TRANSACTION_dragRecipientExited = (android.os.IBinder.FIRST_CALL_TRANSACTION + 19); static final int TRANSACTION_setWallpaperPosition = (android.os.IBinder.FIRST_CALL_TRANSACTION + 20); static final int TRANSACTION_wallpaperOffsetsComplete = (android.os.IBinder.FIRST_CALL_TRANSACTION + 21); static final int TRANSACTION_setWallpaperDisplayOffset = (android.os.IBinder.FIRST_CALL_TRANSACTION + 22); static final int TRANSACTION_sendWallpaperCommand = (android.os.IBinder.FIRST_CALL_TRANSACTION + 23); static final int TRANSACTION_wallpaperCommandComplete = (android.os.IBinder.FIRST_CALL_TRANSACTION + 24); static final int TRANSACTION_onRectangleOnScreenRequested = (android.os.IBinder.FIRST_CALL_TRANSACTION + 25); static final int TRANSACTION_getWindowId = (android.os.IBinder.FIRST_CALL_TRANSACTION + 26); static final int TRANSACTION_pokeDrawLock = (android.os.IBinder.FIRST_CALL_TRANSACTION + 27); static final int TRANSACTION_startMovingTask = (android.os.IBinder.FIRST_CALL_TRANSACTION + 28); static final int TRANSACTION_updatePointerIcon = (android.os.IBinder.FIRST_CALL_TRANSACTION + 29); static final int TRANSACTION_updateTapExcludeRegion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 30); } public int add(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets, android.view.InputChannel outInputChannel) throws android.os.RemoteException; public int addToDisplay(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, int layerStackId, android.graphics.Rect outFrame, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets, android.graphics.Rect outOutsets, android.view.DisplayCutout.ParcelableWrapper displayCutout, android.view.InputChannel outInputChannel) throws android.os.RemoteException; public int addWithoutInputChannel(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets) throws android.os.RemoteException; public int addToDisplayWithoutInputChannel(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int viewVisibility, int layerStackId, android.graphics.Rect outContentInsets, android.graphics.Rect outStableInsets) throws android.os.RemoteException; public void remove(android.view.IWindow window) throws android.os.RemoteException; public int relayout(android.view.IWindow window, int seq, android.view.WindowManager.LayoutParams attrs, int requestedWidth, int requestedHeight, int viewVisibility, int flags, long frameNumber, android.graphics.Rect outFrame, android.graphics.Rect outOverscanInsets, android.graphics.Rect outContentInsets, android.graphics.Rect outVisibleInsets, android.graphics.Rect outStableInsets, android.graphics.Rect outOutsets, android.graphics.Rect outBackdropFrame, android.view.DisplayCutout.ParcelableWrapper displayCutout, android.util.MergedConfiguration outMergedConfiguration, android.view.Surface outSurface) throws android.os.RemoteException; /* * Notify the window manager that an application is relaunching and * windows should be prepared for replacement. * * @param appToken The application * @param childrenOnly Whether to only prepare child windows for replacement * (for example when main windows are being reused via preservation). */ public void prepareToReplaceWindows(android.os.IBinder appToken, boolean childrenOnly) throws android.os.RemoteException;
Called by a client to report that it ran out of graphics memory.
/** * Called by a client to report that it ran out of graphics memory. */
public boolean outOfMemory(android.view.IWindow window) throws android.os.RemoteException;
Give the window manager a hint of the part of the window that is completely transparent, allowing it to work with the surface flinger to optimize compositing of this part of the window.
/** * Give the window manager a hint of the part of the window that is * completely transparent, allowing it to work with the surface flinger * to optimize compositing of this part of the window. */
public void setTransparentRegion(android.view.IWindow window, android.graphics.Region region) throws android.os.RemoteException;
Tell the window manager about the content and visible insets of the given window, which can be used to adjust the outContentInsets and outVisibleInsets values returned by relayout() for windows behind this one.
Params:
  • touchableInsets – Controls which part of the window inside of its frame can receive pointer events, as defined by InternalInsetsInfo.
/** * Tell the window manager about the content and visible insets of the * given window, which can be used to adjust the <var>outContentInsets</var> * and <var>outVisibleInsets</var> values returned by * {@link #relayout relayout()} for windows behind this one. * * @param touchableInsets Controls which part of the window inside of its * frame can receive pointer events, as defined by * {@link android.view.ViewTreeObserver.InternalInsetsInfo}. */
public void setInsets(android.view.IWindow window, int touchableInsets, android.graphics.Rect contentInsets, android.graphics.Rect visibleInsets, android.graphics.Region touchableRegion) throws android.os.RemoteException;
Return the current display size in which the window is being laid out, accounting for screen decorations around it.
/** * Return the current display size in which the window is being laid out, * accounting for screen decorations around it. */
public void getDisplayFrame(android.view.IWindow window, android.graphics.Rect outDisplayFrame) throws android.os.RemoteException; public void finishDrawing(android.view.IWindow window) throws android.os.RemoteException; public void setInTouchMode(boolean showFocus) throws android.os.RemoteException; public boolean getInTouchMode() throws android.os.RemoteException; public boolean performHapticFeedback(android.view.IWindow window, int effectId, boolean always) throws android.os.RemoteException;
Initiate the drag operation itself
Params:
  • window – Window which initiates drag operation.
  • flags – See View#startDragAndDrop
  • surface – Surface containing drag shadow image
  • touchSource – See InputDevice#getSource()
  • touchX – X coordinate of last touch point
  • touchY – Y coordinate of last touch point
  • thumbCenterX – X coordinate for the position within the shadow image that should be underneath the touch point during the drag and drop operation.
  • thumbCenterY – Y coordinate for the position within the shadow image that should be underneath the touch point during the drag and drop operation.
  • data – Data transferred by drag and drop
Returns:Token of drag operation which will be passed to cancelDragAndDrop.
/** * Initiate the drag operation itself * * @param window Window which initiates drag operation. * @param flags See {@code View#startDragAndDrop} * @param surface Surface containing drag shadow image * @param touchSource See {@code InputDevice#getSource()} * @param touchX X coordinate of last touch point * @param touchY Y coordinate of last touch point * @param thumbCenterX X coordinate for the position within the shadow image that should be * underneath the touch point during the drag and drop operation. * @param thumbCenterY Y coordinate for the position within the shadow image that should be * underneath the touch point during the drag and drop operation. * @param data Data transferred by drag and drop * @return Token of drag operation which will be passed to cancelDragAndDrop. */
public android.os.IBinder performDrag(android.view.IWindow window, int flags, android.view.SurfaceControl surface, int touchSource, float touchX, float touchY, float thumbCenterX, float thumbCenterY, android.content.ClipData data) throws android.os.RemoteException;
Report the result of a drop action targeted to the given window. consumed is 'true' when the drop was accepted by a valid recipient, 'false' otherwise.
/** * Report the result of a drop action targeted to the given window. * consumed is 'true' when the drop was accepted by a valid recipient, * 'false' otherwise. */
public void reportDropResult(android.view.IWindow window, boolean consumed) throws android.os.RemoteException;
Cancel the current drag operation.
/** * Cancel the current drag operation. */
public void cancelDragAndDrop(android.os.IBinder dragToken) throws android.os.RemoteException;
Tell the OS that we've just dragged into a View that is willing to accept the drop
/** * Tell the OS that we've just dragged into a View that is willing to accept the drop */
public void dragRecipientEntered(android.view.IWindow window) throws android.os.RemoteException;
Tell the OS that we've just dragged *off* of a View that was willing to accept the drop
/** * Tell the OS that we've just dragged *off* of a View that was willing to accept the drop */
public void dragRecipientExited(android.view.IWindow window) throws android.os.RemoteException;
For windows with the wallpaper behind them, and the wallpaper is larger than the screen, set the offset within the screen. For multi screen launcher type applications, xstep and ystep indicate how big the increment is from one screen to another.
/** * For windows with the wallpaper behind them, and the wallpaper is * larger than the screen, set the offset within the screen. * For multi screen launcher type applications, xstep and ystep indicate * how big the increment is from one screen to another. */
public void setWallpaperPosition(android.os.IBinder windowToken, float x, float y, float xstep, float ystep) throws android.os.RemoteException; public void wallpaperOffsetsComplete(android.os.IBinder window) throws android.os.RemoteException;
Apply a raw offset to the wallpaper service when shown behind this window.
/** * Apply a raw offset to the wallpaper service when shown behind this window. */
public void setWallpaperDisplayOffset(android.os.IBinder windowToken, int x, int y) throws android.os.RemoteException; public android.os.Bundle sendWallpaperCommand(android.os.IBinder window, java.lang.String action, int x, int y, int z, android.os.Bundle extras, boolean sync) throws android.os.RemoteException; public void wallpaperCommandComplete(android.os.IBinder window, android.os.Bundle result) throws android.os.RemoteException;
Notifies that a rectangle on the screen has been requested.
/** * Notifies that a rectangle on the screen has been requested. */
public void onRectangleOnScreenRequested(android.os.IBinder token, android.graphics.Rect rectangle) throws android.os.RemoteException; public android.view.IWindowId getWindowId(android.os.IBinder window) throws android.os.RemoteException;
When the system is dozing in a low-power partially suspended state, pokes a short lived wake lock and ensures that the display is ready to accept the next frame of content drawn in the window. This mechanism is bound to the window rather than to the display manager or the power manager so that the system can ensure that the window is actually visible and prevent runaway applications from draining the battery. This is similar to how FLAG_KEEP_SCREEN_ON works. This method is synchronous because it may need to acquire a wake lock before returning. The assumption is that this method will be called rather infrequently.
/** * When the system is dozing in a low-power partially suspended state, pokes a short * lived wake lock and ensures that the display is ready to accept the next frame * of content drawn in the window. * * This mechanism is bound to the window rather than to the display manager or the * power manager so that the system can ensure that the window is actually visible * and prevent runaway applications from draining the battery. This is similar to how * FLAG_KEEP_SCREEN_ON works. * * This method is synchronous because it may need to acquire a wake lock before returning. * The assumption is that this method will be called rather infrequently. */
public void pokeDrawLock(android.os.IBinder window) throws android.os.RemoteException;
Starts a task window move with {startX, startY} as starting point. The amount of move will be the offset between {startX, startY} and the new cursor position. Returns true if the move started successfully; false otherwise.
/** * Starts a task window move with {startX, startY} as starting point. The amount of move * will be the offset between {startX, startY} and the new cursor position. * * Returns true if the move started successfully; false otherwise. */
public boolean startMovingTask(android.view.IWindow window, float startX, float startY) throws android.os.RemoteException; public void updatePointerIcon(android.view.IWindow window) throws android.os.RemoteException;
Update a tap exclude region with a rectangular area identified by provided id in the window. Touches on this region will not switch focus to this window. Passing an empty rect will remove the area from the exclude region of this window.
/** * Update a tap exclude region with a rectangular area identified by provided id in the window. * Touches on this region will not switch focus to this window. Passing an empty rect will * remove the area from the exclude region of this window. */
public void updateTapExcludeRegion(android.view.IWindow window, int regionId, int left, int top, int width, int height) throws android.os.RemoteException; }