package org.linnaeus.actions; import android.content.Context; import android.net.Uri; import android.provider.MediaStore; import android.widget.Toast; import org.linnaeus.activity.PaintAreaActivity; import org.linnaeus.activity.R; import org.linnaeus.utils.FileUtils; import org.linnaeus.utils.WarningAlert; import java.io.File; /** * Created by IntelliJ IDEA. * User: Immortality * Date: 10.11.2010 * Time: 15:40:08 */ public class SaveGalleryImageAction extends Action { @Override public void doAction(Context context, PaintAreaActivity.PaintView paintView) { Boolean isOk = FileUtils.saveLocalImage(context, paintView.getDrawableBitmapCopy(), FileUtils.SHARE_TEMP_FILE_NAME, false); if(isOk){ try{ Uri tmpFileUri = FileUtils.getLocalImagePath(context, FileUtils.SHARE_TEMP_FILE_NAME); if(tmpFileUri != null){ File file = new File(tmpFileUri.getPath()); String appName = context.getString(R.string.app_name); String imageUrl = MediaStore.Images.Media .insertImage(context.getContentResolver(), file.getAbsolutePath(), null, "Image from " + appName); if(imageUrl == null){ WarningAlert.show(context, "Cannot insert image to gallery."); } else { Toast.makeText(context, "Image was successfully saved to gallery.", Toast.LENGTH_SHORT).show(); } } } catch(Exception ex){ WarningAlert.show(context, "Cannot share image on facebook: " + ex.getMessage()); ex.printStackTrace(); } } } }