Skip to content

Commit

Permalink
Compression is now a string instead of a boolean (fixes #239)
Browse files Browse the repository at this point in the history
  • Loading branch information
Zillode committed Mar 16, 2015
1 parent c128612 commit ca2ca85
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.support.v4.preference.PreferenceFragment;
import android.view.Menu;
Expand Down Expand Up @@ -47,7 +48,7 @@ public class DeviceSettingsFragment extends PreferenceFragment implements

private EditTextPreference mAddresses;

private CheckBoxPreference mCompression;
private ListPreference mCompression;

private CheckBoxPreference mIntroducer;

Expand Down Expand Up @@ -78,7 +79,7 @@ public void onCreate(Bundle savedInstanceState) {
mName.setOnPreferenceChangeListener(this);
mAddresses = (EditTextPreference) findPreference("addresses");
mAddresses.setOnPreferenceChangeListener(this);
mCompression = (CheckBoxPreference) findPreference("compression");
mCompression = (ListPreference) findPreference("compression");
mCompression.setOnPreferenceChangeListener(this);
mIntroducer = (CheckBoxPreference) findPreference("introducer");
mIntroducer.setOnPreferenceChangeListener(this);
Expand All @@ -97,7 +98,7 @@ public void onCreate(Bundle savedInstanceState) {
mDevice.Name = "";
mDevice.DeviceID = "";
mDevice.Addresses = "dynamic";
mDevice.Compression = true;
mDevice.Compression = "always";
((EditTextPreference) mDeviceId).setText(mDevice.DeviceID);
}
}
Expand Down Expand Up @@ -148,7 +149,8 @@ else if (currentState != SyncthingService.State.ACTIVE) {
mName.setSummary(mDevice.Name);
mAddresses.setText(mDevice.Addresses);
mAddresses.setSummary(mDevice.Addresses);
mCompression.setChecked(mDevice.Compression);
mCompression.setValue(mDevice.Compression);
mCompression.setSummary(mDevice.Compression);
}

@Override
Expand Down Expand Up @@ -209,7 +211,6 @@ public boolean onPreferenceChange(Preference preference, Object o) {
EditTextPreference pref = (EditTextPreference) preference;
pref.setSummary((String) o);
}

if (preference.equals(mDeviceId)) {
mDevice.DeviceID = (String) o;
deviceUpdated();
Expand All @@ -223,7 +224,7 @@ public boolean onPreferenceChange(Preference preference, Object o) {
deviceUpdated();
return true;
} else if (preference.equals(mCompression)) {
mDevice.Compression = (Boolean) o;
mDevice.Compression = (String) o;
deviceUpdated();
return true;
} else if (preference.equals(mIntroducer)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public static class Device implements Serializable {
public String Addresses;
public String Name;
public String DeviceID;
public boolean Compression;
public String Compression;
public boolean Introducer;
}

Expand Down Expand Up @@ -407,7 +407,7 @@ public List<Device> getDevices(boolean includeLocal) {
n.Addresses = json.optJSONArray("Addresses").join(" ").replace("\"", "");
n.Name = json.getString("Name");
n.DeviceID = json.getString("DeviceID");
n.Compression = json.getBoolean("Compression");
n.Compression = json.getString("Compression");
n.Introducer = json.getBoolean("Introducer");
if (includeLocal || !mLocalDeviceId.equals(n.DeviceID)) {
ret.add(n);
Expand Down
8 changes: 8 additions & 0 deletions src/main/res/values/arrays.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources translatable="false">
<string-array name="compress_values">
<item>never</item>
<item>metadata</item>
<item>always</item>
</string-array>
</resources>
7 changes: 7 additions & 0 deletions src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,13 @@
<!-- Setting title -->
<string name="compression">Compression</string>

<!-- Strings representing compression options -->
<string-array name="compress_entries">
<item>Never</item>
<item>Metadata</item>
<item>Always</item>
</string-array>

<!-- Setting title -->
<string name="introducer">Introducer</string>

Expand Down
4 changes: 3 additions & 1 deletion src/main/res/xml/device_settings_create.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
android:key="addresses"
android:title="@string/addresses" />

<CheckBoxPreference
<ListPreference
android:key="compression"
android:entries="@array/compress_entries"
android:entryValues="@array/compress_values"
android:title="@string/compression" />

<CheckBoxPreference
Expand Down
4 changes: 3 additions & 1 deletion src/main/res/xml/device_settings_edit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
android:key="addresses"
android:title="@string/addresses" />

<CheckBoxPreference
<ListPreference
android:key="compression"
android:entries="@array/compress_entries"
android:entryValues="@array/compress_values"
android:title="@string/compression" />

<CheckBoxPreference
Expand Down

0 comments on commit ca2ca85

Please sign in to comment.