Prevent crash

pull/212/head
M66B 1 year ago
parent 18926aeea5
commit 9b70485109

@ -639,89 +639,93 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
}
private void setOptions() {
if (view == null || getContext() == null)
return;
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swRestoreOnLaunch.setChecked(prefs.getBoolean("restore_on_launch", false));
swSyncOnlaunch.setChecked(prefs.getBoolean("sync_on_launch", false));
swDoubleBack.setChecked(prefs.getBoolean("double_back", false));
swConversationActions.setChecked(prefs.getBoolean("conversation_actions", Helper.isGoogle()));
swConversationActionsReplies.setChecked(prefs.getBoolean("conversation_actions_replies", true));
swConversationActionsReplies.setEnabled(swConversationActions.isChecked());
swLanguageDetection.setChecked(prefs.getBoolean("language_detection", false));
int default_snooze = prefs.getInt("default_snooze", 1);
etDefaultSnooze.setText(default_snooze == 1 ? null : Integer.toString(default_snooze));
etDefaultSnooze.setHint("1");
swPhotoPicker.setChecked(prefs.getBoolean("photo_picker", false));
swPull.setChecked(prefs.getBoolean("pull", true));
swAutoScroll.setChecked(prefs.getBoolean("autoscroll", false));
swQuickFilter.setChecked(prefs.getBoolean("quick_filter", false));
swQuickScroll.setChecked(prefs.getBoolean("quick_scroll", true));
swQuickActions.setChecked(prefs.getBoolean("quick_actions", true));
int swipe_sensitivity = prefs.getInt("swipe_sensitivity", DEFAULT_SWIPE_SENSITIVITY);
sbSwipeSensitivity.setProgress(swipe_sensitivity);
swFolderNav.setChecked(prefs.getBoolean("foldernav", false));
swDoubleTap.setChecked(prefs.getBoolean("doubletap", false));
swSwipeNav.setChecked(prefs.getBoolean("swipenav", true));
swVolumeNav.setChecked(prefs.getBoolean("volumenav", false));
swReversed.setChecked(prefs.getBoolean("reversed", false));
swSwipeClose.setChecked(prefs.getBoolean("swipe_close", false));
swSwipeMove.setChecked(prefs.getBoolean("swipe_move", false));
swAutoExpand.setChecked(prefs.getBoolean("autoexpand", true));
swExpandFirst.setChecked(prefs.getBoolean("expand_first", true));
swExpandFirst.setEnabled(swAutoExpand.isChecked());
swExpandAll.setChecked(prefs.getBoolean("expand_all", false));
swExpandOne.setChecked(prefs.getBoolean("expand_one", true));
swExpandOne.setEnabled(!swExpandAll.isChecked());
swCollapseMultiple.setChecked(prefs.getBoolean("collapse_multiple", true));
swAutoClose.setChecked(prefs.getBoolean("autoclose", true));
String onClose = prefs.getString("onclose", "");
String[] onCloseValues = getResources().getStringArray(R.array.onCloseValues);
for (int pos = 0; pos < onCloseValues.length; pos++)
if (onCloseValues[pos].equals(onClose)) {
spOnClose.setSelection(pos);
break;
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
tvOnClose.setEnabled(!swAutoClose.isChecked());
spOnClose.setEnabled(!swAutoClose.isChecked());
swAutoCloseUnseen.setChecked(prefs.getBoolean("autoclose_unseen", false));
swAutoCloseSend.setChecked(prefs.getBoolean("autoclose_send", false));
swCollapseMarked.setChecked(prefs.getBoolean("collapse_marked", true));
swRestoreOnLaunch.setChecked(prefs.getBoolean("restore_on_launch", false));
swSyncOnlaunch.setChecked(prefs.getBoolean("sync_on_launch", false));
swDoubleBack.setChecked(prefs.getBoolean("double_back", false));
swConversationActions.setChecked(prefs.getBoolean("conversation_actions", Helper.isGoogle()));
swConversationActionsReplies.setChecked(prefs.getBoolean("conversation_actions_replies", true));
swConversationActionsReplies.setEnabled(swConversationActions.isChecked());
swLanguageDetection.setChecked(prefs.getBoolean("language_detection", false));
int default_snooze = prefs.getInt("default_snooze", 1);
etDefaultSnooze.setText(default_snooze == 1 ? null : Integer.toString(default_snooze));
etDefaultSnooze.setHint("1");
swPhotoPicker.setChecked(prefs.getBoolean("photo_picker", false));
swPull.setChecked(prefs.getBoolean("pull", true));
swAutoScroll.setChecked(prefs.getBoolean("autoscroll", false));
swQuickFilter.setChecked(prefs.getBoolean("quick_filter", false));
swQuickScroll.setChecked(prefs.getBoolean("quick_scroll", true));
swQuickActions.setChecked(prefs.getBoolean("quick_actions", true));
int swipe_sensitivity = prefs.getInt("swipe_sensitivity", DEFAULT_SWIPE_SENSITIVITY);
sbSwipeSensitivity.setProgress(swipe_sensitivity);
swFolderNav.setChecked(prefs.getBoolean("foldernav", false));
swDoubleTap.setChecked(prefs.getBoolean("doubletap", false));
swSwipeNav.setChecked(prefs.getBoolean("swipenav", true));
swVolumeNav.setChecked(prefs.getBoolean("volumenav", false));
swReversed.setChecked(prefs.getBoolean("reversed", false));
swSwipeClose.setChecked(prefs.getBoolean("swipe_close", false));
swSwipeMove.setChecked(prefs.getBoolean("swipe_move", false));
swAutoExpand.setChecked(prefs.getBoolean("autoexpand", true));
swExpandFirst.setChecked(prefs.getBoolean("expand_first", true));
swExpandFirst.setEnabled(swAutoExpand.isChecked());
swExpandAll.setChecked(prefs.getBoolean("expand_all", false));
swExpandOne.setChecked(prefs.getBoolean("expand_one", true));
swExpandOne.setEnabled(!swExpandAll.isChecked());
swCollapseMultiple.setChecked(prefs.getBoolean("collapse_multiple", true));
swAutoClose.setChecked(prefs.getBoolean("autoclose", true));
String onClose = prefs.getString("onclose", "");
String[] onCloseValues = getResources().getStringArray(R.array.onCloseValues);
for (int pos = 0; pos < onCloseValues.length; pos++)
if (onCloseValues[pos].equals(onClose)) {
spOnClose.setSelection(pos);
break;
}
tvOnClose.setEnabled(!swAutoClose.isChecked());
spOnClose.setEnabled(!swAutoClose.isChecked());
swAutoCloseUnseen.setChecked(prefs.getBoolean("autoclose_unseen", false));
swAutoCloseSend.setChecked(prefs.getBoolean("autoclose_send", false));
swCollapseMarked.setChecked(prefs.getBoolean("collapse_marked", true));
int undo_timeout = prefs.getInt("undo_timeout", 5000);
int[] undoValues = getResources().getIntArray(R.array.undoValues);
for (int pos = 0; pos < undoValues.length; pos++)
if (undoValues[pos] == undo_timeout) {
spUndoTimeout.setSelection(pos);
break;
}
swAutoRead.setChecked(prefs.getBoolean("autoread", false));
swAutoUnflag.setChecked(prefs.getBoolean("autounflag", false));
swResetImportance.setChecked(prefs.getBoolean("reset_importance", false));
swThreadSentTrash.setChecked(prefs.getBoolean("thread_sent_trash", true));
swFlagSnoozed.setChecked(prefs.getBoolean("flag_snoozed", false));
swAutoImportant.setChecked(prefs.getBoolean("auto_important", false));
swResetSnooze.setChecked(prefs.getBoolean("reset_snooze", true));
swAutoBlockSender.setChecked(prefs.getBoolean("auto_block_sender", true));
swAutoHideAnswer.setChecked(prefs.getBoolean("auto_hide_answer", !accessibility));
swSwipeReply.setChecked(prefs.getBoolean("swipe_reply", false));
swMoveThreadSent.setChecked(prefs.getBoolean("move_thread_sent", false));
tvDefaultFolder.setText(prefs.getString("default_folder", null));
int undo_timeout = prefs.getInt("undo_timeout", 5000);
int[] undoValues = getResources().getIntArray(R.array.undoValues);
for (int pos = 0; pos < undoValues.length; pos++)
if (undoValues[pos] == undo_timeout) {
spUndoTimeout.setSelection(pos);
break;
}
swAutoRead.setChecked(prefs.getBoolean("autoread", false));
swAutoUnflag.setChecked(prefs.getBoolean("autounflag", false));
swResetImportance.setChecked(prefs.getBoolean("reset_importance", false));
swThreadSentTrash.setChecked(prefs.getBoolean("thread_sent_trash", true));
swFlagSnoozed.setChecked(prefs.getBoolean("flag_snoozed", false));
swAutoImportant.setChecked(prefs.getBoolean("auto_important", false));
swResetSnooze.setChecked(prefs.getBoolean("reset_snooze", true));
swAutoBlockSender.setChecked(prefs.getBoolean("auto_block_sender", true));
swAutoHideAnswer.setChecked(prefs.getBoolean("auto_hide_answer", !accessibility));
swSwipeReply.setChecked(prefs.getBoolean("swipe_reply", false));
swMoveThreadSent.setChecked(prefs.getBoolean("move_thread_sent", false));
tvDefaultFolder.setText(prefs.getString("default_folder", null));
} catch (Throwable ex) {
Log.e(ex);
}
}
private void onDefaultFolder(Uri uri) {

@ -423,46 +423,50 @@ public class FragmentOptionsConnection extends FragmentBase implements SharedPre
}
private void setOptions() {
if (view == null || getContext() == null)
return;
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swMetered.setChecked(prefs.getBoolean("metered", true));
swMetered.setChecked(prefs.getBoolean("metered", true));
int download = prefs.getInt("download", MessageHelper.DEFAULT_DOWNLOAD_SIZE);
int[] downloadValues = getResources().getIntArray(R.array.downloadValues);
for (int pos = 0; pos < downloadValues.length; pos++)
if (downloadValues[pos] == download) {
spDownload.setSelection(pos);
break;
}
int download = prefs.getInt("download", MessageHelper.DEFAULT_DOWNLOAD_SIZE);
int[] downloadValues = getResources().getIntArray(R.array.downloadValues);
for (int pos = 0; pos < downloadValues.length; pos++)
if (downloadValues[pos] == download) {
spDownload.setSelection(pos);
break;
}
swRoaming.setChecked(prefs.getBoolean("roaming", true));
swRlah.setChecked(prefs.getBoolean("rlah", true));
swDownloadHeaders.setChecked(prefs.getBoolean("download_headers", false));
swDownloadEml.setChecked(prefs.getBoolean("download_eml", false));
swDownloadPlain.setChecked(prefs.getBoolean("download_plain", false));
swValidated.setChecked(prefs.getBoolean("require_validated", false));
swValidatedCaptive.setChecked(prefs.getBoolean("require_validated_captive", true));
swValidatedCaptive.setEnabled(!swValidated.isChecked());
swVpnOnly.setChecked(prefs.getBoolean("vpn_only", false));
int timeout = prefs.getInt("timeout", 0);
etTimeout.setText(timeout == 0 ? null : Integer.toString(timeout));
etTimeout.setHint(Integer.toString(EmailService.DEFAULT_CONNECT_TIMEOUT));
swPreferIp4.setChecked(prefs.getBoolean("prefer_ip4", true));
swBindSocket.setChecked(prefs.getBoolean("bind_socket", false));
swStandaloneVpn.setChecked(prefs.getBoolean("standalone_vpn", false));
swTcpKeepAlive.setChecked(prefs.getBoolean("tcp_keep_alive", false));
swSslHarden.setChecked(prefs.getBoolean("ssl_harden", false));
swSslHardenStrict.setChecked(prefs.getBoolean("ssl_harden_strict", false));
swSslHardenStrict.setEnabled(swSslHarden.isChecked());
swCertStrict.setChecked(prefs.getBoolean("cert_strict", !BuildConfig.PLAY_STORE_RELEASE));
swOpenSafe.setChecked(prefs.getBoolean("open_safe", false));
swRoaming.setChecked(prefs.getBoolean("roaming", true));
swRlah.setChecked(prefs.getBoolean("rlah", true));
swDownloadHeaders.setChecked(prefs.getBoolean("download_headers", false));
swDownloadEml.setChecked(prefs.getBoolean("download_eml", false));
swDownloadPlain.setChecked(prefs.getBoolean("download_plain", false));
swValidated.setChecked(prefs.getBoolean("require_validated", false));
swValidatedCaptive.setChecked(prefs.getBoolean("require_validated_captive", true));
swValidatedCaptive.setEnabled(!swValidated.isChecked());
swVpnOnly.setChecked(prefs.getBoolean("vpn_only", false));
int timeout = prefs.getInt("timeout", 0);
etTimeout.setText(timeout == 0 ? null : Integer.toString(timeout));
etTimeout.setHint(Integer.toString(EmailService.DEFAULT_CONNECT_TIMEOUT));
swPreferIp4.setChecked(prefs.getBoolean("prefer_ip4", true));
swBindSocket.setChecked(prefs.getBoolean("bind_socket", false));
swStandaloneVpn.setChecked(prefs.getBoolean("standalone_vpn", false));
swTcpKeepAlive.setChecked(prefs.getBoolean("tcp_keep_alive", false));
swSslHarden.setChecked(prefs.getBoolean("ssl_harden", false));
swSslHardenStrict.setChecked(prefs.getBoolean("ssl_harden_strict", false));
swSslHardenStrict.setEnabled(swSslHarden.isChecked());
swCertStrict.setChecked(prefs.getBoolean("cert_strict", !BuildConfig.PLAY_STORE_RELEASE));
swOpenSafe.setChecked(prefs.getBoolean("open_safe", false));
} catch (Throwable ex) {
Log.e(ex);
}
}
private static Intent getIntentConnectivity() {

@ -1394,207 +1394,211 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
}
private void setOptions() {
if (view == null || getContext() == null)
return;
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
String startup = prefs.getString("startup", "unified");
String[] startupValues = getResources().getStringArray(R.array.startupValues);
for (int pos = 0; pos < startupValues.length; pos++)
if (startupValues[pos].equals(startup)) {
spStartup.setSelection(pos);
break;
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
String startup = prefs.getString("startup", "unified");
String[] startupValues = getResources().getStringArray(R.array.startupValues);
for (int pos = 0; pos < startupValues.length; pos++)
if (startupValues[pos].equals(startup)) {
spStartup.setSelection(pos);
break;
}
swDate.setChecked(prefs.getBoolean("date", true));
swDateWeek.setChecked(prefs.getBoolean("date_week", false));
swDateWeek.setEnabled(swDate.isChecked());
swDateFixed.setChecked(prefs.getBoolean("date_fixed", false));
swDateFixed.setEnabled(!swDate.isChecked());
swDateBold.setChecked(prefs.getBoolean("date_bold", false));
swDateBold.setEnabled(swDate.isChecked() || swDateFixed.isChecked());
swCategory.setChecked(prefs.getBoolean("group_category", false));
swCards.setChecked(prefs.getBoolean("cards", true));
swBeige.setChecked(prefs.getBoolean("beige", true));
swTabularBackground.setChecked(prefs.getBoolean("tabular_card_bg", false));
swShadow.setChecked(prefs.getBoolean("shadow_unread", false));
swShadowBorder.setChecked(prefs.getBoolean("shadow_border", true));
swShadowHighlight.setChecked(prefs.getBoolean("shadow_highlight", false));
swBeige.setEnabled(swCards.isChecked());
swTabularBackground.setEnabled(!swCards.isChecked());
swShadow.setEnabled(swCards.isChecked());
swShadowBorder.setEnabled(swShadow.isEnabled() && swShadow.isChecked());
swShadowHighlight.setEnabled(swShadow.isEnabled() && swShadow.isChecked());
swTabularDividers.setChecked(prefs.getBoolean("dividers", true));
swTabularDividers.setEnabled(!swCards.isChecked());
swPortrait2.setChecked(prefs.getBoolean("portrait2", false));
swPortrait2c.setChecked(prefs.getBoolean("portrait2c", false) && !swPortrait2.isChecked());
spPortraitMinSize.setSelection(prefs.getInt("portrait_min_size", 0));
swLandscape.setChecked(prefs.getBoolean("landscape", true));
spLandscapeMinSize.setSelection(prefs.getInt("landscape_min_size", 0));
swClosePane.setChecked(prefs.getBoolean("close_pane", !Helper.isSurfaceDuo()));
int column_width = prefs.getInt("column_width", 67);
tvColumnWidth.setText(getString(R.string.title_advanced_column_width, NF.format(column_width)));
sbColumnWidth.setProgress(column_width);
swHideToolbar.setChecked(prefs.getBoolean("hide_toolbar", !BuildConfig.PLAY_STORE_RELEASE));
swNavOptions.setChecked(prefs.getBoolean("nav_options", true));
swNavCategories.setChecked(prefs.getBoolean("nav_categories", false));
swNavLastSync.setChecked(prefs.getBoolean("nav_last_sync", true));
swNavMessageCount.setChecked(prefs.getBoolean("nav_count", false));
swNavUnseenDrafts.setChecked(prefs.getBoolean("nav_unseen_drafts", false));
swNavPinnedCount.setChecked(prefs.getBoolean("nav_count_pinned", false));
swNavBarColorize.setChecked(prefs.getBoolean("navbar_colorize", false));
swThreading.setChecked(prefs.getBoolean("threading", true));
swThreadingUnread.setChecked(prefs.getBoolean("threading_unread", false));
swThreadingUnread.setEnabled(swThreading.isChecked());
swIndentation.setChecked(prefs.getBoolean("indentation", false));
swIndentation.setEnabled(swCards.isChecked() && swThreading.isChecked());
swSeekbar.setChecked(prefs.getBoolean("seekbar", false));
swActionbar.setChecked(prefs.getBoolean("actionbar", true));
swActionbarSwap.setChecked(prefs.getBoolean("actionbar_swap", false));
swActionbarSwap.setEnabled(swActionbar.isChecked());
swActionbarColor.setChecked(prefs.getBoolean("actionbar_color", false));
swActionbarColor.setEnabled(swActionbar.isChecked());
swHighlightUnread.setChecked(prefs.getBoolean("highlight_unread", true));
btnHighlightColor.setColor(prefs.getInt("highlight_color",
Helper.resolveColor(getContext(), R.attr.colorUnreadHighlight)));
swColorStripe.setChecked(prefs.getBoolean("color_stripe", true));
swColorStripeWide.setChecked(prefs.getBoolean("color_stripe_wide", false));
//swColorStripeWide.setEnabled(swColorStripe.isChecked());
swAvatars.setChecked(prefs.getBoolean("avatars", true));
swBimi.setChecked(prefs.getBoolean("bimi", false));
swGravatars.setChecked(prefs.getBoolean("gravatars", false));
swLibravatars.setChecked(prefs.getBoolean("libravatars", false));
swFavicons.setChecked(prefs.getBoolean("favicons", false));
swFaviconsPartial.setChecked(prefs.getBoolean("favicons_partial", true));
swFaviconsPartial.setEnabled(swFavicons.isChecked());
swGeneratedIcons.setChecked(prefs.getBoolean("generated_icons", true));
swIdenticons.setChecked(prefs.getBoolean("identicons", false));
swIdenticons.setEnabled(swGeneratedIcons.isChecked());
swCircular.setChecked(prefs.getBoolean("circular", true));
int saturation = prefs.getInt("saturation", 100);
tvSaturation.setText(getString(R.string.title_advanced_color_saturation, NF.format(saturation)));
sbSaturation.setProgress(saturation);
sbSaturation.setEnabled(swGeneratedIcons.isChecked());
int brightness = prefs.getInt("brightness", 100);
tvBrightness.setText(getString(R.string.title_advanced_color_value, NF.format(brightness)));
sbBrightness.setProgress(brightness);
sbBrightness.setEnabled(swGeneratedIcons.isChecked());
int threshold = prefs.getInt("threshold", 50);
tvThreshold.setText(getString(R.string.title_advanced_color_threshold, NF.format(threshold)));
sbThreshold.setProgress(threshold);
sbThreshold.setEnabled(swGeneratedIcons.isChecked());
MessageHelper.AddressFormat email_format = MessageHelper.getAddressFormat(getContext());
spNameEmail.setSelection(email_format.ordinal());
swPreferContact.setChecked(prefs.getBoolean("prefer_contact", false));
swOnlyContact.setChecked(prefs.getBoolean("only_contact", false));
swDistinguishContacts.setChecked(prefs.getBoolean("distinguish_contacts", false));
swShowRecipients.setChecked(prefs.getBoolean("show_recipients", false));
swSubjectTop.setChecked(prefs.getBoolean("subject_top", false));
swSubjectItalic.setChecked(prefs.getBoolean("subject_italic", true));
swHighlightSubject.setChecked(prefs.getBoolean("highlight_subject", false));
int[] fontSizeValues = getResources().getIntArray(R.array.fontSizeValues);
String[] ellipsizeValues = getResources().getStringArray(R.array.ellipsizeValues);
int font_size_sender = prefs.getInt("font_size_sender", -1);
for (int pos = 0; pos < fontSizeValues.length; pos++)
if (fontSizeValues[pos] == font_size_sender) {
spFontSizeSender.setSelection(pos);
break;
}
int font_size_subject = prefs.getInt("font_size_subject", -1);
for (int pos = 0; pos < fontSizeValues.length; pos++)
if (fontSizeValues[pos] == font_size_subject) {
spFontSizeSubject.setSelection(pos);
break;
}
String sender_ellipsize = prefs.getString("sender_ellipsize", "end");
for (int pos = 0; pos < ellipsizeValues.length; pos++)
if (ellipsizeValues[pos].equals(sender_ellipsize)) {
spSenderEllipsize.setSelection(pos);
break;
}
String subject_ellipsize = prefs.getString("subject_ellipsize", "full");
for (int pos = 0; pos < ellipsizeValues.length; pos++)
if (ellipsizeValues[pos].equals(subject_ellipsize)) {
spSubjectEllipsize.setSelection(pos);
break;
}
swKeywords.setChecked(prefs.getBoolean("keywords_header", false));
swLabels.setChecked(prefs.getBoolean("labels_header", true));
swFlags.setChecked(prefs.getBoolean("flags", true));
swFlagsBackground.setChecked(prefs.getBoolean("flags_background", false));
swPreview.setChecked(prefs.getBoolean("preview", false));
swPreviewItalic.setChecked(prefs.getBoolean("preview_italic", true));
swPreviewItalic.setEnabled(swPreview.isChecked());
spPreviewLines.setSelection(prefs.getInt("preview_lines", 1) - 1);
spPreviewLines.setEnabled(swPreview.isChecked());
swAlignHeader.setChecked(prefs.getBoolean("align_header", false));
swAddresses.setChecked(prefs.getBoolean("addresses", false));
int message_zoom = prefs.getInt("message_zoom", 100);
tvMessageZoom.setText(getString(R.string.title_advanced_message_text_zoom2, NF.format(message_zoom)));
if (message_zoom >= 50 && message_zoom <= 250)
sbMessageZoom.setProgress(message_zoom - 50);
swOverviewMode.setChecked(prefs.getBoolean("overview_mode", false));
swOverrideWidth.setChecked(prefs.getBoolean("override_width", false));
swContrast.setChecked(prefs.getBoolean("contrast", false));
swHyphenation.setChecked(prefs.getBoolean("hyphenation", false));
String display_font = prefs.getString("display_font", "");
List<StyleHelper.FontDescriptor> fonts = StyleHelper.getFonts(getContext());
for (int pos = 0; pos < fonts.size(); pos++) {
StyleHelper.FontDescriptor font = fonts.get(pos);
if (font.type.equals(display_font)) {
spDisplayFont.setSelection(pos + 1);
break;
swDate.setChecked(prefs.getBoolean("date", true));
swDateWeek.setChecked(prefs.getBoolean("date_week", false));
swDateWeek.setEnabled(swDate.isChecked());
swDateFixed.setChecked(prefs.getBoolean("date_fixed", false));
swDateFixed.setEnabled(!swDate.isChecked());
swDateBold.setChecked(prefs.getBoolean("date_bold", false));
swDateBold.setEnabled(swDate.isChecked() || swDateFixed.isChecked());
swCategory.setChecked(prefs.getBoolean("group_category", false));
swCards.setChecked(prefs.getBoolean("cards", true));
swBeige.setChecked(prefs.getBoolean("beige", true));
swTabularBackground.setChecked(prefs.getBoolean("tabular_card_bg", false));
swShadow.setChecked(prefs.getBoolean("shadow_unread", false));
swShadowBorder.setChecked(prefs.getBoolean("shadow_border", true));
swShadowHighlight.setChecked(prefs.getBoolean("shadow_highlight", false));
swBeige.setEnabled(swCards.isChecked());
swTabularBackground.setEnabled(!swCards.isChecked());
swShadow.setEnabled(swCards.isChecked());
swShadowBorder.setEnabled(swShadow.isEnabled() && swShadow.isChecked());
swShadowHighlight.setEnabled(swShadow.isEnabled() && swShadow.isChecked());
swTabularDividers.setChecked(prefs.getBoolean("dividers", true));
swTabularDividers.setEnabled(!swCards.isChecked());
swPortrait2.setChecked(prefs.getBoolean("portrait2", false));
swPortrait2c.setChecked(prefs.getBoolean("portrait2c", false) && !swPortrait2.isChecked());
spPortraitMinSize.setSelection(prefs.getInt("portrait_min_size", 0));
swLandscape.setChecked(prefs.getBoolean("landscape", true));
spLandscapeMinSize.setSelection(prefs.getInt("landscape_min_size", 0));
swClosePane.setChecked(prefs.getBoolean("close_pane", !Helper.isSurfaceDuo()));
int column_width = prefs.getInt("column_width", 67);
tvColumnWidth.setText(getString(R.string.title_advanced_column_width, NF.format(column_width)));
sbColumnWidth.setProgress(column_width);
swHideToolbar.setChecked(prefs.getBoolean("hide_toolbar", !BuildConfig.PLAY_STORE_RELEASE));
swNavOptions.setChecked(prefs.getBoolean("nav_options", true));
swNavCategories.setChecked(prefs.getBoolean("nav_categories", false));
swNavLastSync.setChecked(prefs.getBoolean("nav_last_sync", true));
swNavMessageCount.setChecked(prefs.getBoolean("nav_count", false));
swNavUnseenDrafts.setChecked(prefs.getBoolean("nav_unseen_drafts", false));
swNavPinnedCount.setChecked(prefs.getBoolean("nav_count_pinned", false));
swNavBarColorize.setChecked(prefs.getBoolean("navbar_colorize", false));
swThreading.setChecked(prefs.getBoolean("threading", true));
swThreadingUnread.setChecked(prefs.getBoolean("threading_unread", false));
swThreadingUnread.setEnabled(swThreading.isChecked());
swIndentation.setChecked(prefs.getBoolean("indentation", false));
swIndentation.setEnabled(swCards.isChecked() && swThreading.isChecked());
swSeekbar.setChecked(prefs.getBoolean("seekbar", false));
swActionbar.setChecked(prefs.getBoolean("actionbar", true));
swActionbarSwap.setChecked(prefs.getBoolean("actionbar_swap", false));
swActionbarSwap.setEnabled(swActionbar.isChecked());
swActionbarColor.setChecked(prefs.getBoolean("actionbar_color", false));
swActionbarColor.setEnabled(swActionbar.isChecked());
swHighlightUnread.setChecked(prefs.getBoolean("highlight_unread", true));
btnHighlightColor.setColor(prefs.getInt("highlight_color",
Helper.resolveColor(getContext(), R.attr.colorUnreadHighlight)));
swColorStripe.setChecked(prefs.getBoolean("color_stripe", true));
swColorStripeWide.setChecked(prefs.getBoolean("color_stripe_wide", false));
//swColorStripeWide.setEnabled(swColorStripe.isChecked());
swAvatars.setChecked(prefs.getBoolean("avatars", true));
swBimi.setChecked(prefs.getBoolean("bimi", false));
swGravatars.setChecked(prefs.getBoolean("gravatars", false));
swLibravatars.setChecked(prefs.getBoolean("libravatars", false));
swFavicons.setChecked(prefs.getBoolean("favicons", false));
swFaviconsPartial.setChecked(prefs.getBoolean("favicons_partial", true));
swFaviconsPartial.setEnabled(swFavicons.isChecked());
swGeneratedIcons.setChecked(prefs.getBoolean("generated_icons", true));
swIdenticons.setChecked(prefs.getBoolean("identicons", false));
swIdenticons.setEnabled(swGeneratedIcons.isChecked());
swCircular.setChecked(prefs.getBoolean("circular", true));
int saturation = prefs.getInt("saturation", 100);
tvSaturation.setText(getString(R.string.title_advanced_color_saturation, NF.format(saturation)));
sbSaturation.setProgress(saturation);
sbSaturation.setEnabled(swGeneratedIcons.isChecked());
int brightness = prefs.getInt("brightness", 100);
tvBrightness.setText(getString(R.string.title_advanced_color_value, NF.format(brightness)));
sbBrightness.setProgress(brightness);
sbBrightness.setEnabled(swGeneratedIcons.isChecked());
int threshold = prefs.getInt("threshold", 50);
tvThreshold.setText(getString(R.string.title_advanced_color_threshold, NF.format(threshold)));
sbThreshold.setProgress(threshold);
sbThreshold.setEnabled(swGeneratedIcons.isChecked());
MessageHelper.AddressFormat email_format = MessageHelper.getAddressFormat(getContext());
spNameEmail.setSelection(email_format.ordinal());
swPreferContact.setChecked(prefs.getBoolean("prefer_contact", false));
swOnlyContact.setChecked(prefs.getBoolean("only_contact", false));
swDistinguishContacts.setChecked(prefs.getBoolean("distinguish_contacts", false));
swShowRecipients.setChecked(prefs.getBoolean("show_recipients", false));
swSubjectTop.setChecked(prefs.getBoolean("subject_top", false));
swSubjectItalic.setChecked(prefs.getBoolean("subject_italic", true));
swHighlightSubject.setChecked(prefs.getBoolean("highlight_subject", false));
int[] fontSizeValues = getResources().getIntArray(R.array.fontSizeValues);
String[] ellipsizeValues = getResources().getStringArray(R.array.ellipsizeValues);
int font_size_sender = prefs.getInt("font_size_sender", -1);
for (int pos = 0; pos < fontSizeValues.length; pos++)
if (fontSizeValues[pos] == font_size_sender) {
spFontSizeSender.setSelection(pos);
break;
}
int font_size_subject = prefs.getInt("font_size_subject", -1);
for (int pos = 0; pos < fontSizeValues.length; pos++)
if (fontSizeValues[pos] == font_size_subject) {
spFontSizeSubject.setSelection(pos);
break;
}
String sender_ellipsize = prefs.getString("sender_ellipsize", "end");
for (int pos = 0; pos < ellipsizeValues.length; pos++)
if (ellipsizeValues[pos].equals(sender_ellipsize)) {
spSenderEllipsize.setSelection(pos);
break;
}
String subject_ellipsize = prefs.getString("subject_ellipsize", "full");
for (int pos = 0; pos < ellipsizeValues.length; pos++)
if (ellipsizeValues[pos].equals(subject_ellipsize)) {
spSubjectEllipsize.setSelection(pos);
break;
}
swKeywords.setChecked(prefs.getBoolean("keywords_header", false));
swLabels.setChecked(prefs.getBoolean("labels_header", true));
swFlags.setChecked(prefs.getBoolean("flags", true));
swFlagsBackground.setChecked(prefs.getBoolean("flags_background", false));
swPreview.setChecked(prefs.getBoolean("preview", false));
swPreviewItalic.setChecked(prefs.getBoolean("preview_italic", true));
swPreviewItalic.setEnabled(swPreview.isChecked());
spPreviewLines.setSelection(prefs.getInt("preview_lines", 1) - 1);
spPreviewLines.setEnabled(swPreview.isChecked());
swAlignHeader.setChecked(prefs.getBoolean("align_header", false));
swAddresses.setChecked(prefs.getBoolean("addresses", false));
int message_zoom = prefs.getInt("message_zoom", 100);
tvMessageZoom.setText(getString(R.string.title_advanced_message_text_zoom2, NF.format(message_zoom)));
if (message_zoom >= 50 && message_zoom <= 250)
sbMessageZoom.setProgress(message_zoom - 50);
swOverviewMode.setChecked(prefs.getBoolean("overview_mode", false));
swOverrideWidth.setChecked(prefs.getBoolean("override_width", false));
swContrast.setChecked(prefs.getBoolean("contrast", false));
swHyphenation.setChecked(prefs.getBoolean("hyphenation", false));
String display_font = prefs.getString("display_font", "");
List<StyleHelper.FontDescriptor> fonts = StyleHelper.getFonts(getContext());
for (int pos = 0; pos < fonts.size(); pos++) {
StyleHelper.FontDescriptor font = fonts.get(pos);
if (font.type.equals(display_font)) {
spDisplayFont.setSelection(pos + 1);
break;
}
}
}
swMonospacedPre.setChecked(prefs.getBoolean("monospaced_pre", false));
swTextSeparators.setChecked(prefs.getBoolean("text_separators", true));
swCollapseQuotes.setChecked(prefs.getBoolean("collapse_quotes", false));
swImagesPlaceholders.setChecked(prefs.getBoolean("image_placeholders", true));
swImagesInline.setChecked(prefs.getBoolean("inline_images", false));
swButtonExtra.setChecked(prefs.getBoolean("button_extra", false));
swUnzip.setChecked(prefs.getBoolean("unzip", !BuildConfig.PLAY_STORE_RELEASE));
swAttachmentsAlt.setChecked(prefs.getBoolean("attachments_alt", false));
swThumbnails.setChecked(prefs.getBoolean("thumbnails", true));
swListCount.setChecked(prefs.getBoolean("list_count", false));
swBundledFonts.setChecked(prefs.getBoolean("bundled_fonts", true));
swParseClasses.setChecked(prefs.getBoolean("parse_classes", true));
swBackgroundColor.setChecked(prefs.getBoolean("background_color", false));
swTextColor.setChecked(prefs.getBoolean("text_color", true));
swTextSize.setChecked(prefs.getBoolean("text_size", true));
swTextFont.setChecked(prefs.getBoolean("text_font", true));
swTextAlign.setChecked(prefs.getBoolean("text_align", true));
swTextTitles.setChecked(prefs.getBoolean("text_titles", false));
swAuthentication.setChecked(prefs.getBoolean("authentication", true));
swAuthenticationIndicator.setChecked(prefs.getBoolean("authentication_indicator", false));
swAuthenticationIndicator.setEnabled(swAuthentication.isChecked());
updateColor();
swMonospacedPre.setChecked(prefs.getBoolean("monospaced_pre", false));
swTextSeparators.setChecked(prefs.getBoolean("text_separators", true));
swCollapseQuotes.setChecked(prefs.getBoolean("collapse_quotes", false));
swImagesPlaceholders.setChecked(prefs.getBoolean("image_placeholders", true));
swImagesInline.setChecked(prefs.getBoolean("inline_images", false));
swButtonExtra.setChecked(prefs.getBoolean("button_extra", false));
swUnzip.setChecked(prefs.getBoolean("unzip", !BuildConfig.PLAY_STORE_RELEASE));
swAttachmentsAlt.setChecked(prefs.getBoolean("attachments_alt", false));
swThumbnails.setChecked(prefs.getBoolean("thumbnails", true));
swListCount.setChecked(prefs.getBoolean("list_count", false));
swBundledFonts.setChecked(prefs.getBoolean("bundled_fonts", true));
swParseClasses.setChecked(prefs.getBoolean("parse_classes", true));
swBackgroundColor.setChecked(prefs.getBoolean("background_color", false));
swTextColor.setChecked(prefs.getBoolean("text_color", true));
swTextSize.setChecked(prefs.getBoolean("text_size", true));
swTextFont.setChecked(prefs.getBoolean("text_font", true));
swTextAlign.setChecked(prefs.getBoolean("text_align", true));
swTextTitles.setChecked(prefs.getBoolean("text_titles", false));
swAuthentication.setChecked(prefs.getBoolean("authentication", true));
swAuthenticationIndicator.setChecked(prefs.getBoolean("authentication_indicator", false));
swAuthenticationIndicator.setEnabled(swAuthentication.isChecked());
updateColor();
} catch (Throwable ex) {
Log.e(ex);
}
}
private void setNavigationBarColor(int color) {

@ -634,49 +634,53 @@ public class FragmentOptionsEncryption extends FragmentBase
}
private void setOptions() {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swSign.setChecked(prefs.getBoolean("sign_default", false));
swEncrypt.setChecked(prefs.getBoolean("encrypt_default", false));
swSign.setEnabled(!swEncrypt.isChecked());
swEncryptAuto.setChecked(prefs.getBoolean("encrypt_auto", false));
swAutoDecrypt.setChecked(prefs.getBoolean("auto_decrypt", false));
swAutoUndoDecrypt.setChecked(prefs.getBoolean("auto_undecrypt", false));
String provider = prefs.getString("openpgp_provider", Helper.PGP_OPENKEYCHAIN_PACKAGE);
spOpenPgp.setTag(provider);
for (int pos = 0; pos < openPgpProvider.size(); pos++)
if (provider.equals(openPgpProvider.get(pos))) {
spOpenPgp.setSelection(pos);
break;
}
testOpenPgp(provider);
swAutocrypt.setChecked(prefs.getBoolean("autocrypt", true));
swAutocryptMutual.setChecked(prefs.getBoolean("autocrypt_mutual", true));
swAutocryptMutual.setEnabled(swAutocrypt.isChecked());
swEncryptSubject.setChecked(prefs.getBoolean("encrypt_subject", false));
String signAlgorithm = prefs.getString("sign_algo_smime", "SHA-256");
String[] smimeSignAlgo = getResources().getStringArray(R.array.smimeSignAlgo);
for (int pos = 0; pos < smimeSignAlgo.length; pos++)
if (smimeSignAlgo[pos].equals(signAlgorithm)) {
spSignAlgoSmime.setSelection(pos);
break;
}
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swSign.setChecked(prefs.getBoolean("sign_default", false));
swEncrypt.setChecked(prefs.getBoolean("encrypt_default", false));
swSign.setEnabled(!swEncrypt.isChecked());
swEncryptAuto.setChecked(prefs.getBoolean("encrypt_auto", false));
swAutoDecrypt.setChecked(prefs.getBoolean("auto_decrypt", false));
swAutoUndoDecrypt.setChecked(prefs.getBoolean("auto_undecrypt", false));
String provider = prefs.getString("openpgp_provider", Helper.PGP_OPENKEYCHAIN_PACKAGE);
spOpenPgp.setTag(provider);
for (int pos = 0; pos < openPgpProvider.size(); pos++)
if (provider.equals(openPgpProvider.get(pos))) {
spOpenPgp.setSelection(pos);
break;
}
testOpenPgp(provider);
swAutocrypt.setChecked(prefs.getBoolean("autocrypt", true));
swAutocryptMutual.setChecked(prefs.getBoolean("autocrypt_mutual", true));
swAutocryptMutual.setEnabled(swAutocrypt.isChecked());
swEncryptSubject.setChecked(prefs.getBoolean("encrypt_subject", false));
String signAlgorithm = prefs.getString("sign_algo_smime", "SHA-256");
String[] smimeSignAlgo = getResources().getStringArray(R.array.smimeSignAlgo);
for (int pos = 0; pos < smimeSignAlgo.length; pos++)
if (smimeSignAlgo[pos].equals(signAlgorithm)) {
spSignAlgoSmime.setSelection(pos);
break;
}
String encryptAlgorithm = prefs.getString("encrypt_algo_smime", "AES-128");
String[] smimeEncryptAlgo = getResources().getStringArray(R.array.smimeEncryptAlgo);
for (int pos = 0; pos < smimeEncryptAlgo.length; pos++)
if (smimeEncryptAlgo[pos].equals(encryptAlgorithm)) {
spEncryptAlgoSmime.setSelection(pos);
break;
}
String encryptAlgorithm = prefs.getString("encrypt_algo_smime", "AES-128");
String[] smimeEncryptAlgo = getResources().getStringArray(R.array.smimeEncryptAlgo);
for (int pos = 0; pos < smimeEncryptAlgo.length; pos++)
if (smimeEncryptAlgo[pos].equals(encryptAlgorithm)) {
spEncryptAlgoSmime.setSelection(pos);
break;
}
swCheckCertificate.setChecked(prefs.getBoolean("check_certificate", true));
swCheckCertificate.setChecked(prefs.getBoolean("check_certificate", true));
} catch (Throwable ex) {
Log.e(ex);
}
}
private void testOpenPgp(String pkg) {

@ -1085,7 +1085,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
sbOpenAiTemperature.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
prefs.edit().putFloat("openai_temperature", progress / 10f).apply();
prefs.edit().putFloat("openai_temperature", (float) progress / 10f).apply();
}
@Override
@ -2320,203 +2320,207 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
}
private void setOptions() {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
ActivityManager am = Helper.getSystemService(getContext(), ActivityManager.class);
int class_mb = am.getMemoryClass();
int class_large_mb = am.getLargeMemoryClass();
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
am.getMemoryInfo(mi);
swSortAnswers.setChecked(prefs.getBoolean("sort_answers", false));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
swPowerMenu.setChecked(Helper.isComponentEnabled(getContext(), ServicePowerControl.class));
swExternalSearch.setChecked(Helper.isComponentEnabled(getContext(), ActivitySearch.class));
swExternalAnswer.setChecked(Helper.isComponentEnabled(getContext(), ActivityAnswer.class));
swShortcuts.setChecked(prefs.getBoolean("shortcuts", true));
swFts.setChecked(prefs.getBoolean("fts", false));
swClassification.setChecked(prefs.getBoolean("classification", false));
int class_min_chance = prefs.getInt("class_min_probability", 5);
tvClassMinProbability.setText(getString(R.string.title_advanced_class_min_chance, NF.format(class_min_chance)));
sbClassMinProbability.setProgress(class_min_chance);
int class_min_difference = prefs.getInt("class_min_difference", 40);
tvClassMinDifference.setText(getString(R.string.title_advanced_class_min_difference, NF.format(class_min_difference)));
sbClassMinDifference.setProgress(class_min_difference);
swShowFiltered.setChecked(prefs.getBoolean("show_filtered", false));
int selected = -1;
String language = prefs.getString("language", null);
List<String> display = new ArrayList<>();
display.add(getString(R.string.title_advanced_language_system));
for (int pos = 0; pos < languages.size(); pos++) {
Pair<String, String> lang = languages.get(pos);
display.add(lang.second);
if (lang.first.equals(language))
selected = pos + 1;
}
swUpdates.setChecked(prefs.getBoolean("updates", true));
swCheckWeekly.setChecked(prefs.getBoolean("weekly", Helper.hasPlayStore(getContext())));
swCheckWeekly.setEnabled(swUpdates.isChecked());
swBeta.setChecked(prefs.getBoolean("beta", false));
swBeta.setEnabled(swUpdates.isChecked());
swChangelog.setChecked(prefs.getBoolean("show_changelog", !BuildConfig.PLAY_STORE_RELEASE));
swAnnouncements.setChecked(prefs.getBoolean("announcements", true));
swExperiments.setChecked(prefs.getBoolean("experiments", false));
swCrashReports.setChecked(prefs.getBoolean("crash_reports", false));
tvUuid.setText(prefs.getString("uuid", null));
swCleanupAttachments.setChecked(prefs.getBoolean("cleanup_attachments", false));
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, android.R.id.text1, display);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spLanguage.setAdapter(adapter);
if (selected >= 0)
spLanguage.setSelection(selected);
swLanguageTool.setChecked(prefs.getBoolean("lt_enabled", false));
swLanguageToolAuto.setChecked(prefs.getBoolean("lt_auto", true));
swLanguageToolAuto.setEnabled(swLanguageTool.isChecked());
swLanguageToolPicky.setChecked(prefs.getBoolean("lt_picky", false));
swLanguageToolPicky.setEnabled(swLanguageTool.isChecked());
etLanguageTool.setText(prefs.getString("lt_uri", null));
etLanguageToolUser.setText(prefs.getString("lt_user", null));
tilLanguageToolKey.getEditText().setText(prefs.getString("lt_key", null));
swDeepL.setChecked(prefs.getBoolean("deepl_enabled", false));
swVirusTotal.setChecked(prefs.getBoolean("vt_enabled", false));
tilVirusTotal.getEditText().setText(prefs.getString("vt_apikey", null));
swSend.setChecked(prefs.getBoolean("send_enabled", false));
etSend.setText(prefs.getString("send_host", null));
swOpenAi.setChecked(prefs.getBoolean("openai_enabled", false));
tilOpenAi.getEditText().setText(prefs.getString("openai_apikey", null));
etOpenAiModel.setText(prefs.getString("openai_model", null));
float temperature = prefs.getFloat("openai_temperature", 0.5f);
tvOpenAiTemperature.setText(getString(R.string.title_advanced_openai_temperature, NF.format(temperature)));
sbOpenAiTemperature.setProgress(Math.round(temperature * 10));
swOpenAiModeration.setChecked(prefs.getBoolean("openai_moderation", false));
swWatchdog.setChecked(prefs.getBoolean("watchdog", true));
swMainLog.setChecked(prefs.getBoolean("main_log", true));
swMainLogMem.setChecked(prefs.getBoolean("main_log_memory", false));
swMainLogMem.setEnabled(swMainLog.isChecked());
swProtocol.setChecked(prefs.getBoolean("protocol", false));
swLogInfo.setChecked(prefs.getInt("log_level", android.util.Log.WARN) <= android.util.Log.INFO);
swDebug.setChecked(prefs.getBoolean("debug", false));
swCanary.setChecked(prefs.getBoolean("leak_canary", false));
swTest1.setChecked(prefs.getBoolean("test1", false));
swTest2.setChecked(prefs.getBoolean("test2", false));
swTest3.setChecked(prefs.getBoolean("test3", false));
swTest4.setChecked(prefs.getBoolean("test4", false));
swTest5.setChecked(prefs.getBoolean("test5", false));
swAutostart.setChecked(Helper.isComponentEnabled(getContext(), ReceiverAutoStart.class));
swEmergency.setChecked(prefs.getBoolean("emergency_file", true));
swWorkManager.setChecked(prefs.getBoolean("work_manager", true));
swExternalStorage.setChecked(prefs.getBoolean("external_storage", false));
swIntegrity.setChecked(prefs.getBoolean("sqlite_integrity_check", true));
swWal.setChecked(prefs.getBoolean("wal", true));
swCheckpoints.setChecked(prefs.getBoolean("sqlite_checkpoints", true));
swAnalyze.setChecked(prefs.getBoolean("sqlite_analyze", true));
swAutoVacuum.setChecked(prefs.getBoolean("sqlite_auto_vacuum", false));
swSyncExtra.setChecked(prefs.getBoolean("sqlite_sync_extra", true));
int sqlite_cache = prefs.getInt("sqlite_cache", DB.DEFAULT_CACHE_SIZE);
Integer cache_size = DB.getCacheSizeKb(getContext());
if (cache_size == null)
cache_size = 2000;
tvSqliteCache.setText(getString(R.string.title_advanced_sqlite_cache,
NF.format(sqlite_cache),
Helper.humanReadableByteCount(cache_size * 1024L)));
sbSqliteCache.setProgress(sqlite_cache);
int chunk_size = prefs.getInt("chunk_size", Core.DEFAULT_CHUNK_SIZE);
tvChunkSize.setText(getString(R.string.title_advanced_chunk_size, chunk_size));
sbChunkSize.setProgress(chunk_size);
int thread_range = prefs.getInt("thread_range", MessageHelper.DEFAULT_THREAD_RANGE);
int range = (int) Math.pow(2, thread_range);
tvThreadRange.setText(getString(R.string.title_advanced_thread_range, range));
sbThreadRange.setProgress(thread_range);
swUndoManager.setChecked(prefs.getBoolean("undo_manager", false));
swBrowserZoom.setChecked(prefs.getBoolean("browser_zoom", false));
swFakeDark.setChecked(prefs.getBoolean("fake_dark", false));
swShowRecent.setChecked(prefs.getBoolean("show_recent", false));
swModSeq.setChecked(prefs.getBoolean("use_modseq", true));
swPreamble.setChecked(prefs.getBoolean("preamble", false));
swUid.setChecked(prefs.getBoolean("uid_command", false));
swExpunge.setChecked(prefs.getBoolean("perform_expunge", true));
swUidExpunge.setChecked(prefs.getBoolean("uid_expunge", false));
swAuthPlain.setChecked(prefs.getBoolean("auth_plain", true));
swAuthLogin.setChecked(prefs.getBoolean("auth_login", true));
swAuthNtlm.setChecked(prefs.getBoolean("auth_ntlm", true));
swAuthSasl.setChecked(prefs.getBoolean("auth_sasl", true));
swAuthApop.setChecked(prefs.getBoolean("auth_apop", false));
swUseTop.setChecked(prefs.getBoolean("use_top", true));
swKeepAlivePoll.setChecked(prefs.getBoolean("keep_alive_poll", false));
swEmptyPool.setChecked(prefs.getBoolean("empty_pool", true));
swIdleDone.setChecked(prefs.getBoolean("idle_done", true));
swFastFetch.setChecked(prefs.getBoolean("fast_fetch", false));
int max_backoff_power = prefs.getInt("max_backoff_power", ServiceSynchronize.DEFAULT_BACKOFF_POWER - 3);
int max_backoff = (int) Math.pow(2, max_backoff_power + 3);
tvMaxBackoff.setText(getString(R.string.title_advanced_max_backoff, max_backoff));
sbMaxBackOff.setProgress(max_backoff_power);
swLogarithmicBackoff.setChecked(prefs.getBoolean("logarithmic_backoff", true));
swExactAlarms.setChecked(prefs.getBoolean("exact_alarms", true));
swNativeDkim.setEnabled(!BuildConfig.PLAY_STORE_RELEASE);
swNativeDkim.setChecked(prefs.getBoolean("native_dkim", false));
swNativeArc.setEnabled(swNativeDkim.isEnabled() && swNativeDkim.isChecked());
swNativeArc.setChecked(prefs.getBoolean("native_arc", true));
etNativeArcWhitelist.setEnabled(swNativeDkim.isEnabled() && swNativeDkim.isChecked());
etNativeArcWhitelist.setText(prefs.getString("native_arc_whitelist", null));
swInfra.setChecked(prefs.getBoolean("infra", false));
swDupMsgId.setChecked(prefs.getBoolean("dup_msgids", false));
etKeywords.setText(prefs.getString("global_keywords", null));
swTestIab.setChecked(prefs.getBoolean("test_iab", false));
tvProcessors.setText(getString(R.string.title_advanced_processors, Runtime.getRuntime().availableProcessors()));
tvMemoryClass.setText(getString(R.string.title_advanced_memory_class,
class_mb + " MB",
class_large_mb + " MB",
Helper.humanReadableByteCount(mi.totalMem)));
String android_id;
try {
android_id = Settings.Secure.getString(
getContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
if (android_id == null)
android_id = "<null>";
} catch (Throwable ex) {
Log.w(ex);
android_id = "?";
}
tvAndroidId.setText(getString(R.string.title_advanced_android_id, android_id));
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
ActivityManager am = Helper.getSystemService(getContext(), ActivityManager.class);
int class_mb = am.getMemoryClass();
int class_large_mb = am.getLargeMemoryClass();
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
am.getMemoryInfo(mi);
swSortAnswers.setChecked(prefs.getBoolean("sort_answers", false));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
swPowerMenu.setChecked(Helper.isComponentEnabled(getContext(), ServicePowerControl.class));
swExternalSearch.setChecked(Helper.isComponentEnabled(getContext(), ActivitySearch.class));
swExternalAnswer.setChecked(Helper.isComponentEnabled(getContext(), ActivityAnswer.class));
swShortcuts.setChecked(prefs.getBoolean("shortcuts", true));
swFts.setChecked(prefs.getBoolean("fts", false));
swClassification.setChecked(prefs.getBoolean("classification", false));
int class_min_chance = prefs.getInt("class_min_probability", 5);
tvClassMinProbability.setText(getString(R.string.title_advanced_class_min_chance, NF.format(class_min_chance)));
sbClassMinProbability.setProgress(class_min_chance);
int class_min_difference = prefs.getInt("class_min_difference", 40);
tvClassMinDifference.setText(getString(R.string.title_advanced_class_min_difference, NF.format(class_min_difference)));
sbClassMinDifference.setProgress(class_min_difference);
swShowFiltered.setChecked(prefs.getBoolean("show_filtered", false));
int selected = -1;
String language = prefs.getString("language", null);
List<String> display = new ArrayList<>();
display.add(getString(R.string.title_advanced_language_system));
for (int pos = 0; pos < languages.size(); pos++) {
Pair<String, String> lang = languages.get(pos);
display.add(lang.second);
if (lang.first.equals(language))
selected = pos + 1;
}
swUpdates.setChecked(prefs.getBoolean("updates", true));
swCheckWeekly.setChecked(prefs.getBoolean("weekly", Helper.hasPlayStore(getContext())));
swCheckWeekly.setEnabled(swUpdates.isChecked());
swBeta.setChecked(prefs.getBoolean("beta", false));
swBeta.setEnabled(swUpdates.isChecked());
swChangelog.setChecked(prefs.getBoolean("show_changelog", !BuildConfig.PLAY_STORE_RELEASE));
swAnnouncements.setChecked(prefs.getBoolean("announcements", true));
swExperiments.setChecked(prefs.getBoolean("experiments", false));
swCrashReports.setChecked(prefs.getBoolean("crash_reports", false));
tvUuid.setText(prefs.getString("uuid", null));
swCleanupAttachments.setChecked(prefs.getBoolean("cleanup_attachments", false));
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, android.R.id.text1, display);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spLanguage.setAdapter(adapter);
if (selected >= 0)
spLanguage.setSelection(selected);
swLanguageTool.setChecked(prefs.getBoolean("lt_enabled", false));
swLanguageToolAuto.setChecked(prefs.getBoolean("lt_auto", true));
swLanguageToolAuto.setEnabled(swLanguageTool.isChecked());
swLanguageToolPicky.setChecked(prefs.getBoolean("lt_picky", false));
swLanguageToolPicky.setEnabled(swLanguageTool.isChecked());
etLanguageTool.setText(prefs.getString("lt_uri", null));
etLanguageToolUser.setText(prefs.getString("lt_user", null));
tilLanguageToolKey.getEditText().setText(prefs.getString("lt_key", null));
swDeepL.setChecked(prefs.getBoolean("deepl_enabled", false));
swVirusTotal.setChecked(prefs.getBoolean("vt_enabled", false));
tilVirusTotal.getEditText().setText(prefs.getString("vt_apikey", null));
swSend.setChecked(prefs.getBoolean("send_enabled", false));
etSend.setText(prefs.getString("send_host", null));
swOpenAi.setChecked(prefs.getBoolean("openai_enabled", false));
tilOpenAi.getEditText().setText(prefs.getString("openai_apikey", null));
etOpenAiModel.setText(prefs.getString("openai_model", null));
float temperature = prefs.getFloat("openai_temperature", 0.5f);
tvOpenAiTemperature.setText(getString(R.string.title_advanced_openai_temperature, NF.format(temperature)));
sbOpenAiTemperature.setProgress(Math.round(temperature * 10));
swOpenAiModeration.setChecked(prefs.getBoolean("openai_moderation", false));
swWatchdog.setChecked(prefs.getBoolean("watchdog", true));
swMainLog.setChecked(prefs.getBoolean("main_log", true));
swMainLogMem.setChecked(prefs.getBoolean("main_log_memory", false));
swMainLogMem.setEnabled(swMainLog.isChecked());
swProtocol.setChecked(prefs.getBoolean("protocol", false));
swLogInfo.setChecked(prefs.getInt("log_level", android.util.Log.WARN) <= android.util.Log.INFO);
swDebug.setChecked(prefs.getBoolean("debug", false));
swCanary.setChecked(prefs.getBoolean("leak_canary", false));
swTest1.setChecked(prefs.getBoolean("test1", false));
swTest2.setChecked(prefs.getBoolean("test2", false));
swTest3.setChecked(prefs.getBoolean("test3", false));
swTest4.setChecked(prefs.getBoolean("test4", false));
swTest5.setChecked(prefs.getBoolean("test5", false));
swAutostart.setChecked(Helper.isComponentEnabled(getContext(), ReceiverAutoStart.class));
swEmergency.setChecked(prefs.getBoolean("emergency_file", true));
swWorkManager.setChecked(prefs.getBoolean("work_manager", true));
swExternalStorage.setChecked(prefs.getBoolean("external_storage", false));
swIntegrity.setChecked(prefs.getBoolean("sqlite_integrity_check", true));
swWal.setChecked(prefs.getBoolean("wal", true));
swCheckpoints.setChecked(prefs.getBoolean("sqlite_checkpoints", true));
swAnalyze.setChecked(prefs.getBoolean("sqlite_analyze", true));
swAutoVacuum.setChecked(prefs.getBoolean("sqlite_auto_vacuum", false));
swSyncExtra.setChecked(prefs.getBoolean("sqlite_sync_extra", true));
int sqlite_cache = prefs.getInt("sqlite_cache", DB.DEFAULT_CACHE_SIZE);
Integer cache_size = DB.getCacheSizeKb(getContext());
if (cache_size == null)
cache_size = 2000;
tvSqliteCache.setText(getString(R.string.title_advanced_sqlite_cache,
NF.format(sqlite_cache),
Helper.humanReadableByteCount(cache_size * 1024L)));
sbSqliteCache.setProgress(sqlite_cache);
int chunk_size = prefs.getInt("chunk_size", Core.DEFAULT_CHUNK_SIZE);
tvChunkSize.setText(getString(R.string.title_advanced_chunk_size, chunk_size));
sbChunkSize.setProgress(chunk_size);
int thread_range = prefs.getInt("thread_range", MessageHelper.DEFAULT_THREAD_RANGE);
int range = (int) Math.pow(2, thread_range);
tvThreadRange.setText(getString(R.string.title_advanced_thread_range, range));
sbThreadRange.setProgress(thread_range);
swUndoManager.setChecked(prefs.getBoolean("undo_manager", false));
swBrowserZoom.setChecked(prefs.getBoolean("browser_zoom", false));
swFakeDark.setChecked(prefs.getBoolean("fake_dark", false));
swShowRecent.setChecked(prefs.getBoolean("show_recent", false));
swModSeq.setChecked(prefs.getBoolean("use_modseq", true));
swPreamble.setChecked(prefs.getBoolean("preamble", false));
swUid.setChecked(prefs.getBoolean("uid_command", false));
swExpunge.setChecked(prefs.getBoolean("perform_expunge", true));
swUidExpunge.setChecked(prefs.getBoolean("uid_expunge", false));
swAuthPlain.setChecked(prefs.getBoolean("auth_plain", true));
swAuthLogin.setChecked(prefs.getBoolean("auth_login", true));
swAuthNtlm.setChecked(prefs.getBoolean("auth_ntlm", true));
swAuthSasl.setChecked(prefs.getBoolean("auth_sasl", true));
swAuthApop.setChecked(prefs.getBoolean("auth_apop", false));
swUseTop.setChecked(prefs.getBoolean("use_top", true));
swKeepAlivePoll.setChecked(prefs.getBoolean("keep_alive_poll", false));
swEmptyPool.setChecked(prefs.getBoolean("empty_pool", true));
swIdleDone.setChecked(prefs.getBoolean("idle_done", true));
swFastFetch.setChecked(prefs.getBoolean("fast_fetch", false));
int max_backoff_power = prefs.getInt("max_backoff_power", ServiceSynchronize.DEFAULT_BACKOFF_POWER - 3);
int max_backoff = (int) Math.pow(2, max_backoff_power + 3);
tvMaxBackoff.setText(getString(R.string.title_advanced_max_backoff, max_backoff));
sbMaxBackOff.setProgress(max_backoff_power);
swLogarithmicBackoff.setChecked(prefs.getBoolean("logarithmic_backoff", true));
swExactAlarms.setChecked(prefs.getBoolean("exact_alarms", true));
swNativeDkim.setEnabled(!BuildConfig.PLAY_STORE_RELEASE);
swNativeDkim.setChecked(prefs.getBoolean("native_dkim", false));
swNativeArc.setEnabled(swNativeDkim.isEnabled() && swNativeDkim.isChecked());
swNativeArc.setChecked(prefs.getBoolean("native_arc", true));
etNativeArcWhitelist.setEnabled(swNativeDkim.isEnabled() && swNativeDkim.isChecked());
etNativeArcWhitelist.setText(prefs.getString("native_arc_whitelist", null));
swInfra.setChecked(prefs.getBoolean("infra", false));
swDupMsgId.setChecked(prefs.getBoolean("dup_msgids", false));
etKeywords.setText(prefs.getString("global_keywords", null));
swTestIab.setChecked(prefs.getBoolean("test_iab", false));
tvProcessors.setText(getString(R.string.title_advanced_processors, Runtime.getRuntime().availableProcessors()));
tvMemoryClass.setText(getString(R.string.title_advanced_memory_class,
class_mb + " MB",
class_large_mb + " MB",
Helper.humanReadableByteCount(mi.totalMem)));
String android_id;
try {
android_id = Settings.Secure.getString(
getContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
if (android_id == null)
android_id = "<null>";
} catch (Throwable ex) {
Log.w(ex);
android_id = "?";
}
tvAndroidId.setText(getString(R.string.title_advanced_android_id, android_id));
tvFingerprint.setText(Helper.getFingerprint(getContext()));
tvFingerprint.setText(Helper.getFingerprint(getContext()));
Integer cursorWindowSize = null;
try {
//Field fCursorWindowSize = android.database.CursorWindow.class.getDeclaredField("sDefaultCursorWindowSize");
//fCursorWindowSize.setAccessible(true);
//cursorWindowSize = fCursorWindowSize.getInt(null);
Integer cursorWindowSize = null;
try {
//Field fCursorWindowSize = android.database.CursorWindow.class.getDeclaredField("sDefaultCursorWindowSize");
//fCursorWindowSize.setAccessible(true);
//cursorWindowSize = fCursorWindowSize.getInt(null);
} catch (Throwable ex) {
Log.w(ex);
}
tvCursorWindow.setText(getString(R.string.title_advanced_cursor_window,
cursorWindowSize == null ? "?" : Helper.humanReadableByteCount(cursorWindowSize, false)));
cardDebug.setVisibility(swDebug.isChecked() || BuildConfig.DEBUG ? View.VISIBLE : View.GONE);
} catch (Throwable ex) {
Log.w(ex);
Log.e(ex);
}
tvCursorWindow.setText(getString(R.string.title_advanced_cursor_window,
cursorWindowSize == null ? "?" : Helper.humanReadableByteCount(cursorWindowSize, false)));
cardDebug.setVisibility(swDebug.isChecked() || BuildConfig.DEBUG ? View.VISIBLE : View.GONE);
}
private void updateUsage() {

@ -801,51 +801,55 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
}
private void setOptions() {
if (view == null || getContext() == null)
return;
boolean pro = ActivityBilling.isPro(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swNewestFirst.setChecked(prefs.getBoolean("notify_newest_first", false));
swNotifySummary.setChecked(prefs.getBoolean("notify_summary", false));
cbNotifyActionTrash.setChecked(prefs.getBoolean("notify_trash", true) || !pro);
cbNotifyActionJunk.setChecked(prefs.getBoolean("notify_junk", false) && pro);
cbNotifyActionBlockSender.setChecked(prefs.getBoolean("notify_block_sender", false) && pro);
cbNotifyActionArchive.setChecked(prefs.getBoolean("notify_archive", true) || !pro);
cbNotifyActionMove.setChecked(prefs.getBoolean("notify_move", false) && pro);
cbNotifyActionReply.setChecked(prefs.getBoolean("notify_reply", false) && pro);
cbNotifyActionReplyDirect.setChecked(prefs.getBoolean("notify_reply_direct", false) && pro);
cbNotifyActionFlag.setChecked(prefs.getBoolean("notify_flag", false) && pro);
cbNotifyActionSeen.setChecked(prefs.getBoolean("notify_seen", true) || !pro);
cbNotifyActionHide.setChecked(prefs.getBoolean("notify_hide", false) && pro);
cbNotifyActionSnooze.setChecked(prefs.getBoolean("notify_snooze", false) && pro);
swLight.setChecked(prefs.getBoolean("light", false));
swNotifyScreenOn.setChecked(prefs.getBoolean("notify_screen_on", false));
swBadge.setChecked(prefs.getBoolean("badge", true));
swUnseenIgnored.setChecked(prefs.getBoolean("unseen_ignored", false));
swNotifyGrouping.setChecked(prefs.getBoolean("notify_grouping", true));
swNotifyPrivate.setChecked(prefs.getBoolean("notify_private", true));
swNotifyBackgroundOnly.setChecked(prefs.getBoolean("notify_background_only", false));
swNotifyKnownOnly.setChecked(prefs.getBoolean("notify_known", false));
swNotifySuppressInCall.setChecked(prefs.getBoolean("notify_suppress_in_call", false));
swNotifySuppressInCar.setChecked(prefs.getBoolean("notify_suppress_in_car", false));
swNotifyRemove.setChecked(prefs.getBoolean("notify_remove", true));
swNotifyClear.setChecked(prefs.getBoolean("notify_clear", false));
swNotifySubtext.setChecked(prefs.getBoolean("notify_subtext", true));
swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
swNotifyPreviewAll.setChecked(prefs.getBoolean("notify_preview_all", false));
swNotifyPreviewOnly.setChecked(prefs.getBoolean("notify_preview_only", false));
swNotifyTransliterate.setChecked(prefs.getBoolean("notify_transliterate", false));
swWearablePreview.setChecked(prefs.getBoolean("wearable_preview", false));
swMessagingStyle.setChecked(prefs.getBoolean("notify_messaging", false));
swBiometricsNotify.setChecked(prefs.getBoolean("biometrics_notify", true));
swBackground.setChecked(prefs.getBoolean("background_service", false));
swAlertOnce.setChecked(!prefs.getBoolean("alert_once", true));
enableOptions();
try {
if (view == null || getContext() == null)
return;
boolean pro = ActivityBilling.isPro(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swNewestFirst.setChecked(prefs.getBoolean("notify_newest_first", false));
swNotifySummary.setChecked(prefs.getBoolean("notify_summary", false));
cbNotifyActionTrash.setChecked(prefs.getBoolean("notify_trash", true) || !pro);
cbNotifyActionJunk.setChecked(prefs.getBoolean("notify_junk", false) && pro);
cbNotifyActionBlockSender.setChecked(prefs.getBoolean("notify_block_sender", false) && pro);
cbNotifyActionArchive.setChecked(prefs.getBoolean("notify_archive", true) || !pro);
cbNotifyActionMove.setChecked(prefs.getBoolean("notify_move", false) && pro);
cbNotifyActionReply.setChecked(prefs.getBoolean("notify_reply", false) && pro);
cbNotifyActionReplyDirect.setChecked(prefs.getBoolean("notify_reply_direct", false) && pro);
cbNotifyActionFlag.setChecked(prefs.getBoolean("notify_flag", false) && pro);
cbNotifyActionSeen.setChecked(prefs.getBoolean("notify_seen", true) || !pro);
cbNotifyActionHide.setChecked(prefs.getBoolean("notify_hide", false) && pro);
cbNotifyActionSnooze.setChecked(prefs.getBoolean("notify_snooze", false) && pro);
swLight.setChecked(prefs.getBoolean("light", false));
swNotifyScreenOn.setChecked(prefs.getBoolean("notify_screen_on", false));
swBadge.setChecked(prefs.getBoolean("badge", true));
swUnseenIgnored.setChecked(prefs.getBoolean("unseen_ignored", false));
swNotifyGrouping.setChecked(prefs.getBoolean("notify_grouping", true));
swNotifyPrivate.setChecked(prefs.getBoolean("notify_private", true));
swNotifyBackgroundOnly.setChecked(prefs.getBoolean("notify_background_only", false));
swNotifyKnownOnly.setChecked(prefs.getBoolean("notify_known", false));
swNotifySuppressInCall.setChecked(prefs.getBoolean("notify_suppress_in_call", false));
swNotifySuppressInCar.setChecked(prefs.getBoolean("notify_suppress_in_car", false));
swNotifyRemove.setChecked(prefs.getBoolean("notify_remove", true));
swNotifyClear.setChecked(prefs.getBoolean("notify_clear", false));
swNotifySubtext.setChecked(prefs.getBoolean("notify_subtext", true));
swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
swNotifyPreviewAll.setChecked(prefs.getBoolean("notify_preview_all", false));
swNotifyPreviewOnly.setChecked(prefs.getBoolean("notify_preview_only", false));
swNotifyTransliterate.setChecked(prefs.getBoolean("notify_transliterate", false));
swWearablePreview.setChecked(prefs.getBoolean("wearable_preview", false));
swMessagingStyle.setChecked(prefs.getBoolean("notify_messaging", false));
swBiometricsNotify.setChecked(prefs.getBoolean("biometrics_notify", true));
swBackground.setChecked(prefs.getBoolean("background_service", false));
swAlertOnce.setChecked(!prefs.getBoolean("alert_once", true));
enableOptions();
} catch (Throwable ex) {
Log.e(ex);
}
}
private void enableOptions() {

@ -550,68 +550,72 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
}
private void setOptions() {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swConfirmLinks.setChecked(prefs.getBoolean("confirm_links", true));
swSanitizeLinks.setChecked(prefs.getBoolean("sanitize_links", false));
swSanitizeLinks.setEnabled(swConfirmLinks.isChecked());
swCheckLinksDbl.setChecked(prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE));
swCheckLinksDbl.setEnabled(swConfirmLinks.isChecked());
swConfirmImages.setChecked(prefs.getBoolean("confirm_images", true));
swAskImages.setChecked(prefs.getBoolean("ask_images", true));
swAskImages.setEnabled(swConfirmImages.isChecked());
swHtmlImages.setChecked(prefs.getBoolean("html_always_images", false));
swConfirmHtml.setChecked(prefs.getBoolean("confirm_html", true));
swAskHtml.setChecked(prefs.getBoolean("ask_html", true));
swAskHtml.setEnabled(swConfirmHtml.isChecked());
swDisableTracking.setChecked(prefs.getBoolean("disable_tracking", true));
String pin = prefs.getString("pin", null);
btnPin.setCompoundDrawablesRelativeWithIntrinsicBounds(
0, 0, TextUtils.isEmpty(pin) ? 0 : R.drawable.twotone_check_12, 0);
boolean biometrics = prefs.getBoolean("biometrics", false);
btnBiometrics.setText(biometrics
? R.string.title_setup_biometrics_disable
: R.string.title_setup_biometrics_enable);
btnBiometrics.setEnabled(Helper.canAuthenticate(getContext()));
int biometrics_timeout = prefs.getInt("biometrics_timeout", 2);
int[] biometricTimeoutValues = getResources().getIntArray(R.array.biometricsTimeoutValues);
for (int pos = 0; pos < biometricTimeoutValues.length; pos++)
if (biometricTimeoutValues[pos] == biometrics_timeout) {
spBiometricsTimeout.setSelection(pos);
break;
}
swAutoLock.setChecked(prefs.getBoolean("autolock", true));
swAutoLockNav.setChecked(prefs.getBoolean("autolock_nav", false));
swClientId.setChecked(prefs.getBoolean("client_id", true));
swHideTimeZone.setChecked(prefs.getBoolean("hide_timezone", false));
swDisplayHidden.setChecked(prefs.getBoolean("display_hidden", false));
swIncognitoKeyboard.setChecked(prefs.getBoolean("incognito_keyboard", false));
swSecure.setChecked(prefs.getBoolean("secure", false));
tvGenericUserAgent.setText(WebViewEx.getUserAgent(getContext()));
swGenericUserAgent.setChecked(prefs.getBoolean("generic_ua", false));
swSafeBrowsing.setChecked(prefs.getBoolean("safe_browsing", false));
swLoadEmoji.setChecked(prefs.getBoolean("load_emoji", false));
long time = prefs.getLong("disconnect_last", -1);
DateFormat DF = SimpleDateFormat.getDateTimeInstance();
tvDisconnectBlacklistTime.setText(time < 0 ? null : DF.format(time));
tvDisconnectBlacklistTime.setVisibility(time < 0 ? View.GONE : View.VISIBLE);
swDisconnectAutoUpdate.setChecked(prefs.getBoolean("disconnect_auto_update", false));
swDisconnectLinks.setChecked(prefs.getBoolean("disconnect_links", true));
swDisconnectImages.setChecked(prefs.getBoolean("disconnect_images", false));
String mnemonic = prefs.getString("wipe_mnemonic", null);
swMnemonic.setChecked(mnemonic != null);
tvMnemonic.setText(mnemonic);
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swConfirmLinks.setChecked(prefs.getBoolean("confirm_links", true));
swSanitizeLinks.setChecked(prefs.getBoolean("sanitize_links", false));
swSanitizeLinks.setEnabled(swConfirmLinks.isChecked());
swCheckLinksDbl.setChecked(prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE));
swCheckLinksDbl.setEnabled(swConfirmLinks.isChecked());
swConfirmImages.setChecked(prefs.getBoolean("confirm_images", true));
swAskImages.setChecked(prefs.getBoolean("ask_images", true));
swAskImages.setEnabled(swConfirmImages.isChecked());
swHtmlImages.setChecked(prefs.getBoolean("html_always_images", false));
swConfirmHtml.setChecked(prefs.getBoolean("confirm_html", true));
swAskHtml.setChecked(prefs.getBoolean("ask_html", true));
swAskHtml.setEnabled(swConfirmHtml.isChecked());
swDisableTracking.setChecked(prefs.getBoolean("disable_tracking", true));
String pin = prefs.getString("pin", null);
btnPin.setCompoundDrawablesRelativeWithIntrinsicBounds(
0, 0, TextUtils.isEmpty(pin) ? 0 : R.drawable.twotone_check_12, 0);
boolean biometrics = prefs.getBoolean("biometrics", false);
btnBiometrics.setText(biometrics
? R.string.title_setup_biometrics_disable
: R.string.title_setup_biometrics_enable);
btnBiometrics.setEnabled(Helper.canAuthenticate(getContext()));
int biometrics_timeout = prefs.getInt("biometrics_timeout", 2);
int[] biometricTimeoutValues = getResources().getIntArray(R.array.biometricsTimeoutValues);
for (int pos = 0; pos < biometricTimeoutValues.length; pos++)
if (biometricTimeoutValues[pos] == biometrics_timeout) {
spBiometricsTimeout.setSelection(pos);
break;
}
swAutoLock.setChecked(prefs.getBoolean("autolock", true));
swAutoLockNav.setChecked(prefs.getBoolean("autolock_nav", false));
swClientId.setChecked(prefs.getBoolean("client_id", true));
swHideTimeZone.setChecked(prefs.getBoolean("hide_timezone", false));
swDisplayHidden.setChecked(prefs.getBoolean("display_hidden", false));
swIncognitoKeyboard.setChecked(prefs.getBoolean("incognito_keyboard", false));
swSecure.setChecked(prefs.getBoolean("secure", false));
tvGenericUserAgent.setText(WebViewEx.getUserAgent(getContext()));
swGenericUserAgent.setChecked(prefs.getBoolean("generic_ua", false));
swSafeBrowsing.setChecked(prefs.getBoolean("safe_browsing", false));
swLoadEmoji.setChecked(prefs.getBoolean("load_emoji", false));
long time = prefs.getLong("disconnect_last", -1);
DateFormat DF = SimpleDateFormat.getDateTimeInstance();
tvDisconnectBlacklistTime.setText(time < 0 ? null : DF.format(time));
tvDisconnectBlacklistTime.setVisibility(time < 0 ? View.GONE : View.VISIBLE);
swDisconnectAutoUpdate.setChecked(prefs.getBoolean("disconnect_auto_update", false));
swDisconnectLinks.setChecked(prefs.getBoolean("disconnect_links", true));
swDisconnectImages.setChecked(prefs.getBoolean("disconnect_images", false));
String mnemonic = prefs.getString("wipe_mnemonic", null);
swMnemonic.setChecked(mnemonic != null);
tvMnemonic.setText(mnemonic);
} catch (Throwable ex) {
Log.e(ex);
}
}
}

