Merge "PIP window cant be ime target." into rvc-dev am: 466a3e5bfa

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11604119

Change-Id: I3cbef7a66677b920d4e3cff7f3c5d8cef6643fb9
This commit is contained in:
Taran Singh
2020-06-15 22:45:17 +00:00
committed by Automerger Merge Worker

View File

@@ -2198,10 +2198,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
@Override
boolean isFocusable() {
return super.isFocusable() && (canReceiveKeys() || isAlwaysFocusable());
}
boolean canReceiveKeys() {
// TODO(156521483): Propagate the state down the hierarchy instead of checking the parent
boolean canReceiveKeys = getWindowConfiguration().canReceiveKeys()
&& getTask().getWindowConfiguration().canReceiveKeys();
return super.isFocusable() && (canReceiveKeys || isAlwaysFocusable());
return getWindowConfiguration().canReceiveKeys()
&& (task == null || task.getWindowConfiguration().canReceiveKeys());
}
boolean isResizeable() {
@@ -2370,10 +2373,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// For the apps below Q, there can be only one app which has the focused window per
// process, because legacy apps may not be ready for a multi-focus system.
return false;
}
}
return (getWindowConfiguration().canReceiveKeys() || isAlwaysFocusable())
&& getDisplay() != null;
return (canReceiveKeys() || isAlwaysFocusable()) && getDisplay() != null;
}
/**