Merge "Add nullchecks to ScreenPinningRequest." into pi-dev
diff --git a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
index 3dd6e35..167df8c 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
@@ -217,7 +217,8 @@
mLayout.findViewById(R.id.screen_pinning_text_area)
.setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);
View buttons = mLayout.findViewById(R.id.screen_pinning_buttons);
- if (Recents.getSystemServices().hasSoftNavigationBar()) {
+ if (Recents.getSystemServices() != null &&
+ Recents.getSystemServices().hasSoftNavigationBar()) {
buttons.setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);
swapChildrenIfRtlAndVertical(buttons);
} else {
@@ -235,7 +236,8 @@
}
StatusBar statusBar = SysUiServiceProvider.getComponent(mContext, StatusBar.class);
- NavigationBarView navigationBarView = statusBar.getNavigationBarView();
+ NavigationBarView navigationBarView =
+ statusBar != null ? statusBar.getNavigationBarView() : null;
final boolean recentsVisible = navigationBarView != null
&& navigationBarView.isRecentsButtonVisible();
boolean touchExplorationEnabled = mAccessibilityService.isTouchExplorationEnabled();
@@ -256,10 +258,12 @@
: R.string.screen_pinning_description_recents_invisible;
}
- ((ImageView) mLayout.findViewById(R.id.screen_pinning_back_icon))
- .setImageDrawable(navigationBarView.getBackDrawable(mContext));
- ((ImageView) mLayout.findViewById(R.id.screen_pinning_home_icon))
- .setImageDrawable(navigationBarView.getHomeDrawable(mContext));
+ if (navigationBarView != null) {
+ ((ImageView) mLayout.findViewById(R.id.screen_pinning_back_icon))
+ .setImageDrawable(navigationBarView.getBackDrawable(mContext));
+ ((ImageView) mLayout.findViewById(R.id.screen_pinning_home_icon))
+ .setImageDrawable(navigationBarView.getHomeDrawable(mContext));
+ }
((TextView) mLayout.findViewById(R.id.screen_pinning_description))
.setText(descriptionStringResId);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScreenPinningNotify.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScreenPinningNotify.java
index 0d07ad9..2a5028b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScreenPinningNotify.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScreenPinningNotify.java
@@ -42,17 +42,17 @@
}
/** Show "Screen pinned" toast. */
- void showPinningStartToast() {
+ public void showPinningStartToast() {
makeAllUserToastAndShow(R.string.screen_pinning_start);
}
/** Show "Screen unpinned" toast. */
- void showPinningExitToast() {
+ public void showPinningExitToast() {
makeAllUserToastAndShow(R.string.screen_pinning_exit);
}
/** Show a toast that describes the gesture the user should use to escape pinned mode. */
- void showEscapeToast(boolean isRecentsButtonVisible) {
+ public void showEscapeToast(boolean isRecentsButtonVisible) {
long showToastTime = SystemClock.elapsedRealtime();
if ((showToastTime - mLastShowToastTime) < SHOW_TOAST_MINIMUM_INTERVAL) {
Slog.i(TAG, "Ignore toast since it is requested in very short interval.");