Fix NavigationBarController NPE

SystemUI would crash if NavigationBarFragment wasn't available
yet.

Test: mp sysuig # boots
Test: atest NavigationBarControllerTest
Fixes: 141939419
Change-Id: I1e099c5cc3c23c05140d550dd870722f57055013
This commit is contained in:
Lucas Dupin
2019-10-01 12:59:39 -07:00
parent 4bec4b2fd9
commit 131c76d485
2 changed files with 9 additions and 1 deletions

View File

@@ -237,6 +237,7 @@ public class NavigationBarController implements Callbacks {
/** @return {@link AssistHandleViewController} (only on the default display). */
public AssistHandleViewController getAssistHandlerViewController() {
return getDefaultNavigationBarFragment().getAssistHandlerViewController();
NavigationBarFragment navBar = getDefaultNavigationBarFragment();
return navBar == null ? null : navBar.getAssistHandlerViewController();
}
}

View File

@@ -28,6 +28,7 @@ import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -240,4 +241,10 @@ public class NavigationBarControllerTest extends SysuiTestCase {
verify(mSecondaryNavBar).disableAnimationsDuringHide(eq(500L));
}
@Test
public void testGetAssistHandlerViewController_noCrash() {
reset(mNavigationBarController.mNavigationBars);
mNavigationBarController.getAssistHandlerViewController();
}
}