Java tutorial
/* This file is part of the HHS Moodle WebApp. HHS Moodle WebApp is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. HHS Moodle WebApp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the Diaspora Native WebApp. If not, see <http://www.gnu.org/licenses/>. */ package de.baumann.quitsmoking.helper; import android.app.Activity; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Environment; import android.support.design.widget.Snackbar; import android.support.v4.content.FileProvider; import android.text.Html; import android.text.SpannableString; import android.text.util.Linkify; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import java.io.File; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import de.baumann.quitsmoking.R; public class helper_main { public static SpannableString textSpannable(String text) { SpannableString s; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { s = new SpannableString(Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY)); } else { //noinspection deprecation s = new SpannableString(Html.fromHtml(text)); } Linkify.addLinks(s, Linkify.WEB_URLS); return s; } public static File newFile() { return new File(Environment.getExternalStorageDirectory() + newFileDest() + newFileName()); } private static String newFileDest() { return ("/QuitSmoking/"); } private static String newFileName() { Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat("yy-MM-dd_HH-mm-ss", Locale.getDefault()); return dateFormat.format(date) + ".jpg"; } public static void showKeyboard(Activity from, EditText editText) { InputMethodManager imm = (InputMethodManager) from.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); editText.setSelection(editText.length()); } public static void openFile(Activity activity, File file, String string, View view) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); Uri contentUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", file); intent.setDataAndType(contentUri, string); } else { intent.setDataAndType(Uri.fromFile(file), string); } try { activity.startActivity(intent); } catch (ActivityNotFoundException e) { Snackbar.make(view, R.string.toast_install_app, Snackbar.LENGTH_LONG).show(); } } }