Added preference sub screens again

Hopefully removing the 'filter' dependency from the hosts file preferences solves a crash on some devices
This commit is contained in:
M66B 2016-06-27 11:02:23 +02:00
parent 62255ab181
commit 86c7e07e24
3 changed files with 552 additions and 493 deletions

View File

@ -40,7 +40,6 @@ import android.preference.EditTextPreference;
import android.preference.ListPreference; import android.preference.ListPreference;
import android.preference.MultiSelectListPreference; import android.preference.MultiSelectListPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment; import android.preference.PreferenceFragment;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
@ -126,10 +125,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
PreferenceCategory cat_options = (PreferenceCategory) screen.findPreference("category_options"); PreferenceScreen cat_options = (PreferenceScreen) screen.findPreference("screen_options");
PreferenceCategory cat_advanced = (PreferenceCategory) screen.findPreference("category_advanced_options"); PreferenceScreen cat_advanced = (PreferenceScreen) screen.findPreference("screen_advanced_options");
PreferenceCategory cat_backup = (PreferenceCategory) screen.findPreference("category_backup"); PreferenceScreen cat_backup = (PreferenceScreen) screen.findPreference("screen_backup");
PreferenceCategory cat_development = (PreferenceCategory) screen.findPreference("category_development"); PreferenceScreen cat_development = (PreferenceScreen) screen.findPreference("screen_development");
// Handle auto enable // Handle auto enable
Preference pref_auto_enable = screen.findPreference("auto_enable"); Preference pref_auto_enable = screen.findPreference("auto_enable");

View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen
android:key="screen_defaults"
android:title="@string/setting_defaults">
<PreferenceCategory <PreferenceCategory
android:key="category_defaults" android:key="category_defaults"
android:title="@string/setting_defaults"> android:title="@string/setting_defaults">
@ -24,7 +27,11 @@
android:key="whitelist_roaming" android:key="whitelist_roaming"
android:title="@string/setting_whitelist_roaming" /> android:title="@string/setting_whitelist_roaming" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_options"
android:title="@string/setting_options">
<PreferenceCategory <PreferenceCategory
android:key="category_options" android:key="category_options"
android:title="@string/setting_options"> android:title="@string/setting_options">
@ -58,9 +65,13 @@
android:summary="@string/summary_update" android:summary="@string/summary_update"
android:title="@string/setting_update" /> android:title="@string/setting_update" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_network_options"
android:title="@string/setting_network_options">
<PreferenceCategory <PreferenceCategory
android:key="category_options" android:key="category_network_options"
android:title="@string/setting_network_options"> android:title="@string/setting_network_options">
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="false" android:defaultValue="false"
@ -114,7 +125,11 @@
android:summary="@string/summary_national_roaming" android:summary="@string/summary_national_roaming"
android:title="@string/setting_national_roaming" /> android:title="@string/setting_national_roaming" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_advanced_options"
android:title="@string/setting_advanced_options">
<PreferenceCategory <PreferenceCategory
android:key="category_advanced_options" android:key="category_advanced_options"
android:title="@string/setting_advanced_options"> android:title="@string/setting_advanced_options">
@ -180,7 +195,11 @@
android:inputType="number" android:inputType="number"
android:key="pcap_file_size" /> android:key="pcap_file_size" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_stats"
android:title="@string/setting_stats_category">
<PreferenceCategory <PreferenceCategory
android:key="category_stats" android:key="category_stats"
android:title="@string/setting_stats_category"> android:title="@string/setting_stats_category">
@ -205,7 +224,11 @@
android:inputType="number" android:inputType="number"
android:key="stats_samples" /> android:key="stats_samples" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_backup"
android:title="@string/setting_backup">
<PreferenceCategory <PreferenceCategory
android:key="category_backup" android:key="category_backup"
android:title="@string/setting_backup"> android:title="@string/setting_backup">
@ -216,12 +239,10 @@
android:key="import" android:key="import"
android:title="@string/setting_import" /> android:title="@string/setting_import" />
<Preference <Preference
android:dependency="filter"
android:key="hosts_import" android:key="hosts_import"
android:title="@string/setting_hosts" /> android:title="@string/setting_hosts" />
<EditTextPreference <EditTextPreference
android:defaultValue="http://www.netguard.me/hosts" android:defaultValue="http://www.netguard.me/hosts"
android:dependency="filter"
android:hint="http://www.netguard.me/hosts" android:hint="http://www.netguard.me/hosts"
android:key="hosts_url" android:key="hosts_url"
android:title="@string/setting_hosts_url" /> android:title="@string/setting_hosts_url" />
@ -230,7 +251,11 @@
android:key="hosts_download" android:key="hosts_download"
android:title="@string/setting_hosts_download" /> android:title="@string/setting_hosts_download" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_development"
android:title="Development">
<PreferenceCategory <PreferenceCategory
android:key="category_development" android:key="category_development"
android:title="Development"> android:title="Development">
@ -245,7 +270,11 @@
android:key="show_resolved" android:key="show_resolved"
android:title="@string/setting_show_resolved" /> android:title="@string/setting_show_resolved" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_technical"
android:title="@string/setting_technical">
<PreferenceCategory <PreferenceCategory
android:key="category_technical" android:key="category_technical"
android:title="@string/setting_technical"> android:title="@string/setting_technical">
@ -259,4 +288,5 @@
android:key="technical_subscription" android:key="technical_subscription"
android:title="@string/setting_technical_subscription" /> android:title="@string/setting_technical_subscription" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen> </PreferenceScreen>

