diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-05-09 20:43:21 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-06-08 15:00:09 -0700 |
commit | 3333b0ced8e6743c41909f6f6b916f1f9ec5a004 (patch) | |
tree | 7fd735821e3393a0dfe8691087f58ebbaa9dafae /src/com/android/launcher3/folder/FolderPagedView.java | |
parent | ab06999a70c773ffbc0aadaf938e0e90f8ca09b2 (diff) | |
download | android_packages_apps_Trebuchet-3333b0ced8e6743c41909f6f6b916f1f9ec5a004.tar.gz android_packages_apps_Trebuchet-3333b0ced8e6743c41909f6f6b916f1f9ec5a004.tar.bz2 android_packages_apps_Trebuchet-3333b0ced8e6743c41909f6f6b916f1f9ec5a004.zip |
Unifying focus indicator handling for workspace and all-apps
Adding an abstract FocusIndicatorHelper based on FocusIndicatorView
which draws the background instead of using a dummy view.
Change-Id: Id560195323d2ddad8fcd77ba675cf3f4fd4a94ab
Diffstat (limited to 'src/com/android/launcher3/folder/FolderPagedView.java')
-rw-r--r-- | src/com/android/launcher3/folder/FolderPagedView.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java index d8b83ad6c..c56e4e5f9 100644 --- a/src/com/android/launcher3/folder/FolderPagedView.java +++ b/src/com/android/launcher3/folder/FolderPagedView.java @@ -18,6 +18,7 @@ package com.android.launcher3.folder; import android.annotation.SuppressLint; import android.content.Context; +import android.graphics.Canvas; import android.util.AttributeSet; import android.util.Log; import android.view.Gravity; @@ -30,7 +31,6 @@ import com.android.launcher3.BubbleTextView; import com.android.launcher3.CellLayout; import com.android.launcher3.DeviceProfile; import com.android.launcher3.FocusHelper.PagedFolderKeyEventListener; -import com.android.launcher3.FocusIndicatorView; import com.android.launcher3.IconCache; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.ItemInfo; @@ -45,6 +45,7 @@ import com.android.launcher3.Utilities; import com.android.launcher3.Workspace.ItemOperator; import com.android.launcher3.dragndrop.DragController; import com.android.launcher3.pageindicators.PageIndicator; +import com.android.launcher3.keyboard.ViewGroupFocusHelper; import com.android.launcher3.util.Thunk; import java.util.ArrayList; @@ -73,6 +74,7 @@ public class FolderPagedView extends PagedView { private final LayoutInflater mInflater; private final IconCache mIconCache; + private final ViewGroupFocusHelper mFocusIndicatorHelper; @Thunk final HashMap<View, Runnable> mPendingAnimations = new HashMap<>(); @@ -90,7 +92,6 @@ public class FolderPagedView extends PagedView { private int mGridCountY; private Folder mFolder; - private FocusIndicatorView mFocusIndicatorView; private PagedFolderKeyEventListener mKeyListener; private PageIndicator mPageIndicator; @@ -112,11 +113,11 @@ public class FolderPagedView extends PagedView { setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES); setEdgeGlowColor(getResources().getColor(R.color.folder_edge_effect_color)); + mFocusIndicatorHelper = new ViewGroupFocusHelper(this); } public void setFolder(Folder folder) { mFolder = folder; - mFocusIndicatorView = (FocusIndicatorView) folder.findViewById(R.id.focus_indicator); mKeyListener = new PagedFolderKeyEventListener(folder); mPageIndicator = (PageIndicator) folder.findViewById(R.id.folder_page_indicator); } @@ -162,6 +163,12 @@ public class FolderPagedView extends PagedView { } } + @Override + protected void dispatchDraw(Canvas canvas) { + mFocusIndicatorHelper.draw(canvas); + super.dispatchDraw(canvas); + } + /** * Binds items to the layout. * @return list of items that could not be bound, probably because we hit the max size limit. @@ -226,7 +233,7 @@ public class FolderPagedView extends PagedView { textView.applyFromShortcutInfo(item, mIconCache); textView.setOnClickListener(mFolder); textView.setOnLongClickListener(mFolder); - textView.setOnFocusChangeListener(mFocusIndicatorView); + textView.setOnFocusChangeListener(mFocusIndicatorHelper); textView.setOnKeyListener(mKeyListener); textView.setLayoutParams(new CellLayout.LayoutParams( |