/* * PinDroid - http://code.google.com/p/PinDroid/ * * Copyright (C) 2010 Matt Schmidt * * PinDroid 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. * * PinDroid 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 PinDroid; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ package com.pindroid.fragment; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; import android.provider.Settings; import android.widget.Toast; import com.pindroid.Constants; import com.pindroid.R; import com.pindroid.providers.BookmarkContentProvider; import com.pindroid.util.SyncUtils; public class SettingsFragment extends PreferenceFragment { private Context mContext; private Resources res; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mContext = getActivity(); res = getResources(); Preference synctimePref = findPreference("pref_synctime"); synctimePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference preference, Object value) { long time = Long.parseLong((String)value); SyncUtils.removePeriodicSync(BookmarkContentProvider.AUTHORITY, Bundle.EMPTY, mContext); if(time != 0) { SyncUtils.addPeriodicSync(BookmarkContentProvider.AUTHORITY, Bundle.EMPTY, time, mContext); } return true; } }); Preference syncPref = findPreference("pref_forcesync"); syncPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { SyncUtils.requestSync(getActivity()); return true; } }); Preference accountPref = findPreference("pref_accountsettings"); accountPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Intent i = new Intent(Settings.ACTION_SYNC_SETTINGS); i.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {BookmarkContentProvider.AUTHORITY}); mContext.startActivity(i); return true; } }); Preference licensePref = findPreference("pref_license"); licensePref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Uri link = Uri.parse(Constants.GPL_URL); Intent i = new Intent(Intent.ACTION_VIEW, link); startActivity(i); return true; } }); Preference helpPref = findPreference("pref_help"); helpPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Uri link = Uri.parse(Constants.MANUAL_URL); Intent i = new Intent(Intent.ACTION_VIEW, link); startActivity(i); return true; } }); Preference privacyPref = findPreference("pref_privacy"); privacyPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Uri link = Uri.parse(Constants.PRIVACY_URL); Intent i = new Intent(Intent.ACTION_VIEW, link); startActivity(i); return true; } }); Preference aboutPref = findPreference("pref_about"); aboutPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Uri link = Uri.parse(Constants.ABOUT_URL); Intent i = new Intent(Intent.ACTION_VIEW, link); startActivity(i); return true; } }); Preference donatePref = findPreference("pref_donate"); donatePref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Uri link = Uri.parse(Constants.DONATION_URL); Intent i = new Intent(Intent.ACTION_VIEW, link); startActivity(i); return true; } }); } }