/* @file ExportPlotToFile.java * * @author marco corvi * @date mar 2016 * * @brief TopoDroid export plot to file * -------------------------------------------------------- * Copyright This sowftare is distributed under GPL-3.0 or later * See the file COPYING. * -------------------------------------------------------- */ package com.topodroid.DistoX; import java.io.FileWriter; import java.io.BufferedWriter; import android.content.Context; import android.os.AsyncTask; import android.os.Message; import android.widget.Toast; class ExportPlotToFile extends AsyncTask<Void,Void,Boolean> { private Context mContext; private DrawingCommandManager mCommand; private DistoXNum mNum; private long mType; private String mFullName; private String mExt; // extension private String filename = null; private boolean mToast; public ExportPlotToFile( Context context, DrawingCommandManager command, DistoXNum num, long type, String name, String ext, boolean toast ) { // FIXME assert( ext != null ); mContext = context; mCommand = command; mNum = num; mType = type; mFullName = name; mExt = ext; mToast = toast; } @Override protected Boolean doInBackground(Void... arg0) { try { if ( mExt.equals("dxf") ) { filename = TDPath.getDxfFileWithExt( mFullName ); } else if ( mExt.equals("svg") ) { filename = TDPath.getSvgFileWithExt( mFullName ); } // Log.v("DistoX", "Export to File: " + filename ); if ( filename != null ) { // final FileOutputStream out = new FileOutputStream( filename ); TDPath.checkPath( filename ); final FileWriter fw = new FileWriter( filename ); BufferedWriter bw = new BufferedWriter( fw ); if ( mExt.equals("dxf") ) { DrawingDxf.write( bw, mNum, mCommand, mType ); } else if ( mExt.equals("svg") ) { DrawingSvg.write( bw, mNum, mCommand, mType ); } fw.flush(); fw.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, mContext.getResources().getString(R.string.saved_file_1) + " " + filename, Toast.LENGTH_SHORT ).show(); } else { Toast.makeText( mContext, mContext.getResources().getString(R.string.saving_file_failed), Toast.LENGTH_SHORT ).show(); } } } }