aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-27Fix Imgur bug for insecure mp4 links (#1240)scria10002-14/+22
2022-11-27Remove unused Post fields (#1212)Sergei Kozelko7-61/+14
* Remove unused isHiddenInRecyclerView Post field Was used only for reads and was always false * Remove unused isHiddenManuallyByUser Post field Was only written to and read for serialization. Never used for any logic
2022-11-25Store only first level replies as children (#1222)Sergei Kozelko5-27/+48
* Show the current image index in gallery in PostFragment. * Fixed issue where filters applied to same feed were behaving incorrectly (#1172) * Fix ItemTouchHelper and gallery swipe gesture fighting each other. * Show correct image in the gallery in ViewRedditGalleryActivity. * Swipe to view images in a gallery in Card Layout 2. * Fix gallery layout issues. * Remove `commentData` argument that is always an empty ArrayList * Return top level comments in addition to expanded comments after parsing Since 0f1c4d loading more comments loads not only first level replies, but also deeper comments. Because of this `expandedComments` can contain those deep replies if `expandChildren` is true. Adding `expandedComments` to parent causes a bug because parent's children are supposed to be only next level replies. Because of previously mentioned changes that is not true. Now expanding parent comment results in duplicate comments: one of them correctly comes from the parent of duplicated comment. The other one is shown because it is incorrectly stored in the parent of "load more comments" button. This comment separates top level comments (fist level replies) and expanded comments. `expandedComments` are still used for display, but only first level replies are added to the parent * Add debug assertion for children depth Co-authored-by: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Co-authored-by: Aidan223 <110802888+Aidan223@users.noreply.github.com>
2022-11-19Minor code improvements (#1218)Anatolii Afanasev16-83/+30
* Move mAccessToken and mAccountName initialization upper * Marked INSTANCE as a volatile to be DCL compliant * fix a typo in a method name and remove redundant switch * remove redundant ifs * removed DCL on RedditDataRoomDatabase as its controlled by dagger * remove redundant ifs in PostGalleryActivity as nColumns can be either 2 or 3 only * replace MediaStore.Video.Media.IS_PENDING with MediaStore.MediaColumns.IS_PENDING * reverting simplified ifs as it going to be used in the future * reverting HistoryPostViewModel
2022-11-19Remove unused download events (#1236)Sergei Kozelko4-29/+0
* Remove unused DownloadRedditVideoEvent * Remove unused DownloadMediaEvent
2022-11-18Sort type converters (#1211)Sergei Kozelko7-194/+135
* Create and add to Retrofit SortTypeConverterFactory * Clean up SortType class Mark fields as final, annotate nullability * Use SortType enums as query arguments * Use optional query arguments to simplify code Retrofit ignores null values, so there is no need to remove them from arguments manually
2022-11-18hide keyboard when choosing account from bottom sheet (#1231)Patrick Demers1-0/+3
2022-11-14New option: Settings->Interface->Comment->Comment Divider Type.Docile-Alligator3-6/+46
2022-11-14Swipe to see gallery images in PostDetailRecyclerViewAdapter.Docile-Alligator3-103/+186
2022-11-14Swipe to see gallery images in HistoryPostFragment.Docile-Alligator3-56/+530
2022-11-14Send correct image index when opening the image in gallery posts.Docile-Alligator1-13/+5
2022-11-14Swipe to see images in gallery in gallery layout.Docile-Alligator2-136/+373
2022-11-13Fix gallery layout issues.Docile-Alligator2-36/+36
2022-11-13Swipe to view images in a gallery in Card Layout 2.Docile-Alligator4-68/+165
2022-11-13Show correct image in the gallery in ViewRedditGalleryActivity.Docile-Alligator1-2/+5
2022-11-13Fix ItemTouchHelper and gallery swipe gesture fighting each other.Docile-Alligator6-25/+66
2022-11-13Fixed issue where filters applied to same feed were behaving incorrectly (#1172)Aidan2231-6/+6
2022-11-12Show the current image index in gallery in PostFragment.Docile-Alligator3-14/+27
2022-11-12Swipe between gallery images in PostFragment.Docile-Alligator27-84/+500
2022-11-11Switch loading more comments to /morechildren endpoint (#1186)Sergei Kozelko6-83/+167
* Load more comments from /morechildren endpoint Previous implementation requested comments from /api/info which returned the comments themselves but did not include any information about their children. Also /api/info does not allow to specify sort type. On the other hand /morechildren supports sort type and it will be added in a later commit. I am not proud of this implementation, but I had to fight with both Reddit api response and existing code. The problem with api response is that it is a flat list of comments, not a tree structure. So the tree has to be rebuilt on our end. And the problem with existing code is that it merges "more children" node into its parent but then adds a placeholder anyways. The code relies on the fact that parent comment will be located before any of its children in the response. The code sequentially processes comments, tries to find their parents and either adds them to the tree or puts in a "top-level" array which will be handled by outside code. One possible problem is the removal of `depth` argument from parsing as I couldn't find a way to fit it in the new logic. However I also didn't experience any problems with it during my testing and the response seems to always contain depth key. Moreover current depth handling logic in ParseComment#parseCommentRecursion is broken because it does not increment depth when making a recursive call. * Store moreChildren ids instead of fullnames /morechildren endpoint accepts ids instead of fullnames so there is no point in converting ids to fullnames and back * Send all comment ids to Reddit so it can select what to display itself Sending all ids allows Reddit to sort them properly. Since the number of comments can be very bing, it requires using POST request instead of GET. This commit changes the meaning of Comment#moreChildrenIds field, now it stores only ids of comments that are not yet loaded. This simplifies the code and removes the need for Comment#moreChildrenStartingIndex * Fetch more comments with current sort type
2022-11-08New option: Settings->Interface->Comment->Hide the Number of Votes.Docile-Alligator2-18/+31
2022-11-08Material Design 3 Switch. Target Sdk 33.Docile-Alligator14-38/+63
2022-11-08Fix getting comment for "continue thread" button (#1207)Sergei Kozelko1-1/+1
It used position of viewholder during binding which could get outdated by the time user clicks on the button. This would result in retrieving wrong comment or even null. Replaced with getting comment based on current position of vieholder.
2022-11-07Modify the behaviour of ItemTouchHelper.Docile-Alligator4-148/+184
2022-11-06Fix screen staying at MorePostsInfoFragment after retrying.Docile-Alligator2-4/+10
2022-11-06Retry loading more posts.Docile-Alligator2-3/+19
2022-11-05Load sort type from correct shared preferences (#1202)Sergei Kozelko1-2/+2
When extracting sort type loading logic the shared preferences that are used to load sort type got accidentally changed to the wrong ones. This resulted in always using the default value which is displayed as Best. Fortunately the saving code was not changed so only reading has to be fixed.
2022-11-05Minor changes to loading more posts.Docile-Alligator2-1/+7
2022-11-05Fix problems when fetching more history posts in ViewPostDetailActivity.Docile-Alligator4-55/+69
2022-11-05Show status of loading more posts in MorePostsInfoFragment.Docile-Alligator3-12/+174
2022-11-05Fix history posts problems.Docile-Alligator3-8/+8
2022-11-04Load more posts in ViewPostDetailActivity for post feed in ↵Docile-Alligator3-3/+51
HistoryPostFragment. There are bugs in HistoryPostPagingSource so duplicate posts will be fetched and more posts could not be fetched. Will be fixed.
2022-11-04Load more posts in ViewPostDetailActivity for post feed in PostFragment.Docile-Alligator6-33/+354
2022-11-03New option: Settings->Interface->Hide FAB in Post Feed.Docile-Alligator7-14/+58
2022-11-03New option in PostFragment: More options.Docile-Alligator1-0/+8
2022-11-03Superscript parser overhaul (#1162)scria100021-177/+453
* Superscript parser overhaul * Make superscript work with tables * Fix some issues with Table compatibility * Some bug fixes * Re-enable Autolink
2022-11-03Fix issues related to hiding account karma in the navigation drawer.Docile-Alligator5-6/+43
2022-11-03Handle u/me.Docile-Alligator1-0/+4
2022-11-03Fix Separate posts and comments in portrait mode not working.Docile-Alligator1-2/+1
2022-11-03Handle invalid regex pattern in post filter.Docile-Alligator2-20/+39
2022-11-03Add some contrast to subreddit and user toolbars. (#1170)cmp1-0/+5
Add a gradient from the primary theme color to transparent so that if a subreddit or user profile has a very light background, the usually light text and buttons are not obscured or in some cases invisible. The gradients don't appear for immersive mode so that the app remains immersive.
2022-11-03Rename confidence sort to best (#1177)Sergei Kozelko3-33/+31
* Rename CONFIDENCE comments sort type to BEST and remove old BEST type The Reddit API supports only CONFIDENCE sort type for comments but displays it as BEST. I renamed CONFIDENCE name to Best and added a migration step for loading correct sort type. * Clean up sortType usages in ViewPostDetailFragment Removed unnecessary null checks, object creations and most case conversions
2022-11-03Display comment avatar only if it is the right user (#1191)Sergei Kozelko1-2/+10
Condition in callback for loading avatar url is almost always true[1]. So it would load avatar even if the viewholder got bound to another comment. Ideally the solution would be to update the comment just like now, then find current position of the comment and call onItemChanged. However you cannot call onItemChanged from onBindViewHolder and that is a problem because callback can be executed synchronously. So instead we just check that viewholder is bound to some comment and that bound comment's author matches initially requested author. [1] The only case I know when it is false is when that comment got deleted and its author got replaced with "[deleted]" before the callback got executed
2022-11-02Don't pick up hyperlink text as a link (#1182)scria10002-1/+4
2022-11-02always mux videos when downloading (#1152)Patrick Demers1-25/+42
* mux videos with and without audio * move variable to inner scope * rename argument to catch block
2022-11-02Improve wiki link handling (#1184)Patrick Demers1-2/+12
* handle wiki links with dashes and index wiki page * properly handle w vs wiki and links with wiki in it twice * remove beginning and end of line tokens from wiki regex * optimize wiki regex
2022-11-02Rules can now show in private subreddits (#1181)Abi07114-5/+21
* Added oauth to fetching rules * Added getRulesOauth for users that are logged in Co-authored-by: Abi <u7290897@anu.edu.au>
2022-11-02handle reddit.com/report as a url, not post link (#1179)Patrick Demers1-0/+2
2022-11-02add button to export logs to GitHub issue (#1180)Patrick Demers1-0/+39
2022-11-02wait to load security settings until successful authentication (#1196)Patrick Demers2-2/+19