/* This file is part of the Android Clementine Remote. * Copyright (C) 2013, Andreas Muttscheller <asfa194@gmail.com> * * This program 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. * * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */ package de.qspool.clementineremote.ui.settings; import com.afollestad.materialdialogs.MaterialDialog; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; import android.text.Html; import android.text.method.LinkMovementMethod; import android.view.View; import android.widget.TextView; import android.widget.Toast; import de.qspool.clementineremote.R; public class PreferencesInformationAbout extends PreferenceFragment { private Preference mAboutDialogPreference; private Preference mVersion; private Preference mClementine; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preference_about); mAboutDialogPreference = getPreferenceScreen() .findPreference("pref_key_about"); mVersion = getPreferenceScreen().findPreference("pref_version"); mClementine = getPreferenceScreen().findPreference("pref_clementine_website"); // Get the Version try { mVersion.setTitle(getString(R.string.pref_version_title) + " " + getActivity().getPackageManager() .getPackageInfo(getActivity().getPackageName(), 0).versionName); } catch (PackageManager.NameNotFoundException e) { mVersion.setTitle(getString(R.string.app_name)); } mVersion.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://github.com/clementine-player/Android-Remote")); if (intent.resolveActivity(getActivity().getPackageManager()) != null) { startActivity(intent); } else { Toast.makeText(getActivity(), R.string.app_not_available, Toast.LENGTH_LONG).show(); } return true; } }); mClementine.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.clementine-player.org/")); if (intent.resolveActivity(getActivity().getPackageManager()) != null) { startActivity(intent); } else { Toast.makeText(getActivity(), R.string.app_not_available, Toast.LENGTH_LONG).show(); } return true; } }); mAboutDialogPreference.setOnPreferenceClickListener(opclAbout); } /** * Create a new about dialog */ private Preference.OnPreferenceClickListener opclAbout = new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { MaterialDialog dialog = new MaterialDialog.Builder(getActivity()) .title(R.string.pref_about_title) .negativeText(R.string.dialog_close) .customView(R.layout.dialog_about, false) .cancelable(true) .show(); View view = dialog.getCustomView(); // Fill the people working on this project TextView tvAuthors = (TextView) view.findViewById(R.id.tvAuthors); TextView tvSupporters = (TextView) view.findViewById(R.id.tvSupporters); TextView tvOthers = (TextView) view.findViewById(R.id.tvOthers); // Authors tvAuthors.setText("Andreas Muttscheller\n"); // Supporters tvSupporters.setText("David Sansome (Clementine-Dev)\n" + "John Maguire (Clementine-Dev)\n" + "Arnaud Bienner (Clementine-Dev)"); // Others tvOthers.setText(Html.fromHtml( "Thanks to all the <a href=\"https://github.com/clementine-player/Android-Remote/graphs/contributors\">contributors</a> and <a href=\"https://www.transifex.com/projects/p/clementine-remote/\">translators</a>!")); tvOthers.setMovementMethod(LinkMovementMethod.getInstance()); return true; } }; }