Check for valid activity when trying to access the action bar as the
activity can become null when in monkey test.
Change-Id: I684d873b9eabb9d8461e99bb4385d411a48c0c52
Fix:
64084651
Test: make RunSettingsRoboTests
final boolean shouldShowShadow = view.canScrollVertically(-1);
if (mAnchorView != null) {
mAnchorView.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
- } else {
+ } else if (mActivity != null) { // activity can become null when running monkey
final ActionBar actionBar = mActivity.getActionBar();
if (actionBar != null) {
actionBar.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
verify(mRecyclerView, times(2)).addOnScrollListener(any());
}
+ @Test
+ public void onScrolled_nullAnchorViewAndActivity_shouldNotCrash() {
+ final Activity activity = null;
+ final ActionBarShadowController controller =
+ ActionBarShadowController.attachToRecyclerView(activity, mLifecycle, mRecyclerView);
+
+ // Scroll
+ controller.mScrollChangeWatcher.onScrolled(mRecyclerView, 10 /* dx */, 10 /* dy */);
+ // no crash
+ }
+
}