/*
* DeliciousDroid - http://code.google.com/p/DeliciousDroid/
*
* Copyright (C) 2010 Matt Schmidt
*
* DeliciousDroid 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.
*
* DeliciousDroid 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 DeliciousDroid; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
package com.deliciousdroid.activity;
import com.deliciousdroid.R;
import com.deliciousdroid.Constants;
import com.deliciousdroid.providers.BookmarkContentProvider;
import com.deliciousdroid.util.SyncUtils;
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.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.provider.Settings;
import android.widget.Toast;
public class Preferences extends PreferenceActivity {
private Context mContext;
private Resources res;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
mContext = this;
res = getResources();
Preference synctimePref = (Preference) findPreference("pref_synctime");
synctimePref.setOnPreferenceChangeListener(new 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 = (Preference) findPreference("pref_forcesync");
syncPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(mContext, res.getString(R.string.syncing_toast), Toast.LENGTH_LONG).show();
SyncUtils.clearSyncMarkers(mContext);
Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
ContentResolver.requestSync(null, BookmarkContentProvider.AUTHORITY, extras);
return true;
}
});
Preference accountPref = (Preference) findPreference("pref_accountsettings");
accountPref.setOnPreferenceClickListener(new 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 = (Preference) findPreference("pref_license");
licensePref.setOnPreferenceClickListener(new 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 = (Preference) findPreference("pref_help");
helpPref.setOnPreferenceClickListener(new 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 aboutPref = (Preference) findPreference("pref_about");
aboutPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Intent i = new Intent(mContext, AboutActivity.class);
startActivity(i);
return true;
}
});
Preference donatePref = (Preference) findPreference("pref_donate");
donatePref.setOnPreferenceClickListener(new 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;
}
});
}
}