diff options
author | Winson Chung <winsonc@google.com> | 2013-09-19 15:55:45 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2013-09-19 15:56:35 -0700 |
commit | 7819a56217fd4e216d3675905586b275799723bb (patch) | |
tree | d88b3d9b1820e5a3081d39401f5b4791c1830fdd /src/com/android/launcher3/PageIndicator.java | |
parent | bb701aaa83889b208ba8910e08023c84693138d1 (diff) | |
download | android_packages_apps_Trebuchet-7819a56217fd4e216d3675905586b275799723bb.tar.gz android_packages_apps_Trebuchet-7819a56217fd4e216d3675905586b275799723bb.tar.bz2 android_packages_apps_Trebuchet-7819a56217fd4e216d3675905586b275799723bb.zip |
Tweaking page indicators to support add page icon, remembering widget picker page (Bug 10787439)
Change-Id: Iab0b5676aa9c34a610b4b968940abc81c913c234
Diffstat (limited to 'src/com/android/launcher3/PageIndicator.java')
-rw-r--r-- | src/com/android/launcher3/PageIndicator.java | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/com/android/launcher3/PageIndicator.java b/src/com/android/launcher3/PageIndicator.java index a9016d5ea..52c844760 100644 --- a/src/com/android/launcher3/PageIndicator.java +++ b/src/com/android/launcher3/PageIndicator.java @@ -49,6 +49,20 @@ public class PageIndicator extends LinearLayout { new ArrayList<PageIndicatorMarker>(); private int mActiveMarkerIndex; + public static class PageMarkerResources { + int activeId; + int inactiveId; + + public PageMarkerResources() { + activeId = R.drawable.ic_pageindicator_current; + inactiveId = R.drawable.ic_pageindicator_default; + } + public PageMarkerResources(int aId, int iaId) { + activeId = aId; + inactiveId = iaId; + } + } + public PageIndicator(Context context) { this(context, null); } @@ -155,17 +169,20 @@ public class PageIndicator extends LinearLayout { mWindowRange[1] = windowEnd; } - void addMarker(int index, int layoutId, boolean allowAnimations) { + void addMarker(int index, PageMarkerResources marker, boolean allowAnimations) { index = Math.max(0, Math.min(index, mMarkers.size())); - PageIndicatorMarker marker = - (PageIndicatorMarker) mLayoutInflater.inflate(layoutId, this, false); - mMarkers.add(index, marker); + PageIndicatorMarker m = + (PageIndicatorMarker) mLayoutInflater.inflate(R.layout.page_indicator_marker, + this, false); + m.setMarkerDrawables(marker.activeId, marker.inactiveId); + + mMarkers.add(index, m); offsetWindowCenterTo(mActiveMarkerIndex, allowAnimations); } - void addMarkers(ArrayList<Integer> layoutIds, boolean allowAnimations) { - for (int i = 0; i < layoutIds.size(); ++i) { - addMarker(Integer.MAX_VALUE, layoutIds.get(i), allowAnimations); + void addMarkers(ArrayList<PageMarkerResources> markers, boolean allowAnimations) { + for (int i = 0; i < markers.size(); ++i) { + addMarker(Integer.MAX_VALUE, markers.get(i), allowAnimations); } } |