package com.android.iliConnect;
import com.android.iliConnect.models.Settings;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceActivity;
public class Einstellungen extends PreferenceActivity {
private static boolean syncIntervChanged = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
Settings settings = MainActivity.instance.localDataProvider.settings;
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.settings_layout);
CheckBoxPreference cPs = (CheckBoxPreference) findPreference("checkboxPrefSync");
cPs.setChecked(MainActivity.instance.localDataProvider.settings.sync);
cPs.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.sync = (Boolean)newValue;
return true;
}
});
CheckBoxPreference cPsWlan = (CheckBoxPreference) findPreference("checkboxPrefWlanSync");
cPsWlan.setChecked(MainActivity.instance.localDataProvider.settings.sync_wlanonly);
cPsWlan.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.sync_wlanonly = (Boolean)newValue;
return true;
}
});
/*
CheckBoxPreference cPsLogin = (CheckBoxPreference) findPreference("checkboxPrefAutologin");
cPsLogin.setChecked(MainActivity.instance.localDataProvider.auth.autologin);
cPsLogin.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.auth.autologin = (Boolean)newValue;
return true;
}
});
*/
ListPreference lP = (ListPreference) findPreference("listPrefInterv");
//lP.setDefaultValue(MainActivity.instance.localDataProvider.settings.interval);
int index = 0;
switch(settings.interval) {
case 5:
index = 0;
break;
case 15:
index = 1;
break;
case 30:
index = 2;
break;
case 60:
index = 3;
break;
case 120:
index = 4;
break;
case 1440:
index = 5;
break;
}
lP.setValueIndex(index);
lP.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.interval = Integer.parseInt((String) newValue);
syncIntervChanged = true;
return true;
}
});
ListPreference lPNot = (ListPreference) findPreference("listPrefNumNoti");
lPNot.setDefaultValue(MainActivity.instance.localDataProvider.settings.num_notifications);
lPNot.setValueIndex(settings.num_notifications-1);
lPNot.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.num_notifications = Integer.parseInt((String) newValue);
return true;
}
});
ListPreference lPWarn = (ListPreference) findPreference("listPrefWarning");
lPWarn.setDefaultValue(MainActivity.instance.localDataProvider.settings.level_warning);
lPWarn.setValueIndex(settings.level_warning-3);
lPWarn.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.level_warning = Integer.parseInt((String) newValue);
return true;
}
});
ListPreference lPCrit = (ListPreference) findPreference("listPrefCritical");
//lPCrit.setDefaultValue(MainActivity.instance.localDataProvider.settings.level_critical);
lPCrit.setValueIndex(settings.level_critical-1);
lPCrit.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
MainActivity.instance.localDataProvider.settings.level_critical = Integer.parseInt((String) newValue);
return true;
}
});
}
@Override
public void onBackPressed() {
MainActivity.instance.localDataProvider.localdata.save();
if(syncIntervChanged)
MainActivity.instance.watchThread.startTimer();
MainTabView.getInstance().update();
super.onBackPressed();
}
}