Commit Graph

182 Commits

Author SHA1 Message Date
Ivan Kupalov ed2918da2e
Description improvements (#1846)
* Increase character limit for media descriptions to 1500

It was increased in Mastodon 3.0.0 which was released in October 2019.

* Improve image description view

Since media descriptions can be longer now, we need to adjust the UI.
It is a common problem that description takes up the whole screen, it's
hard for readers and also discourages people from adding descriptions.

This commit uses bottom sheet to hide most of the description. Since we
know how much screen space it will cover, we can use darker background
which makes reading text easier.

* Adjust description handle

* Fix unable to dismiss image caption
2020-08-01 21:48:51 +02:00
kyori19 31c9debd5d Merge remote-tracking branch 'tuskyapp/develop' 2020-06-19 14:40:57 +09:00
Levi Bard 4219871095
Fix preview cards for uncollapsible statuses (#1826) 2020-06-09 19:00:23 +02:00
kyori19 3ae4dc5397 Merge remote-tracking branch 'tuskyapp/develop' 2020-05-22 23:39:08 +09:00
Levi Bard 1c09441c32
Fix showing/hiding of preview cards in timeline posts that are collapsed for length. (#1796)
Also properly places the preview card after the "collapse for length" button.
2020-05-21 18:32:22 +02:00
kyori19 0e8aa1f48b Merge remote-tracking branch 'tuskyapp/develop' 2020-05-16 18:01:15 +09:00
kyori19 3a912cf7a9 Remove string-based quote feature 2020-05-16 17:47:53 +09:00
Alibek Omarov 2fc7ad13bb
CustomEmojiHelper: rewrite to Kotlin (#1787)
* CustomEmojiHelper: rewrite to Kotlin

* CustomEmojiHelper: PR fixes
2020-05-15 22:09:12 +02:00
kyori19 72d5753d75 Use accountId (= uri) for Notestock to fix test 2020-05-10 13:42:32 +09:00
kyori19 ca65c5e26f Merge remote-tracking branch 'tuskyapp/develop' 2020-05-04 10:52:47 +09:00
Konrad Pozniak 2cf1e366b8
convert MainActivity to Kotlin and upgrade MaterialDrawer to version 8 (#1748)
* convert MainActivity to Kotlin

* migrate to MaterialDrawer 8

* fix drawer styles

* revert removing BezelImageView and material_drawer_header override

* fix tests

* add lost comment back to material_drawer_header.xml

* add tools:parentTag to material_drawer_header.xml

* use when instead of if in MainActivity

* fix statusbar color over the drawer

* cleanup drawer item creation

* tint secondary drawer items as well

* remove unnecessary ids

* fix header text color in the light theme

* improve header text contrast
2020-04-15 18:57:53 +02:00
kyori19 1370eedc10 Merge remote-tracking branch 'tuskyapp/develop' 2020-04-09 00:34:31 +09:00
Ivan Kupalov d44eada140
Fix reblog confirm (#1723)
* Fix reblog confirmation default value

* Fix triggering reblog before confirming it

* Fix accidents caused by reblog confirmation
2020-04-06 19:28:43 +02:00
Konrad Pozniak 68f34152dc
replace HtmlUtils with HtmlCompat (#1741)
* replace HtmlUtils with HtmlCompat

* fix tests
2020-04-02 23:37:38 +02:00
Konrad Pozniak cf782f039f
use number of voters instead of votes to calculate poll results (#1733)
* adjust poll vote text, votes -> people

* use number of voters instead of votes to calculate poll results

* fix tests
2020-03-24 21:06:58 +01:00
Ivan Kupalov 67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Levi Bard 3edc47aa4a
Add option to show link previews in timelines (#1681)
* Add option to show link previews in timelines.
Addresses #1075

* Indent cards in non-selected statuses when viewing threads

* Indent cards in timelines

* Fix clipping of right side of preview in timelines
2020-03-02 19:34:31 +01:00
kyori19 de8069aec9 Merge remote-tracking branch 'tuskyapp/develop' 2020-02-23 22:23:54 +09:00
Konrad Pozniak b8ef287b47
fix image from another status showing up instead of blurhash (#1699) 2020-02-19 22:07:01 +01:00
kyori19 41f4219b6e Merge remote-tracking branch 'tuskyapp/develop' 2020-02-15 18:09:05 +09:00
Levi Bard 185bfeb9f3
[Tusky10] Fix descriptions of audio attachments when expanding/collapsing status content (#1688) 2020-02-14 19:03:59 +01:00
kyori19 fbb1c5aee6 Merge remote-tracking branch 'tuskyapp/develop' 2020-02-12 12:16:30 +09:00
Konrad Pozniak 8767d2ed3d
Theme refactoring (#1656)
* Theme refactoring

* disable the automatic tinting of surfaces with elevation in dark mode

* make the media warning visible again with the dark theme

* fix nav bar on api 27+

* use correct color for all media warnings
2020-01-30 21:37:28 +01:00
kyori19 f1a0f223b7 Fix gif avatars in quote ignore avatar animation setting 2020-01-12 00:18:11 +09:00
kyori19 b2739828dc Merge remote-tracking branch 'tuskyapp/develop' 2020-01-11 22:46:31 +09:00
Konrad Pozniak e5b78f65cf
use material buttons in timeline (#1627)
* use material buttons in timeline

* remove wrong switch option
2020-01-07 19:40:52 +01:00
Konrad Pozniak 441a1c1f95
remove redundant toHtml from StatusBaseViewHolder (#1625) 2020-01-07 19:38:08 +01:00
kyori19 9efc4a4bc9 Merge remote-tracking branch 'tuskyapp/develop' 2020-01-05 01:02:28 +09:00
Konrad Pozniak 352ff3a2d1
give media previews a rounded outline (#1617)
* give media previews a rounded outline

* give media previews a rounded outline in ReportActivity
2020-01-03 20:22:16 +01:00
Ivan Kupalov 426e7edb73 Fix missing cases of using StatusDisplayOptions (#1614) 2020-01-03 20:22:02 +01:00
Konrad Pozniak 88d59da13c
fix poll button being visible below voted poll (#1612) 2019-12-31 16:56:04 +01:00
Ivan Kupalov 7623962a0d Use blurhash as image preview and as sensitive media cover, close #1571 (#1581)
* Use blurhash as image preview and as sensitive media cover, close #1571

* Fix focal point for blurhashes

* Fix video indicator overlapping sensitive media indicator

* Add a preference for blurhash

* Add blurhash to report UI.

* Introduce StatusDisplayOptions
2019-12-30 21:37:20 +01:00
kyori19 61bc887af5 Merge remote-tracking branch 'tuskyapp/develop' 2019-12-27 14:46:18 +09:00
Konrad Pozniak 60b9a9c40b
upgrade SparkButton to 3.0.0 (#1594) 2019-12-20 19:52:36 +01:00
Levi Bard bac3003182 Make polls respect content warning visibility setting (#1583)
* Make polls respect content warning visibility setting

* Only perform poll setup when poll is visible
2019-12-16 19:51:21 +01:00
kyori19 fb3263b76d Merge remote-tracking branch 'tuskyapp/develop' 2019-11-19 23:42:22 +09:00
kyori19 762b2225ca Merge remote-tracking branch 'tuskyapp/develop' 2019-11-19 21:52:13 +09:00
Konrad Pozniak d9694df0c2
Bookmarks (#1560)
* add bookmarks to timelines

* add Bookmarks to main menu

* cleanup

* handle BookmarkEvent

* fix tests

* fix bookmark handling in NotificationsFragment

* add bookmark accessibility actions
2019-11-19 10:15:32 +01:00
Levi Bard a308b4c139 Don't interpret html inside poll options. (#1527)
* Don't interpret html inside poll options.
Closes #1362

* Update translations

* Mark poll_percent_format as untranslatable
2019-10-11 17:35:22 +02:00
Konrad Pozniak 9a3b92ecbc
change active boost icon (#1513) 2019-10-03 18:55:32 +02:00
kyori19 aa48555902 Merge remote-tracking branch 'tuskyapp/master' 2019-10-03 21:09:01 +09:00
Ivan Kupalov 33a78a59a0 Fix screen reader not announcing post content in some cases (#1495) 2019-09-24 20:33:41 +02:00
kyori19 964c14af3f Merge remote-tracking branch 'tuskyapp/master' 2019-09-16 14:16:00 +09:00
Konrad Pozniak 29ea05a0e5
Fix crash when status date is null (#1480)
* Fix crash when status date is null

* Fix crash when status date is null
2019-09-15 09:10:07 +02:00
Konrad Pozniak c04c51ce41
fix crash because of null visibility (#1478)
* fix crash because of null visibility

* fix crash because of null visibility
2019-09-12 20:03:07 +02:00
kyori19 8c2437c6bf Merge remote-tracking branch 'tuskyapp/master' 2019-09-08 00:11:45 +09:00
Conny Duck 0e2a786b61 fix regression with weird status expand animation 2019-09-07 16:22:56 +02:00
Conny Duck 653d77bab2 fix crash in StatusBaseViewHolder 2019-09-07 13:14:16 +02:00
kyori19 c11ea7ae80 Merge remote-tracking branch 'tuskyapp/master' 2019-09-07 17:55:52 +09:00
Konrad Pozniak 344863b5d4
Add audio support for timelines (#1466)
* Add minimal audio support for timelines

* fix attachment description formatting
2019-09-05 21:07:01 +02:00
kyori19 c564c8f55f [name-hitbox] Open account profile when select name 2019-09-05 21:29:45 +09:00
kyori19 6f1c59d031 [notestock] Implement Notestock search 2019-09-05 21:29:45 +09:00
Billy Brawner 0b1c3d6c40 [visibility-icon] Add visibility icons to statuses 2019-09-05 21:29:45 +09:00
kyori19 573be935a7 [quote] Implement quote feature 2019-09-03 23:08:13 +09:00
kyori 27a9fc1438 [unleakable] Add visibility 'unleakable' 2019-09-03 22:26:44 +09:00
Ivan Kupalov 444df322a7 Load sensitive media previews only when shown (#1439) 2019-08-17 21:37:26 +02:00
Konrad Pozniak 588775ff9b
cleanup code in StatusViewHolders (#1418)
* cleanup code in status ViewHolder

* add check for reblogButton back in
2019-07-27 21:53:28 +02:00
pandasoft0 3b1288e99c Improve search results (#1327)
* Add entities and request for search APIv2

* Implement search adapter and fragment

* Fix issue with snackbar

* Implement search accounts fragment

* Implement generic search fragment

* Remove unneeded import

* Implement "status" actions, fix issues

* Remove SFragment dependency

* Update app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt

Co-Authored-By: Konrad Pozniak <connyduck@users.noreply.github.com>

* Clean-up post review suggestions

* Make TabLayout background colour match search bar

* Corrected method call syntax

* Added SwipeRefreshLayout to SearchFragment

* Fixed refresh to update all three tabs
2019-07-19 20:10:20 +02:00
Konrad Pozniak 707f3e605c
fix build warnings (#1331) 2019-06-24 22:15:31 +02:00
Konrad Pozniak ac2e16e08c
fix image transition from timeline to ViewMediaActivity (#1348) 2019-06-24 20:52:38 +02:00
Konrad Pozniak b95ff10a3c
Unlimited number of poll options (#1340)
* implement unlimited number of poll options

* fixes

* extract percent calculation into function so it can be used anywhere

* add license header
2019-06-22 21:55:03 +02:00
Ivan Kupalov d827bd120f Show media descriptions in timeline when previews are disabled. (#1284) 2019-06-22 20:38:53 +02:00
Konrad Pozniak ab4f981955
fix conversation avatars (#1324) 2019-06-17 13:14:44 +02:00
charlag 3f613dc56f Minimal screen reader support for polls 2019-05-26 15:56:26 +02:00
Konrad Pozniak 83696b5c7f
Animate gif avatars (#1279)
* animate gif avatars

* add setting to enable avatar animation

* cleanup code
2019-05-26 08:46:08 +02:00
Konrad Pozniak 561d4cc284
support custom emoji fonts in poll options (#1250) 2019-05-10 20:08:22 +02:00
Conny Duck 4d58ecb4ea stop buggy gif animation for now 2019-05-08 21:42:22 +02:00
Conny Duck 51cf1a4ec5 fix crash in StatusBaseViewHolder.getVisibilityDescription 2019-05-08 20:19:31 +02:00
Konrad Pozniak 40d3eb8759
Fix bot icon indicator again (#1249)
* fix handling of bot indicator in timeline

* write bot status into db cache

* remove log
2019-05-07 07:37:00 +02:00
Konrad Pozniak d7c32258ae
fix timespan plurals (#1240)
* fix timespan plurals

* rename poll timestamp strings and helper method
2019-05-06 09:59:06 +02:00
Konrad Pozniak b8c32a96de
Poll fixes (#1238)
* update cache when voting on a poll

* fix poll controls color

* don't allow voting on old poll from cache

* check for RecyclerView.NO_POSITION in click listener

* fix crash when voting in a boosted poll
2019-05-05 08:26:17 +02:00
Konrad Pozniak e735e4843e
Poll notifications (#1229)
* show poll notifications in the app

* show poll notifications in the app

* allow filtering poll notifications in the poll fragment

* show poll notifications in system notifications
2019-05-02 19:44:35 +02:00
Konrad Pozniak 8d01e54caf
add support for multiple choice polls (#1212) 2019-04-28 09:58:17 +02:00
Konrad Pozniak fd7471f2ab
Polls part 1 - displaying in timelines and voting (#1200)
* add entity classes

* change data models and add database migration

* add polls to StatusViewData

* show poll results

* add methods for vote handling

* add voting interface

* enable voting in TimelineFragment

* update polls immediately

* enable custom emojis for poll options

* enable voting from search fragment

* add voting layout to detailed statuses

* fix tests

* enable voting in ViewThreadFragment

* enable voting in ConversationsFragment

* small refactor for StatusBaseViewHolder
2019-04-22 10:11:00 +02:00
Konrad Pozniak 82d547caf8
fix issue with avatar background recycling (#1209) 2019-04-21 22:59:58 +02:00
pandasoft0 76ce28980c Migrate to Glide (#1175)
* Replace Picasso library with Glide library tuskyapp#1082

* Replace Picasso library with Glide library tuskyapp#1082

* Update load emoji with glide

* Update context used for Glide

* Removed unused import

* Replace deprecated SimpleTarget with CustomTarget

* Fix crash at the view image fragment, remove override image size

* Replace Single.create with Single.fromCallable

* View image fragment refactor

* Fix after merge

* Try to load cached image first and show progress view on failure

* Try to load cached image first and show progress view on failure
2019-04-16 21:39:12 +02:00
Levi Bard 391cd12974 Add bot indicator overlay to avatars (#1173)
* Add bot indicator overlay to avatars

* Add bot overlay to account list in search view

* Add preference for bot avatar overlay
2019-04-09 20:13:25 +02:00
Ivan Kupalov b66582654d Fix issue with content warnings not being expanded from a11y delegate (#1167) 2019-03-30 09:10:34 +01:00
pandasoft0 c3df44eaef Update Notification Adapter to support status created timestamp refresh (#1130)
* Update Notification Adapter to support status created timestamp refresh

* Format the code
2019-03-25 13:44:31 +01:00
pandasoft0 7680b1b529 Refresh message timestamp every minute (#1113)
* Refresh message timestamp every minute

* Refresh timeline adapter every minute via differ
2019-03-16 14:38:29 +01:00
Ivan Kupalov 479d210e64 Timeline a11y (#1059)
* Improve timeline accessibility

* Improve a11y description and actions in timeline

* Refactor timeline accessibility handling, add more actions

* Update app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java

Co-Authored-By: charlag <charlag@tutanota.com>

* Add a11y actions for links, hashtags and mentions, enable for detailed.

* A11y delegate: Add open reblogger action, cleanup

* a11y delegate: add reblogs/boosts, improve interrupts

* a11y delegate: add reblogs/boosts, improve interrupts

* a11y delegate: add to notifications fragment
2019-03-04 19:24:27 +01:00
Ondřej Hruška fcc67c6918 Fix large image attachments not showing (#1043)
* fix for too large image attachments not fitting into GL texture

* Don't use context!!
2019-02-16 14:31:41 +01:00
Konrad Pozniak e371fa0e24
Tab customization & direct messages tab (#1012)
* custom tabs

* custom tabs interface

* implement custom tab functionality

* add database migration

* fix bugs, improve ThemeUtils nullability handling

* implement conversationsfragment

* setup ConversationViewHolder

* implement favs

* add button functionality

* revert 10.json

* revert item_status_notification.xml

* implement more menu, replying, fix stuff, clean up

* fix tests

* fix bug with expanding statuses

* min and max number of tabs

* settings support, fix bugs

* database migration

* fix scrolling to top after refresh

* fix                                 bugs

* fix warning in item_conversation
2019-02-12 19:22:37 +01:00
Conny Duck eeaadea905 Revert "Generalize url scheme parsing/highlighting (#1008)"
This reverts commit 85610a8311.
2019-02-11 14:43:57 +01:00
Levi Bard 85610a8311 Generalize url scheme parsing/highlighting (#1008)
* Add support for highlighting dat, ssb, ipfs url schemes. #847

* Generalize scheme parsing for url highlighting. #847

* Migrate LinkHelper to kotlin
2019-02-05 19:55:28 +01:00
Konrad Pozniak 15ca16e06f
fix long toots not collapsing correctly in timelines (#976) 2019-01-11 20:05:15 +01:00
jchmrt 30df1cf403 Set image previews correctly according to their focal points (#899)
* Add serialization of the meta-data and focus objects

These objects are added in some attachments. This commit adds data
classes which are able to serialize these (partially) in preparation
for the ability to honour the focal point information in image
previews.

* Implement correctly honouring the focal point meta-data in previews

This commit adds code which ensures that the image previews of media
attachments to toots are correctly cropped to always show the focal
point of the image (if it is specified). It should not in any way
influence how previews of media without a focal point are shown.

To achieve the correct crop on the image a few components were
needed:

First of all we needed a way to influence how the image is cropped
into the ImageView. It turns out that the preferred way to do this is
by setting the ScaleType to MATRIX and adjusting the matrix of the
image as needed. This matrix allows us to scale and transform the
image in the way we need to make sure that the focal point is visible
within the view. For this purpose we have the FocalPointEnforcer which
can calculate and set the appropriate matrix on an ImageView as soon
as the image is loaded.

However a second problem is that we need to make sure that this matrix
is updated whenever the size of the ImageView changes. The size might
change for example because the orientation of the device changed from
portrait to landscape or vice versas, or for a number of other reasons
such as the screen being split vertically or something like that.

To be able to hook onto this event we need to create a new extended
version of the ImageView class, which we call
MediaPreviewImageView. This class behaves exactly the same as a normal
ImageView, however if the focalPointEnforcer of this view is set, then
it will call this enforcer to update the image matrix any time the
size is changed.

So this commit changes all media previews in the item_status.xml and
item_status_detailled.xml layout files to the new
MediaPreviewImageView class. Additionally in the code for loading the
images into the previews a new case is added which tests if there is a
focus attribute in the meta-data. If so it makes sure to create and
set the FocalPointEnforcer.

* Fix typos in documentation comment

"to" -> "too"

* Use static imports to remove clutter in FocalPointEnforcerTest

Instead of duplication Assert. in front of every assertEquals, simply
statically import it.

* Move the MetaData and Focus classes into the Attachment class

Since they are very strongly linked to the attachment class and are
themselves very small.

* Refactor the focal point handling code

- All the code modifying the actual members of the
  MediaPreviewImageView is now in this class itself. This class still
  uses the FocalPointUtil to calculate the new Matrix, but it now
  handles setting this new Matrix itself.

- The FocalPointEnforcer has been renamed to the FocalPointUtil to
  reflect that it only calculates the correct matrix, but doesn't set
  anything on the MediaPreviewImageView.

- The Matrix used to control the cropping of the
  MediaPreviewImageViews is now only allocated a single time per view
  instead of each time the view is resized. This is done by caching
  the Matrix and passing it to the FocalPointUtil to update on each
  resize.

* Only reallocate focalMatrix if it is not yet initialized

This helps prevent unnecessary allocations in the case where
setFocalPoint is called multiple times.

* Change checking of availability of objects to use != null

As pointed out, the 'is' keyword is meant for checking types, not for
checking non-nullness.

* Make updateFocalPointMatrix() return nothing

This makes it clearer that it actually mutates the matrix it is
given.

* Fix bug with transitions crashing the PhotoView

Due to the android transitions for some reason copying the scaletype
from the MediaPreviewImageView to the PhotoView during the transition,
the PhotoView would crash on pictures with a focal point, since
PhotoView doesn't support ScaleType.MATRIX.

This is solved by the workaround of overriding both the getScaleType
and setScaleType methods to ensure that we use the MATRIX type in the
preview and the center_crop type in the PhotoView.

Additionally this commit also makes sure to remove the focal point
when the MediaPreviewImageView is recycled.

* Fix bug in overriden getScaleType

Instead of simply returning the scaleType we need to return the
super.getScaleType() method, to avoid crashing.

* Merge changes from master

Mainly the migration to androidx.
2018-12-28 16:32:07 +01:00
Konrad Pozniak cd6766c261
hide toot content TextView when its empty (#969) 2018-12-27 22:32:14 +01:00
Konrad Pozniak a445c12094
Upgrade to AndroidX, move to MaterialComponents theme (#953)
* upgrade to AndroidX, upgrade libraries

* move to MaterialComponents theme

* make sure the compose button looks good everywhere

* fix tollbar title/button alignment on tablet

* move to new material color theming, consolidate colors and themes

* fix build, fix imports

* set error on TextInputLayout instead of EditText

* fix imports, TootButton when

* improve snackbar style

* fix task description color
2018-12-17 15:25:35 +01:00
Mélanie Chauvel (ariasuni) 1c34d21a23 Display mentions toot hidden (#954)
* WIP: still display mentions when toot content is hidden

* WIP: still display mentions when toot content is hidden (2)

* Still display mentions when toot content is hidden (3)

* Factorize code for setting content and spoiler on a toot

* Factorize condition
2018-12-16 10:30:40 +01:00
Billy Brawner 95a656dc0a Add visibility icons to detail statuses (#901)
* Add visibility icons to statuses

* Remove visibility icons from timeline statuses

* Dynamically scale visibility icon according to timestamp font size

* Remove visibility icon selection logic from Status model

* Migrate visibility icon logic to StatusDetailedViewHolder

* Simplify/improve performance of visibility icon layout

* Use text size for visibility icon size (instead of view size)

* Remove unnecessary LayoutListener

* Remove unnecessary visibilityIcon check
2018-11-28 19:46:10 +01:00
Konrad Pozniak 7bdc22aa28
small improvements for viewholders (#860) 2018-09-28 17:15:01 +02:00
HellPie 4759783d10 Add support for collapsible statuses when they exceed 500 characters (#825)
* Update Gradle plugin to work with Android Studio 3.3 Canary

Android Studio 3.1.4 Stable doesn't render layout previews in this project
for whatever reason. Switching to the latest 3.3 Canary release fixes the
issue without affecting Gradle scripts but requires the new Android Gradle
plugin to match the new Android Studio release.

This commit will be reverted once development on the feature is done.

* Update gradle build script to allow installing debug builds alongside store version

This will allow developers, testers, etc to work on Tusky will not having to worry
about overwriting, uninstalling, fiddling with a preinstalled application which would
mean having to login again every time the development cycle starts/finishes and
manually reinstalling the app.

* Add UI changes to support collapsing statuses

The button uses subtle styling to not be distracting like the CW button on the timeline
The button is toggleable, full width to match the status textbox hitbox width and also
is shorter to not be too intrusive between the status text and images, or the post below

* Update status data model to store whether the message has been collapsed

* Update status action listener to notify of collapsed state changing

Provide stubs in all implementing classes and mark as TODO the stubs that
require a proper implementation for the feature to work.

* Add implementation code to handle status collapse/expand in timeline

Code has not been added elsewhere to simplify testing.
Once the code will be considered stable it will be also included in other
status action listener implementers.

* Add preferences so that users can toggle the collapsing of long posts

This is currently limited to a simple toggle, it would be nice to implement
a more advanced UI to offer the user more control over the feature.

* Update Gradle plugin to work with latest Android Studio 3.3 Canary 8

Just like the other commit, this will be reverted once the feature is working.
I simply don't want to deal with what changes in my installation of Android
Studio 3.1.4 Stable which breaks the layout preview rendering.

* Update data models and utils for statuses to better handle collapsing

I forgot that data isn't available from the API and can't really be built
from scratch using existing data due to preferences.
A new, extra boolean should fix the issue.

* Fix search breaking due to newly introduced variables in utils classes

* Fix timeline breaking due to newly introduced variables in utils classes

* Fix item status text for collapsed toggle being shown in the wrong state

* Update timeline fragment to refresh the list when collapsed settings change

* Add support for status content collapse in timeline viewholder

* Fix view holder truncating posts using temporary debug settings at 50 chars

* Add toggle support to notification layout as well

* Add support for collapsed statuses to search results

* Add support for expandable content to notifications too

* Update codebase with some suggested changes by @charlang

* Update more code with more suggestions and move null-safety into view data

* Update even more code with even more suggested code changes

* Revert a0a41ca and 0ee004d (Android Studio 3.1 to Android Studio 3.3 updates)

* Add an input filter utility class to reuse code for trimming statuses

* Update UI of statuses to show a taller collapsible button

* Update notification fragment logging to simplify null checks

* Add smartness to SmartLengthInputFilter such as word trimming and runway

* Fix posts with show more button even if bad ratio didn't collapse

* Fix thread view showing button but not collapsing by implementing the feature

* Fix spannable losing spans when collapsed and restore length to 500 characters

* Remove debug build suffix as per request

* Fix all the merging happened in f66d689, 623cad2 and 7056ba5

* Fix notification button spanning full width rather than content width

* Add a way to access a singleton to smart filter and use clearer code

* Update view holders using smart input filters to use more singletons

* Fix code style lacking spaces before boolean checks in ifs and others

* Remove all code related to collapsibility preferences, strings included

* Update style to match content warning toggle button

* Update strings to give cleaner differentiation between CW and collapse

* Update smart filter code to use fully qualified names to avoid confusion
2018-09-19 19:51:20 +02:00
kyori 589188e27d Prevent creating new object in setCreatedAt 2018-08-20 22:51:30 +09:00
kyori ad888854bc Use SimpleDateFormatter repeatedly. 2018-08-20 20:56:22 +09:00
kyori 4264fc42d6 Add process for when the createdAt is null. 2018-08-20 19:29:58 +09:00
kyori b4bb80c4d5 Stop initializing String. 2018-08-20 17:47:19 +09:00
kyori 219eafe6fc Prevent query SharedPreference in adapters. 2018-08-17 14:42:15 +09:00
kyori ca3a5791e3 Show absolute time 2018-08-16 22:51:23 +09:00
Conny Duck b9e433c77f fix crash in ViewThreadFragment 2018-08-15 11:20:57 +02:00