Nullcheck for StatusBarManagerInternal in InsetsPolicy am: 6426637598
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15747425 Change-Id: Ibe388af5ffb7650afc14e76efda6e3b5627a0f75
This commit is contained in:
committed by
Automerger Merge Worker
commit
488f7d6a49
@@ -2273,7 +2273,10 @@ public class DisplayPolicy {
|
||||
void notifyDisplayReady() {
|
||||
mHandler.post(() -> {
|
||||
final int displayId = getDisplayId();
|
||||
getStatusBarManagerInternal().onDisplayReady(displayId);
|
||||
StatusBarManagerInternal statusBar = getStatusBarManagerInternal();
|
||||
if (statusBar != null) {
|
||||
statusBar.onDisplayReady(displayId);
|
||||
}
|
||||
final WallpaperManagerInternal wpMgr = LocalServices
|
||||
.getService(WallpaperManagerInternal.class);
|
||||
if (wpMgr != null) {
|
||||
|
||||
@@ -54,6 +54,7 @@ import android.view.WindowManager;
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.server.DisplayThread;
|
||||
import com.android.server.statusbar.StatusBarManagerInternal;
|
||||
|
||||
/**
|
||||
* Policy that implements who gets control over the windows generating insets.
|
||||
@@ -170,8 +171,12 @@ class InsetsPolicy {
|
||||
changed = true;
|
||||
}
|
||||
if (changed) {
|
||||
mPolicy.getStatusBarManagerInternal().showTransient(mDisplayContent.getDisplayId(),
|
||||
mShowingTransientTypes.toArray());
|
||||
StatusBarManagerInternal statusBarManagerInternal =
|
||||
mPolicy.getStatusBarManagerInternal();
|
||||
if (statusBarManagerInternal != null) {
|
||||
statusBarManagerInternal.showTransient(
|
||||
mDisplayContent.getDisplayId(), mShowingTransientTypes.toArray());
|
||||
}
|
||||
updateBarControlTarget(mFocusedWin);
|
||||
|
||||
// The leashes can be created while updating bar control target. The surface transaction
|
||||
@@ -306,9 +311,11 @@ class InsetsPolicy {
|
||||
abortTypes.add(type);
|
||||
}
|
||||
}
|
||||
if (abortTypes.size() > 0) {
|
||||
mPolicy.getStatusBarManagerInternal().abortTransient(mDisplayContent.getDisplayId(),
|
||||
abortTypes.toArray());
|
||||
StatusBarManagerInternal statusBarManagerInternal =
|
||||
mPolicy.getStatusBarManagerInternal();
|
||||
if (abortTypes.size() > 0 && statusBarManagerInternal != null) {
|
||||
statusBarManagerInternal.abortTransient(
|
||||
mDisplayContent.getDisplayId(), abortTypes.toArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -318,8 +325,11 @@ class InsetsPolicy {
|
||||
* updateBarControlTarget(mFocusedWin) after this invocation.
|
||||
*/
|
||||
private void abortTransient() {
|
||||
mPolicy.getStatusBarManagerInternal().abortTransient(mDisplayContent.getDisplayId(),
|
||||
mShowingTransientTypes.toArray());
|
||||
StatusBarManagerInternal statusBarManagerInternal = mPolicy.getStatusBarManagerInternal();
|
||||
if (statusBarManagerInternal != null) {
|
||||
statusBarManagerInternal.abortTransient(
|
||||
mDisplayContent.getDisplayId(), mShowingTransientTypes.toArray());
|
||||
}
|
||||
mShowingTransientTypes.clear();
|
||||
}
|
||||
|
||||
@@ -478,8 +488,12 @@ class InsetsPolicy {
|
||||
final int state = visible ? WINDOW_STATE_SHOWING : WINDOW_STATE_HIDDEN;
|
||||
if (mState != state) {
|
||||
mState = state;
|
||||
mPolicy.getStatusBarManagerInternal().setWindowState(
|
||||
mDisplayContent.getDisplayId(), mId, state);
|
||||
StatusBarManagerInternal statusBarManagerInternal =
|
||||
mPolicy.getStatusBarManagerInternal();
|
||||
if (statusBarManagerInternal != null) {
|
||||
statusBarManagerInternal.setWindowState(
|
||||
mDisplayContent.getDisplayId(), mId, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user