Loading packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +25 −0 Original line number Original line Diff line number Diff line package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE; import android.animation.Animator; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.AnimatorSet; Loading @@ -20,6 +22,7 @@ import android.widget.Scroller; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; Loading Loading @@ -533,6 +536,11 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { private final ViewPager.OnPageChangeListener mOnPageChangeListener = private final ViewPager.OnPageChangeListener mOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() { new ViewPager.SimpleOnPageChangeListener() { private int mCurrentScrollState = SCROLL_STATE_IDLE; // Flag to avoid redundant call InteractionJankMonitor::begin() private boolean mIsScrollJankTraceBegin = false; @Override @Override public void onPageSelected(int position) { public void onPageSelected(int position) { updateSelected(); updateSelected(); Loading @@ -546,6 +554,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { @Override @Override public void onPageScrolled(int position, float positionOffset, public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { int positionOffsetPixels) { if (!mIsScrollJankTraceBegin && mCurrentScrollState == SCROLL_STATE_DRAGGING) { InteractionJankMonitor.getInstance().begin(PagedTileLayout.this, CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE); mIsScrollJankTraceBegin = true; } if (mPageIndicator == null) return; if (mPageIndicator == null) return; mPageIndicatorPosition = position + positionOffset; mPageIndicatorPosition = position + positionOffset; mPageIndicator.setLocation(mPageIndicatorPosition); mPageIndicator.setLocation(mPageIndicatorPosition); Loading @@ -554,6 +569,16 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { (isLayoutRtl() ? position == mPages.size() - 1 : position == 0)); (isLayoutRtl() ? position == mPages.size() - 1 : position == 0)); } } } } @Override public void onPageScrollStateChanged(int state) { if (state != mCurrentScrollState && state == SCROLL_STATE_IDLE) { InteractionJankMonitor.getInstance().end( CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE); mIsScrollJankTraceBegin = false; } mCurrentScrollState = state; } }; }; private final PagerAdapter mAdapter = new PagerAdapter() { private final PagerAdapter mAdapter = new PagerAdapter() { Loading Loading
packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +25 −0 Original line number Original line Diff line number Diff line package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE; import android.animation.Animator; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.AnimatorSet; Loading @@ -20,6 +22,7 @@ import android.widget.Scroller; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; Loading Loading @@ -533,6 +536,11 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { private final ViewPager.OnPageChangeListener mOnPageChangeListener = private final ViewPager.OnPageChangeListener mOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() { new ViewPager.SimpleOnPageChangeListener() { private int mCurrentScrollState = SCROLL_STATE_IDLE; // Flag to avoid redundant call InteractionJankMonitor::begin() private boolean mIsScrollJankTraceBegin = false; @Override @Override public void onPageSelected(int position) { public void onPageSelected(int position) { updateSelected(); updateSelected(); Loading @@ -546,6 +554,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { @Override @Override public void onPageScrolled(int position, float positionOffset, public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { int positionOffsetPixels) { if (!mIsScrollJankTraceBegin && mCurrentScrollState == SCROLL_STATE_DRAGGING) { InteractionJankMonitor.getInstance().begin(PagedTileLayout.this, CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE); mIsScrollJankTraceBegin = true; } if (mPageIndicator == null) return; if (mPageIndicator == null) return; mPageIndicatorPosition = position + positionOffset; mPageIndicatorPosition = position + positionOffset; mPageIndicator.setLocation(mPageIndicatorPosition); mPageIndicator.setLocation(mPageIndicatorPosition); Loading @@ -554,6 +569,16 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { (isLayoutRtl() ? position == mPages.size() - 1 : position == 0)); (isLayoutRtl() ? position == mPages.size() - 1 : position == 0)); } } } } @Override public void onPageScrollStateChanged(int state) { if (state != mCurrentScrollState && state == SCROLL_STATE_IDLE) { InteractionJankMonitor.getInstance().end( CUJ_NOTIFICATION_SHADE_QS_SCROLL_SWIPE); mIsScrollJankTraceBegin = false; } mCurrentScrollState = state; } }; }; private final PagerAdapter mAdapter = new PagerAdapter() { private final PagerAdapter mAdapter = new PagerAdapter() { Loading