package com.nutomic.syncthingandroid.util; import android.content.Context; import com.nutomic.syncthingandroid.R; /** * Device compression attribute helper. This unifies operations between string values as expected by * Syncthing with string values as displayed to the user and int ordinals as expected by the dialog * click interface. */ public enum Compression { NONE(0), METADATA(1), ALWAYS(2); private final int index; Compression(int index) { this.index = index; } public int getIndex() { return index; } public String getValue(Context context) { return context.getResources().getStringArray(R.array.compress_values)[index]; } public String getTitle(Context context) { return context.getResources().getStringArray(R.array.compress_entries)[index]; } public static Compression fromIndex(int index) { switch (index) { case 0: return NONE; case 2: return ALWAYS; default: return METADATA; } } public static Compression fromValue(Context context, String value) { int index = 0; String[] values = context.getResources().getStringArray(R.array.compress_values); for (int i = 0; i < values.length; i++) { if (values[i].equals(value)) { index = i; } } return fromIndex(index); } }