summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2015-06-19 18:19:12 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-19 18:19:15 +0000
commit7ad40c503281a797e2ca30e5e06a6e0c562471a7 (patch)
tree02ff0cd44665882f3619fa424c353b1ee2f2286a /core
parent92dfab8d96dc854b8ccc48e1b2805069997879d5 (diff)
parent8a2ce3c7519d30daab37e0754d8f2b2f527af24e (diff)
downloadframeworks_base-7ad40c503281a797e2ca30e5e06a6e0c562471a7.zip
frameworks_base-7ad40c503281a797e2ca30e5e06a6e0c562471a7.tar.gz
frameworks_base-7ad40c503281a797e2ca30e5e06a6e0c562471a7.tar.bz2
Merge "Debug logging for a certain class of binder transaction failures" into mnc-dev
Diffstat (limited to 'core')
-rw-r--r--core/java/android/app/ApplicationThreadNative.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java
index 1461380..e178087 100644
--- a/core/java/android/app/ApplicationThreadNative.java
+++ b/core/java/android/app/ApplicationThreadNative.java
@@ -35,6 +35,9 @@ import android.os.RemoteException;
import android.os.IBinder;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
+import android.os.TransactionTooLargeException;
+import android.util.Log;
+
import com.android.internal.app.IVoiceInteractor;
import com.android.internal.content.ReferrerIntent;
@@ -921,8 +924,13 @@ class ApplicationThreadProxy implements IApplicationThread {
info.writeToParcel(data, 0);
compatInfo.writeToParcel(data, 0);
data.writeInt(processState);
- mRemote.transact(SCHEDULE_CREATE_SERVICE_TRANSACTION, data, null,
- IBinder.FLAG_ONEWAY);
+ try {
+ mRemote.transact(SCHEDULE_CREATE_SERVICE_TRANSACTION, data, null,
+ IBinder.FLAG_ONEWAY);
+ } catch (TransactionTooLargeException e) {
+ Log.e("CREATE_SERVICE", "Binder failure starting service; service=" + info);
+ throw e;
+ }
data.recycle();
}