summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/pageindicators/PageIndicator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/pageindicators/PageIndicator.java')
-rw-r--r--src/com/android/launcher3/pageindicators/PageIndicator.java37
1 files changed, 29 insertions, 8 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();
}