Fix LockTaskModeTests failure

NPE throw while running LockTaskModeTests because there is
no status bar on some devices, like Android Wear.

Bug: 254265883
Test: LockTaskModeTests
Change-Id: I5a3b104da19d60b2bf5c52c0c1a16c8625e5b279
This commit is contained in:
Louis Chang
2022-10-27 03:15:28 +00:00
parent b0d018239d
commit 17370581a9

View File

@@ -604,7 +604,10 @@ public class LockTaskController {
getDevicePolicyManager().notifyLockTaskModeChanged(false, null, userId);
}
if (oldLockTaskModeState == LOCK_TASK_MODE_PINNED) {
getStatusBarService().showPinningEnterExitToast(false /* entering */);
final IStatusBarService statusBarService = getStatusBarService();
if (statusBarService != null) {
statusBarService.showPinningEnterExitToast(false /* entering */);
}
}
mWindowManager.onLockTaskStateChanged(mLockTaskModeState);
} catch (RemoteException ex) {
@@ -619,7 +622,10 @@ public class LockTaskController {
void showLockTaskToast() {
if (mLockTaskModeState == LOCK_TASK_MODE_PINNED) {
try {
getStatusBarService().showPinningEscapeToast();
final IStatusBarService statusBarService = getStatusBarService();
if (statusBarService != null) {
statusBarService.showPinningEscapeToast();
}
} catch (RemoteException e) {
Slog.e(TAG, "Failed to send pinning escape toast", e);
}
@@ -727,7 +733,10 @@ public class LockTaskController {
// When lock task starts, we disable the status bars.
try {
if (lockTaskModeState == LOCK_TASK_MODE_PINNED) {
getStatusBarService().showPinningEnterExitToast(true /* entering */);
final IStatusBarService statusBarService = getStatusBarService();
if (statusBarService != null) {
statusBarService.showPinningEnterExitToast(true /* entering */);
}
}
mWindowManager.onLockTaskStateChanged(lockTaskModeState);
mLockTaskModeState = lockTaskModeState;