/*
* This file is part of WhereYouGo.
*
* WhereYouGo 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.
*
* WhereYouGo 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 WhereYouGo. If not, see <http://www.gnu.org/licenses/>.
*
* Copyright (C) 2012 Menion <whereyougo@asamm.cz>
*/
package menion.android.whereyougo.gui;
import menion.android.whereyougo.R;
import menion.android.whereyougo.gui.extension.CustomPreferenceActivity;
import menion.android.whereyougo.settings.SettingItems;
import menion.android.whereyougo.settings.UtilsSettings;
import menion.android.whereyougo.utils.Logger;
import android.os.Bundle;
import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
public class SettingScreens extends CustomPreferenceActivity {
private static String TAG = "SettingScreens";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.settings);
try {
setPreferenceScreen(createPreferences(SettingScreens.this));
UtilsSettings.setDependecies(this);
} catch (Exception e) {
Logger.e(TAG, "onCreate()", e);
}
}
public static PreferenceScreen createPreferences(CustomPreferenceActivity activity) {
PreferenceScreen root = activity.getPreferenceManager().createPreferenceScreen(activity);
root.addPreference(createPrefGlobal(activity, activity.getPreferenceManager()));
root.addPreference(createPrefGps(activity, activity.getPreferenceManager()));
root.addPreference(createPrefSensors(activity, activity.getPreferenceManager()));
root.addPreference(createPrefGuiding(activity, activity.getPreferenceManager()));
root.addPreference(createPrefLocale(activity, activity.getPreferenceManager()));
return root;
}
public static PreferenceScreen createPrefGlobal(final CustomPreferenceActivity activity,
PreferenceManager prefManager) {
PreferenceScreen preferenceScreen = prefManager.createPreferenceScreen(activity);
preferenceScreen.setTitle(R.string.pref_global);
PreferenceCategory prefCatGlobal =
addNewPreferenceCategory(activity, R.string.pref_global, preferenceScreen);
SettingItems.addPrefFullscreen(activity, prefCatGlobal);
SettingItems.addPrefHighlight(activity, prefCatGlobal);
return init(preferenceScreen);
}
public static PreferenceScreen createPrefGps(CustomPreferenceActivity activity,
PreferenceManager prefManager) {
PreferenceScreen preferenceGps = prefManager.createPreferenceScreen(activity);
preferenceGps.setTitle(R.string.gps_and_location);
// category global
PreferenceCategory prefCatGlobal =
addNewPreferenceCategory(activity, R.string.pref_global, preferenceGps);
PreferenceCategory prefCatDisable =
addNewPreferenceCategory(activity, R.string.disable_location, preferenceGps);
SettingItems.addPrefGpsAltitudeManualCorrection(activity, prefCatGlobal);
SettingItems.addPrefGpsBeepOnGpsFix(activity, prefCatGlobal);
// disabling gps part
SettingItems.addPrefGpsDisable(activity, prefCatDisable);
SettingItems.addPrefGuidingGpsRequired(activity, prefCatDisable);
return init(preferenceGps);
}
public static PreferenceScreen createPrefSensors(CustomPreferenceActivity activity,
PreferenceManager prefManager) {
PreferenceScreen preferenceSensors = prefManager.createPreferenceScreen(activity);
preferenceSensors.setTitle(R.string.pref_sensors);
PreferenceCategory prefCatOrient =
addNewPreferenceCategory(activity, R.string.pref_orientation, preferenceSensors);
SettingItems.addPrefSensorsCompassHardware(activity, prefCatOrient);
SettingItems.addPrefSensorsCompassAutoChange(activity, prefCatOrient);
SettingItems.addPrefSensorsCompassAutoChangeValue(activity, prefCatOrient);
SettingItems.addPrefSensorsBearingTrue(activity, prefCatOrient);
SettingItems.addPrefSensorsOrienFilter(activity, prefCatOrient);
return init(preferenceSensors);
}
public static PreferenceScreen createPrefGuiding(CustomPreferenceActivity activity,
PreferenceManager prefManager) {
PreferenceScreen preferenceGuiding = prefManager.createPreferenceScreen(activity);
preferenceGuiding.setTitle(R.string.pref_guiding);
PreferenceCategory prefCatGlobal =
addNewPreferenceCategory(activity, R.string.pref_global, preferenceGuiding);
PreferenceCategory prefCatWptGuide =
addNewPreferenceCategory(activity, R.string.waypoints, preferenceGuiding);
SettingItems.addPrefGuidingCompassSounds(activity, prefCatGlobal);
SettingItems.addPrefGuidingWptSound(activity, prefCatWptGuide);
SettingItems.addPrefGuidingWptSoundDistance(activity, prefCatWptGuide);
return init(preferenceGuiding);
}
public static PreferenceScreen createPrefLocale(CustomPreferenceActivity activity,
PreferenceManager prefManager) {
PreferenceScreen preferenceLocale = prefManager.createPreferenceScreen(activity);
preferenceLocale.setTitle(R.string.pref_locale);
PreferenceCategory prefCatLang =
addNewPreferenceCategory(activity, R.string.pref_language, preferenceLocale);
PreferenceCategory prefCatLocale =
addNewPreferenceCategory(activity, R.string.pref_units, preferenceLocale);
SettingItems.addPrefLocal(activity, prefCatLang);
SettingItems.addPrefUnitsCooLatLon(activity, prefCatLocale);
SettingItems.addPrefUnitsLength(activity, prefCatLocale);
SettingItems.addPrefUnitsAltitude(activity, prefCatLocale);
SettingItems.addPrefUnitsSpeed(activity, prefCatLocale);
SettingItems.addPrefUnitsAngle(activity, prefCatLocale);
return init(preferenceLocale);
}
}