Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3182c55 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Fix occasional jank when going to QS."

parents 695e9e92 e65e310f
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ public class QSPanel extends ViewGroup {
    private int mPanelPaddingBottom;
    private int mDualTileUnderlap;
    private boolean mExpanded;
    private boolean mListening;

    private TileRecord mDetailRecord;
    private Callback mCallback;
@@ -100,9 +101,14 @@ public class QSPanel extends ViewGroup {
        if (!mExpanded) {
            showDetail(false /*show*/, mDetailRecord);
        }
    }

    public void setListening(boolean listening) {
        if (mListening == listening) return;
        mListening = listening;
        for (TileRecord r : mRecords) {
            r.tile.setListening(mExpanded);
            if (mExpanded) {
            r.tile.setListening(mListening);
            if (mListening) {
                r.tile.refreshState();
            }
        }
+17 −2
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;

import com.android.systemui.R;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.statusbar.ExpandableView;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.GestureRecorder;
@@ -61,7 +62,7 @@ public class NotificationPanelView extends PanelView implements
    private KeyguardPageSwipeHelper mPageSwiper;
    private StatusBarHeaderView mHeader;
    private View mQsContainer;
    private View mQsPanel;
    private QSPanel mQsPanel;
    private View mKeyguardStatusView;
    private ObservableScrollView mScrollView;
    private TextView mClockView;
@@ -136,7 +137,7 @@ public class NotificationPanelView extends PanelView implements
        mHeader.setOverlayParent(this);
        mKeyguardStatusView = findViewById(R.id.keyguard_status_view);
        mQsContainer = findViewById(R.id.quick_settings_container);
        mQsPanel = findViewById(R.id.quick_settings_panel);
        mQsPanel = (QSPanel) findViewById(R.id.quick_settings_panel);
        mClockView = (TextView) findViewById(R.id.clock_view);
        mScrollView = (ObservableScrollView) findViewById(R.id.scroll_view);
        mScrollView.setListener(this);
@@ -873,6 +874,20 @@ public class NotificationPanelView extends PanelView implements
        super.onExpandingFinished();
        mNotificationStackScroller.onExpansionStopped();
        mIsExpanding = false;
        if (mExpandedHeight == 0f) {
            mHeader.setListening(false);
            mQsPanel.setListening(false);
        } else {
            mHeader.setListening(true);
            mQsPanel.setListening(true);
        }
    }

    @Override
    public void instantExpand() {
        super.instantExpand();
        mHeader.setListening(true);
        mQsPanel.setListening(true);
    }

    @Override
+10 −2
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
    private static final float EXPANSION_RUBBERBAND_FACTOR = 0.35f;

    private boolean mExpanded;
    private boolean mListening;
    private boolean mOverscrolled;
    private boolean mKeyguardShowing;

@@ -145,6 +146,14 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
        return mExpandedHeight;
    }

    public void setListening(boolean listening) {
        if (listening == mListening) {
            return;
        }
        mListening = listening;
        updateBrightnessControllerState();
    }

    public void setExpanded(boolean expanded, boolean overscrolled) {
        boolean changed = expanded != mExpanded;
        boolean overscrollChanged = overscrolled != mOverscrolled;
@@ -154,7 +163,6 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
            updateHeights();
            updateVisibilities();
            updateSystemIconsLayoutParams();
            updateBrightnessControllerState();
            updateZTranslation();
            updateClickTargets();
            updateWidth();
@@ -254,7 +262,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
    }

    private void updateBrightnessControllerState() {
        if (mExpanded) {
        if (mListening) {
            mBrightnessController.registerCallbacks();
        } else {
            mBrightnessController.unregisterCallbacks();