From 11659eadb02b382804845d4e01a8536e02698468 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Fri, 30 Oct 2015 20:05:36 +0100 Subject: Implements FS#24: Introduce setting for picture resizing --- .../conversationsplus/ConversationsPlusPreferences.java | 13 +++++++++++++ .../thedevstack/conversationsplus/enums/UserDecision.java | 10 ++++++++++ .../conversationsplus/ui/ConversationActivity.java | 1 + src/main/res/values-de/strings.xml | 5 +++++ src/main/res/values/arrays.xml | 11 ++++++++++- src/main/res/values/strings.xml | 5 +++++ src/main/res/xml/preferences.xml | 8 ++++++++ 7 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/thedevstack/conversationsplus/enums/UserDecision.java diff --git a/src/main/java/de/thedevstack/conversationsplus/ConversationsPlusPreferences.java b/src/main/java/de/thedevstack/conversationsplus/ConversationsPlusPreferences.java index b20cfb8f..47daddb0 100644 --- a/src/main/java/de/thedevstack/conversationsplus/ConversationsPlusPreferences.java +++ b/src/main/java/de/thedevstack/conversationsplus/ConversationsPlusPreferences.java @@ -4,6 +4,7 @@ import android.content.SharedPreferences; import java.util.Set; +import de.thedevstack.conversationsplus.enums.UserDecision; import de.tzur.conversations.Settings; /** @@ -13,6 +14,14 @@ public class ConversationsPlusPreferences extends Settings { private static ConversationsPlusPreferences instance; private final SharedPreferences sharedPreferences; + public static UserDecision resizePicture() { + return getEnumFromStringPref("resize_picture", UserDecision.ASK); + } + + public static void applyResizePicture(UserDecision decision) { + applyString("resize_picture", decision.name()); + } + /** * Whether automatic downloads should only be done when connected to Wifi or not. * @return @@ -243,6 +252,10 @@ public class ConversationsPlusPreferences extends Settings { } } + protected static > T getEnumFromStringPref(String key, T defaultValue) { + return (T) T.valueOf(defaultValue.getClass(), defaultValue.name()); + } + private static boolean getBoolean(String key, boolean defValue) { return getSharedPreferences().getBoolean(key, defValue); } diff --git a/src/main/java/de/thedevstack/conversationsplus/enums/UserDecision.java b/src/main/java/de/thedevstack/conversationsplus/enums/UserDecision.java new file mode 100644 index 00000000..ccb658d5 --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/enums/UserDecision.java @@ -0,0 +1,10 @@ +package de.thedevstack.conversationsplus.enums; + +/** + * Created by tzur on 30.10.2015. + */ +public enum UserDecision { + ASK, + ALWAYS, + NEVER; +} diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/ConversationActivity.java b/src/main/java/de/thedevstack/conversationsplus/ui/ConversationActivity.java index 4f30cda3..64d4b521 100644 --- a/src/main/java/de/thedevstack/conversationsplus/ui/ConversationActivity.java +++ b/src/main/java/de/thedevstack/conversationsplus/ui/ConversationActivity.java @@ -1129,6 +1129,7 @@ public class ConversationActivity extends XmppActivity if (conversation == null) { return; } + //TODO Resize setting prepareFileToast = Toast.makeText(getApplicationContext(),getText(R.string.preparing_image), Toast.LENGTH_LONG); prepareFileToast.show(); xmppConnectionService.attachImageToConversation(conversation, uri, diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 5bd93fa8..247ca4c1 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -491,4 +491,9 @@ In Übertragung Angeboten Fehlgeschlagen + nachfragen + immer + nie + Sollen Bilder vor dem Senden verkleinert werden oder nicht? + Bilder verkleinern diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml index c555d4ba..24f8790c 100644 --- a/src/main/res/values/arrays.xml +++ b/src/main/res/values/arrays.xml @@ -69,5 +69,14 @@ 1 2 - + + @string/pref_resize_picture_ask + @string/pref_resize_picture_always + @string/pref_resize_picture_never + + + ASK + ALWAYS + NEVER + diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index d44dd76a..5f594800 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -520,4 +520,9 @@ Unsend Offered Failed + ask + always + never + Whether pictures shall be resized or not + Resize pictures diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index 470cef97..29f7d841 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -43,6 +43,14 @@ + +