diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-02-21 20:13:20 -0800 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2013-02-22 09:50:33 -0800 |
commit | 3a34e9e173535888edd154fe76f74ffd82a3d93b (patch) | |
tree | c907ad5a6c93a8a855631718d223c5557f1b9ada /src | |
parent | 098f37afd29e0d61ae32a23ae65e1e0d2cd533ec (diff) | |
download | android_packages_apps_Snap-3a34e9e173535888edd154fe76f74ffd82a3d93b.tar.gz android_packages_apps_Snap-3a34e9e173535888edd154fe76f74ffd82a3d93b.tar.bz2 android_packages_apps_Snap-3a34e9e173535888edd154fe76f74ffd82a3d93b.zip |
Move setting wallpaper to a background thread.
Bug: 8088767
Change-Id: I168032418a15f766ac09e18cd12707c7270b07f3
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/gallery3d/filtershow/FilterShowActivity.java | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index f7147eac1..70e800958 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -71,6 +71,7 @@ import com.android.gallery3d.filtershow.imageshow.ImageZoom; import com.android.gallery3d.filtershow.imageshow.MasterImage; import com.android.gallery3d.filtershow.presets.ImagePreset; import com.android.gallery3d.filtershow.provider.SharedImageProvider; +import com.android.gallery3d.filtershow.tools.BitmapTask; import com.android.gallery3d.filtershow.tools.SaveCopyTask; import com.android.gallery3d.filtershow.ui.FilterIconButton; import com.android.gallery3d.filtershow.ui.FramedTextButton; @@ -1090,11 +1091,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, mCropExtras.getOutputFormat(), this); } if (mSaveAsWallpaper) { - try { - WallpaperManager.getInstance(this).setBitmap(filtered); - } catch (IOException e) { - Log.w(LOGTAG, "fail to set wall paper", e); - } + setWallpaperInBackground(filtered); } if (mReturnAsExtra) { if (filtered != null) { @@ -1117,6 +1114,28 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, } } + void setWallpaperInBackground(final Bitmap bmap) { + Toast.makeText(this, R.string.setting_wallpaper, Toast.LENGTH_LONG).show(); + BitmapTask.Callbacks<FilterShowActivity> cb = new BitmapTask.Callbacks<FilterShowActivity>() { + @Override + public void onComplete(Bitmap result) {} + + @Override + public void onCancel() {} + + @Override + public Bitmap onExecute(FilterShowActivity param) { + try { + WallpaperManager.getInstance(param).setBitmap(bmap); + } catch (IOException e) { + Log.w(LOGTAG, "fail to set wall paper", e); + } + return null; + } + }; + (new BitmapTask<FilterShowActivity>(cb)).execute(this); + } + public void done() { if (mOutputted) { hideSavingProgress(); |