From 60815355caf69400145a589816ef1597d0d48cbe Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Sun, 12 Oct 2014 13:55:36 +0300 Subject: [PATCH] Localize folder states. --- .../syncthingandroid/syncthing/RestApi.java | 19 +++++++++++++++++++ .../syncthingandroid/util/FoldersAdapter.java | 3 ++- src/main/res/values/strings.xml | 6 ++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/nutomic/syncthingandroid/syncthing/RestApi.java b/src/main/java/com/nutomic/syncthingandroid/syncthing/RestApi.java index 30c93792..ccbd45d7 100644 --- a/src/main/java/com/nutomic/syncthingandroid/syncthing/RestApi.java +++ b/src/main/java/com/nutomic/syncthingandroid/syncthing/RestApi.java @@ -24,6 +24,7 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.security.InvalidParameterException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; @@ -664,6 +665,24 @@ public class RestApi implements SyncthingService.OnWebGuiAvailableListener, }.execute(mUrl, GetTask.URI_MODEL, mApiKey, "folder", folderId); } + /** + * Returns the folder's state as a localized string. + * + * @param state One of idle, scanning, cleaning or syncing. + */ + public static String getLocalizedState(Context c, String state) { + switch (state) { + case "idle": return c.getString(R.string.state_idle); + case "scanning": return c.getString(R.string.state_scanning); + case "cleaning": return c.getString(R.string.state_cleaning); + case "syncing": return c.getString(R.string.state_syncing); + } + if (BuildConfig.DEBUG) { + throw new AssertionError("Unexpected folder state"); + } + return ""; + } + /** * Updates or creates the given device, depending on whether it already exists. * diff --git a/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java b/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java index 6009d519..242f3957 100644 --- a/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java +++ b/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java @@ -50,7 +50,8 @@ public class FoldersAdapter extends ArrayAdapter int percentage = (model.globalBytes != 0) ? (int) Math.floor(100 * model.inSyncBytes / model.globalBytes) : 100; - state.setText(getContext().getString(R.string.folder_progress_format, model.state, + state.setText(getContext().getString(R.string.folder_progress_format, + RestApi.getLocalizedState(getContext(), model.state), percentage)); items.setText(getContext() .getString(R.string.files, model.inSyncFiles, model.globalFiles)); diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 9d740bb9..2abc3890 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -303,4 +303,10 @@ If this error persists, try restarting your device. Tb/s + + Idle + Scanning + Cleaning + Syncing +