diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2015-04-28 15:06:45 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2015-04-28 15:06:45 -0700 |
commit | 559d90d0dafbac1d97a1e6f18062309831a25d51 (patch) | |
tree | 6427be948d4571798e55dfbb74660ac588fd2fde /src/com/android/launcher3/widget/WidgetsListAdapter.java | |
parent | 341220b954699dbf440024cfc2251f08d6fbc39f (diff) | |
download | android_packages_apps_Trebuchet-559d90d0dafbac1d97a1e6f18062309831a25d51.tar.gz android_packages_apps_Trebuchet-559d90d0dafbac1d97a1e6f18062309831a25d51.tar.bz2 android_packages_apps_Trebuchet-559d90d0dafbac1d97a1e6f18062309831a25d51.zip |
WidgetPreviewLoader concurrency issue / Caching improvement
1) Concurrency issue: unused bitmap was not properly synchronized
which caused concurrency issue. Hence, leading current widget tray
implementation to not use it. (a.k.a. cancel(false)).
Issue fixed and now using the unused bitmap pool.
2) Caching improvement: LoadedBitmap cache was a legacy support system
for the old widget tray implementation. On our latest implementation,
cache and recycled view is completely being managed by the recycler view.
Hence removed.
Change-Id: I843e6a286b676f283172f2c1ef5cbeed0a9fb17f
Diffstat (limited to 'src/com/android/launcher3/widget/WidgetsListAdapter.java')
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsListAdapter.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsListAdapter.java b/src/com/android/launcher3/widget/WidgetsListAdapter.java index a5b2aff1b..051a3ab5e 100644 --- a/src/com/android/launcher3/widget/WidgetsListAdapter.java +++ b/src/com/android/launcher3/widget/WidgetsListAdapter.java @@ -120,7 +120,9 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> { mIconCache.getTitleAndIconForApp(infoOut.packageName, UserHandleCompat.myUserHandle(), false /* useLowResIcon */, infoOut); } - ((TextView) holder.getContent().findViewById(R.id.section)).setText(infoOut.title); + + TextView tv = ((TextView) holder.getContent().findViewById(R.id.section)); + tv.setText(infoOut.title); ImageView iv = (ImageView) holder.getContent().findViewById(R.id.section_image); iv.setImageBitmap(infoOut.iconBitmap); @@ -149,7 +151,7 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> { @Override public WidgetsRowViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (DEBUG) { - Log.v(TAG, String.format("\nonCreateViewHolder, [widget#=%d]", viewType)); + Log.v(TAG, "\nonCreateViewHolder"); } ViewGroup container = (ViewGroup) mLayoutInflater.inflate( @@ -159,11 +161,15 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> { @Override public void onViewRecycled(WidgetsRowViewHolder holder) { + if (DEBUG) { + Log.v(TAG, String.format("onViewDetachedFromWindow, [pos=%d]", + holder.getAdapterPosition())); + } ViewGroup row = ((ViewGroup) holder.getContent().findViewById(R.id.widgets_cell_list)); for (int i = 0; i < row.getChildCount(); i++) { WidgetCell widget = (WidgetCell) row.getChildAt(i); - widget.reset(); + widget.clear(); } } |