Merge "QSFragment: fix NPE in setOverScrollAmount" into tm-dev
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
index a64b670..76ec6bd 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
@@ -519,7 +519,10 @@
@Override
public void setOverScrollAmount(int overScrollAmount) {
mOverScrolling = overScrollAmount != 0;
- getView().setTranslationY(overScrollAmount);
+ View view = getView();
+ if (view != null) {
+ view.setTranslationY(overScrollAmount);
+ }
}
@Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
index f5d19e2..4fbdb7c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
@@ -315,6 +315,24 @@
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);