Skip to content
This repository was archived by the owner on May 30, 2025. It is now read-only.

Commit 1f20b21

Browse files
committed
add option to disable swiping
closes #165
1 parent ae7152a commit 1f20b21

File tree

7 files changed

+16
-0
lines changed

7 files changed

+16
-0
lines changed

mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class GlobalUserPreferences{
2626
public static boolean showInteractionCounts;
2727
public static boolean alwaysExpandContentWarnings;
2828
public static boolean disableMarquee;
29+
public static boolean disableSwipe;
2930
public static boolean voteButtonForSingleChoice;
3031
public static ThemePreference theme;
3132
public static ColorPreference color;
@@ -54,6 +55,7 @@ public static void load(){
5455
showInteractionCounts=prefs.getBoolean("showInteractionCounts", false);
5556
alwaysExpandContentWarnings=prefs.getBoolean("alwaysExpandContentWarnings", false);
5657
disableMarquee=prefs.getBoolean("disableMarquee", false);
58+
disableSwipe=prefs.getBoolean("disableSwipe", false);
5759
voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true);
5860
theme=ThemePreference.values()[prefs.getInt("theme", 0)];
5961
recentLanguages=fromJson(prefs.getString("recentLanguages", "{}"), recentLanguagesType, new HashMap<>());
@@ -78,6 +80,7 @@ public static void save(){
7880
.putBoolean("showInteractionCounts", showInteractionCounts)
7981
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
8082
.putBoolean("disableMarquee", disableMarquee)
83+
.putBoolean("disableSwipe", disableSwipe)
8184
.putInt("theme", theme.ordinal())
8285
.putString("color", color.name())
8386
.putString("recentLanguages", gson.toJson(recentLanguages))

mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsFragment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import android.widget.LinearLayout;
1515

1616
import org.joinmastodon.android.E;
17+
import org.joinmastodon.android.GlobalUserPreferences;
1718
import org.joinmastodon.android.R;
1819
import org.joinmastodon.android.api.requests.accounts.GetFollowRequests;
1920
import org.joinmastodon.android.events.FollowRequestHandledEvent;
@@ -109,6 +110,7 @@ public View onCreateContentView(LayoutInflater inflater, ViewGroup container, Bu
109110
tabLayout.setTabTextColors(UiUtils.getThemeColor(getActivity(), R.attr.colorTabInactive), UiUtils.getThemeColor(getActivity(), android.R.attr.textColorPrimary));
110111

111112
pager.setOffscreenPageLimit(4);
113+
pager.setUserInputEnabled(!GlobalUserPreferences.disableSwipe);
112114
pager.setAdapter(new DiscoverPagerAdapter());
113115
pager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback(){
114116
@Override

mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
237237
}
238238

239239
pager.setOffscreenPageLimit(5);
240+
pager.setUserInputEnabled(!GlobalUserPreferences.disableSwipe);
240241
pager.setAdapter(new ProfilePagerAdapter());
241242
pager.getLayoutParams().height=getResources().getDisplayMetrics().heightPixels;
242243

mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ public void onCreate(Bundle savedInstanceState){
121121
GlobalUserPreferences.alwaysExpandContentWarnings=i.checked;
122122
GlobalUserPreferences.save();
123123
}));
124+
items.add(new SwitchItem(R.string.sk_tabs_disable_swipe, R.drawable.ic_fluent_swipe_right_24_regular, GlobalUserPreferences.disableSwipe, i->{
125+
GlobalUserPreferences.disableSwipe=i.checked;
126+
GlobalUserPreferences.save();
127+
needAppRestart=true;
128+
}));
124129

125130
items.add(new HeaderItem(R.string.home_timeline));
126131
items.add(new SwitchItem(R.string.sk_settings_show_replies, R.drawable.ic_fluent_chat_multiple_24_regular, GlobalUserPreferences.showReplies, i->{

mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverFragment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
104104
tabLayout.setTabTextColors(UiUtils.getThemeColor(getActivity(), R.attr.colorTabInactive), UiUtils.getThemeColor(getActivity(), android.R.attr.textColorPrimary));
105105

106106
pager.setOffscreenPageLimit(4);
107+
pager.setUserInputEnabled(!GlobalUserPreferences.disableSwipe);
107108
pager.setAdapter(new DiscoverPagerAdapter());
108109
pager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback(){
109110
@Override
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
2+
<path android:pathData="M5.997 12c0 0.38 0.282 0.694 0.647 0.743l0.102 0.007H19.44l-2.216 2.22c-0.266 0.266-0.29 0.683-0.073 0.976l0.073 0.084c0.266 0.267 0.682 0.29 0.975 0.073l0.084-0.073 3.497-3.5c0.267-0.266 0.29-0.683 0.073-0.976L21.78 11.47l-3.497-3.5c-0.292-0.293-0.767-0.293-1.06 0-0.265 0.266-0.29 0.683-0.072 0.976l0.073 0.084 2.216 2.22H6.746c-0.414 0-0.75 0.336-0.75 0.75zM2 12c0 2.761 2.237 5 4.996 5 2.143 0 3.972-1.351 4.68-3.25h-1.651C9.42 14.797 8.29 15.5 6.995 15.5 5.066 15.5 3.5 13.933 3.5 12s1.565-3.5 3.497-3.5c1.294 0 2.425 0.704 3.03 1.75h1.651C10.968 8.352 9.14 7 6.996 7 4.236 7 2 9.239 2 12z" android:fillColor="@color/fluent_default_icon_tint"/>
3+
</vector>

mastodon/src/main/res/values/strings_sk.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,5 @@
6262
<string name="sk_welcome_text">The shark salutes you! To get started, please enter your home instance’s domain name below.</string>
6363
<string name="sk_example_domain">example.social</string>
6464
<string name="sk_app_username" translatable="false">\@megalodon</string>
65+
<string name="sk_tabs_disable_swipe">Disable swiping between tabs</string>
6566
</resources>

0 commit comments

Comments
 (0)