diff options
Diffstat (limited to 'src/com/android/launcher3/pageindicators/PageIndicator.java')
-rw-r--r-- | src/com/android/launcher3/pageindicators/PageIndicator.java | 26 |
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(); + } } |