package fr.tvbarthel.apps.sayitfromthesky.fragments.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v4.BuildConfig; import android.text.method.LinkMovementMethod; import android.text.util.Linkify; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; import fr.tvbarthel.apps.sayitfromthesky.R; /** * A simple {@link android.app.DialogFragment} that displays the about section of this app. */ public class AboutDialog extends DialogFragment { @InjectView(R.id.dialog_about_version_name) TextView mVersionName; @InjectView(R.id.dialog_about_source_code) TextView mSourceCode; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final LayoutInflater inflater = getActivity().getLayoutInflater(); final View dialogView = inflater.inflate(R.layout.dialog_about, null); ButterKnife.inject(this, dialogView); setVersionName(); mSourceCode.setMovementMethod(LinkMovementMethod.getInstance()); Linkify.addLinks(mSourceCode, Linkify.WEB_URLS); final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setCancelable(true); builder.setView(dialogView); builder.setInverseBackgroundForced(true); return builder.create(); } private void setVersionName() { try { PackageInfo pInfo = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0); String versionNameText = pInfo.versionName; if (BuildConfig.DEBUG) { versionNameText += ".dev"; } mVersionName.setText(getString(R.string.dialog_about_version, versionNameText)); } catch (PackageManager.NameNotFoundException e) { mVersionName.setText(getString(R.string.dialog_about_unknown_version)); } } @OnClick(R.id.dialog_about_ok) void dismissDialog() { dismiss(); } }