summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/filtershow_strings.xml2
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java29
2 files changed, 26 insertions, 5 deletions
diff --git a/res/values/filtershow_strings.xml b/res/values/filtershow_strings.xml
index 66fb3902d..a06fc24c3 100644
--- a/res/values/filtershow_strings.xml
+++ b/res/values/filtershow_strings.xml
@@ -23,6 +23,8 @@
<string name="cannot_load_image">Cannot load the image!</string>
<!-- String displayed when showing the original image [CHAR LIMIT=NONE] -->
<string name="original_picture_text">@string/original</string>
+ <!-- String displayed when setting the homepage wallpaper in the background [CHAR LIMIT=NONE] -->
+ <string name="setting_wallpaper">Setting wallpaper</string>
<!-- generic strings -->
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();