aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2015-10-30 20:05:36 +0100
committersteckbrief <steckbrief@chefmail.de>2015-10-30 20:05:36 +0100
commit11659eadb02b382804845d4e01a8536e02698468 (patch)
tree21962ec200324bda4646ae358c305259a6d68841
parent7aed735df28984e76486f23d17d02981b268930e (diff)
Implements FS#24: Introduce setting for picture resizing
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ConversationsPlusPreferences.java13
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/enums/UserDecision.java10
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/ConversationActivity.java1
-rw-r--r--src/main/res/values-de/strings.xml5
-rw-r--r--src/main/res/values/arrays.xml11
-rw-r--r--src/main/res/values/strings.xml5
-rw-r--r--src/main/res/xml/preferences.xml8
7 files changed, 52 insertions, 1 deletions
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 extends Enum<T>> 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 @@
<string name="dlg_msg_details_msg_status_unsend">In Übertragung</string>
<string name="dlg_msg_details_msg_status_offered">Angeboten</string>
<string name="dlg_msg_details_msg_status_failed">Fehlgeschlagen</string>
+ <string name="pref_resize_picture_ask">nachfragen</string>
+ <string name="pref_resize_picture_always">immer</string>
+ <string name="pref_resize_picture_never">nie</string>
+ <string name="pref_resize_picture_summary">Sollen Bilder vor dem Senden verkleinert werden oder nicht?</string>
+ <string name="pref_resize_picture">Bilder verkleinern</string>
</resources>
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 @@
<item>1</item>
<item>2</item>
</string-array>
-
+ <string-array name="resize_picture_setting_entries">
+ <item>@string/pref_resize_picture_ask</item>
+ <item>@string/pref_resize_picture_always</item>
+ <item>@string/pref_resize_picture_never</item>
+ </string-array>
+ <string-array name="resize_picture_setting_values">
+ <item>ASK</item>
+ <item>ALWAYS</item>
+ <item>NEVER</item>
+ </string-array>
</resources>
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 @@
<string name="dlg_msg_details_msg_status_unsend">Unsend</string>
<string name="dlg_msg_details_msg_status_offered">Offered</string>
<string name="dlg_msg_details_msg_status_failed">Failed</string>
+ <string name="pref_resize_picture_ask">ask</string>
+ <string name="pref_resize_picture_always">always</string>
+ <string name="pref_resize_picture_never">never</string>
+ <string name="pref_resize_picture_summary">Whether pictures shall be resized or not</string>
+ <string name="pref_resize_picture">Resize pictures</string>
</resources>
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
@@ -44,6 +44,14 @@
</PreferenceScreen>
<ListPreference
+ android:defaultValue="ASK"
+ android:entries="@array/resize_picture_setting_entries"
+ android:entryValues="@array/resize_picture_setting_values"
+ android:key="resize_picture"
+ android:summary="@string/pref_resize_picture_summary"
+ android:title="@string/pref_resize_picture"/>
+
+ <ListPreference
android:defaultValue="2"
android:entries="@array/confirm_strings"
android:entryValues="@array/confirm_values"