summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-02-21 20:13:20 -0800
committerRuben Brunk <rubenbrunk@google.com>2013-02-22 09:50:33 -0800
commit3a34e9e173535888edd154fe76f74ffd82a3d93b (patch)
treec907ad5a6c93a8a855631718d223c5557f1b9ada
parent098f37afd29e0d61ae32a23ae65e1e0d2cd533ec (diff)
downloadandroid_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
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java29
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();