package de.westnordost.streetcomplete.about; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; import de.westnordost.streetcomplete.ApplicationConstants; import de.westnordost.streetcomplete.BuildConfig; import de.westnordost.streetcomplete.R; public class AboutFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.about); getPreferenceScreen().findPreference("version").setSummary(BuildConfig.VERSION_NAME); getPreferenceScreen().findPreference("license").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.gnu.org/licenses/gpl-3.0.html")); startActivity(browserIntent); return true; } }); getPreferenceScreen().findPreference("authors").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { showHtmlRes(R.string.about_title_authors, String.format(getResources().getString(R.string.authors_html), getResources().getString(R.string.translation_credits_html))); return true; } }); getPreferenceScreen().findPreference("privacy").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { showHtmlRes(R.string.about_title_privacy_statement, getResources().getString(R.string.privacy_html)); return true; } }); getPreferenceScreen().findPreference("repository").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/westnordost/StreetComplete/")); startActivity(browserIntent); return true; } }); getPreferenceScreen().findPreference("report_error").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/westnordost/StreetComplete/issues/")); startActivity(browserIntent); return true; } }); getPreferenceScreen().findPreference("email_feedback").setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setData(Uri.parse("mailto:")); intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"osm@westnordost.de"}); intent.putExtra(Intent.EXTRA_SUBJECT, ApplicationConstants.USER_AGENT + " Feedback"); if (intent.resolveActivity(getActivity().getPackageManager()) != null) { startActivity(intent); return true; } return false; } }); } private void showHtmlRes(int titleResourceId, String htmlText) { Intent intent = new Intent(getActivity(), ShowHtmlActivity.class); intent.putExtra(ShowHtmlActivity.TITLE_STRING_RESOURCE_ID, titleResourceId); intent.putExtra(ShowHtmlActivity.TEXT, htmlText); startActivity(intent); } }