summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2015-04-27 17:01:32 -0700
committerHyunyoung Song <hyunyoungs@google.com>2015-04-27 17:01:32 -0700
commitf17a1c9ad99d46a65de797422fd439382114b348 (patch)
tree9a529ce9ed53d39adad050c2a1aff2a61586f756 /src/com
parentf782fb52581988fb44e9126852221eb260d158a9 (diff)
downloadandroid_packages_apps_Trebuchet-f17a1c9ad99d46a65de797422fd439382114b348.tar.gz
android_packages_apps_Trebuchet-f17a1c9ad99d46a65de797422fd439382114b348.tar.bz2
android_packages_apps_Trebuchet-f17a1c9ad99d46a65de797422fd439382114b348.zip
Widget tray alignment according to UX spec
- Fixing an issue where widget preview is not loaded do to faulty canceling of loading async task when view is detached from the window. b/20338334 Change-Id: I1e3bd6b6cdafda8d1e0a7a0e87c8089100c341a7
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher3/widget/WidgetCell.java19
-rw-r--r--src/com/android/launcher3/widget/WidgetsListAdapter.java11
2 files changed, 14 insertions, 16 deletions
diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java
index 0bc7333ec..7c7d982de 100644
--- a/src/com/android/launcher3/widget/WidgetCell.java
+++ b/src/com/android/launcher3/widget/WidgetCell.java
@@ -48,7 +48,7 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
private static final String TAG = "WidgetCell";
private static final boolean DEBUG = false;
- private static final int FADE_IN_DURATION_MS = 70;
+ private static final int FADE_IN_DURATION_MS = 90;
private int mPresetPreviewSize;
private ImageView mWidgetImage;
@@ -104,6 +104,8 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
mWidgetImage.setImageDrawable(null);
mWidgetName.setText(null);
mWidgetDims.setText(null);
+
+ cancelLoader(false);
}
/**
@@ -140,16 +142,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
mWidgetPreviewLoader = loader;
}
- @Override
- protected void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- deletePreview(false);
-
- if (DEBUG) {
- Log.d(TAG, String.format("[tag=%s] onDetachedFromWindow", getTagToString()));
- }
- }
-
public int[] getPreviewSize() {
int[] maxSize = new int[2];
maxSize[0] = mPresetPreviewSize;
@@ -219,10 +211,7 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
return Math.min(size[0], info.spanX * cellWidth);
}
-
- private void deletePreview(boolean recycleImage) {
- mWidgetImage.setImageDrawable(null);
-
+ private void cancelLoader(boolean recycleImage) {
if (mActiveRequest != null) {
mActiveRequest.cancel(recycleImage);
mActiveRequest = null;
diff --git a/src/com/android/launcher3/widget/WidgetsListAdapter.java b/src/com/android/launcher3/widget/WidgetsListAdapter.java
index f6ab21eb4..a5b2aff1b 100644
--- a/src/com/android/launcher3/widget/WidgetsListAdapter.java
+++ b/src/com/android/launcher3/widget/WidgetsListAdapter.java
@@ -127,7 +127,6 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
// Bind the view in the widget horizontal tray region.
for (int i=0; i < infoList.size(); i++) {
WidgetCell widget = (WidgetCell) row.getChildAt(i);
- widget.reset();
if (getWidgetPreviewLoader() == null) {
return;
}
@@ -159,6 +158,16 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
}
@Override
+ public void onViewRecycled(WidgetsRowViewHolder holder) {
+ 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();
+ }
+ }
+
+ @Override
public long getItemId(int pos) {
return pos;
}