new settings screen

This commit is contained in:
kosyak 2024-07-21 13:49:31 +02:00
parent 14c3df535d
commit e94aae746d
5 changed files with 374 additions and 326 deletions

View file

@ -17,6 +17,7 @@ import android.preference.CheckBoxPreference;
import android.preference.ListPreference; import android.preference.ListPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceCategory; import android.preference.PreferenceCategory;
import android.preference.PreferenceGroup;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.MediaStore; import android.provider.MediaStore;
@ -173,8 +174,8 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference
PreferenceScreen mainPreferenceScreen = PreferenceScreen mainPreferenceScreen =
(PreferenceScreen) mSettingsFragment.findPreference("main_screen"); (PreferenceScreen) mSettingsFragment.findPreference("main_screen");
PreferenceCategory attachmentsCategory = PreferenceGroup attachmentsCategory =
(PreferenceCategory) mSettingsFragment.findPreference("attachments"); (PreferenceGroup) mSettingsFragment.findPreference("attachments");
CheckBoxPreference locationPlugin = CheckBoxPreference locationPlugin =
(CheckBoxPreference) mSettingsFragment.findPreference("use_share_location_plugin"); (CheckBoxPreference) mSettingsFragment.findPreference("use_share_location_plugin");
if (attachmentsCategory != null && locationPlugin != null) { if (attachmentsCategory != null && locationPlugin != null) {
@ -190,14 +191,9 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference
Intent intent = huaweiPreferenceScreen.getIntent(); Intent intent = huaweiPreferenceScreen.getIntent();
// remove when Api version is above M (Version 6.0) or if the intent is not callable // remove when Api version is above M (Version 6.0) or if the intent is not callable
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M || !isCallable(intent)) { if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M || !isCallable(intent)) {
PreferenceCategory generalCategory = PreferenceGroup notifications =
(PreferenceCategory) mSettingsFragment.findPreference("general"); (PreferenceGroup) mSettingsFragment.findPreference("notification_category");
generalCategory.removePreference(huaweiPreferenceScreen); notifications.removePreference(huaweiPreferenceScreen);
if (generalCategory.getPreferenceCount() == 0) {
if (mainPreferenceScreen != null) {
mainPreferenceScreen.removePreference(generalCategory);
}
}
} }
} }

View file

