/* @file ExportBitmapToFile.java
*
* @author marco corvi
* @date mar 2016
*
* @brief TopoDroid plot export as bitmap
* --------------------------------------------------------
* Copyright This sowftare is distributed under GPL-3.0 or later
* See the file COPYING.
* --------------------------------------------------------
*/
package com.topodroid.DistoX;
import java.io.FileOutputStream;
import android.content.Context;
import android.os.AsyncTask;
// import android.os.Handler;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.widget.Toast;
class ExportBitmapToFile extends AsyncTask<Void,Void,Boolean>
{
private Context mContext;
private Bitmap mBitmap;
private float mScale;
private String mFullName;
private String filename = null;
private boolean mToast;
public ExportBitmapToFile( Context context, Bitmap bitmap, float scale, String name, boolean toast )
{
mContext = context;
mBitmap = bitmap;
mScale = scale;
mFullName = name;
mToast = toast;
// TDLog.Log( TDLog.LOG_PLOT, "Export Bitmap To File " + mFullName );
}
@Override
protected Boolean doInBackground(Void... arg0)
{
try {
filename = TDPath.getPngFileWithExt( mFullName );
TDPath.checkPath( filename );
final FileOutputStream out = new FileOutputStream( filename );
mBitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
out.flush();
out.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
@Override
protected void onPostExecute(Boolean bool) {
super.onPostExecute(bool);
if ( mToast ) {
if ( bool ) {
Toast.makeText( mContext,
String.format( mContext.getResources().getString(R.string.saved_file_2), filename, mScale),
Toast.LENGTH_SHORT ).show();
} else {
Toast.makeText( mContext, R.string.saving_file_failed, Toast.LENGTH_SHORT ).show();
}
}
}
}