Avoid NPE while drag divider bar

Task topActivityInfo is nullable, we should check it is null or
not before access it.

Bug: 213894166
Test: pass existing tests
Change-Id: Iedda57145586b6d5c2e151308ddca1e2e36035c0
This commit is contained in:
Tony Huang
2022-01-11 14:14:42 +08:00
parent 091aba9717
commit f0d69e7d47

View File

@@ -137,14 +137,16 @@ public class SplitDecorManager extends WindowlessWindowManager {
return;
}
if (mIcon == null) {
// TODO: add fade-in animation.
if (mBackgroundLeash == null) {
mBackgroundLeash = SurfaceUtils.makeColorLayer(mHostLeash,
RESIZING_BACKGROUND_SURFACE_NAME, mSurfaceSession);
t.setColor(mBackgroundLeash, getResizingBackgroundColor(resizingTask))
.setLayer(mBackgroundLeash, SPLIT_DIVIDER_LAYER - 1)
.show(mBackgroundLeash);
}
if (mIcon == null && resizingTask.topActivityInfo != null) {
// TODO: add fade-in animation.
mIcon = mIconProvider.getIcon(resizingTask.topActivityInfo);
mResizingIconView.setImageDrawable(mIcon);
mResizingIconView.setVisibility(View.VISIBLE);
@@ -168,12 +170,16 @@ public class SplitDecorManager extends WindowlessWindowManager {
return;
}
if (mBackgroundLeash != null) {
t.remove(mBackgroundLeash);
mBackgroundLeash = null;
}
if (mIcon != null) {
mResizingIconView.setVisibility(View.GONE);
mResizingIconView.setImageDrawable(null);
t.remove(mBackgroundLeash).hide(mIconLeash);
t.hide(mIconLeash);
mIcon = null;
mBackgroundLeash = null;
}
}