View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen
android:key="screen_defaults"
android:title="@string/setting_defaults">
<PreferenceCategory <PreferenceCategory
android:key="category_defaults" android:key="category_defaults"
android:title="@string/setting_defaults"> android:title="@string/setting_defaults">
@ -24,7 +27,11 @@
android:key="whitelist_roaming" android:key="whitelist_roaming"
android:title="@string/setting_whitelist_roaming" /> android:title="@string/setting_whitelist_roaming" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_options"
android:title="@string/setting_options">
<PreferenceCategory <PreferenceCategory
android:key="category_options" android:key="category_options"
android:title="@string/setting_options"> android:title="@string/setting_options">
@ -58,9 +65,13 @@
android:summary="@string/summary_update" android:summary="@string/summary_update"
android:title="@string/setting_update" /> android:title="@string/setting_update" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_network_options"
android:title="@string/setting_network_options">
<PreferenceCategory <PreferenceCategory
android:key="category_options" android:key="category_network_options"
android:title="@string/setting_network_options"> android:title="@string/setting_network_options">
<eu.faircode.netguard.SwitchPreference <eu.faircode.netguard.SwitchPreference
android:defaultValue="false" android:defaultValue="false"
@ -114,7 +125,11 @@
android:summary="@string/summary_national_roaming" android:summary="@string/summary_national_roaming"
android:title="@string/setting_national_roaming" /> android:title="@string/setting_national_roaming" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_advanced_options"
android:title="@string/setting_advanced_options">
<PreferenceCategory <PreferenceCategory
android:key="category_advanced_options" android:key="category_advanced_options"
android:title="@string/setting_advanced_options"> android:title="@string/setting_advanced_options">
@ -180,7 +195,11 @@
android:inputType="number" android:inputType="number"
android:key="pcap_file_size" /> android:key="pcap_file_size" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_stats"
android:title="@string/setting_stats_category">
<PreferenceCategory <PreferenceCategory
android:key="category_stats" android:key="category_stats"
android:title="@string/setting_stats_category"> android:title="@string/setting_stats_category">
@ -205,7 +224,11 @@
android:inputType="number" android:inputType="number"
android:key="stats_samples" /> android:key="stats_samples" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_backup"
android:title="@string/setting_backup">
<PreferenceCategory <PreferenceCategory
android:key="category_backup" android:key="category_backup"
android:title="@string/setting_backup"> android:title="@string/setting_backup">
@ -216,12 +239,10 @@
android:key="import" android:key="import"
android:title="@string/setting_import" /> android:title="@string/setting_import" />
<Preference <Preference
android:dependency="filter"
android:key="hosts_import" android:key="hosts_import"
android:title="@string/setting_hosts" /> android:title="@string/setting_hosts" />
<EditTextPreference <EditTextPreference
android:defaultValue="http://www.netguard.me/hosts" android:defaultValue="http://www.netguard.me/hosts"
android:dependency="filter"
android:hint="http://www.netguard.me/hosts" android:hint="http://www.netguard.me/hosts"
android:key="hosts_url" android:key="hosts_url"
android:title="@string/setting_hosts_url" /> android:title="@string/setting_hosts_url" />
@ -230,7 +251,11 @@
android:key="hosts_download" android:key="hosts_download"
android:title="@string/setting_hosts_download" /> android:title="@string/setting_hosts_download" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_development"
android:title="Development">
<PreferenceCategory <PreferenceCategory
android:key="category_development" android:key="category_development"
android:title="Development"> android:title="Development">
@ -245,7 +270,11 @@
android:key="show_resolved" android:key="show_resolved"
android:title="@string/setting_show_resolved" /> android:title="@string/setting_show_resolved" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="screen_technical"
android:title="@string/setting_technical">
<PreferenceCategory <PreferenceCategory
android:key="category_technical" android:key="category_technical"
android:title="@string/setting_technical"> android:title="@string/setting_technical">
@ -259,4 +288,5 @@
android:key="technical_subscription" android:key="technical_subscription"
android:title="@string/setting_technical_subscription" /> android:title="@string/setting_technical_subscription" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen> </PreferenceScreen>