@ -41,16 +41,6 @@ public class SettingsFragment extends PreferenceFragment {
} }
@Override
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
final ListView listView = getActivity().findViewById(android.R.id.list);
if (listView != null) {
listView.setDivider(null);
}
}
public void setActivityIntent(final Intent intent) { public void setActivityIntent(final Intent intent) {
boolean wasEmpty = TextUtils.isEmpty(page); boolean wasEmpty = TextUtils.isEmpty(page);
if (intent != null) { if (intent != null) {

View file

@ -14,6 +14,7 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceCategory; import android.preference.PreferenceCategory;
import android.preference.PreferenceGroup;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.util.Log; import android.util.Log;
@ -113,18 +114,18 @@ public class Compatibility {
} }
public static void removeUnusedPreferences(SettingsFragment settingsFragment) { public static void removeUnusedPreferences(SettingsFragment settingsFragment) {
List<PreferenceCategory> categories = List<PreferenceGroup> categories =
Arrays.asList( Arrays.asList(
(PreferenceCategory) (PreferenceGroup)
settingsFragment.findPreference("notification_category"), settingsFragment.findPreference("notification_category"),
(PreferenceCategory) settingsFragment.findPreference("advanced")); (PreferenceGroup) settingsFragment.findPreference("advanced"));
for (String key : for (String key :
(runsTwentySix() (runsTwentySix()
? UNUSED_SETTINGS_POST_TWENTYSIX ? UNUSED_SETTINGS_POST_TWENTYSIX
: UNUSED_SETTINGS_PRE_TWENTYSIX)) { : UNUSED_SETTINGS_PRE_TWENTYSIX)) {
Preference preference = settingsFragment.findPreference(key); Preference preference = settingsFragment.findPreference(key);
if (preference != null) { if (preference != null) {
for (PreferenceCategory category : categories) { for (PreferenceGroup category : categories) {
if (category != null) { if (category != null) {
category.removePreference(preference); category.removePreference(preference);
} }
@ -136,7 +137,7 @@ public class Compatibility {
Preference preference = Preference preference =
settingsFragment.findPreference(SettingsActivity.KEEP_FOREGROUND_SERVICE); settingsFragment.findPreference(SettingsActivity.KEEP_FOREGROUND_SERVICE);
if (preference != null) { if (preference != null) {
for (PreferenceCategory category : categories) { for (PreferenceGroup category : categories) {
if (category != null) { if (category != null) {
category.removePreference(preference); category.removePreference(preference);
} }

View file

@ -117,7 +117,7 @@
<string name="pref_accept_all_files_if_wifi">Accept all files</string> <string name="pref_accept_all_files_if_wifi">Accept all files</string>
<string name="pref_accept_all_files_if_wifi_summary">Automatically accept all files when connected to Wi-Fi</string> <string name="pref_accept_all_files_if_wifi_summary">Automatically accept all files when connected to Wi-Fi</string>
<string name="pref_attachments">Attachments</string> <string name="pref_attachments">Attachments</string>
<string name="pref_notification_settings">Notification</string> <string name="pref_notification_settings">Notifications</string>
<string name="pref_vibrate">Vibrate</string> <string name="pref_vibrate">Vibrate</string>
<string name="pref_vibrate_summary">Vibrate when a new message arrives</string> <string name="pref_vibrate_summary">Vibrate when a new message arrives</string>
<string name="pref_led">LED Notification</string> <string name="pref_led">LED Notification</string>
@ -135,7 +135,7 @@
<string name="pref_confirm_messages_summary">Let your contacts know when you have received and read their messages</string> <string name="pref_confirm_messages_summary">Let your contacts know when you have received and read their messages</string>
<string name="pref_prevent_screenshots">Prevent Screenshots</string> <string name="pref_prevent_screenshots">Prevent Screenshots</string>
<string name="pref_prevent_screenshots_summary">Hide app contents in the app switcher and block screenshots</string> <string name="pref_prevent_screenshots_summary">Hide app contents in the app switcher and block screenshots</string>
<string name="pref_ui_options">UI</string> <string name="pref_ui_options">User interface</string>
<string name="openpgp_error">OpenKeychain produced an error.</string> <string name="openpgp_error">OpenKeychain produced an error.</string>
<string name="bad_key_for_encryption">Bad key for encryption.</string> <string name="bad_key_for_encryption">Bad key for encryption.</string>
<string name="accept">Accept</string> <string name="accept">Accept</string>
@ -589,7 +589,10 @@
<string name="gp_long">Long</string> <string name="gp_long">Long</string>
<string name="pref_broadcast_last_activity">Broadcast use</string> <string name="pref_broadcast_last_activity">Broadcast use</string>
<string name="pref_broadcast_last_activity_summary">Lets your contacts know when you use Conversations</string> <string name="pref_broadcast_last_activity_summary">Lets your contacts know when you use Conversations</string>
<string name="pref_privacy">Privacy</string> <string name="pref_appearance">Appearance</string>
<string name="pref_navigation">Navigation</string>
<string name="pref_input_field">Input field</string>
<string name="pref_privacy">Privacy and data</string>
<string name="pref_theme_options">Theme</string> <string name="pref_theme_options">Theme</string>
<string name="pref_theme_override_color">Accent color</string> <string name="pref_theme_override_color">Accent color</string>
<string name="pref_theme_options_summary">Select the color palette</string> <string name="pref_theme_options_summary">Select the color palette</string>

View file

@ -4,9 +4,116 @@
android:background="?attr/color_background_secondary" android:background="?attr/color_background_secondary"
android:key="main_screen"> android:key="main_screen">
<PreferenceCategory <PreferenceScreen
android:key="general" android:key="userinterface"
android:title="@string/pref_general"> android:title="@string/pref_ui_options">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
android:targetPackage="eu.siacs.conversations.classic">
<extra
android:name="page"
android:value="userinterface" />
</intent>
<PreferenceCategory android:title="@string/pref_appearance">
<ListPreference
android:defaultValue="@string/theme"
android:entries="@array/themes"
android:entryValues="@array/themes_values"
android:key="theme"
android:summary="@string/pref_theme_options_summary"
android:title="@string/pref_theme_options" />
<com.kizitonwose.colorpreference.ColorPreference
android:defaultValue="?colorPrimary"
android:key="themeOverrideColor"
android:summary="@string/pref_theme_override_color_summary"
android:title="@string/pref_theme_override_color"
app:colorChoices="@array/themeColorsOverride"
app:colorShape="circle" />
<CheckBoxPreference
android:defaultValue="@bool/use_green_background"
android:key="use_green_background"
android:summary="@string/pref_use_green_background_summary"
android:title="@string/pref_use_green_background" />
<ListPreference
android:defaultValue="@string/avatar_shape"
android:key="avatar_shape"
android:entries="@array/avatars_shape"
android:entryValues="@array/avatars_shape_values"
android:summary="@string/pref_avatar_shape_summary"
android:title="@string/pref_avatars_shape" />
<ListPreference
android:defaultValue="@string/default_font_size"
android:entries="@array/font_size_entries"
android:entryValues="@array/font_size_entry_values"
android:key="font_size"
android:summary="@string/pref_font_size_summary"
android:title="@string/pref_font_size" />
<Preference
android:key="import_background"
android:summary="@string/pref_chat_background_summary"
android:title="@string/custom_background" />
<Preference
android:key="delete_background"
android:summary="@string/pref_delete_background_summary"
android:title="@string/delete_background" />
<CheckBoxPreference
android:defaultValue="@bool/always_full_timestamps"
android:key="always_full_timestamps"
android:summary="@string/pref_always_show_full_timestamps_summary"
android:title="@string/pref_always_show_full_timestamps" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_navigation">
<CheckBoxPreference
android:defaultValue="@bool/show_nav_bar"
android:key="show_nav_bar"
android:summary="@string/pref_show_navigation_bar_summary"
android:title="@string/pref_show_navigation_bar" />
<CheckBoxPreference
android:defaultValue="@bool/show_dynamic_tags"
android:key="show_dynamic_tags"
android:summary="@string/pref_show_dynamic_tags_summary"
android:title="@string/pref_show_dynamic_tags" />
<CheckBoxPreference
android:defaultValue="@bool/group_by_tags"
android:key="groupByTags"
android:summary="@string/pref_group_by_tags_summary"
android:title="@string/pref_group_by_tags" />
<CheckBoxPreference
android:defaultValue="@bool/conversations_group_by_tags"
android:key="conversationsGroupByTags"
android:summary="@string/pref_group_conversations_by_tags_summary"
android:title="@string/pref_group_conversations_by_tags" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_input_field">
<ListPreference
android:defaultValue="@string/quick_action"
android:dialogTitle="@string/choose_quick_action"
android:entries="@array/quick_actions"
android:entryValues="@array/quick_action_values"
android:key="quick_action"
android:summary="@string/pref_quick_action_summary"
android:title="@string/pref_quick_action" />
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="notification_category"
android:title="@string/pref_notification_settings">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
android:targetPackage="eu.siacs.conversations.classic">
<extra
android:name="page"
android:value="notification_category" />
</intent>
<PreferenceScreen <PreferenceScreen
android:key="huawei" android:key="huawei"
android:summary="@string/huawei_protected_apps_summary" android:summary="@string/huawei_protected_apps_summary"
@ -15,43 +122,7 @@
android:targetClass="com.huawei.systemmanager.optimize.process.ProtectActivity" android:targetClass="com.huawei.systemmanager.optimize.process.ProtectActivity"
android:targetPackage="com.huawei.systemmanager" /> android:targetPackage="com.huawei.systemmanager" />
</PreferenceScreen> </PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_privacy"
android:key="privacy">
<CheckBoxPreference
android:defaultValue="@bool/confirm_messages"
android:key="confirm_messages"
android:summary="@string/pref_confirm_messages_summary"
android:title="@string/pref_confirm_messages" />
<CheckBoxPreference
android:defaultValue="@bool/chat_states"
android:key="chat_states"
android:summary="@string/pref_chat_states_summary"
android:title="@string/pref_chat_states" />
<CheckBoxPreference
android:defaultValue="@bool/last_activity"
android:key="last_activity"
android:summary="@string/pref_broadcast_last_activity_summary"
android:title="@string/pref_broadcast_last_activity" />
<CheckBoxPreference
android:defaultValue="@bool/prevent_screenshots"
android:key="prevent_screenshots"
android:summary="@string/pref_prevent_screenshots_summary"
android:title="@string/pref_prevent_screenshots" />
<ListPreference
android:defaultValue="@string/omemo_setting_default"
android:entries="@array/omemo_setting_entries"
android:entryValues="@array/omemo_setting_entry_values"
android:key="omemo"
android:summary="@string/pref_omemo_setting_summary_default_off"
android:title="@string/pref_omemo_setting" />
</PreferenceCategory>
<PreferenceCategory
android:key="notification_category"
android:title="@string/pref_notification_settings">
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/notifications_from_strangers" android:defaultValue="@bool/notifications_from_strangers"
android:key="notifications_from_strangers" android:key="notifications_from_strangers"
@ -141,10 +212,37 @@
android:ringtoneType="ringtone" android:ringtoneType="ringtone"
android:summary="@string/pref_call_ringtone_summary" android:summary="@string/pref_call_ringtone_summary"
android:title="@string/pref_ringtone" /> android:title="@string/pref_ringtone" />
</PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="unified_push"
android:title="@string/unified_push_distributor">
<ListPreference
android:defaultValue="@string/default_push_account"
android:key="up_push_account"
android:summary="@string/pref_up_push_account_summary"
android:title="@string/pref_up_push_account_title" />
<EditTextPreference
android:defaultValue="@string/default_push_server"
android:key="up_push_server"
android:summary="@string/pref_up_push_server_summary"
android:title="@string/pref_up_push_server_title" />
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen
android:key="attachments" android:key="attachments"
android:title="@string/pref_attachments"> android:title="@string/pref_attachments">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
android:targetPackage="eu.siacs.conversations.classic">
<extra
android:name="page"
android:value="attachments" />
</intent>
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/use_share_location_plugin" android:defaultValue="@bool/use_share_location_plugin"
android:key="use_share_location_plugin" android:key="use_share_location_plugin"
@ -176,78 +274,56 @@
android:key="accept_all_files_if_wifi" android:key="accept_all_files_if_wifi"
android:summary="@string/pref_accept_all_files_if_wifi_summary" android:summary="@string/pref_accept_all_files_if_wifi_summary"
android:title="@string/pref_accept_all_files_if_wifi" /> android:title="@string/pref_accept_all_files_if_wifi" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_ui_options">
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/show_nav_bar" android:defaultValue="@bool/skip_image_editor_screen"
android:key="show_nav_bar" android:key="skip_image_editor_screen"
android:summary="@string/pref_show_navigation_bar_summary" android:summary="@string/pref_skip_image_editor_screen_summary"
android:title="@string/pref_show_navigation_bar" /> android:title="@string/pref_skip_image_editor_screen" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/pref_privacy"
android:key="privacy">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
android:targetPackage="eu.siacs.conversations.classic">
<extra
android:name="page"
android:value="privacy" />
</intent>
<CheckBoxPreference
android:defaultValue="@bool/confirm_messages"
android:key="confirm_messages"
android:summary="@string/pref_confirm_messages_summary"
android:title="@string/pref_confirm_messages" />
<CheckBoxPreference
android:defaultValue="@bool/chat_states"
android:key="chat_states"
android:summary="@string/pref_chat_states_summary"
android:title="@string/pref_chat_states" />
<CheckBoxPreference
android:defaultValue="@bool/last_activity"
android:key="last_activity"
android:summary="@string/pref_broadcast_last_activity_summary"
android:title="@string/pref_broadcast_last_activity" />
<CheckBoxPreference
android:defaultValue="@bool/prevent_screenshots"
android:key="prevent_screenshots"
android:summary="@string/pref_prevent_screenshots_summary"
android:title="@string/pref_prevent_screenshots" />
<ListPreference <ListPreference
android:defaultValue="@string/avatar_shape" android:defaultValue="@string/omemo_setting_default"
android:key="avatar_shape" android:entries="@array/omemo_setting_entries"
android:entries="@array/avatars_shape" android:entryValues="@array/omemo_setting_entry_values"
android:entryValues="@array/avatars_shape_values" android:key="omemo"
android:summary="@string/pref_avatar_shape_summary" android:summary="@string/pref_omemo_setting_summary_default_off"
android:title="@string/pref_avatars_shape" /> android:title="@string/pref_omemo_setting" />
<CheckBoxPreference
android:defaultValue="@bool/use_green_background"
android:key="use_green_background"
android:summary="@string/pref_use_green_background_summary"
android:title="@string/pref_use_green_background" />
<CheckBoxPreference
android:defaultValue="@bool/show_dynamic_tags"
android:key="show_dynamic_tags"
android:summary="@string/pref_show_dynamic_tags_summary"
android:title="@string/pref_show_dynamic_tags" />
<CheckBoxPreference
android:defaultValue="@bool/group_by_tags"
android:key="groupByTags"
android:summary="@string/pref_group_by_tags_summary"
android:title="@string/pref_group_by_tags" />
<CheckBoxPreference
android:defaultValue="@bool/conversations_group_by_tags"
android:key="conversationsGroupByTags"
android:summary="@string/pref_group_conversations_by_tags_summary"
android:title="@string/pref_group_conversations_by_tags" />
<ListPreference
android:defaultValue="@string/theme"
android:entries="@array/themes"
android:entryValues="@array/themes_values"
android:key="theme"
android:summary="@string/pref_theme_options_summary"
android:title="@string/pref_theme_options" />
<com.kizitonwose.colorpreference.ColorPreference
android:defaultValue="?colorPrimary"
android:key="themeOverrideColor"
android:summary="@string/pref_theme_override_color_summary"
android:title="@string/pref_theme_override_color"
app:colorChoices="@array/themeColorsOverride"
app:colorShape="circle" />
<ListPreference
android:defaultValue="@string/quick_action"
android:dialogTitle="@string/choose_quick_action"
android:entries="@array/quick_actions"
android:entryValues="@array/quick_action_values"
android:key="quick_action"
android:summary="@string/pref_quick_action_summary"
android:title="@string/pref_quick_action" />
<ListPreference
android:defaultValue="@string/default_font_size"
android:entries="@array/font_size_entries"
android:entryValues="@array/font_size_entry_values"
android:key="font_size"
android:summary="@string/pref_font_size_summary"
android:title="@string/pref_font_size" />
<Preference
android:key="import_background"
android:summary="@string/pref_chat_background_summary"
android:title="@string/custom_background" />
<Preference
android:key="delete_background"
android:summary="@string/pref_delete_background_summary"
android:title="@string/delete_background" />
</PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="backup_category" android:key="backup_category"
android:title="@string/backup"> android:title="@string/backup">
@ -256,44 +332,62 @@
android:summary="@string/pref_create_backup_summary" android:summary="@string/pref_create_backup_summary"
android:title="@string/pref_create_backup" /> android:title="@string/pref_create_backup" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:key="unified_push"
android:title="@string/unified_push_distributor">
<ListPreference
android:defaultValue="@string/default_push_account"
android:key="up_push_account"
android:summary="@string/pref_up_push_account_summary"
android:title="@string/pref_up_push_account_title" />
<EditTextPreference
android:defaultValue="@string/default_push_server"
android:key="up_push_server"
android:summary="@string/pref_up_push_server_summary"
android:title="@string/pref_up_push_server_title" />
</PreferenceCategory> </PreferenceScreen>
<PreferenceCategory
android:key="advanced" <PreferenceScreen android:title="@string/pref_presence_settings" android:key="availability">
android:title="@string/pref_advanced_options">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
android:targetPackage="eu.siacs.conversations.classic">
<extra
android:name="page"
android:value="availability" />
</intent>
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/never_send" android:defaultValue="@bool/manually_change_presence"
android:key="never_send" android:disableDependentsState="true"
android:summary="@string/pref_never_send_crash_summary" android:key="manually_change_presence"
android:title="@string/pref_never_send_crash" /> android:summary="@string/pref_manually_change_presence_summary"
android:title="@string/pref_manually_change_presence" />
<CheckBoxPreference
android:defaultValue="@bool/away_when_screen_off"
android:dependency="manually_change_presence"
android:key="away_when_screen_off"
android:summary="@string/pref_away_when_screen_off_summary"
android:title="@string/pref_away_when_screen_off" />
<CheckBoxPreference
android:defaultValue="@bool/dnd_on_silent_mode"
android:dependency="manually_change_presence"
android:key="dnd_on_silent_mode"
android:summary="@string/pref_dnd_on_silent_mode_summary"
android:title="@string/pref_dnd_on_silent_mode" />
<CheckBoxPreference
android:defaultValue="@bool/treat_vibrate_as_silent"
android:dependency="dnd_on_silent_mode"
android:key="treat_vibrate_as_silent"
android:summary="@string/pref_treat_vibrate_as_dnd_summary"
android:title="@string/pref_treat_vibrate_as_silent" />
</PreferenceScreen>
<PreferenceScreen
android:key="expert"
android:title="@string/pref_expert_options">
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="@bool/enable_foreground_service" android:defaultValue="@bool/enable_foreground_service"
android:key="enable_foreground_service" android:key="enable_foreground_service"
android:summary="@string/pref_keep_foreground_service_summary" android:summary="@string/pref_keep_foreground_service_summary"
android:title="@string/pref_keep_foreground_service" /> android:title="@string/pref_keep_foreground_service" />
<Preference <CheckBoxPreference
android:key="send_logs" android:defaultValue="@bool/never_send"
android:summary="@string/pref_send_logs_summary" android:key="never_send"
android:title="@string/pref_send_logs" /> android:summary="@string/pref_never_send_crash_summary"
<PreferenceScreen android:title="@string/pref_never_send_crash" />
android:key="expert"
android:summary="@string/pref_expert_options_summary"
android:title="@string/pref_expert_options">
<PreferenceCategory <PreferenceCategory
android:key="security_options" android:key="security_options"
android:title="@string/pref_security_settings"> android:title="@string/pref_security_settings">
@ -375,32 +469,6 @@
android:summary="@string/pref_scroll_to_bottom_summary" android:summary="@string/pref_scroll_to_bottom_summary"
android:title="@string/pref_scroll_to_bottom" /> android:title="@string/pref_scroll_to_bottom" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:title="@string/pref_presence_settings">
<CheckBoxPreference
android:defaultValue="@bool/manually_change_presence"
android:disableDependentsState="true"
android:key="manually_change_presence"
android:summary="@string/pref_manually_change_presence_summary"
android:title="@string/pref_manually_change_presence" />
<CheckBoxPreference
android:defaultValue="@bool/away_when_screen_off"
android:dependency="manually_change_presence"
android:key="away_when_screen_off"
android:summary="@string/pref_away_when_screen_off_summary"
android:title="@string/pref_away_when_screen_off" />
<CheckBoxPreference
android:defaultValue="@bool/dnd_on_silent_mode"
android:dependency="manually_change_presence"
android:key="dnd_on_silent_mode"
android:summary="@string/pref_dnd_on_silent_mode_summary"
android:title="@string/pref_dnd_on_silent_mode" />
<CheckBoxPreference
android:defaultValue="@bool/treat_vibrate_as_silent"
android:dependency="dnd_on_silent_mode"
android:key="treat_vibrate_as_silent"
android:summary="@string/pref_treat_vibrate_as_dnd_summary"
android:title="@string/pref_treat_vibrate_as_silent" />
</PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="group_chats" android:key="group_chats"
android:title="@string/group_chats_and_channels"> android:title="@string/group_chats_and_channels">
@ -417,18 +485,6 @@
android:summary="@string/pref_channel_discovery_summary" android:summary="@string/pref_channel_discovery_summary"
android:title="@string/pref_channel_discovery" /> android:title="@string/pref_channel_discovery" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:title="@string/pref_ui_options">
<CheckBoxPreference
android:defaultValue="@bool/always_full_timestamps"
android:key="always_full_timestamps"
android:summary="@string/pref_always_show_full_timestamps_summary"
android:title="@string/pref_always_show_full_timestamps" />
<CheckBoxPreference
android:defaultValue="@bool/skip_image_editor_screen"
android:key="skip_image_editor_screen"
android:summary="@string/pref_skip_image_editor_screen_summary"
android:title="@string/pref_skip_image_editor_screen" />
</PreferenceCategory>
<intent <intent
android:action="android.intent.action.VIEW" android:action="android.intent.action.VIEW"
android:targetClass="eu.siacs.conversations.ui.SettingsActivity" android:targetClass="eu.siacs.conversations.ui.SettingsActivity"
@ -438,8 +494,10 @@
android:value="expert" /> android:value="expert" />
</intent> </intent>
</PreferenceScreen> </PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/category_about"> <Preference
android:key="send_logs"
android:title="@string/pref_send_logs" />\
<eu.siacs.conversations.ui.AboutPreference /> <eu.siacs.conversations.ui.AboutPreference />
</PreferenceCategory>
</PreferenceScreen> </PreferenceScreen>