Preserve tab position
To reproduce the issue:
1. Swipe to work tab
2. Tap Home
3. Swipe up to show all apps, you can see the personal tab is
highlighted while the view pager is showing work apps.
We cleared the state whenever onLayout is called, we should
make use of mSelectedPosition.
Change-Id: I621b3c9ada0eb608280fe5e4ea8715f3a341820d
diff --git a/src/com/android/launcher3/views/SlidingTabStrip.java b/src/com/android/launcher3/views/SlidingTabStrip.java
index 45c6261..c2ef41b 100644
--- a/src/com/android/launcher3/views/SlidingTabStrip.java
+++ b/src/com/android/launcher3/views/SlidingTabStrip.java
@@ -34,7 +34,7 @@
private int mSelectedIndicatorHeight;
private int mIndicatorLeft = -1;
private int mIndicatorRight = -1;
- private int mSelectedPosition = -1;
+ private int mSelectedPosition = 0;
private float mSelectionOffset;
public SlidingTabStrip(@NonNull Context context, @Nullable AttributeSet attrs) {
@@ -63,8 +63,8 @@
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
- updateTabTextColor(0);
- updateIndicatorPosition(0, 0);
+ updateTabTextColor(mSelectedPosition);
+ updateIndicatorPosition(mSelectedPosition, 0);
}
private void updateIndicatorPosition() {