From bd503a4e3a1c897695f0edcf6e4aaac3a7e962c5 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Fri, 10 Jan 2014 10:16:43 -0800 Subject: Allow for the possibility of null ActivityContainer When BinderProxy is passed in as the IBinder for getEnclosingActivityContainer the activity manager cannot turn it into an ActivityRecord. This causes NPE in ActivityThread which is Not Good (tm). Allowing null to be returned when requesting an ActivityContainer and handling it appropriately fixes this bug. Fixes bug 12473669. Change-Id: I6937636042f8853b3ddc2df40be010e7391e41a5 --- core/java/android/app/ActivityThread.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'core/java/android/app/ActivityThread.java') diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 9ae2543..9f21a36 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -2225,7 +2225,8 @@ public final class ActivityThread { try { IActivityContainer container = ActivityManagerNative.getDefault().getEnclosingActivityContainer(r.token); - final int displayId = container.getDisplayId(); + final int displayId = + container == null ? Display.DEFAULT_DISPLAY : container.getDisplayId(); if (displayId > Display.DEFAULT_DISPLAY) { Display display = dm.getRealDisplay(displayId, r.token); baseContext = appContext.createDisplayContext(display); -- cgit v1.1