Search in sources :

Example 51 with PreferenceCategory

use of android.preference.PreferenceCategory in project Osmand by osmandapp.

the class SettingsMonitoringActivity method createNotificationSection.

private void createNotificationSection(PreferenceScreen grp) {
    PreferenceCategory cat;
    cat = new PreferenceCategory(this);
    cat.setTitle(R.string.shared_string_notifications);
    grp.addPreference(cat);
    final CheckBoxPreference tripRecording = createCheckBoxPreference(settings.SHOW_TRIP_REC_NOTIFICATION, R.string.trip_rec_notification_settings, R.string.trip_rec_notification_settings_desc);
    cat.addPreference(tripRecording);
}
Also used : PreferenceCategory(android.preference.PreferenceCategory) CheckBoxPreference(android.preference.CheckBoxPreference)

Example 52 with PreferenceCategory

use of android.preference.PreferenceCategory in project Osmand by osmandapp.

the class SettingsNavigationActivity method createUI.

private void createUI() {
    addPreferencesFromResource(R.xml.navigation_settings);
    PreferenceScreen screen = getPreferenceScreen();
    settings = getMyApplication().getSettings();
    routerServicePreference = (ListPreference) screen.findPreference(settings.ROUTER_SERVICE.getId());
    RouteService[] vls = RouteService.getAvailableRouters(getMyApplication());
    String[] entries = new String[vls.length];
    for (int i = 0; i < entries.length; i++) {
        entries[i] = vls[i].getName();
    }
    registerListPreference(settings.ROUTER_SERVICE, screen, entries, vls);
    registerBooleanPreference(settings.SNAP_TO_ROAD, screen);
    Integer[] intValues = new Integer[] { 0, 5, 10, 15, 20, 25, 30, 45, 60, 90 };
    entries = new String[intValues.length];
    entries[0] = getString(R.string.shared_string_never);
    for (int i = 1; i < intValues.length; i++) {
        entries[i] = (int) intValues[i] + " " + getString(R.string.int_seconds);
    }
    registerListPreference(settings.AUTO_FOLLOW_ROUTE, screen, entries, intValues);
    autoZoom = screen.findPreference("auto_zoom_map_on_off");
    autoZoom.setOnPreferenceClickListener(this);
    // keep informing option:
    Integer[] keepInformingValues = new Integer[] { 0, 1, 2, 3, 5, 7, 10, 15, 20, 25, 30 };
    String[] keepInformingNames = new String[keepInformingValues.length];
    keepInformingNames[0] = getString(R.string.keep_informing_never);
    for (int i = 1; i < keepInformingValues.length; i++) {
        keepInformingNames[i] = keepInformingValues[i] + " " + getString(R.string.int_min);
    }
    registerListPreference(settings.KEEP_INFORMING, screen, keepInformingNames, keepInformingValues);
    SpeedConstants[] speedValues = SpeedConstants.values();
    String[] speedNamesVls = new String[speedValues.length];
    for (int i = 0; i < speedValues.length; i++) {
        speedNamesVls[i] = speedValues[i].toHumanString(this);
    }
    ;
    registerListPreference(settings.SPEED_SYSTEM, screen, speedNamesVls, speedValues);
    // screen power save option:
    Integer[] screenPowerSaveValues = new Integer[] { 0, 5, 10, 15, 20, 30, 45, 60 };
    String[] screenPowerSaveNames = new String[screenPowerSaveValues.length];
    screenPowerSaveNames[0] = getString(R.string.shared_string_never);
    for (int i = 1; i < screenPowerSaveValues.length; i++) {
        screenPowerSaveNames[i] = screenPowerSaveValues[i] + " " + getString(R.string.int_seconds);
    }
    registerListPreference(settings.WAKE_ON_VOICE_INT, screen, screenPowerSaveNames, screenPowerSaveValues);
    // registerBooleanPreference(settings.SHOW_ZOOM_BUTTONS_NAVIGATION, screen);
    showAlarms = (Preference) screen.findPreference("show_routing_alarms");
    showAlarms.setOnPreferenceClickListener(this);
    speakAlarms = (Preference) screen.findPreference("speak_routing_alarms");
    speakAlarms.setOnPreferenceClickListener(this);
    Float[] arrivalValues = new Float[] { 1.5f, 1f, 0.5f, 0.25f };
    String[] arrivalNames = new String[] { getString(R.string.arrival_distance_factor_early), getString(R.string.arrival_distance_factor_normally), getString(R.string.arrival_distance_factor_late), getString(R.string.arrival_distance_factor_at_last) };
    registerListPreference(settings.ARRIVAL_DISTANCE_FACTOR, screen, arrivalNames, arrivalValues);
    // array size should be equal!
    Float[] speedLimitsKm = new Float[] { -10f, -7f, -5f, 0f, 5f, 7f, 10f, 15f, 20f };
    Float[] speedLimitsMiles = new Float[] { -7f, -5f, -3f, 0f, 3f, 5f, 7f, 10f, 15f };
    if (settings.METRIC_SYSTEM.get() == OsmandSettings.MetricsConstants.KILOMETERS_AND_METERS) {
        String[] speedNames = new String[speedLimitsKm.length];
        for (int i = 0; i < speedLimitsKm.length; i++) {
            speedNames[i] = speedLimitsKm[i] + " " + getString(R.string.km_h);
        }
        registerListPreference(settings.SPEED_LIMIT_EXCEED, screen, speedNames, speedLimitsKm);
        registerListPreference(settings.SWITCH_MAP_DIRECTION_TO_COMPASS, screen, speedNames, speedLimitsKm);
    } else {
        String[] speedNames = new String[speedLimitsKm.length];
        for (int i = 0; i < speedNames.length; i++) {
            speedNames[i] = speedLimitsMiles[i] + " " + getString(R.string.mile_per_hour);
        }
        registerListPreference(settings.SPEED_LIMIT_EXCEED, screen, speedNames, speedLimitsKm);
        registerListPreference(settings.SWITCH_MAP_DIRECTION_TO_COMPASS, screen, speedNames, speedLimitsKm);
    }
    PreferenceCategory category = (PreferenceCategory) screen.findPreference("guidance_preferences");
    speedLimitExceed = (ListPreference) category.findPreference("speed_limit_exceed");
    ApplicationMode mode = getMyApplication().getSettings().getApplicationMode();
    if (!mode.isDerivedRoutingFrom(ApplicationMode.CAR)) {
        category.removePreference(speedLimitExceed);
    }
    if (getIntent() != null && getIntent().hasExtra(INTENT_SKIP_DIALOG)) {
        setSelectedAppMode(settings.getApplicationMode());
    } else {
        profileDialog();
    }
    addVoicePrefs((PreferenceGroup) screen.findPreference("voice"));
}
Also used : PreferenceScreen(android.preference.PreferenceScreen) SpeedConstants(net.osmand.plus.OsmandSettings.SpeedConstants) ApplicationMode(net.osmand.plus.ApplicationMode) PreferenceCategory(android.preference.PreferenceCategory) RouteService(net.osmand.plus.routing.RouteProvider.RouteService)

