summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-10-04 12:41:41 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-04 12:41:41 -0700
commit8a2291952528303d284878468fe260ec41998db3 (patch)
treee6463af3aeebd650b327772aaf10e160e3a5e3a5 /core/java/android
parentc30b6da804483e65eddda059e971727e1c80b7bf (diff)
parent5fe7e2a3043d6a8ca933c77ccf95c791b57b221a (diff)
downloadframeworks_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.java27
-rw-r--r--core/java/android/app/IActivityManager.java3
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;
}