diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-03-02 21:32:58 -0800 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2011-03-02 22:38:58 -0800 |
commit | 648251710162cdaf7371012a1cbb79b9bc5bc0e4 (patch) | |
tree | a98c62fcd2391c1dfa2623f899346de0a7619fe9 /core/java/android/app | |
parent | cbf9cb35bb7064f303c6dd9da4485cd5344b6779 (diff) | |
download | frameworks_base-648251710162cdaf7371012a1cbb79b9bc5bc0e4.zip frameworks_base-648251710162cdaf7371012a1cbb79b9bc5bc0e4.tar.gz frameworks_base-648251710162cdaf7371012a1cbb79b9bc5bc0e4.tar.bz2 |
Fix issue #3485923: Gmail crash
Allow application to try to recover if a surface OOM error
happens on the client side.
Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
Diffstat (limited to 'core/java/android/app')
-rw-r--r-- | core/java/android/app/ActivityManagerNative.java | 6 | ||||
-rw-r--r-- | core/java/android/app/IActivityManager.java | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index d3d3792..6426635 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -1020,7 +1020,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM data.enforceInterface(IActivityManager.descriptor); int[] pids = data.createIntArray(); String reason = data.readString(); - boolean res = killPids(pids, reason); + boolean secure = data.readInt() != 0; + boolean res = killPids(pids, reason, secure); reply.writeNoException(); reply.writeInt(res ? 1 : 0); return true; @@ -2636,12 +2637,13 @@ class ActivityManagerProxy implements IActivityManager mRemote.transact(NOTE_WAKEUP_ALARM_TRANSACTION, data, null, 0); data.recycle(); } - public boolean killPids(int[] pids, String reason) throws RemoteException { + public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeIntArray(pids); data.writeString(reason); + data.writeInt(secure ? 1 : 0); mRemote.transact(KILL_PIDS_TRANSACTION, data, reply, 0); boolean res = reply.readInt() != 0; data.recycle(); diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index f42e8fb..61e6fc8 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -250,7 +250,7 @@ public interface IActivityManager extends IInterface { public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; - public boolean killPids(int[] pids, String reason) throws RemoteException; + public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException; // Special low-level communication with activity manager. public void startRunning(String pkg, String cls, String action, |