diff options
author | Hermes Junior <ohermesjunior@gmail.com> | 2020-05-11 19:26:55 +0000 |
---|---|---|
committer | OHermesJunior <ohermesjunior@gmail.com> | 2020-05-11 19:26:55 +0000 |
commit | 3c32daaca2c3b3fbd826a927e60c87a57ef57ff2 (patch) | |
tree | f33939f90ff3a6a222e7cd98a8afa89e70487c87 | |
parent | c705292bf8f8568621e2831f58e9200479706e31 (diff) | |
download | infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar.gz infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar.bz2 infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar.lz infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar.xz infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.tar.zst infinity-for-reddit-3c32daaca2c3b3fbd826a927e60c87a57ef57ff2.zip |
Add swap tap and long click option.
4 files changed, 47 insertions, 25 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java index 674dff72..f2a12781 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java @@ -150,6 +150,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy private boolean mExpandChildren; private boolean mCommentToolbarHidden; private boolean mCommentToolbarHideOnClick; + private boolean mSwapTapAndLong; private boolean mShowCommentDivider; private boolean mShowAbsoluteNumberOfVotes; private boolean mAutoplay = false; @@ -306,6 +307,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy mExpandChildren = !mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_TOP_LEVEL_COMMENTS_FIRST, false); mCommentToolbarHidden = mSharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_TOOLBAR_HIDDEN, false); mCommentToolbarHideOnClick= mSharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_TOOLBAR_HIDE_ON_CLICK, true); + mSwapTapAndLong = mSharedPreferences.getBoolean(SharedPreferencesUtils.SWAP_TAP_AND_LONG_COMMENTS, false); mShowCommentDivider = mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_COMMENT_DIVIDER, false); mShowAbsoluteNumberOfVotes = mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_ABSOLUTE_NUMBER_OF_VOTES, true); @@ -2703,23 +2705,6 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy authorFlairTextView.setOnClickListener(view -> authorTextView.performClick()); - View.OnClickListener hideToolbarOnClickListener = view -> { - if (mCommentToolbarHideOnClick) { - if (bottomConstraintLayout.getLayoutParams().height == 0) { - bottomConstraintLayout.getLayoutParams().height = LinearLayout.LayoutParams.WRAP_CONTENT; - topScoreTextView.setVisibility(View.GONE); - ((ViewPostDetailActivity) mActivity).delayTransition(); - } else { - ((ViewPostDetailActivity) mActivity).delayTransition(); - bottomConstraintLayout.getLayoutParams().height = 0; - topScoreTextView.setVisibility(View.VISIBLE); - } - } - }; - linearLayout.setOnClickListener(hideToolbarOnClickListener); - commentMarkdownView.setOnClickListener(hideToolbarOnClickListener); - commentTimeTextView.setOnClickListener(hideToolbarOnClickListener); - moreButton.setOnClickListener(view -> { CommentData comment = getCurrentComment(); Bundle bundle = new Bundle(); @@ -2961,15 +2946,45 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy } }); - commentMarkdownView.setOnLongClickListener(view -> { - expandButton.performClick(); - return true; - }); + if (mSwapTapAndLong) { + if (mCommentToolbarHideOnClick) { + View.OnLongClickListener hideToolbarOnLongClickListener = view -> hideToolbar(); + linearLayout.setOnLongClickListener(hideToolbarOnLongClickListener); + commentMarkdownView.setOnLongClickListener(hideToolbarOnLongClickListener); + commentTimeTextView.setOnLongClickListener(hideToolbarOnLongClickListener); + } + View.OnClickListener expandCommentsOnClickListener = view -> expandComments(); + commentMarkdownView.setOnClickListener(expandCommentsOnClickListener); + itemView.setOnClickListener(expandCommentsOnClickListener); + } else { + if (mCommentToolbarHideOnClick) { + View.OnClickListener hideToolbarOnClickListener = view -> hideToolbar(); + linearLayout.setOnClickListener(hideToolbarOnClickListener); + commentMarkdownView.setOnClickListener(hideToolbarOnClickListener); + commentTimeTextView.setOnClickListener(hideToolbarOnClickListener); + } + View.OnLongClickListener expandsCommentsOnLongClickListener = view -> expandComments(); + commentMarkdownView.setOnLongClickListener(expandsCommentsOnLongClickListener); + itemView.setOnLongClickListener(expandsCommentsOnLongClickListener); + } + } - itemView.setOnLongClickListener(view -> { - expandButton.performClick(); - return true; - }); + private boolean expandComments() { + expandButton.performClick(); + return true; + } + + private boolean hideToolbar() { + if (bottomConstraintLayout.getLayoutParams().height == 0) { + bottomConstraintLayout.getLayoutParams().height = LinearLayout.LayoutParams.WRAP_CONTENT; + topScoreTextView.setVisibility(View.GONE); + ((ViewPostDetailActivity) mActivity).delayTransition(); + } else { + ((ViewPostDetailActivity) mActivity).delayTransition(); + bottomConstraintLayout.getLayoutParams().height = 0; + topScoreTextView.setVisibility(View.VISIBLE); + } + return true; } private CommentData getCurrentComment() { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java index 63ab550e..538e5899 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java @@ -81,6 +81,7 @@ public class SharedPreferencesUtils { public static final String VIDEO_AUTOPLAY_VALUE_ON_WIFI = "1"; public static final String VIDEO_AUTOPLAY_VALUE_NEVER = "0"; public static final String LOCK_JUMP_TO_NEXT_TOP_LEVEL_COMMENT_BUTTON = "lock_jump_to_next_top_level_comment_button"; + public static final String SWAP_TAP_AND_LONG_COMMENTS = "swap_tap_and_long_in_comments"; public static final String SWIPE_UP_TO_HIDE_JUMP_TO_NEXT_TOP_LEVEL_COMMENT_BUTTON = "swipe_up_to_hide_jump_to_next_top_level_comments_button"; public static final String SHOW_TOP_LEVEL_COMMENTS_FIRST = "show_top_level_comments_first"; public static final String CONFIRM_TO_EXIT = "confirm_to_exit"; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c12d7105..52ec8509 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -336,6 +336,7 @@ <string name="settings_show_elapsed_time">Show Elapsed Time in Posts and Comments</string> <string name="settings_default_post_layout">Default Post Layout</string> <string name="settings_show_divider_in_compact_layout">Show Divider in Compact Layout</string> + <string name="settings_swap_tap_and_long_title">Swap Tap and Long Press in Comments</string> <string name="settings_swipe_to_go_back_from_post_detail_title">Swipe Right to Go Back From Comments</string> <string name="settings_lock_jump_to_next_top_level_comment_button_title">Lock Jump to Next Top-level Comment Button</string> <string name="settings_lock_bottom_app_bar_title">Lock Bottom Navigation Bar</string> diff --git a/app/src/main/res/xml/gestures_and_buttons_preference.xml b/app/src/main/res/xml/gestures_and_buttons_preference.xml index 4d111187..8cd307e0 100644 --- a/app/src/main/res/xml/gestures_and_buttons_preference.xml +++ b/app/src/main/res/xml/gestures_and_buttons_preference.xml @@ -33,4 +33,9 @@ app:key="volume_keys_navigate_posts" app:title="@string/settings_volume_keys_navigate_posts_title" /> + <SwitchPreference + app:defaultValue="false" + app:key="swap_tap_and_long_in_comments" + app:title="@string/settings_swap_tap_and_long_title" /> + </PreferenceScreen>
\ No newline at end of file |