diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-06-06 21:12:53 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-06-06 21:12:54 +0000 |
commit | 7e6e96dabdd37f6bd75b647fa31570a941189372 (patch) | |
tree | b26ff100c1ba0424a3cd35f849cc5672510b8d9a | |
parent | 561e53577b150d2f4a8d4c45931bd763f9fbd5ac (diff) | |
parent | 6d60532167910444e84f2a8da5ad69e858b08a0c (diff) | |
download | android_packages_apps_Trebuchet-7e6e96dabdd37f6bd75b647fa31570a941189372.tar.gz android_packages_apps_Trebuchet-7e6e96dabdd37f6bd75b647fa31570a941189372.tar.bz2 android_packages_apps_Trebuchet-7e6e96dabdd37f6bd75b647fa31570a941189372.zip |
Merge "Revert "Decrease jank in all apps physics."" into ub-launcher3-dorval-polish
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsGridAdapter.java | 48 | ||||
-rw-r--r-- | src/com/android/launcher3/anim/SpringAnimationHandler.java | 2 |
2 files changed, 18 insertions, 32 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java index 83c137014..d3d23ca24 100644 --- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java +++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java @@ -102,12 +102,7 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. private SpringAnimation spring; public ViewHolder(View v) { - this(v, null); - } - - public ViewHolder(View v, SpringAnimation spring) { super(v); - this.spring = spring; } } @@ -290,7 +285,6 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - ViewHolder viewHolder; switch (viewType) { case VIEW_TYPE_ICON: case VIEW_TYPE_PREDICTION_ICON: @@ -304,19 +298,16 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. // Ensure the all apps icon height matches the workspace icons icon.getLayoutParams().height = getCellSize().y; - viewHolder = new ViewHolder(icon); - break; + return new ViewHolder(icon); case VIEW_TYPE_DISCOVERY_ITEM: AppDiscoveryItemView appDiscoveryItemView = (AppDiscoveryItemView) mLayoutInflater .inflate(R.layout.all_apps_discovery_item, parent, false); appDiscoveryItemView.init(mIconClickListener, mLauncher.getAccessibilityDelegate(), mIconLongClickListener); - viewHolder = new ViewHolder(appDiscoveryItemView); - break; + return new ViewHolder(appDiscoveryItemView); case VIEW_TYPE_EMPTY_SEARCH: - viewHolder = new ViewHolder(mLayoutInflater.inflate(R.layout.all_apps_empty_search, + return new ViewHolder(mLayoutInflater.inflate(R.layout.all_apps_empty_search, parent, false)); - break; case VIEW_TYPE_SEARCH_MARKET: View searchMarketView = mLayoutInflater.inflate(R.layout.all_apps_search_market, parent, false); @@ -326,30 +317,21 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. mLauncher.startActivitySafely(v, mMarketSearchIntent, null); } }); - viewHolder = new ViewHolder(searchMarketView); - break; + return new ViewHolder(searchMarketView); case VIEW_TYPE_SEARCH_DIVIDER: - viewHolder = new ViewHolder(mLayoutInflater.inflate( + return new ViewHolder(mLayoutInflater.inflate( R.layout.all_apps_search_divider, parent, false)); - break; case VIEW_TYPE_APPS_LOADING_DIVIDER: View loadingDividerView = mLayoutInflater.inflate( R.layout.all_apps_discovery_loading_divider, parent, false); - viewHolder = new ViewHolder(loadingDividerView); - break; + return new ViewHolder(loadingDividerView); case VIEW_TYPE_PREDICTION_DIVIDER: case VIEW_TYPE_SEARCH_MARKET_DIVIDER: - viewHolder = new ViewHolder(mLayoutInflater.inflate( + return new ViewHolder(mLayoutInflater.inflate( R.layout.all_apps_divider, parent, false)); - break; default: throw new RuntimeException("Unexpected view type"); } - - if (FeatureFlags.LAUNCHER3_PHYSICS && isViewType(viewType, VIEW_TYPE_MASK_HAS_SPRINGS)) { - viewHolder.spring = mSpringAnimationHandler.createSpringAnimation(viewHolder.itemView); - } - return viewHolder; } private Point getCellSize() { @@ -358,8 +340,7 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. @Override public void onBindViewHolder(ViewHolder holder, int position) { - int viewType = holder.getItemViewType(); - switch (viewType) { + switch (holder.getItemViewType()) { case VIEW_TYPE_ICON: case VIEW_TYPE_PREDICTION_ICON: AppInfo info = mApps.getAdapterItems().get(position).appInfo; @@ -396,16 +377,21 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. // nothing to do break; } - if (FeatureFlags.LAUNCHER3_PHYSICS && isViewType(viewType, VIEW_TYPE_MASK_HAS_SPRINGS)) { - holder.spring = mSpringAnimationHandler.add(holder.itemView, position, mApps, - mAppsPerRow, holder.spring); - } if (mBindViewCallback != null) { mBindViewCallback.onBindView(holder); } } @Override + public void onViewAttachedToWindow(ViewHolder holder) { + int type = holder.getItemViewType(); + if (FeatureFlags.LAUNCHER3_PHYSICS && isViewType(type, VIEW_TYPE_MASK_HAS_SPRINGS)) { + holder.spring = mSpringAnimationHandler.add(holder.itemView, + holder.getAdapterPosition(), mApps, mAppsPerRow, holder.spring); + } + } + + @Override public void onViewDetachedFromWindow(ViewHolder holder) { int type = holder.getItemViewType(); if (FeatureFlags.LAUNCHER3_PHYSICS && isViewType(type, VIEW_TYPE_MASK_HAS_SPRINGS)) { diff --git a/src/com/android/launcher3/anim/SpringAnimationHandler.java b/src/com/android/launcher3/anim/SpringAnimationHandler.java index 92acfb87d..488657c36 100644 --- a/src/com/android/launcher3/anim/SpringAnimationHandler.java +++ b/src/com/android/launcher3/anim/SpringAnimationHandler.java @@ -178,7 +178,7 @@ public class SpringAnimationHandler { return mDirection == Y_DIRECTION; } - public SpringAnimation createSpringAnimation(View view) { + private SpringAnimation createSpringAnimation(View view) { DynamicAnimation.ViewProperty property = isVerticalDirection() ? DynamicAnimation.TRANSLATION_Y : DynamicAnimation.TRANSLATION_X; |