Example 53 with PreferenceCategory

use of android.preference.PreferenceCategory in project Osmand by osmandapp.

the class SettingsRasterMapsActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    ((OsmandApplication) getApplication()).applyTheme(this);
    super.onCreate(savedInstanceState);
    getToolbar().setTitle(R.string.shared_string_online_maps);
    PreferenceScreen grp = getPreferenceScreen();
    OnPreferenceChangeListener listener = createPreferenceListener();
    PreferenceCategory cat = new PreferenceCategory(this);
    cat.setTitle(R.string.pref_raster_map);
    grp.addPreference(cat);
    // present on configure map
    // addTileSourcePrefs(listener, cat);
    cat.addPreference(createCheckBoxPreference(settings.USE_INTERNET_TO_DOWNLOAD_TILES, R.string.use_internet, R.string.use_internet_to_download_tile));
// int startZoom = 1;
// int endZoom = 18;
// String[] entries = new String[endZoom - startZoom + 1];
// Integer[] intValues = new Integer[endZoom - startZoom + 1];
// for (int i = startZoom; i <= endZoom; i++) {
// entries[i - startZoom] = i + ""; //$NON-NLS-1$
// intValues[i - startZoom] = i ;
// }
// ListPreference lp = createListPreference(settings.LEVEL_TO_SWITCH_VECTOR_RASTER,
// entries, intValues, R.string.level_to_switch_vector_raster, R.string.level_to_switch_vector_raster_descr);
// cat.addPreference(lp);
// present on configure map
// addOverlayPrefs(grp, listener);
}
Also used : OsmandApplication(net.osmand.plus.OsmandApplication) PreferenceScreen(android.preference.PreferenceScreen) PreferenceCategory(android.preference.PreferenceCategory) OnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener)

Example 54 with PreferenceCategory

use of android.preference.PreferenceCategory in project Osmand by osmandapp.

the class SettingsRasterMapsActivity method addOverlayPrefs.

@SuppressWarnings("unused")
private void addOverlayPrefs(PreferenceScreen grp, OnPreferenceChangeListener listener) {
    PreferenceCategory cat;
    cat = new PreferenceCategory(this);
    cat.setTitle(R.string.pref_overlay);
    grp.addPreference(cat);
    overlayPreference = new ListPreference(this);
    overlayPreference.setSummary(R.string.map_overlay_descr);
    overlayPreference.setTitle(R.string.map_overlay);
    overlayPreference.setOnPreferenceChangeListener(listener);
    cat.addPreference(overlayPreference);
    underlayPreference = new ListPreference(this);
    underlayPreference.setSummary(R.string.map_underlay_descr);
    underlayPreference.setTitle(R.string.map_underlay);
    underlayPreference.setOnPreferenceChangeListener(listener);
    cat.addPreference(underlayPreference);
    SeekBarPreference sp = createSeekBarPreference(settings.MAP_OVERLAY_TRANSPARENCY, R.string.overlay_transparency, R.string.overlay_transparency_descr, R.string.modify_transparency, 0, 255);
    cat.addPreference(sp);
    sp = createSeekBarPreference(settings.MAP_TRANSPARENCY, R.string.map_transparency, R.string.map_transparency_descr, R.string.modify_transparency, 0, 255);
    cat.addPreference(sp);
}
Also used : PreferenceCategory(android.preference.PreferenceCategory) SeekBarPreference(net.osmand.plus.views.SeekBarPreference) ListPreference(android.preference.ListPreference)

