Merge "Fix NPE when QSPanel not yet attached,"
This commit is contained in:
committed by
Android (Google) Code Review
commit
9196f07279
@@ -413,7 +413,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
mFooter.setExpansion(onKeyguardAndExpanded ? 1 : expansion);
|
mFooter.setExpansion(onKeyguardAndExpanded ? 1 : expansion);
|
||||||
mQSPanelController.getQsTileRevealController().setExpansion(expansion);
|
mQSPanelController.setRevealExpansion(expansion);
|
||||||
mQSPanelController.getTileLayout().setExpansion(expansion);
|
mQSPanelController.getTileLayout().setExpansion(expansion);
|
||||||
mQSPanelScrollView.setTranslationY(translationScaleY * heightDiff);
|
mQSPanelScrollView.setTranslationY(translationScaleY * heightDiff);
|
||||||
if (fullyCollapsed) {
|
if (fullyCollapsed) {
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
||||||
|
|
||||||
private int mLastOrientation;
|
private int mLastOrientation;
|
||||||
|
private String mCachedSpecs = "";
|
||||||
private QSTileRevealController mQsTileRevealController;
|
private QSTileRevealController mQsTileRevealController;
|
||||||
|
private float mRevealExpansion;
|
||||||
|
|
||||||
private final QSHost.Callback mQSHostCallback = this::setTiles;
|
private final QSHost.Callback mQSHostCallback = this::setTiles;
|
||||||
|
|
||||||
@@ -70,7 +72,6 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
private String mCachedSpecs = "";
|
|
||||||
|
|
||||||
protected QSPanelControllerBase(T view, QSTileHost host,
|
protected QSPanelControllerBase(T view, QSTileHost host,
|
||||||
QSCustomizerController qsCustomizerController,
|
QSCustomizerController qsCustomizerController,
|
||||||
@@ -92,6 +93,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
if (regularTileLayout instanceof PagedTileLayout) {
|
if (regularTileLayout instanceof PagedTileLayout) {
|
||||||
mQsTileRevealController = mQsTileRevealControllerFactory.create(
|
mQsTileRevealController = mQsTileRevealControllerFactory.create(
|
||||||
(PagedTileLayout) regularTileLayout);
|
(PagedTileLayout) regularTileLayout);
|
||||||
|
mQsTileRevealController.setExpansion(mRevealExpansion);
|
||||||
}
|
}
|
||||||
|
|
||||||
mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
|
mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
|
||||||
@@ -246,9 +248,12 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** Set the expansion on the associated {@link QSTileRevealController}. */
|
||||||
public QSTileRevealController getQsTileRevealController() {
|
public void setRevealExpansion(float expansion) {
|
||||||
return mQsTileRevealController;
|
mRevealExpansion = expansion;
|
||||||
|
if (mQsTileRevealController != null) {
|
||||||
|
mQsTileRevealController.setExpansion(expansion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -19,9 +19,12 @@ package com.android.systemui.qs;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
|
import static org.mockito.ArgumentMatchers.anyFloat;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.doAnswer;
|
import static org.mockito.Mockito.doAnswer;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.reset;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -112,8 +115,40 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
mUiEventLogger, mDumpManager);
|
mUiEventLogger, mDumpManager);
|
||||||
|
|
||||||
mController.init();
|
mController.init();
|
||||||
|
reset(mQSTileRevealController);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetRevealExpansion_preAttach() {
|
||||||
|
mController.onViewDetached();
|
||||||
|
|
||||||
|
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
||||||
|
mQSTileHost, mQSCustomizerController, mQSTileRevealControllerFactory,
|
||||||
|
mMetricsLogger, mUiEventLogger, mDumpManager);
|
||||||
|
|
||||||
|
// Nothing happens until attached
|
||||||
|
controller.setRevealExpansion(0);
|
||||||
|
verify(mQSTileRevealController, never()).setExpansion(anyFloat());
|
||||||
|
controller.setRevealExpansion(0.5f);
|
||||||
|
verify(mQSTileRevealController, never()).setExpansion(anyFloat());
|
||||||
|
controller.setRevealExpansion(1);
|
||||||
|
verify(mQSTileRevealController, never()).setExpansion(anyFloat());
|
||||||
|
|
||||||
|
controller.init();
|
||||||
|
verify(mQSTileRevealController).setExpansion(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetRevealExpansion_postAttach() {
|
||||||
|
mController.setRevealExpansion(0);
|
||||||
|
verify(mQSTileRevealController).setExpansion(0);
|
||||||
|
mController.setRevealExpansion(0.5f);
|
||||||
|
verify(mQSTileRevealController).setExpansion(0.5f);
|
||||||
|
mController.setRevealExpansion(1);
|
||||||
|
verify(mQSTileRevealController).setExpansion(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetExpanded_Metrics() {
|
public void testSetExpanded_Metrics() {
|
||||||
mController.setExpanded(true);
|
mController.setExpanded(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user