Loading packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +15 −6 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.app.ActivityManager; import android.content.Context; import android.content.res.Configuration; import android.os.Bundle; Loading Loading @@ -549,10 +550,8 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { return mPages.get(0).mRecords.size(); } public void startTileReveal(Set<String> tileSpecs, final Runnable postAnimation) { if (tileSpecs.isEmpty() || mPages.size() < 2 || getScrollX() != 0 || !beginFakeDrag()) { // Do not start the reveal animation unless there are tiles to animate, multiple // TileLayouts available and the user has not already started dragging. public void startTileReveal(Set<String> tilesToReveal, final Runnable postAnimation) { if (shouldNotRunAnimation(tilesToReveal)) { return; } Loading @@ -560,13 +559,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { final TileLayout lastPage = mPages.get(lastPageNumber); final ArrayList<Animator> bounceAnims = new ArrayList<>(); for (TileRecord tr : lastPage.mRecords) { if (tileSpecs.contains(tr.tile.getTileSpec())) { if (tilesToReveal.contains(tr.tile.getTileSpec())) { bounceAnims.add(setupBounceAnimator(tr.tileView, bounceAnims.size())); } } if (bounceAnims.isEmpty()) { // All tileSpecs are on the first page. Nothing to do. // All tilesToReveal are on the first page. Nothing to do. // TODO: potentially show a bounce animation for first page QS tiles endFakeDrag(); return; Loading @@ -588,6 +587,16 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { postInvalidateOnAnimation(); } private boolean shouldNotRunAnimation(Set<String> tilesToReveal) { boolean noAnimationNeeded = tilesToReveal.isEmpty() || mPages.size() < 2; boolean scrollingInProgress = getScrollX() != 0 || !beginFakeDrag(); // isRunningInTestHarness() to disable animation in functional testing as it caused // flakiness and is not needed there. Alternative solutions were more complex and would // still be either potentially flaky or modify internal data. // For more info see b/253493927 and b/293234595 return noAnimationNeeded || scrollingInProgress || ActivityManager.isRunningInTestHarness(); } private int sanitizePageAction(int action) { int pageLeftId = AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT.getId(); int pageRightId = AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT.getId(); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +15 −6 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.app.ActivityManager; import android.content.Context; import android.content.res.Configuration; import android.os.Bundle; Loading Loading @@ -549,10 +550,8 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { return mPages.get(0).mRecords.size(); } public void startTileReveal(Set<String> tileSpecs, final Runnable postAnimation) { if (tileSpecs.isEmpty() || mPages.size() < 2 || getScrollX() != 0 || !beginFakeDrag()) { // Do not start the reveal animation unless there are tiles to animate, multiple // TileLayouts available and the user has not already started dragging. public void startTileReveal(Set<String> tilesToReveal, final Runnable postAnimation) { if (shouldNotRunAnimation(tilesToReveal)) { return; } Loading @@ -560,13 +559,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { final TileLayout lastPage = mPages.get(lastPageNumber); final ArrayList<Animator> bounceAnims = new ArrayList<>(); for (TileRecord tr : lastPage.mRecords) { if (tileSpecs.contains(tr.tile.getTileSpec())) { if (tilesToReveal.contains(tr.tile.getTileSpec())) { bounceAnims.add(setupBounceAnimator(tr.tileView, bounceAnims.size())); } } if (bounceAnims.isEmpty()) { // All tileSpecs are on the first page. Nothing to do. // All tilesToReveal are on the first page. Nothing to do. // TODO: potentially show a bounce animation for first page QS tiles endFakeDrag(); return; Loading @@ -588,6 +587,16 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { postInvalidateOnAnimation(); } private boolean shouldNotRunAnimation(Set<String> tilesToReveal) { boolean noAnimationNeeded = tilesToReveal.isEmpty() || mPages.size() < 2; boolean scrollingInProgress = getScrollX() != 0 || !beginFakeDrag(); // isRunningInTestHarness() to disable animation in functional testing as it caused // flakiness and is not needed there. Alternative solutions were more complex and would // still be either potentially flaky or modify internal data. // For more info see b/253493927 and b/293234595 return noAnimationNeeded || scrollingInProgress || ActivityManager.isRunningInTestHarness(); } private int sanitizePageAction(int action) { int pageLeftId = AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT.getId(); int pageRightId = AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT.getId(); Loading