Example 55 with PreferenceCategory

use of android.preference.PreferenceCategory in project PhoneProfiles by henrichg.

the class PreferenceFragment method onCreateView.

@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = super.onCreateView(inflater, container, savedInstanceState);
    if (v != null) {
        // If we need to restore the state after a configuration change
        PPApplication.logE("PreferenceFragment.onCreateView", "savedInstanceState=" + savedInstanceState);
        PPApplication.logE("PreferenceFragment.onCreateView", "getPreferenceScreen()=" + getPreferenceScreen());
        Bundle bundle = this.getArguments();
        if ((!bundle.getBoolean(EXTRA_NESTED, false)) && (getPreferenceScreen() != null)) {
            // Main fragment will fill the HashMap
            PPApplication.logE("PreferenceFragment.onCreateView", "put preferenceScreenHashMap");
            ArrayList<Preference> preferences = getAllPreferenceScreen(getPreferenceScreen(), new ArrayList<Preference>());
            for (Preference preference : preferences) {
                preferenceScreenHashMap.put(getSavedInstanceStateKeyName() + '.' + preference.getKey(), (PreferenceScreen) preference);
            }
        }
        if (savedInstanceState != null) {
            if (getPreferenceScreen() == null) {
                // Nested fragments will use the HashMap to set their PreferenceScreen
                PPApplication.logE("PreferenceFragment.onCreateView", "get screen from preferenceScreenHashMap=" + getSavedInstanceStateKeyName());
                PreferenceScreen preferenceScreen = preferenceScreenHashMap.get(getSavedInstanceStateKeyName() + '.' + savedInstanceState.getString(getSavedInstanceStateKeyName()));
                PPApplication.logE("PreferenceFragment.onCreateView", "preferenceScreenHashMap.preferenceScreen=" + preferenceScreen);
                if (preferenceScreen != null) {
                    this.setPreferenceScreen(preferenceScreen);
                }
            }
        }
        PPApplication.logE("PreferenceFragment.onCreateView", "mPreferenceScreen=" + mPreferenceScreen);
        PPApplication.logE("PreferenceFragment.onCreateView", "getPreferenceScreen()=" + getPreferenceScreen());
        if (mPreferenceScreen != null && getPreferenceScreen() == null) {
            // set PreferenceScreen by clicked nested mPreferenceScreen
            super.setPreferenceScreen(mPreferenceScreen);
            PPApplication.logE("PreferenceFragment.onCreateView", "setPreferenceScreen");
        }
        ListView lv = v.findViewById(android.R.id.list);
        lv.setPadding(0, 0, 0, 0);
        if (getPreferenceScreen() != null) {
            // Override PreferenceScreen click and preferences style
            for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
                Preference preference = getPreferenceScreen().getPreference(i);
                if (preference instanceof PreferenceCategory) {
                    for (int j = 0; j < ((PreferenceCategory) preference).getPreferenceCount(); j++) {
                        preferenceToMaterialPreference(((PreferenceCategory) preference).getPreference(j));
                    }
                }
                preferenceToMaterialPreference(preference);
            }
        }
    }
    return v;
}
Also used : ListView(android.widget.ListView) PreferenceScreen(android.preference.PreferenceScreen) Preference(android.preference.Preference) PreferenceCategory(android.preference.PreferenceCategory) Bundle(android.os.Bundle) View(android.view.View) ListView(android.widget.ListView)

Aggregations

PreferenceCategory (android.preference.PreferenceCategory)80 Preference (android.preference.Preference)49 PreferenceScreen (android.preference.PreferenceScreen)31 ListPreference (android.preference.ListPreference)30 CheckBoxPreference (android.preference.CheckBoxPreference)26 Intent (android.content.Intent)19 EditTextPreference (android.preference.EditTextPreference)8 OnPreferenceClickListener (android.preference.Preference.OnPreferenceClickListener)8 SwitchPreference (android.preference.SwitchPreference)8 ArrayList (java.util.ArrayList)7 Uri (android.net.Uri)6 Bundle (android.os.Bundle)5 SharedPreferences (android.content.SharedPreferences)4 OnPreferenceChangeListener (android.preference.Preference.OnPreferenceChangeListener)4 View (android.view.View)4 OsmandApplication (net.osmand.plus.OsmandApplication)4 Context (android.content.Context)3 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)3 RingtonePreference (android.preference.RingtonePreference)3 ListView (android.widget.ListView)3