@ -722,107 +722,111 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
}
private void setOptions() {
if (view == null || getContext() == null)
return;
try {
if (view == null || getContext() == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swKeyboard.setChecked(prefs.getBoolean("keyboard", true));
swKeyboardNoFullscreen.setChecked(prefs.getBoolean("keyboard_no_fullscreen", false));
swSuggestNames.setChecked(prefs.getBoolean("suggest_names", true));
swSuggestSent.setChecked(prefs.getBoolean("suggest_sent", true));
swSuggestReceived.setChecked(prefs.getBoolean("suggest_received", false));
swSuggestFrequently.setChecked(prefs.getBoolean("suggest_frequently", false));
swSuggestFrequently.setEnabled(swSuggestSent.isChecked() || swSuggestReceived.isChecked());
swAutoIdentity.setChecked(prefs.getBoolean("auto_identity", false));
swAutoIdentity.setEnabled(swSuggestSent.isChecked() || swSuggestReceived.isChecked());
swSendChips.setChecked(prefs.getBoolean("send_chips", true));
swSendReminders.setChecked(prefs.getBoolean("send_reminders", true));
swSendPending.setChecked(prefs.getBoolean("send_pending", true));
swAutoSaveParagraph.setChecked(prefs.getBoolean("auto_save_paragraph", true));
swAutoSaveDot.setChecked(prefs.getBoolean("auto_save_dot", false));
swDiscardDelete.setChecked(prefs.getBoolean("discard_delete", true));
int send_delayed = prefs.getInt("send_delayed", 0);
int[] sendDelayedValues = getResources().getIntArray(R.array.sendDelayedValues);
for (int pos = 0; pos < sendDelayedValues.length; pos++)
if (sendDelayedValues[pos] == send_delayed) {
spSendDelayed.setSelection(pos);
break;
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
String[] answerValues = getResources().getStringArray(R.array.answerValues);
swKeyboard.setChecked(prefs.getBoolean("keyboard", true));
swKeyboardNoFullscreen.setChecked(prefs.getBoolean("keyboard_no_fullscreen", false));
swSuggestNames.setChecked(prefs.getBoolean("suggest_names", true));
swSuggestSent.setChecked(prefs.getBoolean("suggest_sent", true));
swSuggestReceived.setChecked(prefs.getBoolean("suggest_received", false));
swSuggestFrequently.setChecked(prefs.getBoolean("suggest_frequently", false));
swSuggestFrequently.setEnabled(swSuggestSent.isChecked() || swSuggestReceived.isChecked());
swAutoIdentity.setChecked(prefs.getBoolean("auto_identity", false));
swAutoIdentity.setEnabled(swSuggestSent.isChecked() || swSuggestReceived.isChecked());
swSendChips.setChecked(prefs.getBoolean("send_chips", true));
swSendReminders.setChecked(prefs.getBoolean("send_reminders", true));
swSendPending.setChecked(prefs.getBoolean("send_pending", true));
swAutoSaveParagraph.setChecked(prefs.getBoolean("auto_save_paragraph", true));
swAutoSaveDot.setChecked(prefs.getBoolean("auto_save_dot", false));
swDiscardDelete.setChecked(prefs.getBoolean("discard_delete", true));
int send_delayed = prefs.getInt("send_delayed", 0);
int[] sendDelayedValues = getResources().getIntArray(R.array.sendDelayedValues);
for (int pos = 0; pos < sendDelayedValues.length; pos++)
if (sendDelayedValues[pos] == send_delayed) {
spSendDelayed.setSelection(pos);
break;
}
String[] answerValues = getResources().getStringArray(R.array.answerValues);
String answer_default = prefs.getString("answer_single", "menu");
for (int pos = 0; pos < answerValues.length; pos++)
if (answerValues[pos].equals(answer_default)) {
spAnswerActionSingle.setSelection(pos);
break;
}
boolean reply_all = prefs.getBoolean("reply_all", false);
String answer_action = prefs.getString("answer_action", reply_all ? "reply_all" : "reply");
for (int pos = 0; pos < answerValues.length; pos++)
if (answerValues[pos].equals(answer_action)) {
spAnswerActionLong.setSelection(pos);
break;
}
btnComposeColor.setColor(prefs.getInt("compose_color", Color.TRANSPARENT));
String compose_font = prefs.getString("compose_font", "");
List<StyleHelper.FontDescriptor> fonts = StyleHelper.getFonts(getContext());
for (int pos = 0; pos < fonts.size(); pos++) {
StyleHelper.FontDescriptor font = fonts.get(pos);
if (font.type.equals(compose_font)) {
spComposeFont.setSelection(pos + 1);
break;
String answer_default = prefs.getString("answer_single", "menu");
for (int pos = 0; pos < answerValues.length; pos++)
if (answerValues[pos].equals(answer_default)) {
spAnswerActionSingle.setSelection(pos);
break;
}
boolean reply_all = prefs.getBoolean("reply_all", false);
String answer_action = prefs.getString("answer_action", reply_all ? "reply_all" : "reply");
for (int pos = 0; pos < answerValues.length; pos++)
if (answerValues[pos].equals(answer_action)) {
spAnswerActionLong.setSelection(pos);
break;
}
btnComposeColor.setColor(prefs.getInt("compose_color", Color.TRANSPARENT));
String compose_font = prefs.getString("compose_font", "");
List<StyleHelper.FontDescriptor> fonts = StyleHelper.getFonts(getContext());
for (int pos = 0; pos < fonts.size(); pos++) {
StyleHelper.FontDescriptor font = fonts.get(pos);
if (font.type.equals(compose_font)) {
spComposeFont.setSelection(pos + 1);
break;
}
}
}
swComposeMonospaced.setChecked(prefs.getBoolean("compose_monospaced", false));
swPrefixOnce.setChecked(prefs.getBoolean("prefix_once", true));
swPrefixCount.setChecked(prefs.getBoolean("prefix_count", false));
swPrefixCount.setEnabled(swPrefixOnce.isChecked());
rgRe.check(prefs.getBoolean("alt_re", false) ? R.id.rbRe2 : R.id.rbRe1);
rgFwd.check(prefs.getBoolean("alt_fwd", false) ? R.id.rbFwd2 : R.id.rbFwd1);
swSeparateReply.setChecked(prefs.getBoolean("separate_reply", false));
swExtendedReply.setChecked(prefs.getBoolean("extended_reply", false));
swWriteBelow.setChecked(prefs.getBoolean("write_below", false));
swQuoteReply.setChecked(prefs.getBoolean("quote_reply", true));
swQuoteLimit.setChecked(prefs.getBoolean("quote_limit", true));
swResizeReply.setChecked(prefs.getBoolean("resize_reply", true));
int signature_location = prefs.getInt("signature_location", 1);
spSignatureLocation.setSelection(signature_location);
swSignatureNew.setChecked(prefs.getBoolean("signature_new", true));
swSignatureReply.setChecked(prefs.getBoolean("signature_reply", true));
swSignatureReplyOnce.setChecked(prefs.getBoolean("signature_reply_once", false));
swSignatureReplyOnce.setEnabled(swSignatureReply.isChecked());
swSignatureForward.setChecked(prefs.getBoolean("signature_forward", true));
swAttachNew.setChecked(prefs.getBoolean("attach_new", true));
swAutoLink.setChecked(prefs.getBoolean("auto_link", false));
swPlainOnly.setChecked(prefs.getBoolean("plain_only", false));
swPlainOnlyReply.setChecked(prefs.getBoolean("plain_only_reply", false));
swFormatFlowed.setChecked(prefs.getBoolean("format_flowed", false));
swUsenetSignature.setChecked(prefs.getBoolean("usenet_signature", false));
swRemoveSignatures.setChecked(prefs.getBoolean("remove_signatures", false));
swReceipt.setChecked(prefs.getBoolean("receipt_default", false));
int receipt_type = prefs.getInt("receipt_type", 2);
spReceiptType.setSelection(receipt_type);
swReceiptLegacy.setChecked(prefs.getBoolean("receipt_legacy", false));
swForwardNew.setChecked(prefs.getBoolean("forward_new", true));
swLookupMx.setChecked(prefs.getBoolean("lookup_mx", false));
swReplyMove.setChecked(prefs.getBoolean("reply_move", false));
swReplyMoveInbox.setChecked(prefs.getBoolean("reply_move_inbox", true));
swReplyMoveInbox.setEnabled(swReplyMove.isChecked());
swComposeMonospaced.setChecked(prefs.getBoolean("compose_monospaced", false));
swPrefixOnce.setChecked(prefs.getBoolean("prefix_once", true));
swPrefixCount.setChecked(prefs.getBoolean("prefix_count", false));
swPrefixCount.setEnabled(swPrefixOnce.isChecked());
rgRe.check(prefs.getBoolean("alt_re", false) ? R.id.rbRe2 : R.id.rbRe1);
rgFwd.check(prefs.getBoolean("alt_fwd", false) ? R.id.rbFwd2 : R.id.rbFwd1);
swSeparateReply.setChecked(prefs.getBoolean("separate_reply", false));
swExtendedReply.setChecked(prefs.getBoolean("extended_reply", false));
swWriteBelow.setChecked(prefs.getBoolean("write_below", false));
swQuoteReply.setChecked(prefs.getBoolean("quote_reply", true));
swQuoteLimit.setChecked(prefs.getBoolean("quote_limit", true));
swResizeReply.setChecked(prefs.getBoolean("resize_reply", true));
int signature_location = prefs.getInt("signature_location", 1);
spSignatureLocation.setSelection(signature_location);
swSignatureNew.setChecked(prefs.getBoolean("signature_new", true));
swSignatureReply.setChecked(prefs.getBoolean("signature_reply", true));
swSignatureReplyOnce.setChecked(prefs.getBoolean("signature_reply_once", false));
swSignatureReplyOnce.setEnabled(swSignatureReply.isChecked());
swSignatureForward.setChecked(prefs.getBoolean("signature_forward", true));
swAttachNew.setChecked(prefs.getBoolean("attach_new", true));
swAutoLink.setChecked(prefs.getBoolean("auto_link", false));
swPlainOnly.setChecked(prefs.getBoolean("plain_only", false));
swPlainOnlyReply.setChecked(prefs.getBoolean("plain_only_reply", false));
swFormatFlowed.setChecked(prefs.getBoolean("format_flowed", false));
swUsenetSignature.setChecked(prefs.getBoolean("usenet_signature", false));
swRemoveSignatures.setChecked(prefs.getBoolean("remove_signatures", false));
swReceipt.setChecked(prefs.getBoolean("receipt_default", false));
int receipt_type = prefs.getInt("receipt_type", 2);
spReceiptType.setSelection(receipt_type);
swReceiptLegacy.setChecked(prefs.getBoolean("receipt_legacy", false));
swForwardNew.setChecked(prefs.getBoolean("forward_new", true));
swLookupMx.setChecked(prefs.getBoolean("lookup_mx", false));
swReplyMove.setChecked(prefs.getBoolean("reply_move", false));
swReplyMoveInbox.setChecked(prefs.getBoolean("reply_move_inbox", true));
swReplyMoveInbox.setEnabled(swReplyMove.isChecked());
} catch (Throwable ex) {
Log.e(ex);
}
}
@Override

@ -594,77 +594,81 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
}
private void setOptions() {
if (view == null || getContext() == null)
return;
try {
if (view == null || getContext() == null)
return;
final Context context = getContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean pro = ActivityBilling.isPro(context);
swEnabled.setChecked(prefs.getBoolean("enabled", true));
swOptimize.setChecked(prefs.getBoolean("auto_optimize", false));
int pollInterval = ServiceSynchronize.getPollInterval(context);
int[] pollIntervalValues = getResources().getIntArray(R.array.pollIntervalValues);
for (int pos = 0; pos < pollIntervalValues.length; pos++)
if (pollIntervalValues[pos] == pollInterval) {
spPollInterval.setTag(pollInterval);
spPollInterval.setSelection(pos);
break;
}
tvPollBattery.setVisibility(pollInterval > 0 && pollInterval < 15 ? View.VISIBLE : View.GONE);
grpExempted.setVisibility(pollInterval == 0 ? View.GONE : View.VISIBLE);
swSchedule.setChecked(prefs.getBoolean("schedule", false) && pro);
swSchedule.setEnabled(pro);
int schedule_start = prefs.getInt("schedule_start", 0);
int schedule_end = prefs.getInt("schedule_end", 0);
int schedule_start_weekend = prefs.getInt("schedule_start_weekend", schedule_start);
int schedule_end_weekend = prefs.getInt("schedule_end_weekend", schedule_end);
tvScheduleStart.setText(CalendarHelper.formatHour(context, schedule_start));
tvScheduleEnd.setText(CalendarHelper.formatHour(context, schedule_end));
tvScheduleStartWeekend.setText(CalendarHelper.formatHour(context, schedule_start_weekend));
tvScheduleEndWeekend.setText(CalendarHelper.formatHour(context, schedule_end_weekend));
final Context context = getContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean pro = ActivityBilling.isPro(context);
swEnabled.setChecked(prefs.getBoolean("enabled", true));
swOptimize.setChecked(prefs.getBoolean("auto_optimize", false));
int pollInterval = ServiceSynchronize.getPollInterval(context);
int[] pollIntervalValues = getResources().getIntArray(R.array.pollIntervalValues);
for (int pos = 0; pos < pollIntervalValues.length; pos++)
if (pollIntervalValues[pos] == pollInterval) {
spPollInterval.setTag(pollInterval);
spPollInterval.setSelection(pos);
break;
}
for (int i = 0; i < 7; i++) {
boolean weekend = CalendarHelper.isWeekend(context, i + 1);
cbDay[i].setTypeface(weekend ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
cbDay[i].setTextColor(weekend ? colorAccent : textColorTertiary);
cbDay[i].setChecked(prefs.getBoolean("schedule_day" + i, true));
tvPollBattery.setVisibility(pollInterval > 0 && pollInterval < 15 ? View.VISIBLE : View.GONE);
grpExempted.setVisibility(pollInterval == 0 ? View.GONE : View.VISIBLE);
swSchedule.setChecked(prefs.getBoolean("schedule", false) && pro);
swSchedule.setEnabled(pro);
int schedule_start = prefs.getInt("schedule_start", 0);
int schedule_end = prefs.getInt("schedule_end", 0);
int schedule_start_weekend = prefs.getInt("schedule_start_weekend", schedule_start);
int schedule_end_weekend = prefs.getInt("schedule_end_weekend", schedule_end);
tvScheduleStart.setText(CalendarHelper.formatHour(context, schedule_start));
tvScheduleEnd.setText(CalendarHelper.formatHour(context, schedule_end));
tvScheduleStartWeekend.setText(CalendarHelper.formatHour(context, schedule_start_weekend));
tvScheduleEndWeekend.setText(CalendarHelper.formatHour(context, schedule_end_weekend));
for (int i = 0; i < 7; i++) {
boolean weekend = CalendarHelper.isWeekend(context, i + 1);
cbDay[i].setTypeface(weekend ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
cbDay[i].setTextColor(weekend ? colorAccent : textColorTertiary);
cbDay[i].setChecked(prefs.getBoolean("schedule_day" + i, true));
}
swQuickSyncImap.setChecked(prefs.getBoolean("sync_quick_imap", false));
swQuickSyncPop.setChecked(prefs.getBoolean("sync_quick_pop", true));
swNodate.setChecked(prefs.getBoolean("sync_nodate", false));
swUnseen.setChecked(prefs.getBoolean("sync_unseen", false));
swFlagged.setChecked(prefs.getBoolean("sync_flagged", false));
swDeleteUnseen.setChecked(prefs.getBoolean("delete_unseen", false));
swSyncKept.setChecked(prefs.getBoolean("sync_kept", true));
swGmailThread.setChecked(prefs.getBoolean("gmail_thread_id", false));
swOutlookThread.setChecked(prefs.getBoolean("outlook_thread_id", false));
swSubjectThreading.setChecked(prefs.getBoolean("subject_threading", false));
swSubjectThreading.setEnabled(!swGmailThread.isChecked() && !swOutlookThread.isChecked());
swSyncFolders.setChecked(prefs.getBoolean("sync_folders", true));
swSyncFoldersPoll.setChecked(prefs.getBoolean("sync_folders_poll", false));
swSyncFoldersPoll.setEnabled(swSyncFolders.isChecked());
swSyncSharedFolders.setChecked(prefs.getBoolean("sync_shared_folders", false));
swSyncSharedFolders.setEnabled(swSyncFolders.isChecked());
swSyncAdded.setChecked(prefs.getBoolean("sync_added_folders", false));
swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false));
swTuneKeepAlive.setChecked(prefs.getBoolean("tune_keep_alive", true));
swCheckAuthentication.setChecked(prefs.getBoolean("check_authentication", true));
swCheckTls.setChecked(prefs.getBoolean("check_tls", false));
swCheckTls.setEnabled(swCheckAuthentication.isChecked());
swCheckReply.setChecked(prefs.getBoolean("check_reply_domain", true));
swCheckMx.setChecked(prefs.getBoolean("check_mx", false));
swCheckBlocklist.setChecked(prefs.getBoolean("check_blocklist", false));
swUseBlocklist.setChecked(prefs.getBoolean("use_blocklist", false));
swUseBlocklist.setEnabled(swCheckBlocklist.isChecked());
swUseBlocklistPop.setChecked(prefs.getBoolean("use_blocklist_pop", false));
swUseBlocklistPop.setEnabled(swCheckBlocklist.isChecked());
rvBlocklist.setAlpha(swCheckBlocklist.isChecked() ? 1.0f : Helper.LOW_LIGHT);
} catch (Throwable ex) {
Log.e(ex);
}
swQuickSyncImap.setChecked(prefs.getBoolean("sync_quick_imap", false));
swQuickSyncPop.setChecked(prefs.getBoolean("sync_quick_pop", true));
swNodate.setChecked(prefs.getBoolean("sync_nodate", false));
swUnseen.setChecked(prefs.getBoolean("sync_unseen", false));
swFlagged.setChecked(prefs.getBoolean("sync_flagged", false));
swDeleteUnseen.setChecked(prefs.getBoolean("delete_unseen", false));
swSyncKept.setChecked(prefs.getBoolean("sync_kept", true));
swGmailThread.setChecked(prefs.getBoolean("gmail_thread_id", false));
swOutlookThread.setChecked(prefs.getBoolean("outlook_thread_id", false));
swSubjectThreading.setChecked(prefs.getBoolean("subject_threading", false));
swSubjectThreading.setEnabled(!swGmailThread.isChecked() && !swOutlookThread.isChecked());
swSyncFolders.setChecked(prefs.getBoolean("sync_folders", true));
swSyncFoldersPoll.setChecked(prefs.getBoolean("sync_folders_poll", false));
swSyncFoldersPoll.setEnabled(swSyncFolders.isChecked());
swSyncSharedFolders.setChecked(prefs.getBoolean("sync_shared_folders", false));
swSyncSharedFolders.setEnabled(swSyncFolders.isChecked());
swSyncAdded.setChecked(prefs.getBoolean("sync_added_folders", false));
swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false));
swTuneKeepAlive.setChecked(prefs.getBoolean("tune_keep_alive", true));
swCheckAuthentication.setChecked(prefs.getBoolean("check_authentication", true));
swCheckTls.setChecked(prefs.getBoolean("check_tls", false));
swCheckTls.setEnabled(swCheckAuthentication.isChecked());
swCheckReply.setChecked(prefs.getBoolean("check_reply_domain", true));
swCheckMx.setChecked(prefs.getBoolean("check_mx", false));
swCheckBlocklist.setChecked(prefs.getBoolean("check_blocklist", false));
swUseBlocklist.setChecked(prefs.getBoolean("use_blocklist", false));
swUseBlocklist.setEnabled(swCheckBlocklist.isChecked());
swUseBlocklistPop.setChecked(prefs.getBoolean("use_blocklist_pop", false));
swUseBlocklistPop.setEnabled(swCheckBlocklist.isChecked());
rvBlocklist.setAlpha(swCheckBlocklist.isChecked() ? 1.0f : Helper.LOW_LIGHT);
}
public static class TimePickerFragment extends FragmentDialogBase implements TimePickerDialog.OnTimeSetListener {

Loading…
Cancel
Save