Nullcheck for StatusBarManagerInternal in InsetsPolicy
Wear does not support StatusBarManagerService Bug: 158866039 Test: salmon boots successfully Change-Id: I76a44c4cbc0f8eeeda6b9c35b2c29ce87f0db8de (cherry picked from commit 3d40a967c3c111e205f577ab96daf7f2b696ee3e)
This commit is contained in:
committed by
Josh Yang
parent
47eaa5e84d
commit
7f00ac7f25
@@ -2240,7 +2240,10 @@ public class DisplayPolicy {
|
|||||||
void notifyDisplayReady() {
|
void notifyDisplayReady() {
|
||||||
mHandler.post(() -> {
|
mHandler.post(() -> {
|
||||||
final int displayId = getDisplayId();
|
final int displayId = getDisplayId();
|
||||||
getStatusBarManagerInternal().onDisplayReady(displayId);
|
StatusBarManagerInternal statusBar = getStatusBarManagerInternal();
|
||||||
|
if (statusBar != null) {
|
||||||
|
statusBar.onDisplayReady(displayId);
|
||||||
|
}
|
||||||
final WallpaperManagerInternal wpMgr = LocalServices
|
final WallpaperManagerInternal wpMgr = LocalServices
|
||||||
.getService(WallpaperManagerInternal.class);
|
.getService(WallpaperManagerInternal.class);
|
||||||
if (wpMgr != null) {
|
if (wpMgr != null) {
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ import android.view.WindowManager;
|
|||||||
import com.android.internal.R;
|
import com.android.internal.R;
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.server.DisplayThread;
|
import com.android.server.DisplayThread;
|
||||||
|
import com.android.server.statusbar.StatusBarManagerInternal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Policy that implements who gets control over the windows generating insets.
|
* Policy that implements who gets control over the windows generating insets.
|
||||||
@@ -167,8 +168,12 @@ class InsetsPolicy {
|
|||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
if (changed) {
|
if (changed) {
|
||||||
mPolicy.getStatusBarManagerInternal().showTransient(mDisplayContent.getDisplayId(),
|
StatusBarManagerInternal statusBarManagerInternal =
|
||||||
mShowingTransientTypes.toArray());
|
mPolicy.getStatusBarManagerInternal();
|
||||||
|
if (statusBarManagerInternal != null) {
|
||||||
|
statusBarManagerInternal.showTransient(
|
||||||
|
mDisplayContent.getDisplayId(), mShowingTransientTypes.toArray());
|
||||||
|
}
|
||||||
updateBarControlTarget(mFocusedWin);
|
updateBarControlTarget(mFocusedWin);
|
||||||
|
|
||||||
// The leashes can be created while updating bar control target. The surface transaction
|
// The leashes can be created while updating bar control target. The surface transaction
|
||||||
@@ -282,9 +287,11 @@ class InsetsPolicy {
|
|||||||
abortTypes.add(type);
|
abortTypes.add(type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (abortTypes.size() > 0) {
|
StatusBarManagerInternal statusBarManagerInternal =
|
||||||
mPolicy.getStatusBarManagerInternal().abortTransient(mDisplayContent.getDisplayId(),
|
mPolicy.getStatusBarManagerInternal();
|
||||||
abortTypes.toArray());
|
if (abortTypes.size() > 0 && statusBarManagerInternal != null) {
|
||||||
|
statusBarManagerInternal.abortTransient(
|
||||||
|
mDisplayContent.getDisplayId(), abortTypes.toArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -294,8 +301,11 @@ class InsetsPolicy {
|
|||||||
* updateBarControlTarget(mFocusedWin) after this invocation.
|
* updateBarControlTarget(mFocusedWin) after this invocation.
|
||||||
*/
|
*/
|
||||||
private void abortTransient() {
|
private void abortTransient() {
|
||||||
mPolicy.getStatusBarManagerInternal().abortTransient(mDisplayContent.getDisplayId(),
|
StatusBarManagerInternal statusBarManagerInternal = mPolicy.getStatusBarManagerInternal();
|
||||||
mShowingTransientTypes.toArray());
|
if (statusBarManagerInternal != null) {
|
||||||
|
statusBarManagerInternal.abortTransient(
|
||||||
|
mDisplayContent.getDisplayId(), mShowingTransientTypes.toArray());
|
||||||
|
}
|
||||||
mShowingTransientTypes.clear();
|
mShowingTransientTypes.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,8 +484,12 @@ class InsetsPolicy {
|
|||||||
final int state = visible ? WINDOW_STATE_SHOWING : WINDOW_STATE_HIDDEN;
|
final int state = visible ? WINDOW_STATE_SHOWING : WINDOW_STATE_HIDDEN;
|
||||||
if (mState != state) {
|
if (mState != state) {
|
||||||
mState = state;
|
mState = state;
|
||||||
mPolicy.getStatusBarManagerInternal().setWindowState(
|
StatusBarManagerInternal statusBarManagerInternal =
|
||||||
mDisplayContent.getDisplayId(), mId, state);
|
mPolicy.getStatusBarManagerInternal();
|
||||||
|
if (statusBarManagerInternal != null) {
|
||||||
|
statusBarManagerInternal.setWindowState(
|
||||||
|
mDisplayContent.getDisplayId(), mId, state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user