Merge "Prevent NPEs when no focusable stack."

This commit is contained in:
Ming-Shin Lu
2018-06-19 03:11:57 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 0 deletions

View File

@@ -185,6 +185,10 @@ class ActivityMetricsLogger {
mWindowState = WINDOW_STATE_INVALID;
ActivityStack stack = mSupervisor.getFocusedStack();
if (stack == null) {
return;
}
if (stack.isActivityTypeAssistant()) {
mWindowState = WINDOW_STATE_ASSISTANT;
return;

View File

@@ -709,6 +709,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
if (!focusCandidate.isFocusable()) {
// The focus candidate isn't focusable. Move focus to the top stack that is focusable.
focusCandidate = getNextFocusableStackLocked(focusCandidate, false /* ignoreCurrent */);
if (focusCandidate == null) {
Slog.w(TAG,
"setFocusStackUnchecked: No focusable stack found, focus home as default");
focusCandidate = mHomeStack;
}
}
if (focusCandidate != mFocusedStack) {