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.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/com/android/launcher3/pageindicators/PageIndicator.java b/src/com/android/launcher3/pageindicators/PageIndicator.java
index 2209bb8ad..b53715d98 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicator.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicator.java
@@ -16,6 +16,7 @@
package com.android.launcher3.pageindicators;
import android.content.Context;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
@@ -25,6 +26,7 @@ import com.android.launcher3.dynamicui.ExtractedColors;
* Base class for a page indicator.
*/
public abstract class PageIndicator extends View {
+ private CaretDrawable mCaretDrawable;
protected int mNumPages = 1;
@@ -45,14 +47,36 @@ public abstract class PageIndicator extends View {
mNumPages--;
onPageCountChanged();
}
+
public void setMarkersCount(int numMarkers) {
mNumPages = numMarkers;
onPageCountChanged();
}
- protected void onPageCountChanged() { }
+ public CaretDrawable getCaretDrawable() {
+ return mCaretDrawable;
+ }
+
+ public void setCaretDrawable(CaretDrawable caretDrawable) {
+ if (mCaretDrawable != null) {
+ mCaretDrawable.setCallback(null);
+ }
+
+ mCaretDrawable = caretDrawable;
+
+ if (mCaretDrawable != null) {
+ mCaretDrawable.setCallback(this);
+ }
+ }
+
+ protected void onPageCountChanged() {}
public void setShouldAutoHide(boolean shouldAutoHide) {}
public void updateColor(ExtractedColors extractedColors) {}
+
+ @Override
+ protected boolean verifyDrawable(Drawable who) {
+ return super.verifyDrawable(who) || who == getCaretDrawable();
+ }
}