diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2015-03-02 14:52:47 -0800 |
---|---|---|
committer | Raj Yengisetty <rajesh@cyngn.com> | 2015-03-06 15:37:44 -0800 |
commit | 369851799cfc890ddbc8af777f7f662f6304dd65 (patch) | |
tree | 40aa4284aea51e593243cea0b40c9e33e1b79815 /src | |
parent | f4784dd14191cbc433becaa651b2a92fa5950f47 (diff) | |
download | android_packages_apps_Trebuchet-369851799cfc890ddbc8af777f7f662f6304dd65.tar.gz android_packages_apps_Trebuchet-369851799cfc890ddbc8af777f7f662f6304dd65.tar.bz2 android_packages_apps_Trebuchet-369851799cfc890ddbc8af777f7f662f6304dd65.zip |
App drawer smooth scrolling
Also fixes searchbar visibility when dragging icons from app drawer
Change-Id: I418dc3210a95cc57c81979452def8240c27d2214
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/AppDrawerListAdapter.java | 17 | ||||
-rw-r--r-- | src/com/android/launcher3/AppDrawerScrubber.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/DragLayer.java | 5 |
3 files changed, 7 insertions, 19 deletions
diff --git a/src/com/android/launcher3/AppDrawerListAdapter.java b/src/com/android/launcher3/AppDrawerListAdapter.java index 9c97642f6..52e35ff2c 100644 --- a/src/com/android/launcher3/AppDrawerListAdapter.java +++ b/src/com/android/launcher3/AppDrawerListAdapter.java @@ -38,7 +38,6 @@ import java.util.ListIterator; public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdapter.ViewHolder> implements View.OnLongClickListener, DragSource, SectionIndexer { - private static final int SCRUBBER_MARGIN_FROM_BOTTOM_DP = 80; private static final char NUMERIC_OR_SPECIAL_CHAR = '#'; private static final String NUMERIC_OR_SPECIAL_HEADER = "#"; @@ -48,18 +47,16 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap private Launcher mLauncher; private DeviceProfile mDeviceProfile; private LinkedHashMap<String, Integer> mSectionHeaders; - private LinearLayout.LayoutParams mIconParams, mSpacerParams; + private LinearLayout.LayoutParams mIconParams; private Rect mIconRect; public static class ViewHolder extends RecyclerView.ViewHolder { public AutoFitTextView mTextView; public ViewGroup mLayout; - public View mSpacer; public ViewHolder(View itemView) { super(itemView); mTextView = (AutoFitTextView) itemView.findViewById(R.id.drawer_item_title); mLayout = (ViewGroup) itemView.findViewById(R.id.drawer_item_flow); - mSpacer = itemView.findViewById(R.id.spacer); } } @@ -75,9 +72,6 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap mIconParams = new LinearLayout.LayoutParams(mDeviceProfile.folderCellWidthPx, ViewGroup.LayoutParams.WRAP_CONTENT); - mSpacerParams = new - LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, - (int) Utilities.convertDpToPixel(SCRUBBER_MARGIN_FROM_BOTTOM_DP, mLauncher)); LauncherAppState app = LauncherAppState.getInstance(); DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); mIconRect = new Rect(0, 0, grid.allAppsIconSizePx, grid.allAppsIconSizePx); @@ -295,7 +289,6 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap View v = LayoutInflater.from(parent.getContext()). inflate(R.layout.app_drawer_item, parent, false); ViewHolder holder = new ViewHolder(v); - holder.mSpacer.setLayoutParams(mSpacerParams); holder.mTextView.setPadding(0, 0, 0, mDeviceProfile.iconTextSizePx + 10); for (int i = 0; i < mDeviceProfile.numColumnsBase; i++) { AppDrawerIconView icon = (AppDrawerIconView) mLayoutInflater.inflate( @@ -348,11 +341,6 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap icon.mLabel.setText(info.title); } } - if (position == getItemCount() - 1) { - holder.mSpacer.setVisibility(View.VISIBLE); - } else { - holder.mSpacer.setVisibility(View.GONE); - } holder.itemView.setTag(indexedInfo); } @@ -360,7 +348,7 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap public boolean onLongClick(View v) { if (v instanceof AppDrawerIconView) { beginDraggingApplication(v); - mLauncher.showWorkspace(); + mLauncher.enterSpringLoadedDragMode(); } return false; } @@ -439,7 +427,6 @@ public class AppDrawerListAdapter extends RecyclerView.Adapter<AppDrawerListAdap } private void beginDraggingApplication(View v) { - // mLauncher.getWorkspace().onDragStartedWithItem(v); mLauncher.getWorkspace().beginDragShared(v, this); } diff --git a/src/com/android/launcher3/AppDrawerScrubber.java b/src/com/android/launcher3/AppDrawerScrubber.java index dff02661a..0ace60da8 100644 --- a/src/com/android/launcher3/AppDrawerScrubber.java +++ b/src/com/android/launcher3/AppDrawerScrubber.java @@ -92,8 +92,8 @@ public class AppDrawerScrubber extends LinearLayout { mScrubberIndicator.setText(section); } - mLayoutManager.scrollToPositionWithOffset( - mAdapter.getPositionForSection(progress), 0); + mLayoutManager.smoothScrollToPosition(mListView, null, + mAdapter.getPositionForSection(progress)); } @Override diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index e28f00189..328c31173 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -154,9 +154,10 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang View view = child.findViewById(R.id.app_drawer_recyclerview); FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) view.getLayoutParams(); - lp.bottomMargin += insets.bottom - mInsets.bottom; - lp.topMargin += insets.top - mInsets.top; + int paddingBottom = view.getPaddingBottom() + insets.bottom - mInsets.bottom; + int paddingTop = view.getPaddingTop() + insets.top - mInsets.top; view.setLayoutParams(lp); + view.setPadding(view.getPaddingLeft(), paddingTop, view.getPaddingRight(), paddingBottom); // Scrubber view = child.findViewById(R.id.app_drawer_scrubber_container); |