From 97ea93e52153fe6ab6b6a362a387603ae5eae145 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Fri, 23 Mar 2012 16:34:59 -0700 Subject: Fixing potential issue where loader was still running after the fragment was detached. (Bug 5682275) Change-Id: I79fd21e2ad269eb09fa974264f9f319f654cad19 --- .../launcher2/WallpaperChooserDialogFragment.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/com/android/launcher2/WallpaperChooserDialogFragment.java b/src/com/android/launcher2/WallpaperChooserDialogFragment.java index 030d33d9f..eec699e35 100644 --- a/src/com/android/launcher2/WallpaperChooserDialogFragment.java +++ b/src/com/android/launcher2/WallpaperChooserDialogFragment.java @@ -82,16 +82,27 @@ public class WallpaperChooserDialogFragment extends DialogFragment implements outState.putBoolean(EMBEDDED_KEY, mEmbedded); } - @Override - public void onDestroy() { - super.onDestroy(); - + private void cancelLoader() { if (mLoader != null && mLoader.getStatus() != WallpaperLoader.Status.FINISHED) { mLoader.cancel(true); mLoader = null; } } + @Override + public void onDetach() { + super.onDetach(); + + cancelLoader(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + + cancelLoader(); + } + @Override public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); -- cgit v1.2.3