mirror of
https://github.com/gsantner/dandelion
synced 2024-11-22 12:22:08 +01:00
Added ThemedVisibilityPreference and set it in NavSlider Preference Screen
This commit is contained in:
parent
c0f4fcd62f
commit
532b80ea84
7 changed files with 94 additions and 15 deletions
|
@ -272,16 +272,17 @@ public class AppSettings {
|
||||||
*/
|
*/
|
||||||
public int getProxyHttpPort() {
|
public int getProxyHttpPort() {
|
||||||
try {
|
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");
|
String str = getString(prefApp, R.string.pref_key__http_proxy_port, "0");
|
||||||
return Integer.parseInt(str);
|
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) {
|
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() {
|
public ProxyHandler.ProxySettings getProxySettings() {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.CheckBox;
|
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.data.AppSettings;
|
||||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
19
app/src/main/res/drawable/ic_visibility_off_black_24px.xml
Normal file
19
app/src/main/res/drawable/ic_visibility_off_black_24px.xml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
|
||||||
|
<path
|
||||||
|
android:pathData="M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:pathData="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89
|
||||||
|
3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74 .25 -3.98 .7 l2.16 2.16C10.74 7.13
|
||||||
|
11.35 7 12 7zM2 4.27l2.28 2.28 .46 .46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5
|
||||||
|
11 7.5 1.55 0 3.03-.3 4.38-.84l.42 .42 L19.73 22 21 20.73 3.27 3 2 4.27zM7.53
|
||||||
|
9.8l1.55 1.55c-.05 .21 -.08 .43 -.08 .65 0 1.66 1.34 3 3 3 .22 0 .44-.03 .65
|
||||||
|
-.08l1.55 1.55c-.67 .33 -1.41 .53 -2.2 .53 -2.76 0-5-2.24-5-5 0-.79 .2 -1.53 .53
|
||||||
|
-2.2zm4.31-.78l3.15 3.15 .02 -.16c0-1.66-1.34-3-3-3l-.17 .01 z" />
|
||||||
|
</vector>
|
15
app/src/main/res/drawable/ic_visibility_on_black_24px.xml
Normal file
15
app/src/main/res/drawable/ic_visibility_on_black_24px.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
|
||||||
|
<path
|
||||||
|
android:pathData="M0 0h24v24H0z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:pathData="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11
|
||||||
|
11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5
|
||||||
|
5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" />
|
||||||
|
</vector>
|
7
app/src/main/res/drawable/ic_visibility_selector.xml
Normal file
7
app/src/main/res/drawable/ic_visibility_selector.xml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_checked="false"
|
||||||
|
android:drawable="@drawable/ic_visibility_off_black_24px" />
|
||||||
|
<item android:state_checked="true"
|
||||||
|
android:drawable="@drawable/ic_visibility_on_black_24px" />
|
||||||
|
</selector>
|
|
@ -5,47 +5,47 @@
|
||||||
android:key="@string/pref_key__title__visibility_nav"
|
android:key="@string/pref_key__title__visibility_nav"
|
||||||
android:title="@string/pref_cat__visibility_nav_items">
|
android:title="@string/pref_cat__visibility_nav_items">
|
||||||
|
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__profile"
|
android:key="@string/pref_key__visibility_nav__profile"
|
||||||
android:title="@string/nav_profile"/>
|
android:title="@string/nav_profile"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__followed_tags"
|
android:key="@string/pref_key__visibility_nav__followed_tags"
|
||||||
android:title="@string/nav_followed_tags"/>
|
android:title="@string/nav_followed_tags"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__aspects"
|
android:key="@string/pref_key__visibility_nav__aspects"
|
||||||
android:title="@string/nav_aspects"/>
|
android:title="@string/nav_aspects"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="@string/pref_key__visibility_nav__contacts"
|
android:key="@string/pref_key__visibility_nav__contacts"
|
||||||
android:title="@string/nav_contacts" />
|
android:title="@string/nav_contacts" />
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="@string/pref_key__visibility_nav__activities"
|
android:key="@string/pref_key__visibility_nav__activities"
|
||||||
android:title="@string/nav_activities"/>
|
android:title="@string/nav_activities"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__liked"
|
android:key="@string/pref_key__visibility_nav__liked"
|
||||||
android:title="@string/nav_liked"/>
|
android:title="@string/nav_liked"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__commented"
|
android:key="@string/pref_key__visibility_nav__commented"
|
||||||
android:title="@string/nav_commented"/>
|
android:title="@string/nav_commented"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="@string/pref_key__visibility_nav__mentions"
|
android:key="@string/pref_key__visibility_nav__mentions"
|
||||||
android:title="@string/nav_mentions"/>
|
android:title="@string/nav_mentions"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="@string/pref_key__visibility_nav__public_activities"
|
android:key="@string/pref_key__visibility_nav__public_activities"
|
||||||
android:title="@string/nav_public_activities"/>
|
android:title="@string/nav_public_activities"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="@string/pref_key__visibility_nav__exit"
|
android:key="@string/pref_key__visibility_nav__exit"
|
||||||
android:title="@string/action_exit_app"/>
|
android:title="@string/action_exit_app"/>
|
||||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="@string/pref_key__visibility_nav__help_license"
|
android:key="@string/pref_key__visibility_nav__help_license"
|
||||||
android:title="@string/nav_help_license"/>
|
android:title="@string/nav_help_license"/>
|
||||||
|
|
Loading…
Reference in a new issue