diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ActivityManagerNative.java | 27 | ||||
| -rw-r--r-- | core/java/android/app/IActivityManager.java | 3 |
2 files changed, 30 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 83acb4d..bb62c9e 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -1772,6 +1772,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM IUserSwitchObserver observer = IUserSwitchObserver.Stub.asInterface( data.readStrongBinder()); registerUserSwitchObserver(observer); + reply.writeNoException(); return true; } @@ -1780,12 +1781,24 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM IUserSwitchObserver observer = IUserSwitchObserver.Stub.asInterface( data.readStrongBinder()); unregisterUserSwitchObserver(observer); + reply.writeNoException(); return true; } case REQUEST_BUG_REPORT_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); requestBugReport(); + reply.writeNoException(); + return true; + } + + case INPUT_DISPATCHING_TIMED_OUT_TRANSACTION: { + data.enforceInterface(IActivityManager.descriptor); + int pid = data.readInt(); + boolean aboveSystem = data.readInt() != 0; + long res = inputDispatchingTimedOut(pid, aboveSystem); + reply.writeNoException(); + reply.writeLong(res); return true; } @@ -4082,5 +4095,19 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } + public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException { + Parcel data = Parcel.obtain(); + Parcel reply = Parcel.obtain(); + data.writeInterfaceToken(IActivityManager.descriptor); + data.writeInt(pid); + data.writeInt(aboveSystem ? 1 : 0); + mRemote.transact(INPUT_DISPATCHING_TIMED_OUT_TRANSACTION, data, reply, 0); + reply.readException(); + long res = reply.readInt(); + data.recycle(); + reply.recycle(); + return res; + } + private IBinder mRemote; } diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index 3124671..da844ef 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -363,6 +363,8 @@ public interface IActivityManager extends IInterface { public void requestBugReport() throws RemoteException; + public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException; + /* * Private non-Binder interfaces */ @@ -616,4 +618,5 @@ public interface IActivityManager extends IInterface { int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155; int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156; int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157; + int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; } |
