summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/pageindicators
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-05-20 20:29:05 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-05-20 20:29:05 +0000
commit5f2f15a77e7f05c81838a4ec88b05f34f5ff130f (patch)
tree76526cfcb23abd0699dd7dfc5a62a7d95831c42a /src/com/android/launcher3/pageindicators
parent46eb13d53b7bf0dc4769a088b645b8366c3cbfd1 (diff)
parentc487bd34ace268dd8be5480ba884baed6096f76e (diff)
downloadandroid_packages_apps_Trebuchet-5f2f15a77e7f05c81838a4ec88b05f34f5ff130f.tar.gz
android_packages_apps_Trebuchet-5f2f15a77e7f05c81838a4ec88b05f34f5ff130f.tar.bz2
android_packages_apps_Trebuchet-5f2f15a77e7f05c81838a4ec88b05f34f5ff130f.zip
Making page indicator an abstract class and implementing some common methods.
am: c487bd34ac * commit 'c487bd34ace268dd8be5480ba884baed6096f76e': Making page indicator an abstract class and implementing some common methods. Change-Id: Ifac23eac824365fb122bd984dca6ef93901289dd
Diffstat (limited to 'src/com/android/launcher3/pageindicators')
-rw-r--r--src/com/android/launcher3/pageindicators/PageIndicator.java37
-rw-r--r--src/com/android/launcher3/pageindicators/PageIndicatorDots.java23
-rw-r--r--src/com/android/launcher3/pageindicators/PageIndicatorLine.java24
3 files changed, 34 insertions, 50 deletions
diff --git a/src/com/android/launcher3/pageindicators/PageIndicator.java b/src/com/android/launcher3/pageindicators/PageIndicator.java
index 77c579c93..7c5949598 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicator.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicator.java
@@ -1,16 +1,37 @@
package com.android.launcher3.pageindicators;
+import android.content.Context;
+import android.util.AttributeSet;
import android.view.View;
-import java.util.ArrayList;
+/**
+ * Base class for a page indicator.
+ */
+public abstract class PageIndicator extends View {
-public interface PageIndicator {
- View getView();
- void setScroll(int currentScroll, int totalScroll);
+ protected int mNumPages = 1;
- void setActiveMarker(int activePage);
+ public PageIndicator(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
- void addMarker();
- void removeMarker();
- void setMarkersCount(int numMarkers);
+ public abstract void setScroll(int currentScroll, int totalScroll);
+
+ public abstract void setActiveMarker(int activePage);
+
+ public void addMarker() {
+ mNumPages++;
+ onPageCountChanged();
+ }
+
+ public void removeMarker() {
+ mNumPages--;
+ onPageCountChanged();
+ }
+ public void setMarkersCount(int numMarkers) {
+ mNumPages = numMarkers;
+ onPageCountChanged();
+ }
+
+ protected abstract void onPageCountChanged();
}
diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
index 4a1238ddd..7d84a0c76 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
@@ -42,7 +42,7 @@ import com.android.launcher3.Utilities;
* {@link PageIndicator} which shows dots per page. The active page is shown with the current
* accent color.
*/
-public class PageIndicatorDots extends View implements PageIndicator {
+public class PageIndicatorDots extends PageIndicator {
private static final float SHIFT_PER_ANIMATION = 0.5f;
private static final float SHIFT_THRESHOLD = 0.1f;
@@ -90,7 +90,6 @@ public class PageIndicatorDots extends View implements PageIndicator {
private final int mInActiveColor;
private final boolean mIsRtl;
- private int mNumPages;
private int mActivePage;
/**
@@ -131,11 +130,6 @@ public class PageIndicatorDots extends View implements PageIndicator {
}
@Override
- public View getView() {
- return this;
- }
-
- @Override
public void setScroll(int currentScroll, int totalScroll) {
if (mNumPages > 1) {
if (mIsRtl) {
@@ -235,20 +229,7 @@ public class PageIndicatorDots extends View implements PageIndicator {
}
@Override
- public void addMarker() {
- mNumPages++;
- requestLayout();
- }
-
- @Override
- public void removeMarker() {
- mNumPages--;
- requestLayout();
- }
-
- @Override
- public void setMarkersCount(int numMarkers) {
- mNumPages = numMarkers;
+ protected void onPageCountChanged() {
requestLayout();
}
diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
index e48168616..a358e7be0 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
@@ -25,7 +25,7 @@ import com.android.launcher3.dynamicui.ExtractedColors;
*
* The fraction is 1 / number of pages and the position is based on the progress of the page scroll.
*/
-public class PageIndicatorLine extends View implements PageIndicator {
+public class PageIndicatorLine extends PageIndicator {
private static final String TAG = "PageIndicatorLine";
private static final int LINE_FADE_DURATION = ViewConfiguration.getScrollBarFadeDuration();
@@ -38,7 +38,6 @@ public class PageIndicatorLine extends View implements PageIndicator {
private ValueAnimator mLineAlphaAnimator;
private int mAlpha = 0;
private float mProgress = 0f;
- private int mNumPages = 1;
private Paint mLinePaint;
private static final Property<PageIndicatorLine, Integer> PAINT_ALPHA
@@ -78,8 +77,6 @@ public class PageIndicatorLine extends View implements PageIndicator {
@Override
protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
-
if (mNumPages == 0) {
return;
}
@@ -92,11 +89,6 @@ public class PageIndicatorLine extends View implements PageIndicator {
}
@Override
- public View getView() {
- return this;
- }
-
- @Override
public void setScroll(int currentScroll, int totalScroll) {
if (getAlpha() == 0) {
return;
@@ -115,18 +107,8 @@ public class PageIndicatorLine extends View implements PageIndicator {
}
@Override
- public void addMarker() {
- mNumPages++;
- }
-
- @Override
- public void removeMarker() {
- mNumPages--;
- }
-
- @Override
- public void setMarkersCount(int numMarkers) {
- mNumPages = numMarkers;
+ protected void onPageCountChanged() {
+ invalidate();
}
/**