Commit Graph

2195 Commits

Author SHA1 Message Date
Balazs Toldi
5e4793bdaf
Merge remote-tracking branch 'codeberg/master' 2023-07-29 20:14:30 +02:00
Balazs Toldi
fe351a8466
Removed reddit specific options from settings
Closes #23
2023-07-29 20:14:23 +02:00
Balazs Toldi
b1b12aba31
Fix comment/post dates on older versions of android
Closes #20
2023-07-29 20:04:22 +02:00
Bazsalanszky
d2b95e1db6 Merge pull request 'Add inputType to instance_url_input to prevent autocorrection on this field' (#21) from anonion/Infinity-For-Lemmy:autocorrect-fix into master
Reviewed-on: https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy/pulls/21
2023-07-29 14:04:11 +00:00
Balazs Toldi
20c317b63f
LoginActivity password max length 2023-07-29 15:37:44 +02:00
anonion
f2d14a975d add inputType to instance_url_input 2023-07-28 15:14:01 -06:00
Balazs Toldi
442310cad3
Fix URLs for sharing communities/users 2023-07-28 21:30:32 +02:00
Balazs Toldi
b8da5c6acb
Change version name 2023-07-28 21:27:09 +02:00
Balazs Toldi
2ed15f3d5c
Minor code fixes 2023-07-28 21:26:56 +02:00
Balazs Toldi
d926fabe09
Update supported links
Updated the "supported links" list in the AndroidManifest.xml to match lemmy instances instead of reddit links.

Reference: https://github.com/dessalines/jerboa/blob/main/app/src/main/AndroidManifest.xml
2023-07-28 21:26:39 +02:00
Balazs Toldi
e815a1444d
Anonymous browsing
This commit adds the Anonymous browsing functionality. Unfortunately, the anonymous home page is disabled as of now.
2023-07-28 17:05:53 +02:00
Balazs Toldi
df81866821
Improved login error messages 2023-07-28 07:59:41 +02:00
Balazs Toldi
497f6c79d2
Use the proper retrofit object to save comments
This commit fixes the issue with saving comments. It used the old, oauth Retrofit object, instead of our retrofit holder objects. Closes issue #14
2023-07-28 07:45:12 +02:00
Balazs Toldi
6eb585800f
Fix CommentsListingFragment
This allows us to list comments by users
2023-07-28 07:31:48 +02:00
Balazs Toldi
df842d33e1
Bump version 2023-07-28 07:08:01 +02:00
Balazs Toldi
919d259f61
Add backend to upload images.
Also added an Image upload button for comments.
2023-07-27 18:32:44 +02:00
Balazs Toldi
2fc4020b72
Fix post refreshing bug
Fix bug where the whole post disappears after refreshing it.
2023-07-27 17:45:14 +02:00
Balazs Toldi
9d6e15edb7
Change error image to the new logo
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 14:15:27 +02:00
Balazs Toldi
44956bd951
Minor fix to load comment author's icon
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 14:15:10 +02:00
Balazs Toldi
388b895499
Edit comments
This comments adds functionality to edit comments.
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 13:25:16 +02:00
Balazs Toldi
5b26d57fdb
Save posts/comment with save post button
The save post/comment buttons are now functional.
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 13:24:41 +02:00
Balazs Toldi
e2de8b8160
Make subscribe/unsubscribe buttons functional
This commit makes the subscribe/unsubscribe buttons functional, so you can manage subscriptions in the app!
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 09:26:12 +02:00
Balazs Toldi
f3bff30ef0
Fix avatar loading on ViewUserDatailActivity
The icons for a user were not loaded because of a small bug. Now it loads as it should.
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 08:49:42 +02:00
Balazs Toldi
6704772fb2
Goto user/community button now works
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 08:41:19 +02:00
Balazs Toldi
efc74a074c
No more infinity post loading!
Loading should posts now stops if we could not load any new posts. This is particularly important, because previously the app made WAY TOO MANY requests.
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 08:22:34 +02:00
Balazs Toldi
3b5852d1e4
Fix bug when progress indicator is present on the comments page, even after loading all the comments
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 07:49:46 +02:00
Balazs Toldi
e3a4db17d2
Hide karma
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 07:22:52 +02:00
Balazs Toldi
2828429120
Fix score on already voted comments
Fixes #12
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-27 07:17:03 +02:00
Balazs Toldi
b82e4d9d37
Filter saved posts
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 21:45:10 +02:00
Balazs Toldi
1f3d9e58d8
Link resolver for Users
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 21:34:42 +02:00
Balazs Toldi
31e28fb146
Remove AAR dependency file.
This is necessary for the F-Droid build. I'm not a fan of this solution, as the Jcenter is deprecated by now.
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 20:55:20 +02:00
Balazs Toldi
2fbcb95db8
LinkResolverActivity to resolve lemmy communities
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 16:20:51 +02:00
Balazs Toldi
7f74877fd8
Small change in README
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 10:29:11 +02:00
Balazs Toldi
2c6cc3e3d5
Fix issue with loading subscriptions on the Main activity
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 09:20:54 +02:00
Balazs Toldi
d4d533c4f0
Bump version
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-26 09:20:24 +02:00
Bazsalanszky
dad2701aee Ensure NSFW flag accurately reflects community data 2023-07-25 16:54:53 +02:00
Bazsalanszky
a2ad876517 Better login screen 2023-07-25 16:08:44 +02:00
Balázs Ádám Toldi
0054413e89 Basic commenting feature
Signed-off-by: Bazsalanszky <balazs@toldi.eu>
2023-07-25 14:45:11 +02:00
Balazs Toldi
eed13f0e59
Basic search functionality for users
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-25 08:07:01 +02:00
Balazs Toldi
e5f2e2f8a2
Basic search functionality for communities
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-25 07:48:16 +02:00
Balazs Toldi
ad7083b423
Basic search post functionality
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 22:21:21 +02:00
Balazs Toldi
3b91ee0280
Minor changes
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 21:34:22 +02:00
Balazs Toldi
9b9b3c4a1b
Updated some string values to mach with lemmy
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 21:25:46 +02:00
Balazs Toldi
d70d117acf
SortTypes updated for current Lemmy specific types
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 17:11:03 +02:00
Balazs Toldi
e1eadab7ba
Better comment loading and subscription check
Fixes issue #6
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 12:00:17 +02:00
Balazs Toldi
4d1822aaae
Multiple bug fixes
Fixes issue #6
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 10:18:54 +02:00
Balazs Toldi
4fe4b1e692
Profile page to display the correct info
Fixes issue #6
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 09:05:11 +02:00
Balazs Toldi
350a37d7a7
Fetch more comments button now works!
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-24 08:38:36 +02:00
Balazs Toldi
ec6770a904
Better Comment loading
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-23 21:46:43 +02:00
Balazs Toldi
632439c592
Woodpecker CI/CD test
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-23 16:45:58 +02:00
Balazs Toldi
c756342ce6
Fix bug with post detail refreshing
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-22 16:36:15 +02:00
Balazs Toldi
258ff290bb
Bug fixes + Buggy comment loading
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-21 22:04:04 +02:00
Balazs Toldi
f6800b818d
Better post type detection
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-21 16:29:50 +02:00
Balazs Toldi
a784ca86f9
Fix preview image height/width
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-21 16:00:53 +02:00
Balazs Toldi
54f7980880
Update monochrome icon
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-21 15:28:57 +02:00
Balazs Toldi
1e1077c5d1
Simple readme update
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
2023-07-21 07:22:45 +02:00
Balazs Toldi
d78b12f78d
Basic browsing functionality 2023-07-20 15:58:52 +02:00
Bazsalanszky
fd499edccf
Change package name 2023-07-15 13:06:40 +02:00
Noor Alnajar
a46e96f3e4
Fixed compile error due to JCenter() library issue (#1507)
* Fixed compile error due to JCenter() dependency issue

* Fixed compile error due to JCenter() dependency issue
2023-06-22 20:09:11 -04:00
Docile-Alligator
0d8c5ed4c3 Version 6.0.2. 2023-06-22 09:30:43 -04:00
Docile-Alligator
1686e2d9c3 Fix RedditAPIInfoBottomSheetFragment not scrollable. 2023-06-22 09:02:08 -04:00
Docile-Alligator
d386514725 Version 6.0.1 2023-06-20 18:57:57 -04:00
Docile-Alligator
6eb7f8e5c8 Showing info related to the Reddit API changes 2023-06-20 18:41:27 -04:00
Docile-Alligator
2ae64f6849 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1475 2023-05-21 23:22:02 -04:00
Docile-Alligator
e8c9915a6f Version 5.4.2. 2023-05-13 22:55:58 -04:00
Docile-Alligator
f8cfe2fe8c Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1448 2023-05-13 08:46:27 -04:00
Docile-Alligator
1bcbbbecc9 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1456 2023-05-07 22:55:22 +08:00
Docile-Alligator
a288a638b5 Markdown in subreddit and user descriptions. 2023-05-04 13:22:07 +08:00
Docile-Alligator
d046e51a95 Merge remote-tracking branch 'origin/master' 2023-05-04 13:06:48 +08:00
Docile-Alligator
304fa86400 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1301 2023-05-04 13:06:27 +08:00
cmp
a68502dc20
Don't restart login activity on orientation, screen size, or layout direction changes. (#1372) 2023-05-04 08:09:12 +07:00
Docile-Alligator
b0f2e89c7b Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1408 2023-05-04 09:04:27 +08:00
Docile-Alligator
3983703033 Do not render ZoomSurfaceView when pinch to to zoom video is disabled. 2023-05-03 23:26:19 +08:00
Docile-Alligator
c3cd162092 Do not render ZoomSurfaceView when pinch to to zoom video is disabled. 2023-05-03 23:24:29 +08:00
Docile-Alligator
3c1ecfdee0 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1414 2023-05-03 22:50:20 +08:00
Docile-Alligator
6c83718688 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1450 2023-05-03 21:13:06 +08:00
Docile-Alligator
ffe3e0d070 Version 5.4.2-beta1. 2023-04-29 09:12:15 +08:00
Docile-Alligator
ee86148209 Fixed ItemTouchHelper conflict with Slidr. 2023-04-29 00:09:43 +08:00
Docile-Alligator
d65a355bdc Fixed gallery images swipe gesture and Slidr gesture conflicts in all places. 2023-04-28 22:21:15 +08:00
Docile-Alligator
9308bc3714 Fixed gallery images swipe gesture and Slidr gesture conflicts. 2023-04-28 00:10:15 +08:00
Docile-Alligator
df79433a6a Try fixing gallery images swipe gesture and Slidr gesture conflicts. 2023-04-26 23:06:21 +08:00
Docile-Alligator
ef4ead0434 Include Slidr in code. 2023-04-26 15:36:21 +08:00
EnArvy
b885e12d1a
Sorting subreddits on edit multireddit page (#1402) 2023-04-24 21:15:42 +07:00
Thomas
44a553efac
Show if comments are edited (#1388) 2023-04-24 21:14:27 +07:00
cmp
abb9acb4d8
Export themes with hex colors by default. Read either int colors or hex colors on import. (#1289) 2023-03-11 13:00:58 +08:00
cmp
34cb71f707
For v.reddit HLS, try to prefer the stereo audio track. (#1376) 2023-03-11 12:48:02 +08:00
cmp
9a1046eda2
Support long press for posts and comments to copy the post or comment link. (#1313) 2023-03-11 12:38:43 +08:00
scria1000
c4efb14d7c
Prevent superscript crash with empty spoiler (#1387) 2023-03-11 12:29:24 +08:00
Docile-Alligator
69d2cd8994 Version 5.4.1. Minor bugs fixed. 2023-03-05 13:19:23 -05:00
Docile-Alligator
c5d4ac64a0 Fix theme issues. 2023-03-05 13:03:42 -05:00
Docile-Alligator
ae5de1f46b Fix edit text hidden under keyboard in ViewPrivateMessagesActivity. 2023-03-04 01:23:50 -05:00
Docile-Alligator
efcfa0ae71 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1367 2023-02-20 21:36:38 -05:00
Docile-Alligator
9db90a0431 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/736 2023-02-20 12:01:54 -05:00
Docile-Alligator
c1190c0d87 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1363 2023-02-20 11:04:50 -05:00
Docile-Alligator
533b45c01a Fix suggested sort enum parsing error. 2023-02-20 00:23:08 -05:00
Docile-Alligator
e88c2e957b Version 5.4.0. Minor bugs fixed in PostGalleryTypeImageRecyclerViewAdapter. 2023-02-06 13:53:21 -05:00
Docile-Alligator
c7882b1f65 Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1329 2023-02-06 13:08:16 -05:00
Docile-Alligator
e69f778de4 Revert bottom app bar style. 2023-02-06 11:46:40 -05:00
Docile-Alligator
d0bf1aa19c Fix progress bar reappearing in PostGalleryTypeImageRecyclerViewAdapter? 2023-02-03 11:20:53 -05:00
Docile-Alligator
f05ba1c2e5 Version 5.4.0-beta4. Nothing new. 2023-01-29 00:08:54 -05:00
Docile-Alligator
5be035bc22 Version 5.4.0-beta3. Bring back blocking users. 2023-01-25 23:33:30 -05:00
Docile-Alligator
93a53e6ff2 Version 5.4.0-beta2. 2023-01-25 13:45:53 -05:00
scria1000
7839c1cef0
fix misdeletion (#1343) 2023-01-26 02:31:24 +08:00
scria1000
c382512292
Remember paused state for autoplay videos (#1331)
* Remember paused state for autoplay videos

* Update cached playback info

Update cached playback info instead of keeping track of it with a local variable

* Add missing null check

* Move logic into play()
2023-01-26 01:11:13 +08:00
scria1000
ed738437e6
Additional checks for null or potentially empty array (#1341) 2023-01-24 23:53:36 +08:00
Björn Tantau
8d0fd823a4
Only check for file extensions (#1299)
Links that end with jpeg without a dot before it are usually not images. Like here https://www.reddit.com/r/ProgrammerHumor/comments/zxro3m/weinersmith_has_escalated_the_gif_geif_vs_jiff/
2023-01-24 23:52:57 +08:00
cmp
ae1e59327f
In debug, fix crash that occurs when using the camera to post an image. (#1308) 2023-01-24 23:51:56 +08:00
cmp
a9fc1dacaa
Fix wikimode occasionally being null from the API (#1315) 2023-01-24 23:47:28 +08:00
cmp
b0f77528e1
Fix is_submitter property not being present on responses from the reveddit API. (#1335)
Try to fix pushshift API deleted comment searching.
2023-01-21 13:08:30 +08:00
Björn Tantau
116be7ecc2
Handle image posts if url contains query string (#1300)
* Handle image posts if url contains query string

Sometimes the URL to an image contains a query string, which results in Infinity showing a link instead of the image. Example: https://www.reddit.com/r/ProgrammerHumor/comments/zxsf93/like_why_the_hell_does_windows_news_leak/

* Check path for file ending instead of using regex
2023-01-21 13:03:50 +08:00
Sergei Kozelko
2ff6bcfcd7
Ignore NotifyDataSetChanged lint warnings for Markwon adapters (#1228)
There is no "more efficient" way to update it
2023-01-21 12:56:22 +08:00
Sergei Kozelko
c42f183696
Disable aspect ratio logic when it is negative (#1296)
Gallery can set aspect ratio to -1 which would result in negative measured height. It seem that Android treats dimensions as unsigned numbers, so negative numbers actually become huge positive numbers resulting in "infinite" height.

It should be noted that this change allows to disable aspect ratio logic even when some dimension is set to `wrap_content`.
2023-01-21 12:51:44 +08:00
Docile-Alligator
aaa55a6af9 Fix keyboard not showing on Android 13. 2023-01-20 23:43:49 -05:00
Docile-Alligator
12333fb453 Fix gallery image height in PostGalleryTypeImageRecyclerViewAdapter. 2022-12-28 18:13:53 -08:00
Docile-Alligator
8a6eb8e025 Change the style of the bottom app bar. 2022-12-28 17:25:48 -08:00
Docile-Alligator
b97721a1e7 Minor bugs fixed. 2022-12-27 09:41:40 -08:00
Docile-Alligator
b74fc9354c New option in fab: go to top. 2022-12-25 16:05:04 -08:00
Docile-Alligator
24b33bb05d Fix ItemTouchHelper issue? 2022-12-23 22:11:34 -08:00
Sergei Kozelko
a6a46bb29f
Delete unused mCommentIcon field (#1293) 2022-12-24 07:47:05 +08:00
Sergei Kozelko
befc6df1f0
Delete unused isSortingComments field (#1292)
Field value is always false
2022-12-24 07:45:10 +08:00
cmp
5786ac028d
Show moderator author/user colors in more places, such as post lists and history. Show moderator badging in post details as well as color. (#1288) 2022-12-24 06:25:14 +08:00
Sergei Kozelko
a21eccca0d
Inject Streamable api provider instead of Retrofit instance (#1217)
Low effort/high impact case. Simple change that removes Retrofit instance creation from startup path because it is used only after receiving response from Reddit. Eliminates Retrofit instance creation completely if it is not used. Also improves type safety by replacing common Retrofit type with specific api type.
2022-12-24 06:17:24 +08:00
Sergei Kozelko
483cb7023c
Allow importing theme as any text (#1275)
* Allow importing theme as any text

Browsers copy content as text/html and it caused theme import to fail

* Coerce clipboard data to text

Clipboard can have mime type of text even when it doesn't actually contain text. For example it can contain uri to text content provider. Using `coerceToText` automatically handles all cases and returns best text representation of content.
2022-12-24 05:47:41 +08:00
cmp
c0deb78734
If an author is deleted and is clicked, don't switch to view user (#1287)
* If an author is deleted and is clicked, don't switch to the view user detail activity, since it'll just error.

* Fix a canStartActivity check.
2022-12-24 05:38:00 +08:00
Docile-Alligator
206296db5e Material You tweaks. 2022-12-16 00:21:15 +11:00
Sergei Kozelko
20c729244e
Clean up NetworkModule (#1276)
Rename prefixes from `provides` to `provide`

Add Named annotations to all OkHttp and Retrofit providers

Remove RPAN OkHttp client
2022-12-15 20:23:41 +08:00
DeathPhantom77
99f10bddbc
Keep the capital letteing of your Multireddit when displayed on the home bar tab (#1279) 2022-12-15 20:10:37 +08:00
Docile-Alligator
0bcacafec3 Minor UI tweaks. 2022-12-10 19:51:43 +11:00
Sergei Kozelko
56ac5ad6d6
Refactor onFetchMoreCommentFailed callback (#1263)
Unified branches, extracted repeatedly used expressions.

Fortunately both branches had the same logic, except for placeholder position hint calculation.
2022-12-09 15:40:21 +08:00
Docile-Alligator
282817c192 Version v5.4.0-beta1. Minor bugs fixed. 2022-12-04 19:51:07 +11:00
Docile-Alligator
68ed718aa0 Version v5.4.0-beta1. Add authenticator to oauth retrofit. 2022-12-04 19:17:05 +11:00
Docile-Alligator
58881337c8 Version v5.4.0-beta1. 2022-12-04 11:37:46 +11:00
Docile-Alligator
cea5491ba7 Version v5.4.0-beta1. 2022-12-04 11:15:11 +11:00
Docile-Alligator
fbf4201418 Hide more options menu item in some activities. 2022-12-04 10:28:03 +11:00
Docile-Alligator
ecbddaafcb Merge remote-tracking branch 'origin/master' 2022-12-04 09:46:47 +11:00
Docile-Alligator
f173a5d576 Remove RPAN. 2022-12-04 09:44:37 +11:00
scria1000
c7c9727bac
Allow https redirection in ExoPlayer (#1261) 2022-12-04 06:28:13 +08:00
Docile-Alligator
bc03d20845 Fix score shown inside CommentFullyCollapsedViewHolder even the score is hidden. 2022-12-04 09:14:40 +11:00
Sergei Kozelko
1c81d3e0c9
Fix placeholder position check (#1216)
* Fix placeholder position check

Because of the missed negation `placeholderPosition` could actually point to a different comment. As a result loaded comments would be displayed at a wrong position which could result in duplicated comments.

* Extract placeholder search code

Simple refactoring. The only notable change is that now technically `placeholderPosition` can be -1. In practice that should never happen, but I added checks anyways
2022-12-04 05:05:28 +08:00
Docile-Alligator
bd5814fd4d Match parent for the bottom app bar in ViewRedditGalleryImageOrGifFragment. 2022-12-04 07:42:39 +11:00
Docile-Alligator
a3ddcb874d Fix bottom app bar not shown in ViewRedditGalleryImageOrGifFragment. 2022-12-04 07:41:25 +11:00
Docile-Alligator
57985ed95a Fix a stupid bug that prevents posts from loading. 2022-12-04 06:42:02 +11:00
Docile-Alligator
605129517e Notification permission. 2022-12-04 06:15:13 +11:00
Docile-Alligator
4af9e3d161 Minor bugs fixed. 2022-11-28 23:31:23 +11:00
Kurian Vithayathil
b1280bfb36
Dagger networking refactor (#1125)
* Separate network dependency injection module

- Moved network-related dependencies into a separate module
- Consolidated common dependencies to save resources constructing a http client/retrofit

* Separate construction of access token interceptor

* Create providers for Context and Application to be injectable

* Refactor AppModule and AppComponent

- Use component builder to store application context and provide to modules
- Optimise AppModule providers

* Use component factory to add component dependencies

* Updated network dependencies to singleton.

Add missing OAuth base url for oauth request

Co-authored-by: Kurian Vithayathil <no.reply@github.com>
Co-authored-by: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>
2022-11-28 17:08:32 +08:00
Docile-Alligator
234bd7a2dd Minor bugs fixed 2022-11-27 23:40:03 +11:00
Sergei Kozelko
b4c95fe4a5
Use more precise viewholder type in PostGalleryTypeImageRecyclerViewAdapter (#1229) 2022-11-27 20:25:20 +08:00
Sergei Kozelko
44dcf64475
Sort type converters - part 2 (#1244)
* Use and store sort type as enum for comments

* Use and store sort type as enum for posts

* Use sort type enum for search

* Remove unused reddit api methods

These were missed in the first "sort type" pr
2022-11-27 20:22:36 +08:00
scria1000
9a3b9115ff
Fix Imgur bug for insecure mp4 links (#1240) 2022-11-27 20:17:39 +08:00
Sergei Kozelko
69ba6461ff
Remove unused Post fields (#1212)
* 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-27 20:12:29 +08:00
Sergei Kozelko
d3ccaea2cc
Store only first level replies as children (#1222)
* 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-25 21:13:37 +08:00
Anatolii Afanasev
1abda7c6e3
Minor code improvements (#1218)
* 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-19 22:23:31 +08:00
Sergei Kozelko
da58688586
Remove unused download events (#1236)
* Remove unused DownloadRedditVideoEvent

* Remove unused DownloadMediaEvent
2022-11-19 17:25:38 +08:00
Sergei Kozelko
a1df8f4d38
Sort type converters (#1211)
* 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-18 16:47:27 +08:00
Patrick Demers
ec55804c7e
hide keyboard when choosing account from bottom sheet (#1231) 2022-11-18 16:39:42 +08:00
Docile-Alligator
67b6906ead New option: Settings->Interface->Comment->Comment Divider Type. 2022-11-14 22:01:31 +11:00
Docile-Alligator
af870c157b Swipe to see gallery images in PostDetailRecyclerViewAdapter. 2022-11-14 18:44:07 +11:00
Docile-Alligator
a95c77731a Swipe to see gallery images in HistoryPostFragment. 2022-11-14 17:38:59 +11:00
Docile-Alligator
968b04a508 Send correct image index when opening the image in gallery posts. 2022-11-14 15:17:55 +11:00
Docile-Alligator
8520c0c8ad Swipe to see images in gallery in gallery layout. 2022-11-14 15:07:15 +11:00
Docile-Alligator
c44fecb3f2 Fix gallery layout issues. 2022-11-13 18:41:48 +11:00
Docile-Alligator
ef1b14cc6a Swipe to view images in a gallery in Card Layout 2. 2022-11-13 18:25:30 +11:00
Docile-Alligator
2eaf8a8a01 Show correct image in the gallery in ViewRedditGalleryActivity. 2022-11-13 17:00:37 +11:00
Docile-Alligator
2d62332e8d Merge remote-tracking branch 'origin/master' 2022-11-13 16:50:54 +11:00
Docile-Alligator
6f2eea90ae Fix ItemTouchHelper and gallery swipe gesture fighting each other. 2022-11-13 16:50:25 +11:00
Aidan223
cb7805c7a7
Fixed issue where filters applied to same feed were behaving incorrectly (#1172) 2022-11-13 10:56:58 +08:00
Docile-Alligator
b85ed3c867 Show the current image index in gallery in PostFragment. 2022-11-13 01:16:27 +11:00
Docile-Alligator
03a2784fb8 Swipe between gallery images in PostFragment. 2022-11-12 17:53:04 +11:00
Sergei Kozelko
0f1c4d1e11
Switch loading more comments to /morechildren endpoint (#1186)
* 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-11 13:32:58 +08:00
Docile-Alligator
8326e6c4a2 New option: Settings->Interface->Comment->Hide the Number of Votes. 2022-11-09 01:10:07 +11:00
Docile-Alligator
681a1c584c Limit EditText's height in CustomizePostFilterActivity. 2022-11-09 00:12:33 +11:00
Docile-Alligator
071ce78b7c Material Design 3 Switch. Target Sdk 33. 2022-11-08 23:17:26 +11:00
Sergei Kozelko
2c9ffbc614
Fix getting comment for "continue thread" button (#1207)
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-08 13:53:39 +08:00
Docile-Alligator
c2360ca59a Modify the behaviour of ItemTouchHelper. 2022-11-07 13:38:55 +11:00
Docile-Alligator
fd63dba91b Fix screen staying at MorePostsInfoFragment after retrying. 2022-11-06 17:37:58 +11:00
Docile-Alligator
93e98b4cb5 Retry loading more posts. 2022-11-06 17:22:15 +11:00
Sergei Kozelko
ff10eb5f92
Load sort type from correct shared preferences (#1202)
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-05 22:22:02 +08:00
Docile-Alligator
0ae9b74729 Minor changes to loading more posts. 2022-11-06 00:52:14 +11:00
Docile-Alligator
cf3595f22d Fix problems when fetching more history posts in ViewPostDetailActivity. 2022-11-06 00:01:18 +11:00
Docile-Alligator
fa472a3ad8 Show status of loading more posts in MorePostsInfoFragment. 2022-11-05 19:51:40 +11:00
Docile-Alligator
c86408dbe5 Fix history posts problems. 2022-11-05 14:31:58 +11:00
Docile-Alligator
be78c20c07 Load more posts in ViewPostDetailActivity for post feed in HistoryPostFragment. There are bugs in HistoryPostPagingSource so duplicate posts will be fetched and more posts could not be fetched. Will be fixed. 2022-11-05 02:12:03 +11:00
Docile-Alligator
0a286cd9ba Load more posts in ViewPostDetailActivity for post feed in PostFragment. 2022-11-05 00:33:12 +11:00
Docile-Alligator
eb40bad3ef New option: Settings->Interface->Hide FAB in Post Feed. 2022-11-04 01:31:44 +11:00
Docile-Alligator
4abadb78c4 New option in PostFragment: More options. 2022-11-03 22:13:08 +11:00
scria1000
20214ce323
Superscript parser overhaul (#1162)
* Superscript parser overhaul

* Make superscript work with tables

* Fix some issues with Table compatibility

* Some bug fixes

* Re-enable Autolink
2022-11-03 18:07:25 +08:00
Docile-Alligator
e362f2ecf0 Fix issues related to hiding account karma in the navigation drawer. 2022-11-03 15:34:45 +11:00
Docile-Alligator
814617b674 Version 5.3.4. 2022-11-03 14:42:01 +11:00
Docile-Alligator
59c74a2a87 Handle u/me. 2022-11-03 13:58:07 +11:00
Docile-Alligator
4b81d554a8 Fix Separate posts and comments in portrait mode not working. 2022-11-03 13:46:30 +11:00
Docile-Alligator
785bb205f6 Handle invalid regex pattern in post filter. 2022-11-03 13:24:54 +11:00
cmp
15b979d3ba
Add some contrast to subreddit and user toolbars. (#1170)
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-03 10:00:25 +08:00
Sergei Kozelko
72c66e7e4e
Rename confidence sort to best (#1177)
* 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-03 09:58:08 +08:00
Sergei Kozelko
78496e080f
Display comment avatar only if it is the right user (#1191)
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-03 09:47:10 +08:00
Patrick Demers
191df66a3b
add backup password below backup settings button (#1185) 2022-11-02 20:49:26 +08:00
scria1000
3815abec36
Don't pick up hyperlink text as a link (#1182) 2022-11-02 20:48:52 +08:00
Patrick Demers
4bec3e0922
always mux videos when downloading (#1152)
* mux videos with and without audio

* move variable to inner scope

* rename argument to catch block
2022-11-02 20:25:35 +08:00
Patrick Demers
28ca5e6bbe
Improve wiki link handling (#1184)
* 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-02 20:24:38 +08:00
Abi0711
0cab9663d4
Rules can now show in private subreddits (#1181)
* Added oauth to fetching rules

* Added getRulesOauth for users that are logged in

Co-authored-by: Abi <u7290897@anu.edu.au>
2022-11-02 20:18:00 +08:00
Patrick Demers
2863fa90be
handle reddit.com/report as a url, not post link (#1179) 2022-11-02 20:17:21 +08:00
Patrick Demers
f85959cd89
add button to export logs to GitHub issue (#1180) 2022-11-02 20:16:23 +08:00
Patrick Demers
9703a46f5f
wait to load security settings until successful authentication (#1196) 2022-11-02 20:11:46 +08:00
Blahaj-Samoyed
9b4ee0018e
Fix see removed comment edit wrong comment (#1192)
* Fix removed comment shown in the wrong position.

* Handle index out of bounds.
2022-11-02 19:46:18 +08:00
HuilinChen943
fe9e0bd5d7
fix the bug: Scroll position is lost when changing screen orientation (#1173) 2022-10-24 10:40:07 +08:00
Patrick Demers
4cc6c2b21a
Hide Karma (#1168)
* feature/ability to hide karma

* only hide karma in nav bar

* center account name vertically when not showing karma
2022-10-22 14:39:36 +08:00
Sergei Kozelko
5e3eaafe26
Add view that can lock swipe-to-close gesture (#1140)
Slidr works by adding its own view in the hierarchy and listening to touch
events in `onInterceptTouchEvent`. Once it detects movement in the correct
direction, it returns `true` and handles all the events itself.

Adding scrollable view detection to Slidr would solve the problem, but it is
not possible and would probably have performance impact.

Fortunately Slidr does not intercept the very first event, which is
ACTION_DOWN, and it reaches scrollable view. So the scrollable view itself can
decide if it should disallow the swipe.

This also has a performance benefit over `OnScrollChangedListener` because
the listener is triggered for every scroll of every view even if the child we
are interested in did not scroll. On the other hand `on(Intercept)TouchEvent`
is triggered only when the view is touched.

There is a possibility that swipe won't be unlocked if view never receives
ACTION_UP or ACTION_CANCEL. However the docs say nothing about the probability
of this happening. Anyways, one possible solution is to post a runnable that
will unlock swipe soon after locking.
2022-10-22 14:37:31 +08:00
Sergei Kozelko
d11fb884c2
Fix comment expanding logic (#1155)
Child comment expanding was broken because it did not take into account children
of children of children and deeper levels of comments when calculating new
comment's position.

Replaced with a simple tree to list conversion in pre-order.
2022-10-16 17:06:10 +08:00
Sergei Kozelko
297c20f5d3
Fix duplicate download folders by persisting read permission (#1164)
* Persist read permission

ACTION_OPEN_DOCUMENT_TREE grants both read and write permissions, but they are
granted only until device reboot unless app persists them.

Once read permission is lost, app cannot check if folders exist in DownloadMediaService.
But it can still create new folders because it has write permission. This results
in duplicate folders.

* Remove unnecessary FLAG_GRANT_WRITE_URI_PERMISSION

This flag is ignored when used with ACTION_OPEN_DOCUMENT_TREE
2022-10-15 19:09:09 +08:00
o13e
48dcf2293c
Disable Copied toast on android 13+ (#1139) 2022-10-15 19:07:24 +08:00
cmp
9b8cd3816f
Delineate comments with hidden scores (#1147)
* Delineate comments with hidden scores.

* Same change for fully collapsed comments.
2022-10-15 19:06:38 +08:00
Sergei Kozelko
540ba6e74e
Parse spoilers into nodes (#1150)
Implementation is inspired by already existing in Markwon image and link processing
but has to work around some limitations of writing an external plugin.

The first one is storing brackets ourselves. Stored brackets need to be cleared
when a new block starts. Markwon does it in MarkwonInlineProcessor but there is
no callback that we could use. Clearing storage from our own block parser is
unreliable as it is not guaranteed to be called. Instead, every time we need to
access the storage we compare current block with the last used block and clear
storage if necessary.

The second problem is actually a feature of Markwon that it applies spans in
reverse order of calls to MarkwonVisitor#setSpansForNode. This causes other spans
like links and code to be drawn over spoilers making them visible. Adding spans
with a different priority doesn't help as it would require negative priority.
Instead we just remove all the SpoilerSpans from the final string and add them
again, so they are applied last as we want.
2022-10-08 14:25:02 +08:00
cmp
40c61eb382
Ellipsize usernames if they don't fit on one line in a fully collapsed comment text area. (#1148) 2022-10-08 14:07:51 +08:00
Sergei Kozelko
01071e2a52
Refactor and de-duplicate markdown code (#1086)
* Add todos to places that need more markdown fixes

* Parse spoilers and headings in sidebar

* Assign anonymous MarkwonPlugin to a variable

Prepare code for a future refactoring

* Assign click listener lambda to a variable

Prepare code for a future refactoring

* Add function for creating Markwon with full markdown

All the builders had the same plugins applied to them, except for
BetterLinkMovement. But it is safe to add the plugin as it just adjusts
link interactions.

Also some plugins are now applied in a different order but it doesn't
change anything in this case.

* Add function for creating Markwon with only links support

* Extract UrlMenuBottomSheetFragment creation

* Add functions for creating MarkwonAdapters

* Replace linkify with newInstance for BetterLinkMovementMethod

Because varargs weren't used, the two methods are identical
2022-10-08 12:22:22 +08:00
Sergei Kozelko
4947bc1be5
Fix crash in debug build by using fully qualified class name for layoutmanager (#1130)
When the class name is relative, Android tries to resolve it against applicationId.
However it does not match the package because of `.debug` suffix so it tries
to load the wrong class. This results in ClassNotFoundException and a crash.

Using fully qualified class name fixes it as the system can use the class name
as is.
2022-09-25 16:15:38 +08:00
Sergei Kozelko
fad978432e
Fix spoiler interactions with links and long clicks (#1129)
* Prioritize clicks on hidden spoilers over links

Extend BetterLinkMovementMethod to override selection of span that will be
touched and give spoilers and links following priorities:
1. Hidden spoiler
2. Non-spoiler span (i.e. link)
3. Shown spoiler

#609

* Ignore long clicks on spoilers

Ignore long clicks if it is a SpoilerSpan. Also don't apply highlight
because it breaks spoiler effect.

#529
2022-09-25 16:13:59 +08:00
Sergei Kozelko
85debf62f3
Rewrite spoiler parsing (#1104)
* Rewrite spoiler parsing to properly support nested spoilers and code blocks

Parse all the spoilers, ignoring spoiler brackets that intersect with code
spans. Detect all the spoilers that are nested and mark them accordingly.
Delete all spoiler brackets that were matched. Add SpoilerSpans for non-nested
ranges.

* Simplify offset calculation
2022-09-25 15:52:00 +08:00
MChen321
a87704b00d
Fixed Gray Overlay in Image (#1111)
* Added a clear search bar text button

* Made caption disappear/show when tapping on image and removed gray overlay when no caption.
2022-09-21 13:59:09 +08:00
Kurian Vithayathil
0a18220998
Fix 'Suggested Title' bug (#1120)
- Fixed issue where a post's suggested titles would fail to generate

Co-authored-by: Kurian Vithayathil <no.reply@github.com>
2022-09-21 13:56:26 +08:00
Docile-Alligator
1108d41eed Minor bugs fixed. 2022-09-21 15:54:58 +10:00
Sergei Kozelko
3e66a4fda7
Fix reply markdown (#1098)
* Display comment body the same way as post body when replying

There are two views that support markdown, one of them was used to display post
titles and comments, the other - post bodies. The views are configured differently
even though post and comment bodies should be displayed the same way. Now post
and comment bodies are displayed by the same view.

* Rename extra keys from TEXT to TITLE

Now these extra keys are used only by post title, reflect this in the name.

* Remove markdown support from post title view

* Fix reply styling

Co-authored-by: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>
2022-09-21 13:23:00 +08:00
scria1000
76c7e9e545
Don't trim leading whitespaces (#1072)
Co-authored-by: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>
2022-09-21 13:02:45 +08:00
sal0max
269a01ed42
Allow parallel installation of debug and release versions (#636)
* Allow parallel installation of debug and release versions
...by adding '.debug' suffix to application id

* add separate app name resource for debug build
2022-09-21 12:57:42 +08:00
Andrei Shpakovskiy
3c492d2626
Show OP badge on restored comment (#1016) 2022-09-21 12:53:19 +08:00
Michael Manganiello
9fad6fc961
Fix memory leak on ConnectivityManager (#1066)
Leak found using LeakCanary. Steps:
1. Enable the LeakCanary dependency.
1. Open the app.
1. Go to the "All" tab.
1. Open any post, and go back to the post list.

Leak trace:

```
2022-09-04 17:56:05.904 32018-32018/ml.docilealligator.infinityforreddit.debug D/LeakCanary:
    ┬───
    │ GC Root: System class
    │
    ├─ android.net.ConnectivityManager class
    │    Leaking: NO (a class is never leaking)
    │    ↓ static ConnectivityManager.sInstance
    │                                 ~~~~~~~~~
    ├─ android.net.ConnectivityManager instance
    │    Leaking: UNKNOWN
    │    Retaining 114 B in 5 objects
    │    mContext instance of ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity with mDestroyed = true
    │    ↓ ConnectivityManager.mContext
    │                          ~~~~~~~~
    ╰→ ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity instance
         Leaking: YES (ObjectWatcher was watching this because ml.docilealligator.infinityforreddit.activities.
         ViewPostDetailActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)
         Retaining 1.8 MB in 27752 objects
         key = 22e99901-9689-4f70-b88c-092a4a7efad9
         watchDurationMillis = 5518
         retainedDurationMillis = 517
         mApplication instance of ml.docilealligator.infinityforreddit.Infinity
         mBase instance of androidx.appcompat.view.ContextThemeWrapper
```

Solution based on [this StackOverflow answer](https://stackoverflow.com/a/41431693)
2022-09-21 12:47:38 +08:00
Taco
55d6078ccc
Start utilizing view binding (#1013) 2022-09-21 12:46:13 +08:00
Docile-Alligator
8a2932122c Version 5.3.3. 2022-09-19 15:10:10 +10:00
StephenTheMoldovan
b0cc32e905
Update translation contributors (#1108) 2022-09-19 13:08:56 +08:00
Docile-Alligator
9fbb40c394 Fix app crashes on start up on Android < 6.0. 2022-09-19 15:05:27 +10:00
Wladimir Kirianov
c269e5dd75
delete "/" in filtering multireddit path 2022-09-18 10:16:41 +02:00
user_727
2f8d0404bf
Update multireddit apply filter text (#712)
* Update multireddit apply filter text

A "/" is needed at the end of the path in order for the filter to be applied correctly to the multireddit. Also, any characters that are not lowercase will also make it not apply properly.
2022-09-18 10:00:24 +02:00
Docile-Alligator
8c24769089 Version 5.3.2. 2022-09-17 00:13:37 +10:00
Docile-Alligator
f70721d7fd Fix redgifs download issues. 2022-09-16 23:56:46 +10:00
Docile-Alligator
61da952b7b Update libraries. 2022-09-10 18:21:58 +10:00
Docile-Alligator
b55135e880 Merge branch 'master' of github.com:Docile-Alligator/Infinity-For-Reddit 2022-09-10 01:25:16 +10:00
Docile-Alligator
854833a5db Update libraries. 2022-09-10 01:25:07 +10:00
Taco
f2e1ffe52e
Update gradle wrapper (#1006)
* Update gradle wrapper

* Update AGP, fix gradle deprecations
2022-09-09 23:24:18 +08:00
Taco
e04fedfc64
Use simpler DrawerLayout methods (#1015) 2022-09-09 13:40:07 +08:00
Sergei Kozelko
b72bfdef37
refactor: Extract CopyTextBottomSheetFragment display logic (#969) 2022-09-09 13:38:42 +08:00
Isira Seneviratne
45bc223659
Remove unnecessary uses of DrawableCompat. (#1045) 2022-09-09 13:37:19 +08:00
Sergei Kozelko
e0cf4ec485
Fix markdown in rules screen (#1050)
* Display tables in rules screen

* Parse spoiler and headings in rules screen
2022-09-09 13:34:00 +08:00
MChen321
401dba6d83
Added a clear search bar text button (#1063) 2022-09-09 10:05:30 +08:00
Michael Manganiello
935471d95c
Fix memory leak on BigImageViewer (#1067)
Leak found using LeakCanary. Steps:
1. Enable the LeakCanary dependency.
1. Open the app.
1. Open any post image, and go back.

According to `Piasy/BigImageViewer` documentation,
[Initialize section](9cc045e814/README.md (initialize)),
the app context must be used to avoid memory leaks.

Leak trace:

```
2022-09-04 19:51:38.154 13332-13332/ml.docilealligator.infinityforreddit.debug D/LeakCanary:
    ┬───
    │ GC Root: Thread object
    │
    ├─ android.os.HandlerThread instance
    │    Leaking: NO (PathClassLoader↓ is not leaking)
    │    Thread name: 'LeakCanary-Heap-Dump'
    │    ↓ Thread.contextClassLoader
    ├─ dalvik.system.PathClassLoader instance
    │    Leaking: NO (BigImageViewer↓ is not leaking and A ClassLoader is never leaking)
    │    ↓ ClassLoader.runtimeInternalObjects
    ├─ java.lang.Object[] array
    │    Leaking: NO (BigImageViewer↓ is not leaking)
    │    ↓ Object[257]
    ├─ com.github.piasy.biv.BigImageViewer class
    │    Leaking: NO (a class is never leaking)
    │    ↓ static BigImageViewer.sInstance
    │                            ~~~~~~~~~
    ├─ com.github.piasy.biv.BigImageViewer instance
    │    Leaking: UNKNOWN
    │    Retaining 969.9 kB in 14812 objects
    │    ↓ BigImageViewer.mImageLoader
    │                     ~~~~~~~~~~~~
    ├─ com.github.piasy.biv.loader.glide.GlideImageLoader instance
    │    Leaking: UNKNOWN
    │    Retaining 969.9 kB in 14811 objects
    │    ↓ GlideImageLoader.mRequestManager
    │                       ~~~~~~~~~~~~~~~
    ├─ com.bumptech.glide.RequestManager instance
    │    Leaking: UNKNOWN
    │    Retaining 969.9 kB in 14808 objects
    │    context instance of ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity with mDestroyed = true
    │    ↓ RequestManager.context
    │                     ~~~~~~~
    ╰→ ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity instance
         Leaking: YES (ObjectWatcher was watching this because ml.docilealligator.infinityforreddit.activities.
         ViewPostDetailActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)
         Retaining 966.2 kB in 14703 objects
         key = f69c74cc-521e-4f6c-b5c8-8f787e27df75
         watchDurationMillis = 5547
         retainedDurationMillis = 541
         mApplication instance of ml.docilealligator.infinityforreddit.Infinity
         mBase instance of androidx.appcompat.view.ContextThemeWrapper
```
2022-09-09 10:03:07 +08:00
Docile-Alligator
7293b9e758 Update ExoPlayer. 2022-09-09 00:41:35 +10:00
Docile-Alligator
84b5b1d95d Version 5.3.1. 2022-09-07 01:01:45 +10:00
Docile-Alligator
6d224c307d Fix stupid Redgifs API issue. 2022-09-05 00:57:11 +10:00
Docile-Alligator
064b2ceedc Version 5.3.0. 2022-08-27 11:55:58 +10:00
Docile-Alligator
0dc759e9c6 Minor bugs fixed. 2022-08-26 18:08:16 +10:00
Docile-Alligator
965d8ab8ae Show an indicator for the current sort type. 2022-08-21 11:59:14 +10:00
Docile-Alligator
0c7e5bc16f Show an indicator for the current sort type in SortTypeBottomSheetFragment. 2022-08-21 10:58:18 +10:00
Docile-Alligator
6bb208aa61 Version 5.3.0-beta1. 2022-08-16 17:18:03 +10:00