Merge "QSFragment: fix NPE in setOverScrollAmount" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-04-14 10:28:01 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 1 deletions

View File

@@ -519,7 +519,10 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
@Override
public void setOverScrollAmount(int overScrollAmount) {
mOverScrolling = overScrollAmount != 0;
getView().setTranslationY(overScrollAmount);
View view = getView();
if (view != null) {
view.setTranslationY(overScrollAmount);
}
}
@Override

View File

@@ -315,6 +315,24 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
verify(mQuickQSPanelController).setCollapseExpandAction(action);
}
@Test
public void setOverScrollAmount_setsTranslationOnView() {
QSFragment fragment = resumeAndGetFragment();
fragment.setOverScrollAmount(123);
assertThat(mQsFragmentView.getTranslationY()).isEqualTo(123);
}
@Test
public void setOverScrollAmount_beforeViewCreated_translationIsNotSet() {
QSFragment fragment = getFragment();
fragment.setOverScrollAmount(123);
assertThat(mQsFragmentView.getTranslationY()).isEqualTo(0);
}
@Override
protected Fragment instantiate(Context context, String className, Bundle arguments) {
MockitoAnnotations.initMocks(this);