[android] fix: Display current theme in settings.

fix: GPS track record switch and length selector merged into single entry.
del: Removed "2 days" entry.
This commit is contained in:
Alexander Marchuk 2016-01-13 13:32:30 +03:00 committed by Constantin Shalnev
parent fe6809f279
commit 1fb8dc0c2d
3 changed files with 22 additions and 30 deletions

View file

@ -43,7 +43,7 @@
<string name="pref_3d" translatable="false">3D</string>
<string name="pref_3d_buildings" translatable="false">3DBuildings</string>
<string name="pref_track_record_enabled" translatable="false">TrackRecordEnabled</string>
<string name="pref_track_record_length" translatable="false">TrackRecordLength</string>
<string name="pref_track_record" translatable="false">TrackRecord</string>
<string name="pref_showcase_switched_on" translatable="false">DisplayShowcase</string>
<string name="notification_ticker_ltr" translatable="false">%1$s: %2$s</string>

View file

@ -24,24 +24,21 @@
<item>@string/theme_auto</item>
</string-array>
<string-array name="track_lengths">
<string-array name="track_length">
<item>@string/duration_disabled</item>
<item>@string/duration_1_hour</item>
<item>@string/duration_2_hours</item>
<item>@string/duration_6_hours</item>
<item>@string/duration_12_hours</item>
<item>@string/duration_1_day</item>
<!-- TODO: Remove in release -->
<item>2 days</item>
</string-array>
<string-array name="track_lengths_values"
translatable="false">
<string-array name="track_length_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>6</item>
<item>12</item>
<item>24</item>
<!-- TODO: Remove in release -->
<item>48</item>
</string-array>
</resources>

View file

@ -106,9 +106,11 @@ public class MapPrefsFragment extends BaseXmlSettingsFragment
}
});
pref = findPreference(getString(R.string.pref_map_style));
((ListPreference) pref).setValue(Config.getUiThemeSettings());
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
String curTheme = Config.getUiThemeSettings();
ListPreference stylePref = (ListPreference)findPreference(getString(R.string.pref_map_style));
stylePref.setValue(curTheme);
stylePref.setSummary(stylePref.getEntry());
stylePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
{
@Override
public boolean onPreferenceChange(Preference preference, Object newValue)
@ -154,34 +156,27 @@ public class MapPrefsFragment extends BaseXmlSettingsFragment
else
getPreferenceScreen().removePreference(pref);
pref = findPreference(getString(R.string.pref_track_record_enabled));
((TwoStatePreference)pref).setChecked(TrackRecorder.isEnabled());
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
{
@Override
public boolean onPreferenceChange(Preference preference, Object newValue)
{
TrackRecorder.setEnabled((Boolean)newValue);
return true;
}
});
pref = findPreference(getString(R.string.pref_track_record_length));
String value = String.valueOf(TrackRecorder.getDuration());
((ListPreference)pref).setValue(value);
pref.setSummary(((ListPreference)pref).getEntry());
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
final ListPreference trackPref = (ListPreference)findPreference(getString(R.string.pref_track_record));
String value = (TrackRecorder.isEnabled() ? String.valueOf(TrackRecorder.getDuration()) : "0");
trackPref.setValue(value);
trackPref.setSummary(trackPref.getEntry());
trackPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
{
@Override
public boolean onPreferenceChange(final Preference preference, Object newValue)
{
TrackRecorder.setDuration(Integer.valueOf((String)newValue));
int value = Integer.valueOf((String)newValue);
TrackRecorder.setEnabled(value != 0);
if (value != 0)
TrackRecorder.setDuration(value);
UiThread.runLater(new Runnable()
{
@Override
public void run()
{
preference.setSummary(((ListPreference)preference).getEntry());
trackPref.setSummary(trackPref.getEntry());
}
});
return true;