Shelter/app/src/main/java/net/typeblog/shelter/ui/SettingsFragment.java

44 lines
1.6 KiB
Java

package net.typeblog.shelter.ui;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceFragmentCompat;
import net.typeblog.shelter.R;
public class SettingsFragment extends PreferenceFragmentCompat {
private static final String SETTINGS_VERSION = "settings_version";
private static final String SETTINGS_SOURCE_CODE = "settings_source_code";
private static final String SETTINGS_BUG_REPORT = "settings_bug_report";
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.preferences_settings);
// Set the displayed version
try {
findPreference(SETTINGS_VERSION).setSummary(
getContext().getPackageManager().getPackageInfo(
getContext().getPackageName(), 0).versionName);
} catch (PackageManager.NameNotFoundException e) {
// WTF?
}
// Open source code url on click
findPreference(SETTINGS_SOURCE_CODE)
.setOnPreferenceClickListener(this::openSummaryUrl);
findPreference(SETTINGS_BUG_REPORT)
.setOnPreferenceClickListener(this::openSummaryUrl);
}
private boolean openSummaryUrl(Preference pref) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(pref.getSummary().toString()));
startActivity(intent);
return true;
}
}