Fix crash when switching between Apps/Widgets tabs

Bug: 8138894
This commit is contained in:
Michael Jurka
2013-02-07 13:27:06 +01:00
parent b81e22ef4a
commit ee8e99fe3b
4 changed files with 20 additions and 11 deletions

View File

@@ -38,6 +38,7 @@ public class PagedViewWidget extends LinearLayout {
static final String TAG = "PagedViewWidgetLayout";
private static boolean sDeletePreviewsWhenDetachedFromWindow = true;
private static boolean sRecyclePreviewsWhenDetachedFromWindow = true;
private String mDimensionsFormatString;
CheckForShortPress mPendingCheckForShortPress = null;
@@ -82,6 +83,10 @@ public class PagedViewWidget extends LinearLayout {
sDeletePreviewsWhenDetachedFromWindow = value;
}
public static void setRecyclePreviewsWhenDetachedFromWindow(boolean value) {
sRecyclePreviewsWhenDetachedFromWindow = value;
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
@@ -90,8 +95,9 @@ public class PagedViewWidget extends LinearLayout {
final ImageView image = (ImageView) findViewById(R.id.widget_preview);
if (image != null) {
FastBitmapDrawable preview = (FastBitmapDrawable) image.getDrawable();
if (mInfo != null && preview != null && preview.getBitmap() != null) {
mWidgetPreviewLoader.releaseBitmap(mInfo, preview.getBitmap());
if (sRecyclePreviewsWhenDetachedFromWindow &&
mInfo != null && preview != null && preview.getBitmap() != null) {
mWidgetPreviewLoader.recycleBitmap(mInfo, preview.getBitmap());
}
image.setImageDrawable(null);
}