package org.softeg.slartus.forpdaplus.classes; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Environment; import android.widget.Toast; import com.afollestad.materialdialogs.MaterialDialog; import org.softeg.slartus.forpdaplus.App; import org.softeg.slartus.forpdaplus.R; import org.softeg.slartus.forpdaplus.common.AppLog; import java.io.File; import java.io.FileWriter; /** * Created by radiationx on 11.07.15. */ public class SaveHtml { public SaveHtml(final Activity activity, final String html, final String defaultFileName){ final String[] fileName = {defaultFileName}; new MaterialDialog.Builder(activity) .title(R.string.file_name) .input(defaultFileName, defaultFileName, new MaterialDialog.InputCallback() { @Override public void onInput(MaterialDialog materialDialog, CharSequence charSequence) { fileName[0] = charSequence.toString(); } }) .alwaysCallInputCallback() .positiveText(R.string.ok) .negativeText(R.string.cancel) .callback(new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog dialog) { try { String state = Environment.getExternalStorageState(); if (!Environment.MEDIA_MOUNTED.equals(state)) { Toast.makeText(activity, R.string.error_external_storage, Toast.LENGTH_SHORT).show(); return; } File file = new File(App.getInstance().getExternalFilesDir(null), fileName[0]+".txt"); FileWriter out = new FileWriter(file); out.write(html); out.close(); Uri uri = Uri.fromFile(file); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "text/plain"); activity.startActivity(intent); } catch (Exception e) { AppLog.e(activity, e); } } }) .show(); } }