Merge "Fix null pointer exception when updating action bar shadow." into oc-mr1-dev
This commit is contained in:
@@ -121,7 +121,7 @@ public class ActionBarShadowController implements LifecycleObserver, OnStart, On
|
|||||||
final boolean shouldShowShadow = view.canScrollVertically(-1);
|
final boolean shouldShowShadow = view.canScrollVertically(-1);
|
||||||
if (mAnchorView != null) {
|
if (mAnchorView != null) {
|
||||||
mAnchorView.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
|
mAnchorView.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
|
||||||
} else {
|
} else if (mActivity != null) { // activity can become null when running monkey
|
||||||
final ActionBar actionBar = mActivity.getActionBar();
|
final ActionBar actionBar = mActivity.getActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
actionBar.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
|
actionBar.setElevation(shouldShowShadow ? ELEVATION_HIGH : ELEVATION_LOW);
|
||||||
|
@@ -104,4 +104,15 @@ public class ActionBarShadowControllerTest {
|
|||||||
verify(mRecyclerView, times(2)).addOnScrollListener(any());
|
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
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user