From 0725c2a741df28e926723d3632f5907e3bcf17b4 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Sun, 3 Sep 2023 15:47:11 +0200 Subject: [PATCH] feat: add setting to disable double tap to search --- .../java/org/joinmastodon/android/GlobalUserPreferences.java | 3 +++ .../java/org/joinmastodon/android/fragments/HomeFragment.java | 2 +- .../android/fragments/settings/SettingsDisplayFragment.java | 4 +++- mastodon/src/main/res/values/strings_mo.xml | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index 5b04a6c8b..fc71858ea 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -66,6 +66,7 @@ public class GlobalUserPreferences{ public static boolean showDividers; public static boolean relocatePublishButton; public static boolean defaultToUnlistedReplies; + public static boolean doubleTapToSearch; public static boolean doubleTapToSwipe; public static boolean confirmBeforeReblog; public static boolean hapticFeedback; @@ -140,6 +141,7 @@ public class GlobalUserPreferences{ relocatePublishButton=prefs.getBoolean("relocatePublishButton", true); compactReblogReplyLine=prefs.getBoolean("compactReblogReplyLine", true); defaultToUnlistedReplies=prefs.getBoolean("defaultToUnlistedReplies", false); + doubleTapToSearch =prefs.getBoolean("doubleTapToSearch", true); doubleTapToSwipe =prefs.getBoolean("doubleTapToSwipe", true); replyLineAboveHeader=prefs.getBoolean("replyLineAboveHeader", true); confirmBeforeReblog=prefs.getBoolean("confirmBeforeReblog", false); @@ -216,6 +218,7 @@ public class GlobalUserPreferences{ // MOSHIDON .putBoolean("defaultToUnlistedReplies", defaultToUnlistedReplies) + .putBoolean("doubleTapToSearch", doubleTapToSearch) .putBoolean("doubleTapToSwipe", doubleTapToSwipe) .putBoolean("compactReblogReplyLine", compactReblogReplyLine) .putBoolean("replyLineAboveHeader", replyLineAboveHeader) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java index 08a942a76..d74419520 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java @@ -269,7 +269,7 @@ public class HomeFragment extends AppKitFragment implements OnBackPressedListene private void onTabSelected(@IdRes int tab){ Fragment newFragment=fragmentForTab(tab); if(tab==currentTab){ - if (tab == R.id.tab_search) + if (tab == R.id.tab_search && GlobalUserPreferences.doubleTapToSearch) discoverFragment.openSearch(); else if(newFragment instanceof ScrollableToTop scrollable) scrollable.scrollToTop(); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsDisplayFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsDisplayFragment.java index 5c3d20805..212ce4e18 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsDisplayFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsDisplayFragment.java @@ -43,7 +43,7 @@ public class SettingsDisplayFragment extends BaseSettingsFragment{ private CheckableListItem pronounsInUserListingsItem, pronounsInTimelinesItem, pronounsInThreadsItem; // MOSHIDON - private CheckableListItem enableDoubleTapToSwipeItem, relocatePublishButtonItem, showPostDividersItem; + private CheckableListItem enableDoubleTapToSwipeItem, relocatePublishButtonItem, showPostDividersItem, enableDoubleTapToSearchItem; private AccountLocalPreferences lp; @@ -66,6 +66,7 @@ public class SettingsDisplayFragment extends BaseSettingsFragment{ emojiInNamesItem=new CheckableListItem<>(R.string.settings_show_emoji_in_names, 0, CheckableListItem.Style.SWITCH, lp.customEmojiInNames, R.drawable.ic_fluent_emoji_24_regular, ()->toggleCheckableItem(emojiInNamesItem)), marqueeItem=new CheckableListItem<>(R.string.sk_settings_enable_marquee, R.string.mo_setting_marquee_summary, CheckableListItem.Style.SWITCH, GlobalUserPreferences.toolbarMarquee, R.drawable.ic_fluent_text_more_24_regular, ()->toggleCheckableItem(marqueeItem)), reduceMotionItem=new CheckableListItem<>(R.string.sk_settings_reduce_motion, R.string.mo_setting_reduced_motion_summary, CheckableListItem.Style.SWITCH, GlobalUserPreferences.reduceMotion, R.drawable.ic_fluent_star_emphasis_24_regular, ()->toggleCheckableItem(reduceMotionItem)), + enableDoubleTapToSearchItem=new CheckableListItem<>(R.string.mo_double_tap_to_search, 0, CheckableListItem.Style.SWITCH, GlobalUserPreferences.doubleTapToSearch, R.drawable.ic_fluent_search_24_regular, ()->toggleCheckableItem(enableDoubleTapToSearchItem)), disableSwipeItem=new CheckableListItem<>(R.string.sk_settings_tabs_disable_swipe, R.string.mo_setting_disable_swipe_summary, CheckableListItem.Style.SWITCH, GlobalUserPreferences.disableSwipe, R.drawable.ic_fluent_swipe_right_24_regular, ()->toggleCheckableItem(disableSwipeItem)), enableDoubleTapToSwipeItem=new CheckableListItem<>(R.string.mo_double_tap_to_swipe_between_tabs, 0, CheckableListItem.Style.SWITCH, GlobalUserPreferences.doubleTapToSwipe, R.drawable.ic_fluent_double_tap_swipe_right_24_regular, ()->toggleCheckableItem(enableDoubleTapToSwipeItem)), altIndicatorItem=new CheckableListItem<>(R.string.sk_settings_show_alt_indicator, 0, CheckableListItem.Style.SWITCH, GlobalUserPreferences.showAltIndicator, R.drawable.ic_fluent_scan_text_24_regular, ()->toggleCheckableItem(altIndicatorItem)), @@ -114,6 +115,7 @@ public class SettingsDisplayFragment extends BaseSettingsFragment{ GlobalUserPreferences.relocatePublishButton=relocatePublishButtonItem.checked; GlobalUserPreferences.reduceMotion=reduceMotionItem.checked; GlobalUserPreferences.disableSwipe=disableSwipeItem.checked; + GlobalUserPreferences.doubleTapToSearch=enableDoubleTapToSearchItem.checked; GlobalUserPreferences.doubleTapToSwipe=enableDoubleTapToSwipeItem.checked; GlobalUserPreferences.showAltIndicator=altIndicatorItem.checked; GlobalUserPreferences.showNoAltIndicator=noAltIndicatorItem.checked; diff --git a/mastodon/src/main/res/values/strings_mo.xml b/mastodon/src/main/res/values/strings_mo.xml index 680f20bb4..0ffb53c4c 100644 --- a/mastodon/src/main/res/values/strings_mo.xml +++ b/mastodon/src/main/res/values/strings_mo.xml @@ -87,6 +87,7 @@ Notification Audience Show media posts with missing alt text + Double tap to open search Double tap to swipe between tabs Haptic feedback Swap bookmark with reblog action