diff --git a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java
index 2361722c..dd24f4ca 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java
@@ -272,16 +272,17 @@ public class AppSettings {
*/
public int getProxyHttpPort() {
try {
- return getInt(prefApp, R.string.pref_key__http_proxy_port, 0);
- } catch(Exception _anything){
- //TODO: Backward Compatibility for older versions. REMOVE after App v1.7.0
String str = getString(prefApp, R.string.pref_key__http_proxy_port, "0");
return Integer.parseInt(str);
+ } catch (ClassCastException e) {
+ int port = getInt(prefApp, R.string.pref_key__http_proxy_port, 0);
+ setProxyHttpPort(port);
+ return port;
}
}
public void setProxyHttpPort(int value) {
- setInt(prefApp, R.string.pref_key__http_proxy_port, value);
+ setString(prefApp, R.string.pref_key__http_proxy_port, Integer.toString(value));
}
public ProxyHandler.ProxySettings getProxySettings() {
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedCheckBoxPreference.java b/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedCheckBoxPreference.java
index 9c042dd1..40f04946 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedCheckBoxPreference.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedCheckBoxPreference.java
@@ -7,6 +7,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
+import com.github.dfa.diaspora_android.R;
import com.github.dfa.diaspora_android.data.AppSettings;
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedVisibilityPreference.java b/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedVisibilityPreference.java
new file mode 100644
index 00000000..ae1cb482
--- /dev/null
+++ b/app/src/main/java/com/github/dfa/diaspora_android/ui/ThemedVisibilityPreference.java
@@ -0,0 +1,36 @@
+package com.github.dfa.diaspora_android.ui;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.CheckBox;
+
+import com.github.dfa.diaspora_android.R;
+import com.github.dfa.diaspora_android.data.AppSettings;
+import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
+
+/**
+ * ThemedCheckBoxPreference with visibility icons instead of checkbox. TODO: Make more flexible?
+ * Created by vanitas on 25.10.16.
+ */
+
+public class ThemedVisibilityPreference extends ThemedCheckBoxPreference {
+ public ThemedVisibilityPreference(Context context) {
+ super(context);
+ }
+
+ public ThemedVisibilityPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public ThemedVisibilityPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public void setColors() {
+ CheckBox checkBox = (CheckBox) rootLayout.findViewById(android.R.id.checkbox);
+ checkBox.setButtonDrawable(R.drawable.ic_visibility_selector);
+ ThemeHelper.getInstance(new AppSettings(getContext()));
+ ThemeHelper.updateCheckBoxColor(checkBox);
+ }
+}
diff --git a/app/src/main/res/drawable/ic_visibility_off_black_24px.xml b/app/src/main/res/drawable/ic_visibility_off_black_24px.xml
new file mode 100644
index 00000000..1eeca64f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_visibility_off_black_24px.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_visibility_on_black_24px.xml b/app/src/main/res/drawable/ic_visibility_on_black_24px.xml
new file mode 100644
index 00000000..b4bf03e5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_visibility_on_black_24px.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_visibility_selector.xml b/app/src/main/res/drawable/ic_visibility_selector.xml
new file mode 100644
index 00000000..891267a1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_visibility_selector.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences__sub_navslider_vis.xml b/app/src/main/res/xml/preferences__sub_navslider_vis.xml
index ac52fcde..5a8395b3 100644
--- a/app/src/main/res/xml/preferences__sub_navslider_vis.xml
+++ b/app/src/main/res/xml/preferences__sub_navslider_vis.xml
@@ -5,47 +5,47 @@
android:key="@string/pref_key__title__visibility_nav"
android:title="@string/pref_cat__visibility_nav_items">
-
-
-
-
-
-
-
-
-
-
-