diff options
| author | Dianne Hackborn <hackbod@google.com> | 2012-10-04 12:41:41 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-04 12:41:41 -0700 |
| commit | 8a2291952528303d284878468fe260ec41998db3 (patch) | |
| tree | e6463af3aeebd650b327772aaf10e160e3a5e3a5 /core/java/android | |
| parent | c30b6da804483e65eddda059e971727e1c80b7bf (diff) | |
| parent | 5fe7e2a3043d6a8ca933c77ccf95c791b57b221a (diff) | |
| download | frameworks_base-8a2291952528303d284878468fe260ec41998db3.zip frameworks_base-8a2291952528303d284878468fe260ec41998db3.tar.gz frameworks_base-8a2291952528303d284878468fe260ec41998db3.tar.bz2 | |
Merge "Fix issue #6968859: home not exiting an ANR'd dream" into jb-mr1-dev
Diffstat (limited to 'core/java/android')
| -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; } |
