Merge "Fixed an issue where media could become invisible" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b1fe28e284
@@ -140,9 +140,11 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
updateAnimators();
|
||||
}
|
||||
|
||||
|
||||
public void onQsScrollingChanged() {
|
||||
// Lazily update animators whenever the scrolling changes
|
||||
/**
|
||||
* Request an update to the animators. This will update them lazily next time the position
|
||||
* is changed.
|
||||
*/
|
||||
public void requestAnimatorUpdate() {
|
||||
mNeedsAnimatorUpdate = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
mQSPanelScrollView.setOnScrollChangeListener(
|
||||
(v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
||||
// Lazily update animators whenever the scrolling changes
|
||||
mQSAnimator.onQsScrollingChanged();
|
||||
mQSAnimator.requestAnimatorUpdate();
|
||||
mHeader.setExpandedScrollAmount(scrollY);
|
||||
if (mScrollListener != null) {
|
||||
mScrollListener.onQsPanelScrollChanged(scrollY);
|
||||
@@ -215,6 +215,14 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
setQsExpansion(mLastQSExpansion, mLastHeaderTranslation);
|
||||
}
|
||||
});
|
||||
mQSPanelController.setUsingHorizontalLayoutChangeListener(
|
||||
() -> {
|
||||
// The hostview may be faded out in the horizontal layout. Let's make sure to
|
||||
// reset the alpha when switching layouts. This is fine since the animator will
|
||||
// update the alpha if it's not supposed to be 1.0f
|
||||
mQSPanelController.getMediaHost().getHostView().setAlpha(1.0f);
|
||||
mQSAnimator.requestAnimatorUpdate();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -103,6 +103,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
|
||||
private boolean mUsingHorizontalLayout;
|
||||
|
||||
@Nullable
|
||||
private Runnable mUsingHorizontalLayoutChangedListener;
|
||||
|
||||
protected QSPanelControllerBase(
|
||||
T view,
|
||||
QSTileHost host,
|
||||
@@ -135,6 +138,13 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
mQSLogger.logAllTilesChangeListening(mView.isListening(), mView.getDumpableTag(), "");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the media host for this panel
|
||||
*/
|
||||
public MediaHost getMediaHost() {
|
||||
return mMediaHost;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onViewAttached() {
|
||||
mQsTileRevealController = createTileRevealController();
|
||||
@@ -303,6 +313,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
mUsingHorizontalLayout = horizontal;
|
||||
mView.setUsingHorizontalLayout(mUsingHorizontalLayout, mMediaHost.getHostView(), force);
|
||||
updateMediaDisappearParameters();
|
||||
if (mUsingHorizontalLayoutChangedListener != null) {
|
||||
mUsingHorizontalLayoutChangedListener.run();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -386,6 +399,13 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
mMediaVisibilityChangedListener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a listener when the horizontal layout changes
|
||||
*/
|
||||
public void setUsingHorizontalLayoutChangeListener(Runnable listener) {
|
||||
mUsingHorizontalLayoutChangedListener = listener;
|
||||
}
|
||||
|
||||
/** */
|
||||
public static final class TileRecord extends QSPanel.Record {
|
||||
public QSTile tile;
|
||||
|
||||
Reference in New Issue
Block a user