summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/PagedViewWidget.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2011-09-29 13:44:19 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-29 13:44:19 -0700
commit1a540a83647dbf94941f78025eba73d114dc0b47 (patch)
tree857e3372a6370198b2ee55fbbcaed92061b38bea /src/com/android/launcher2/PagedViewWidget.java
parent32343bd4bee4bd793c2d61f0985e723e61638d37 (diff)
parent099459377a737d885bbd8ac4d52e6884a103b1c7 (diff)
downloadpackages_apps_trebuchet-1a540a83647dbf94941f78025eba73d114dc0b47.zip
packages_apps_trebuchet-1a540a83647dbf94941f78025eba73d114dc0b47.tar.gz
packages_apps_trebuchet-1a540a83647dbf94941f78025eba73d114dc0b47.tar.bz2
Merge "Clean up bitmaps when necessary in the widget tray to prevent likelihood of OOM. (Bug: 5348390)"
Diffstat (limited to 'src/com/android/launcher2/PagedViewWidget.java')
-rw-r--r--src/com/android/launcher2/PagedViewWidget.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher2/PagedViewWidget.java
index 053c2ea..4e06570 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher2/PagedViewWidget.java
@@ -96,6 +96,20 @@ public class PagedViewWidget extends LinearLayout implements Checkable {
setClipToPadding(false);
}
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+
+ final ImageView image = (ImageView) findViewById(R.id.widget_preview);
+ if (image != null) {
+ FastBitmapDrawable preview = (FastBitmapDrawable) image.getDrawable();
+ if (preview != null && preview.getBitmap() != null) {
+ preview.getBitmap().recycle();
+ }
+ image.setImageDrawable(null);
+ }
+ }
+
public void applyFromAppWidgetProviderInfo(AppWidgetProviderInfo info,
FastBitmapDrawable preview, int maxWidth, int[] cellSpan,
HolographicOutlineHelper holoOutlineHelper) {
@@ -109,11 +123,9 @@ public class PagedViewWidget extends LinearLayout implements Checkable {
mPreviewImageView = image;
final TextView name = (TextView) findViewById(R.id.widget_name);
name.setText(info.label);
- name.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
final TextView dims = (TextView) findViewById(R.id.widget_dims);
if (dims != null) {
dims.setText(String.format(mDimensionsFormatString, cellSpan[0], cellSpan[1]));
- dims.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
}
@@ -127,11 +139,9 @@ public class PagedViewWidget extends LinearLayout implements Checkable {
mPreviewImageView = image;
final TextView name = (TextView) findViewById(R.id.widget_name);
name.setText(label);
- name.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
final TextView dims = (TextView) findViewById(R.id.widget_dims);
if (dims != null) {
dims.setText(String.format(mDimensionsFormatString, 1, 1));
- dims.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
}