Commit Graph

2029 Commits

Author SHA1 Message Date
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
Docile-Alligator
af49571a63 Receive events in HistoryPostFragment. 2022-08-16 17:07:30 +10:00
Docile-Alligator
69c4ab96b9 Update Redgifs API. 2022-08-15 21:58:39 +10:00
Docile-Alligator
8b8a9073dd Show urls in ShareLinkBottomSheetFragment. 2022-08-15 21:11:17 +10:00
Docile-Alligator
7d8e32320f Apply custom theme to settings page. 2022-08-15 21:10:42 +10:00
Docile-Alligator
2750636847 Apply custom theme to the header of the navigation drawer. 2022-08-14 17:47:57 +10:00
Sergei Kozelko
7a0a40f696
Heading markdown fix (#908)
* Copy heading parser and adjust it to match Reddit behavior

Unlike CommonMark, Reddit does not require space after #. This behavior is
coded in a private static function, so the only way to override it is to
copy everything and use the modified copy instead of the default parser.

* Use RedditHeadingPlugin instead of regexes

* Apply plugins to post body when writing a comment

This fixes display when writing comment to a post
that contains spoilers or headings without space

* Apply plugins to parent comment body when writing a comment

This fixes display when replying to a comment that contains strikethrough text
2022-08-14 15:33:07 +08:00
Docile-Alligator
633ccc7f7d Fix post content is not parsed in other types of posts. 2022-08-14 16:55:44 +10:00
Docile-Alligator
97dcc263e3 Fix saved comments not shown when clicking Saved option in the bottom navigation bar. 2022-08-13 13:35:30 +10:00
Docile-Alligator
da708748ba Merge branch 'master' of github.com:Docile-Alligator/Infinity-For-Reddit 2022-08-13 12:25:29 +10:00
Docile-Alligator
e3f9d31a34 Fix caption shown under the navbar in ViewRedditGalleryImageOrGifFragment. 2022-08-13 12:25:04 +10:00
Wladimir Kirianov
1366ff0147
Merge pull request #844 from SenseiSchizo/feature/stringTypoFix
Fixed typos in strings.xml
2022-08-12 13:58:10 +02:00
Andrei Shpakovskiy
a12e65aa0e
Manage theme insertion callbacks behaviour (#892) 2022-08-12 18:36:14 +08:00
Docile-Alligator
fc73816a40 Extra small font size 2022-08-05 12:28:49 +10:00
Andrei Shpakovskiy
a18ae7d62e
Set default position of cursor at the end of query (#842) 2022-08-05 08:55:22 +08:00
Anatolii Afanasev
926e50090e
Move mAccessToken and mAccountName initialization upper (#841) 2022-08-05 08:53:20 +08:00
Sergei Kozelko
2bc9034c89
Apply FAB theme in CustomThemeListingActivity (#857) 2022-08-05 08:52:19 +08:00
Sergei Kozelko
8db3736dd4
Fix loading previews after quick scroll (#861)
* Request layout on ratio change

* Change imageView visibility on bind/recycle to force layout change
2022-08-05 08:22:35 +08:00
Docile-Alligator
3c0e2ab2d6 Clear user flair. 2022-08-04 14:05:34 +10:00
Docile-Alligator
9614f4a67a Minor UI tweaks in ViewSubredditDetailActivity, ViewUserDetailActivity and CustomThemePreviewActivity. 2022-07-28 23:42:46 +10:00
Docile-Alligator
b4fb0fac13 Update translation contributors. 2022-07-28 22:13:38 +10:00
Docile-Alligator
6f4e9233b8 Remove Block User menu option in ViewUserDetailActivity since Reddit does not allow 3rd-party apps access this API now. 2022-07-28 00:31:48 +10:00
Nan
176d6ce7ef
Fix misinterpretation of strings 2022-07-21 20:21:26 -07:00
Nan
e0339aa076
Fixed typos 2022-07-21 20:14:54 -07:00
Docile-Alligator
55af125dfe Fix changing post layout not working in HistoryActivity. 2022-07-19 10:30:59 +08:00
Docile-Alligator
a8d8e08323 Movable FAB in ViewPostDetailActivity. 2022-07-18 23:06:08 +08:00
Docile-Alligator
ce04d2bd77 Fix cannot go back from ViewMultiRedditDetailActivity. 2022-07-17 22:57:34 +08:00
Patrick Demers
5c0addbc91
Fix scroll using volume on multireddit (#834) 2022-07-17 22:48:42 +08:00
Docile-Alligator
12f404246b Show the number of subscribers in SubredditAutocompleteRecyclerViewAdapter. 2022-07-16 00:25:35 +08:00
Docile-Alligator
1cb79742c7 Show the number of subscribers in SubredditListingRecyclerViewAdapter. 2022-07-15 18:02:11 +08:00
Docile-Alligator
0265ac6227 Add an option for History in the navigation drawer. 2022-07-15 11:54:08 +08:00
Docile-Alligator
d3f38f318e Read posts history is available. 2022-07-13 22:05:19 +08:00
Docile-Alligator
14bf98d08a Minor update to immersive interface. 2022-06-28 17:10:55 +08:00
Docile-Alligator
0736f86e17 Navigation rail in ViewMultiRedditDetailActivity. 2022-06-27 23:28:17 +08:00
Docile-Alligator
042834cc9b Navigation rail in ViewUserDetailActivity. 2022-06-27 21:01:33 +08:00
Docile-Alligator
1f17f526f9 Navigation rail in ViewSubredditDetailActivity. 2022-06-27 19:38:48 +08:00
Docile-Alligator
d27140adf7 Fix java.lang.StringIndexOutOfBoundsException in LinkResolverActivity.getRedditUriByPath. 2022-06-27 18:04:19 +08:00
Docile-Alligator
974730db1a Do not mux video and audio on Android 7 and below. 2022-06-27 17:55:22 +08:00
Docile-Alligator
42a935981d Use Navigation Rail in MainActivity in landscape mode. 2022-06-18 22:54:26 +08:00
Docile-Alligator
e0da948d1f Version 5.2.1. 2022-06-18 15:57:47 +08:00
Docile-Alligator
14235a11af Fix an issue in Separate Post and Comments in Portrait Mode. 2022-06-17 16:42:18 +08:00
Antonin Curtit
bd70a166ed
Fix and improvements (#741)
* Fixed a whitespace causing errors for 2FA

* Fixed typo, improved compliance to FR syntax
2022-06-17 16:03:04 +08:00
MChen321
132bd354cd
Fixed bug that doesnt show user being followed (#707)
* In anonymous mode, fixed bug in CheckIsFollowingUser.java that does not check if accountName is null or not, which prevents room from retrieving SubscribedUserData to check if the user is followed or not.

Also updated Room version to 2.4.2 to be compatible with M1 macbook.

* Simplified SubscribedUserData accountName null check code
2022-06-17 15:51:20 +08:00
Winston Cooke
c6a06a10b2
Add locale-based separators (#724) 2022-06-17 15:36:38 +08:00
soredake
17b61b9d37
Rename "external browser" to "external app" to make it more clear (#795) 2022-06-15 21:50:43 +08:00
Docile-Alligator
b6162c1496 Fix app crashes when deleting media from notification. 2022-06-11 21:01:33 +08:00
Docile-Alligator
33c473824b Fix Settings->Video->Easier to Watch in Full Screen not working in card layout 2. 2022-06-11 20:25:43 +08:00
Docile-Alligator
2ebc797a3b Fix post layout not saved for anonymous multireddits. 2022-06-11 20:21:17 +08:00
Docile-Alligator
92cb309bf6 New option: Settings->Video->Easier to Watch in Full Screen. 2022-06-11 19:56:55 +08:00
Docile-Alligator
5d07ad2d3b Version 5.2.0 2022-06-03 13:36:11 +08:00
Docile-Alligator
d88e182082 Add a link handler in SearchActivity. 2022-06-03 13:03:32 +08:00
Docile-Alligator
73c662159f Disable auto correct when creating links. 2022-06-01 16:49:08 +08:00
Docile-Alligator
12ba414ea1 Request incognito keyboard in anonymous mode on Android 8+. 2022-06-01 16:46:04 +08:00
Docile-Alligator
f0747c65cb Use EditText instead of SimpleSearchView in SearchActivity. 2022-06-01 15:41:01 +08:00
Docile-Alligator
adb77f44d0 Fix app crashes when applying Material You theme after changing wallpaper. Tweak the design of the fast scroller. 2022-06-01 14:53:30 +08:00
Docile-Alligator
db08be065e Add a notification action to delete the media after downloading. 2022-05-31 18:00:21 +08:00
Docile-Alligator
7f91f89599 Share media file after downloading. 2022-05-31 16:18:16 +08:00
Docile-Alligator
3218ff10f1 Share a link to Infinity so that you can open reddit links in this app. 2022-05-30 23:20:44 +08:00
Docile-Alligator
b65e28b593 Version 5.2.0-beta2. Update translation. 2022-05-30 12:32:24 +08:00
Docile-Alligator
3e021cf25c Version v5.2.0-beta2. 2022-05-30 12:01:28 +08:00
Docile-Alligator
8e8dc6f93b Fix missing pendingintent mutability flag. 2022-05-20 09:20:17 +08:00
Docile-Alligator
3df7b761a2 Animate the software keyboard in ViewPrivateMessgesActivity. 2022-05-17 19:12:39 +08:00
Docile-Alligator
63ea1f54d0 Fix duplicate sent private messages. 2022-05-15 23:55:12 +08:00
Docile-Alligator
955329cb87 Fix app crashes when opening a very long private message. 2022-05-15 22:12:26 +08:00
Docile-Alligator
67d30b90e4 Fix inbox count not updating after reading a message. 2022-05-14 19:26:26 +08:00
Docile-Alligator
4f7d8321fc Fix cannot share text to Infinity. 2022-05-14 19:17:09 +08:00
Docile-Alligator
33ac7e92df Tweak UI in private messages. 2022-05-14 17:54:56 +08:00
Docile-Alligator
b75883c758 Render spoiler in PrivateMessagesDetailRecyclerViewAdapter. 2022-05-14 12:39:28 +08:00
Docile-Alligator
22cf0a9c20 Fix biometric authentication prompt not shown when opening the account section in the navigation drawer. Require biometric authentication in AccountChooserBottomSheetFragment. 2022-05-14 12:08:33 +08:00
Docile-Alligator
345392a833 Copy priate messages. 2022-05-13 20:18:07 +08:00
Docile-Alligator
9a994ca531 Do not show nsfw gif preview in case the blurring is not working. Fix bugs related to post filter in PostFragment. 2022-05-13 17:21:41 +08:00
Docile-Alligator
eab7943527 Fix disabling blur nsfw images not working in anonymous multireddits. 2022-04-30 22:37:49 +08:00
Docile-Alligator
3d374491b3 targetSdkVersion 31. Fix sort type problems in anonymous home page and multireddits. 2022-04-30 17:56:31 +08:00
Docile-Alligator
d40fc59540 Version v5.2.0-beta1. 2022-04-28 17:35:56 +08:00
Docile-Alligator
77ed06dac1 Submitting crosspost using other accounts is available. 2022-04-28 15:46:25 +08:00
Docile-Alligator
d9172110e6 Submitting comment using another comment is available. 2022-04-28 15:29:41 +08:00
Docile-Alligator
d64fdd4e4d Submitting posts using another account is available in other PostXXXActivity. 2022-04-25 15:15:06 +08:00
Docile-Alligator
d922c67ffc Load selected account's subscriptions in SubredditSelectionActivity when submitting posts using another account. 2022-04-24 11:48:41 +08:00
Docile-Alligator
be4e73c504 Submit posts using another account is available in PostTextActivity. 2022-04-24 11:11:15 +08:00
Docile-Alligator
3fa86984dc Fix NullPointerException in Utils.parseInlineEmotes. 2022-04-23 21:36:25 +08:00
Docile-Alligator
05e9b8b36e Fix a bug when setting up notification work manager in MainActivity. 2022-04-23 21:26:23 +08:00
Docile-Alligator
3283541c9a Show post karma, comment karma, awarder karma and awardee karma in ViewUserDetailActivity by clicking the karma info text. 2022-04-10 22:50:35 +08:00
Docile-Alligator
ee9249cb64 Update inbox count in MainActivity after reading all messages in InboxActivity. 2022-04-10 17:52:06 +08:00
Docile-Alligator
bbd212ff2c Click autoplaying videos to open them in fullscreen. 2022-04-10 09:40:16 +08:00
Docile-Alligator
e7da8c1f69 Bottom app bar is available in ViewMultiRedditDetailActivity. 2022-04-08 16:39:30 +08:00
Docile-Alligator
8c8dc45f19 Removed option: View Full Markdown. Handle jpeg link in LinkResolverActivity. 2022-04-02 22:41:10 +08:00
Docile-Alligator
d7fcb66cda Use the updated access token to fetch new notifications in PullNotificationWorker. This may fix notification issues. 2022-04-02 22:26:35 +08:00
Docile-Alligator
840216b3d9 Render full markdown in CommentsListingRecyclerViewAdapter. 2022-04-02 16:09:16 +08:00
Docile-Alligator
95d792779e Render full markdown in CommentsRecyclerViewAdapter. 2022-04-02 15:50:12 +08:00
Docile-Alligator
f0e2090db9 Do not load subreddit data in SidebarFragment. Save subreddit data to the database in ViewSubredditDetailActivity. 2022-04-01 17:29:42 +08:00
Docile-Alligator
83b71b8304 Fix spoiler not rendering last two characters. 2022-03-30 07:27:41 +08:00
Docile-Alligator
ac749fe0f0 New option: Settings->Data Saving Mode->Reddit Video Default Resolution. 2022-03-25 21:43:38 +08:00
Docile-Alligator
7422098734 Add a FloatingActionButton in ViewMultiRedditDetailActivity. 2022-03-25 17:34:57 +08:00
Docile-Alligator
8ac8ea3d8b Fix getRedditUriByPath in LinkResolverActivity. 2022-03-25 16:48:35 +08:00
Docile-Alligator
c87b724a24 Fix captions and urls hidden by the navigation bar in ViewRedditGalleryImageorGifFragment. 2022-03-24 14:00:44 +08:00
Docile-Alligator
2bbba42e38 Version 5.1.9. 2022-03-17 22:10:38 +08:00
Docile-Alligator
59ed4c53ff Prevent WebView from reloading the website after orientation change in WebViewActivity. 2022-03-17 21:22:26 +08:00
Docile-Alligator
b4915859da Check if PostFragment is detached before initializing PostViewModel. 2022-03-17 14:23:06 +08:00
Docile-Alligator
7405e19c2e Fix clicking the back button on the toolbar does not finish FullMarkdownActivity. 2022-03-17 14:05:27 +08:00
Docile-Alligator
c0ad8ed27a Fix unable to update anonymous multireddits. 2022-03-17 13:57:09 +08:00
Docile-Alligator
cfd295aea8 Version 5.1.9-beta2. Optimize AppBarStateChangeListener. 2022-03-14 14:15:44 +08:00
Docile-Alligator
3cae2b0dba Load image after the AspectRatioGifImageView's height is determined in PostRecyclerViewAdapter to prevent blurry images. 2022-03-11 17:00:23 +08:00
Docile-Alligator
20e4798d34 Fix image loading issue. 2022-03-11 12:15:07 +08:00
Docile-Alligator
aab502238d Fix navigation drawer issues. 2022-03-11 12:10:35 +08:00
Docile-Alligator
53755d4381 Version 5.1.9-beta1. Fix low resolution post previews when showing them for the first time in PostDetailRecyclerViewAdapter. 2022-03-06 15:09:57 +08:00
Docile-Alligator
141abc654a New option: Settings->Miscellaneous->Post Feed Preview Max Resolution. Fix low resolution post previews when showing them for the first time. Tweak themed icon. 2022-03-06 10:41:02 +08:00
Docile-Alligator
dc9725735b Fix preview issue in PostCompactBaseViewHolder in PostRecyclerViewAdapter. 2022-03-05 11:33:07 +08:00
Docile-Alligator
023cef76ad Themed icon for Android. Very ugly right now. 2022-03-05 11:02:16 +08:00
20captainx12
af120ded09
Added adaptive icons (#646)
Start adding adaptive icons for Android Tiramisu.
2022-03-04 11:46:11 +08:00
Docile-Alligator
40078880af Try fixing Parcelable implementation issues. 2022-02-28 23:55:49 +08:00
Docile-Alligator
f0589ada3e Show and open r/u_ style subreddits in comments. 2022-02-28 18:12:13 +08:00
Docile-Alligator
2e67298813 Show and open r/u_ style subreddits in posts. 2022-02-28 18:01:30 +08:00
Docile-Alligator
405317b4cb Fix changing default post layout not working. 2022-02-28 16:45:30 +08:00
Docile-Alligator
5e0b2662d7 New fonts: Atkinson Hyperlegible and Atkinson Hyperlegible Bold. 2022-02-25 18:23:40 +08:00
Docile-Alligator
679820b96e Submitting poll posts is available. 2022-02-21 22:52:22 +08:00
Docile-Alligator
3a69e02867 New option: Settings->Interface->Post Details->Hide Upvote Ratio. 2022-02-21 15:38:17 +08:00
Docile-Alligator
4b3e11c62d Fix https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/667 2022-02-21 12:23:13 +08:00
Docile-Alligator
fbc0006a4f Use ConcatAdapter for the navigation drawer. 2022-02-20 18:09:54 +08:00
Docile-Alligator
d76abc8c3e Minor bugs fixed. 2022-02-19 12:16:31 +08:00
Docile-Alligator
f508132f32 New option: Interface->Comment->Always show the number of child comments. Fix notification icon. Tweak the app icon. 2022-02-18 19:48:00 +08:00
Docile-Alligator
b933c9d08b Fixed a typo: Hide Author Avatar -> Show Author Avatar. 2022-02-18 17:28:40 +08:00
Alex Ning
c64b6ef229 Version 5.1.8. Add Reddit User Agreement to settings. Move Privacy Policy option from About to main settings page. 2022-02-12 22:05:22 +08:00
Alex Ning
79cc6ddf1e Don't autoplay spoiler videos. 2022-02-05 15:32:01 +08:00
Alex Ning
c265bbecf9 New option: Settings->Interface->Comment->Hide Author Avatar. Fix Application ClassCastException in MainActivity. Don't show the number of child comments in expanded comments. 2022-02-05 15:19:18 +08:00
Alex Ning
101525ae33 Minor bugs fixed. 2022-02-04 11:26:45 +08:00
Alex Ning
5713982e8f Version 5.1.7. 2022-01-29 11:42:55 +08:00
Alex Ning
5a5011f19e New option: Settings->Interface->Comment->Show Fewer Toolbar Options Starting From. 2022-01-29 11:11:36 +08:00
Alex Ning
2569742e1c Set caption and url when submitting gallery posts. 2022-01-28 12:58:16 +08:00
Alex Ning
fd0e95dbac Show author icon in CommentFullyCollapsedViewHolder. 2022-01-21 22:22:37 +08:00
Alex Ning
db48b940d7 Update translation. 2022-01-21 22:03:02 +08:00
Alex Ning
f33cf68624 New option: Hide Comment Awards. 2022-01-21 20:37:31 +08:00
Alex Ning
e68f8ed4bc Show author avatars in comments. 2022-01-21 19:52:31 +08:00
Alex Ning
de105359f9 Fix views in comment toolbar overlapping each other. 2022-01-21 15:44:49 +08:00
Alex Ning
c6f5e3c8f6 Version 5.1.6. 2022-01-20 15:08:36 +08:00
Alex Ning
25fff4064c New option: Hide Text Post Content. 2022-01-20 15:00:26 +08:00
Alex Ning
5eaf4ab8fe Show child reply count in comments. 2022-01-17 17:30:56 +08:00
Alex Ning
9ab1e6904c Fix IllegalStateException in ViewPostDetailFragment. 2022-01-17 12:01:12 +08:00
Alex Ning
85a51d7dc8 New option: Fixed height preview in card. 2022-01-16 15:19:55 +08:00
Alex Ning
44ed414f28 Go back to top of the feed after changing sort type or refreshing. 2022-01-16 09:49:07 +08:00
Alex Ning
94f08d616a Version 5.1.6-beta1. 2022-01-15 14:53:10 +08:00
Giovanni Palmieri
aaa3e91b82
added "Open in browser" button to internal browser (#622) 2022-01-15 12:25:07 +08:00
Alex Ning
af3447419a Load custom fonts. 2022-01-15 12:03:18 +08:00
Alex Ning
4d0b8b4672 Add options to set custom fonts. 2022-01-14 20:57:16 +08:00
Alex Ning
6f1cd194cb Continue adding support for custom font. 2022-01-13 23:30:55 +08:00
Alex Ning
e0c849e135 Start adding custom font support. 2022-01-05 13:32:09 +08:00
Alex Ning
b11a568169 Version 5.1.5. 2021-12-22 20:36:52 +08:00
Alex Ning
a83640f01a Fix NSFW download location option not working. Hide options in Data Saving Mode settings if Data Saving Mode is off. 2021-12-20 22:16:33 +08:00
Alex Ning
dc4fa2e6b8 Handle Streamable and Imgur videos when parsing v.redd.it videos in ViewVideoActivity. 2021-12-20 21:50:26 +08:00
scria1000
7150ac6981
Mutually exclusive toggling behaviour for DataSavingMode (#603)
Mutually exclusive toggling behavior for DataSavingMode.
2021-12-20 21:21:26 +08:00
scria1000
a7b58cf0a4
Support imgur gifv with audio (#602)
Support imgur gifv videos with audio.
2021-12-20 21:18:40 +08:00
MetalNeo
34127032de
Added Setting for Separate NSFW Download Folder (#584)
Add an option to separate NSFW media downloads
2021-12-20 21:13:08 +08:00
Alex Ning
21e7dad1b0 Search subscribed users and multireddits. 2021-12-20 21:07:46 +08:00
Alex Ning
053773741e Search subscribed subreddits. 2021-12-20 20:25:31 +08:00
Alex Ning
f8a5dc9d61 Fix app crashes when fetching gfycat videos failed for autoplay. 2021-12-20 18:54:29 +08:00
Alex Ning
f8694309d3 Version 5.1.4. 2021-12-16 19:50:12 +08:00
Alex Ning
59fadbb0e0 Use Executor to fetch removed comments. 2021-12-15 22:52:31 +08:00
scria1000
f3b0a04f3c
Fix markdown headers sometimes not rendering in About (#592)
Fix markdown headers sometimes not rendering in subreddit About section
2021-12-15 21:46:04 +08:00
scria1000
e90a3b674e
Add Reveddit fallback for retrieving deleted comments (#591) 2021-12-15 21:43:55 +08:00
scria1000
e4c64668db
Add support for parsing inline static emotes (#589) 2021-12-15 21:43:01 +08:00
scria1000
ae63e20764
Fix link previews not showing (#587)
Fix link previews not showing
2021-12-13 22:04:35 +08:00
scria1000
5ec29e0c96
Retrieve subreddit data for subscribed private subs (#586)
Fetch active user count, subreddit icon etc. for subscribed private subs
2021-12-13 20:47:45 +08:00
scria1000
9ef1b4decd
Fix autoplay video continuing in background (#585)
Fix autoplay video continuing in background
2021-12-13 20:46:22 +08:00
Alex Ning
228cc4bb75 Fix post parsing logic for Gfycat, Redgifs and Streamable videos. 2021-12-12 22:32:58 +08:00
Alex Ning
f97e01ed66 Merge branch 'master' of github.com:Docile-Alligator/Infinity-For-Reddit 2021-12-12 22:09:34 +08:00
Alex Ning
8c445fb766 Streamable videos autoplay. 2021-12-12 22:09:09 +08:00
scria1000
c934bc7740
Undo superscript parser changes for now (#577)
Undo superscript parser changes
2021-12-12 20:51:43 +08:00
Alex Ning
a2c6685dd8 Treat streamable link posts as video posts. 2021-12-12 20:48:23 +08:00