package br.com.livrowebservices.carros.fragment;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.text.Html;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.widget.TextView;
import br.com.livrowebservices.carros.R;
import livroandroid.lib.utils.AndroidUtils;
/**
* Created by Ricardo Lecheta on 25/01/2015.
*/
public class AboutDialog extends DialogFragment {
// Método utilitário para mostrar o dialog
public static void showAbout(FragmentManager fm) {
FragmentTransaction ft = fm.beginTransaction();
Fragment prev = fm.findFragmentByTag("dialog_about");
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
new AboutDialog().show(ft, "dialog_about");
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Cria o HTML com o texto de about
SpannableStringBuilder aboutBody = new SpannableStringBuilder();
String versionName = AndroidUtils.getVersionName(getActivity());
aboutBody.append(Html.fromHtml(getString(R.string.about_dialog_text, versionName)));
// Infla o layout
LayoutInflater inflater = LayoutInflater.from(getActivity());
TextView view = (TextView) inflater.inflate(R.layout.dialog_about, null);
view.setText(aboutBody);
view.setMovementMethod(new LinkMovementMethod());
// Cria o dialog customizado
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.about_dialog_title)
.setView(view)
.setPositiveButton(R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
}
)
.create();
}
}