Commit Graph

281 Commits

Author SHA1 Message Date
autumnontape 10fcee4798 Add autocompletion for custom emoji (#1089)
* Remove unnecessary //noinspection ConstantConditions

* Add autocompletion for custom emoji

* Update MentionTagTokenizer tests for emoji autocomplete support

* Move 1) emoji list retrieval notifying and 2) setting of emojiList field into setEmojiList() method of ComposeActivity

* Convert RelativeLayout in item_autocomplete_emoji.xml to LinearLayout

* Rename MentionTag* to Compose*

* Improve emoji autocomplete matching

* Make hashtag autocomplete results bold

* Use Context.getString()'s built-in formatting

* Add a divider between emoji autocomplete results that *start with* the token and those that *contain* it
2019-03-04 19:28:08 +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 d5173c2268 Add support for selecting account when sharing from outside apps (#1011)
* Add direct-share support (API 23+)

* Add account selection dialog for non-direct sharing
2019-02-06 10:23:02 +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 6b7ca5d184
fix autocomplete of usernames (#1019) 2019-01-30 22:10:05 +01:00
Ivan Kupalov a3ee13d767 Add hashtag autocompletion, closes #769 (#1001)
* Add hashtag autocompletion, closes #769

* Apply review feedback
2019-01-28 11:04:05 +01:00
Konrad Pozniak 15ca16e06f
fix long toots not collapsing correctly in timelines (#976) 2019-01-11 20:05:15 +01:00
Ivan Kupalov 38c7c8c71a Rework status layouts with ConstraintLayout (#967)
* Migrate item_status_detailed layout, minimum

* Migrate item_status_detailed layout, buttons

* Migrate item_status layout, minimum + buttons

* Migrate status layouts, fix RTL, cleanup

* Fix item_status layout

* Fix item_status name layout, fix CW button

* Simplify item_status, item_status_detailed layouts with chains

* Apply statuses layout feedback
2019-01-06 10:39:42 +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 c869886c19
add the ability to see who faved or boosted a toot (#962)
* move reblog/fav count up in detailed status view and make them clickable

* use status object returned by api when reblogging/faving

* Reblogs -> Boosts

* add support for viewing who faved/reblogged a status

* add onShowReblogs/onShowFavs to listener, fix display bug

* remove unneeded icon from previous revision

* small code improvements

* fix liking/boosting toot with card
2018-12-27 09:48:24 +01:00
kyori19 c9ce380d7a Fix wrong visibility icon(tuskyapp#901) (#960) 2018-12-20 18:25:36 +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
Konrad Pozniak 73670b8576
Improve emoji picker accessibility (#944)
* set emoji shortcode as content description on ImageView

* hide bottom sheets on back press
2018-12-07 17:05:02 +01:00
Konrad Pozniak 8d7f879a8f
add checkmark to verified links and better constraints to account fields (#922)
* add checkmark to verified links and better constraints to account fields

* address pr feedback
2018-12-03 11:02:28 +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
Levi Bard b483a0bf25 Filter emoji where "visible_in_picker" is set to false. (#907)
Addresses #770
2018-11-04 10:51:31 +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
Konrad Pozniak 4402f3d337
update minSdkVersion to 21 (#843)
* set minSdkVersion to 21

* use elevation instead of additional views for shadow

* clean up code occurrences

* remove drawable compat code

* remove no longer needed resources

* remove unneeded android:clipChildren="false"

* Revert "remove no longer needed resources"

This reverts commit 67a4d6f8d8.

* remove no longer needed resources (this time the right ones)
2018-09-16 18:54:12 +02:00
Conny Duck 51d231834c Merge branch 'AbsoluteTime' of https://github.com/kyori19/Tusky into kyori19-AbsoluteTime
# Conflicts:
#	app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java
2018-09-09 21:48:01 +02:00
Konrad Pozniak 28c1c90a98
fix account list loading and clean up a lot of code (#823)
* fix account list loading and clean up a lot of code

* remove ACCESS_COARSE_LOCATION for API levels 23+

* small improvements
2018-08-31 21:52:09 +02:00
Conny Duck 1fef8c0c2b fix crash in NotificationsFragment when Preferences are first accessed
fixes #797
2018-08-24 19:47:27 +02:00
Konrad Pozniak 4653b1e37b
fix notification tab loading (#777)
* fix progressbars of footer and fragment overlapping

* add progressbar to bottom of notification list again

* fix bottom loading getting stuck sometimes
2018-08-22 21:18:56 +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 1d657a65a7 Show absolute time in Notifications tab 2018-08-16 23:10:21 +09:00
kyori ca3a5791e3 Show absolute time 2018-08-16 22:51:23 +09:00
Konrad Pozniak 8930d277e6
add new elephant friends (#757)
* add new elephant friends

* add art license

* fix typo
2018-08-15 20:51:35 +02:00
Konrad Pozniak f022944e90
add possibility to change profile fields, refactor (#751)
* refactor EditProfileActivity, add profile fields

* preserve transparency when cropping profile images

* dont validate profile fields on client side

* revert unintentional change in card_frame_dark.xml

* improve activity_edit_profile layout for tablets

* Revert "improve activity_edit_profile layout for tablets"

This reverts commit 20ff3d167c.

* improve activity_edit_profile layout for tablets

* fix bug in EditProfileActivity, add snackbar

* improve EditProfileActivity code

* use events instead of shared prefs to communicate profile update
2018-08-15 20:47:09 +02:00
Conny Duck b9e433c77f fix crash in ViewThreadFragment 2018-08-15 11:20:57 +02:00
Conny Duck aa64a879f1 fix bug where unmuting would unmute wrong account 2018-08-12 20:19:44 +02:00
Ivan Kupalov 133808891d Add RoundedImageView for avatars (#739)
* Add RoundedImageView for avatars

* RoundedImageView: Remove unused things, fix touchable area
2018-07-30 15:36:22 +02:00
Conny Duck b82ab6bb4f fix custom emojis in mention autocomplete 2018-07-08 14:40:56 +02:00
Conny Duck c10cc59a8a enable custom emojis in follow notifications 2018-07-01 15:57:26 +02:00
Conny Duck 1d8d1efb5b enable custom emojis in notification messages 2018-07-01 14:44:38 +02:00
Conny Duck b655985997 only reload timeline on pref change when necessary 2018-06-25 17:20:41 +02:00
Konrad Pozniak e8d1b16b39
improve custom emoji support (#687) 2018-06-24 09:53:23 +02:00
Konrad Pozniak 63f9d99390
Account activity redesign (#662)
* Refactor-all-the-things version of the fix for issue #573

* Migrate SpanUtils to kotlin because why not

* Minimal fix for issue #573

* Add tests for compose spanning

* Clean up code suggestions

* Make FakeSpannable.getSpans implementation less awkward

* Add secondary validation pass for urls

* Address code review feedback

* Fixup type filtering in FakeSpannable again

* Make all mentions in compose activity use the default link color

* new layout for AccountActivity

* fix the light theme

* convert AccountActivity to Kotlin

* introduce AccountViewModel

* Merge branch 'master' into account-activity-redesign

# Conflicts:
#	app/src/main/java/com/keylesspalace/tusky/AccountActivity.java

* add Bot badge to profile

* parse custom emojis in usernames

* add possibility to cancel follow request

* add third tab on profiles

* add account fields to profile

* add support for moved accounts

* set click listener on account moved view

* fix tests

* use 24dp as statusbar size

* add ability to hide reblogs from followed accounts

* add button to edit own account to AccountActivity

* set toolbar top margin programmatically

* fix crash

* add shadow behind statusbar

* introduce ViewExtensions to clean up code

* move code out of offsetChangedListener for perf reasons

* clean up stuff

* add error handling

* improve type safety

* fix ConstraintLayout warning

* remove unneeded ressources

* fix event dispatching

* fix crash in event handling

* set correct emoji on title

* improve some things

* wrap follower/foillowing/status views
2018-06-18 13:26:18 +02:00
Paul 30856a2f82 Enable boosting of own private toots, closes #664 (#666) 2018-05-28 21:29:06 +02:00
Ivan Kupalov 3756a1fd20
Add EventHub, add fav, reblog events, improve timelines (#562)
* Add AppStore, add fav, reblog events

* Add events, add handling to Timeline

* Add event handling to Notifications

* Mostly finish events

* Fix unsubscribing

* Cleanup timeline

* Fix newStatusEvent in thread, fix deleteEvent

* Insert new toots only in specific timelines

* Add missing else

* Rename AppStore to EventHub

* Fix tests

* Use DiffUtils for timeline

* Fix empty timeline bug. Improve loading placeholder

* Fix AsyncListDiff, loading indicator, "load more"

* Timeline fixes & improvements.

Fix infinite loading. Remove spinner correctly.
Don't refresh timeline without need.
2018-05-27 11:22:12 +03:00
Levi Bard 3a8d96346b fix rtl unicode formatting (#659)
* Isolate usernames when formatting, to improve interaction of RTL usernames with LTR locales (and vice versa)

* Add bidirectionality safeguards in NotificationHelper

* Cache bidirectionality formatter instance in NotificationsAdapter
2018-05-24 19:00:17 +02:00
Ivan Kupalov 23d84dfa66 Show image descriptions in gallery (#630)
* Add circleci

* Commit to maybe fix ci

* Suppress false positives in lint

* Disable linting for tests in ci

* Add image descriptions to gallery

* Fix test

* [CI] Attempt to fix OOM error

* [CI] Attempt to fix OOM error, 2

* Add option to open status from media

* fix theme issue

* increase linespacing on media description
2018-05-10 20:13:25 +02:00
Konrad Pozniak 27b4cf8739
1.8 fixes (#637)
* fix lint warnings

* upgrade dependencies

* auto cancel notifications

* improve dependency injection

* fix tests

* remove old comment from BaseActivity

* fix missing injectors
2018-05-08 19:15:10 +02:00
Konrad Pozniak 5cfe6f8fa5
make search find statuses (#613) 2018-04-30 11:30:10 +02:00
Konrad Pozniak 89f93eab85
Fix SparkButtons (#608)
* fix the SparkButtons

* dont notify adapter after boost/fav
2018-04-28 22:59:46 +02:00
Ivan Kupalov f3c6abdd4d Add expand/collapse button for threads (#609) 2018-04-28 16:17:01 +02:00
Konrad Pozniak d17ff3eb0f fix problems with selectable text in detailed status 2018-04-22 16:34:02 +02:00
Conny Duck 28a85639ed upgrade minSdkVersion to 19 2018-04-14 13:56:48 +02:00
Konrad Pozniak 27eefbf65a
ComposeActivity improvements (#548)
* do not add media urls to status text

* add scrolling to content

* add arrow icon and animation to replying-to toggle

* remove unnecessary compose_button_colors.xml

* improve toot button

* improve bottom bar, add bottom sheet for compose options, dedicated cw button

* fix crash on Android < API 21

* move media picking from dialog to bottom sheet

* add small style tootbutton

* fix colors/button background for light theme

* add icons to media chose bottom sheet

* improve hide media button, delete unused styles

* fix crash on dev build when taking photo

* consolidate drawables

* consolidate strings and ids, add tooltips to buttons

* allow media only toots

* change error message to show max size of upload correctly

* fix button color

* add emoji

* code cleanup

* Merge branch 'master' into compose_activity_refactoring

# Conflicts:
#	app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java

* fix hidden snackbar

* improve hint text color

* add SendTootService

* fix timeline refreshing

* toot saving and error handling for sendtootservice

* restructure some code

* convert EditTextTyped to Kotlin

* fixed pick media button disabled color

* force sensitive media when content warning is shown

* add db cache for emojis & fix tests

* reorder buttons to match mastodon web

* add possibility to cancel sending of toot

* correctly delete sent toots

* refresh SavedTootActivity after toot was sent

* remove unused resources

* correct params for toot saving in SendTootService

* consolidate strings

* bugfix

* remove unused resources

* fix notifications on old android for SendTootService

* fix crash
2018-04-13 22:37:21 +02:00
Konrad Pozniak 3708421362 add new avatar placeholder 2018-03-30 19:46:36 +02:00
Konrad Pozniak 2851e4d38b make avatar rounding independent of image size 2018-03-30 19:08:24 +02:00
Konrad Pozniak 1af0b6fd48 fixes a bug where the ProgressBar in NotificationsFragment would not show up 2018-03-30 09:56:09 +02:00
Conny Duck 98b652b7a1 fix crash in StatusBaseViewHolder 2018-03-15 22:08:12 +01:00
Levi Bard 043ac58254 improve content warning button
* Use the entire content warning text + button as the hitbox for the "Show more/less" toggle

* Move the content warning toggle button to its own line and give it a little more space

* Move content warning elements into parent layout, remove now-superfluous FlowLayout

* Use marginTop/Bottom instead of Vertical, which is only in sdk 26+

* Update minimum width for content warning toggle button
2018-03-15 19:15:12 +01:00
Konrad Pozniak 71954a277e
convert entity classes to Kotlin data classes (#526)
* convert entity classes to Kotlin data classes

* more data classes, code style
2018-03-03 13:24:03 +01:00
Conny Duck fec1dbc470 fix link header handling in AccountActivityFragment
- fixes douplication of users after undoing unblocks/unmutes
- removes unnecessary loading when scrolled to end of list
2018-03-02 20:56:09 +01:00
Conny Duck ed60cc3a78 gracefully handle null statuses in notifications 2018-03-01 21:10:10 +01:00
Conny Duck 8fa1320afe prevent crash in NotificationsAdapter when avatar url is not set 2018-01-15 17:06:21 +01:00
Conny Duck 91c73a0b74 fix crash in SavedTootActivity when deleting drafts rapidly 2017-12-03 21:56:47 +01:00
Konrad Pozniak 4743c85d82 fix crash on Android 4 2017-12-02 12:22:52 +01:00
Conny Duck 7cc1ed9844 fix problem with spark buttons behaving weirdly 2017-12-01 22:13:47 +01:00
Konrad Pozniak 41233a837b
UI Improvements (#445)
UI Improvements
2017-11-30 20:12:09 +01:00
Ivan Kupalov 2575b16dad Save reply info in draft, refactor (#449)
* Save reply info in draft, refactor

* Handle replying to deleted status
2017-11-16 19:18:11 +01:00
charlag 76c7a7e462 Display CWs in notifications correctly 2017-11-08 00:09:44 +03:00
charlag 92fb55cb3a Open status from notifications 2017-11-07 22:36:19 +03:00
charlag 74d6736afc Make status placeholder abstraction cleaner 2017-11-07 12:44:19 +01:00
charlag 0dede1ba7d Make more clear representation of placeholder in notifications 2017-11-07 12:44:19 +01:00
Conny Duck 80a10c1ac1 implement "load more" placeholder 2017-11-04 21:57:30 +01:00
Conny Duck 2d390f6603 change default of chrome custom tabs setting to false 2017-10-30 10:48:27 +01:00
Konrad Pozniak 5cbc7217ff Link previews for detail statuses (#424)
* implement link preview cards on detail statuses

* cleanup code
2017-10-27 13:20:17 +02:00
Conny Duck b213941c5b improve custom emoji size/padding/alignment, fix jumping of text when emojis are loaded 2017-10-24 23:10:15 +02:00
Ivan Kupalov 3054980d74 Fix deprecated BitmapDrawable constructor (#413) 2017-10-24 22:57:44 +02:00
Ivan Kupalov 938229d7d4 Fix custom emoji size (#407)
Now custom emoji images adapt to the font size.
2017-10-23 23:04:53 +02:00
Ivan Kupalov 3adef27bbb Load custom emoji in statuses (#400) 2017-10-19 15:25:04 +02:00
Conny Duck 0789f048e6 fix typo in preference key 2017-10-18 22:18:44 +02:00
Conny Duck 30312e0e55 implement notification channels, use system notification settings on android Oreo 2017-10-18 22:18:07 +02:00
Conny Duck f2f3be37b3 cleanup code, remove some unneeded files 2017-10-18 00:20:50 +02:00
Konrad Pozniak 25a489fe03 Merge pull request #378 from torrentcome/#377
(#377) hide sensitive images after showing them
2017-10-17 09:44:31 +02:00
Konrad Pozniak 1297a35e9b Merge pull request #386 from lenchan139/master
add option: always show all sensitive content without warning
2017-10-17 09:44:19 +02:00
Len Chan c0a5e55f47 add option: always show all sensitive content without warning 2017-09-19 23:19:18 +08:00
torrentcome 87de285fe8 (#377) hide sensitive images after showing them
-The web client overlays a small eye button over sensitive images after they've been shown that re-hides them
2017-08-30 14:22:12 +02:00
Conny Duck 71743890b0 rounded corners for avatar placeholder 2017-08-11 22:41:29 +02:00
Vavassor af1d92c965 Actually form thread lines properly in the thread view. Closes #57 2017-08-03 22:30:37 -04:00
Vavassor cb1e8eaea7 Cleans up the distinction between detailed and normal status view holders. 2017-08-03 17:26:26 -04:00
Vavassor 309c89eefc Makes the main status of a thread appear as a more detailed view. 2017-08-03 00:29:31 -04:00
Vavassor 9381f21e16 Fixes links in statuses not using custom tabs even when the option is enabled (typo). 2017-07-28 11:59:32 -04:00
Vavassor fb173c42b6 Fixes a incompatibility-related crash when the hiding media previews option is selected and the device is API level 19 or under. 2017-07-28 11:54:57 -04:00
Vavassor 3f8378ae3a Fixes a crash when a timeline or thread is backgrounded and brought back with an uninitialized notification or status list. 2017-07-20 21:17:36 -04:00
Vavassor f7d4d20984 Merge branch 'media-preview' of https://github.com/charlag/Tusky into charlag-media-preview 2017-07-16 19:59:17 -04:00
Vavassor 5257ecbfe2 Fixes notifications not setting their visibility. 2017-07-16 19:56:26 -04:00
Ivan Kupalov 08f928a2b2 Improve media browser and video viewer
* show/hide status bar by tapping a photo
* dim and color status bar in video/media viewers
* show/hide status bar in video viewer
* use shared element transition when opening a photo is possible
* center video in VideoView
2017-07-15 18:37:53 +03:00
Vavassor 87600b016f Removes unused icons and does bits of cleanup. 2017-07-14 23:23:14 -04:00
Vavassor d55181ccd0 Adds ability to localize timestamps. 2017-07-14 19:45:26 -04:00
Vavassor 8559a6d75c Corrects number localization and adjusts the padding of the reblog avatars in right-to-left layout direction. 2017-07-14 18:18:29 -04:00
Ivan Kupalov 240fb372ba Add small avatars to boosted toots and to notifications. 2017-07-14 08:06:32 +03:00
Vavassor e6bc28c831 Fixes a small error in pull request #332 where reblog and favourite notifications show your display name for the "reblogged by/favourited by" message instead of whomever did so. 2017-07-13 21:57:15 -04:00
Vavassor fc1a24be11 Resolves merge conflicts and makes NotificationAdapter no longer implement AdapterItemRemover 2017-07-13 21:31:31 -04:00
Vavassor 5754a3a177 Fixes bug where the order of notifications could be jumbled when removing duplicates using a HashSet. 2017-07-13 20:17:50 -04:00
Ivan Kupalov 90c1a83ba4 Preserve status states on updates. UI layer refactoring.
Some things were pulled out of adapters to fragments. New classes were introduced - StatusViewData and NotificationViewData. They not only have view state in them but also help decoupling.
Because introducing parallel model list requires a lot of synchronisation PairedList was added.
Also synchronisation between fragments and adapters is quiet tedious and error-prone and should be replaces with better solution.
Oh, I also couldn’t resist and fixed bug with buttons animation in the same commit.
2017-07-13 22:18:08 +03:00
Vavassor 14d02e72b7 Adds envelope icon indicator to direct messages on timelines, so they can be differentiated from private statuses. 2017-07-08 15:44:08 -04:00
torrentcome b6d4b388a5 Merge branch 'master' into #142/SaveToots
# Conflicts:
#	app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java
2017-07-07 13:28:31 +02:00
torrentcome 42d94633cf (ui) fix bug that when we comeback from the Composer , there is no update of the view 2017-07-07 12:32:04 +02:00
torrentcome 87c1edb3d4 (medias) try to add medias 2017-07-05 16:36:14 +02:00
Vavassor b52bf2d158 Merge branch 'boost-actions' of https://github.com/charlag/Tusky into charlag-boost-actions 2017-07-04 17:31:49 -04:00
Vavassor 17df70d166 Possible fix for unnecessary thread post reloading (issue #327). 2017-07-02 16:41:33 -04:00
Ivan Kupalov 0f15509345 Add boost click handling 2017-07-02 09:55:20 +03:00
Vavassor afa21f5a5c Makes end of list footers have zero height. 2017-07-01 23:23:42 -04:00
Vavassor 6b0ae5be95 Fixes the same typo in 3 places. 2017-06-30 19:49:10 -04:00
Vavassor 275cd51a6d Adds correct footer behaviour to account lists and unifies it with how timelines use them. 2017-06-30 18:30:25 -04:00
Vavassor 3955649b9c Moves loading of accounts, notifications, and statuses to use link headers. Also remedies an issue where duplicate calls for the same chunk of items in a list can occur. 2017-06-30 02:31:58 -04:00
torrentcome 946f58439c (saved_toot) add part of saved toot activity 2017-06-29 17:55:39 +02:00
Vavassor 3f3ccfca55 Adds an icon to video and gifv media previews to indicate they can be played. The icon is a circled triangle (play button). Closes #319 2017-06-26 19:04:05 -04:00
Vavassor 3f54ead962 Adds option to hide media previews if reduced data usage is desired Closes #56. 2017-06-26 05:15:47 -04:00
Vavassor e3745ebd6b Adds ability to page between multiple images in a status by swiping from left to right. Closes #66 2017-06-25 01:07:41 -04:00
Vavassor b1aa05694e Removes ButterKnife annotations. 2017-06-22 14:59:12 -04:00
Vavassor 8b4e377d34 Fixes a bug where mentioning users of the same username links them all to the same profile. Closes #312
Also, removes the title on the search page and fixes an intermittent crash on thread pages when elements load in a paritcular order.
2017-06-20 18:41:57 -04:00
Vavassor 401dd62af7 Search page fully functional for accounts and hashtags. Closes #44 2017-06-19 15:47:53 -04:00
Vavassor 289e2fbbe1 Adds a prototype search page. The previous search bar is not yet removed. 2017-06-19 04:18:39 -04:00
Vavassor 9c56f0e7bc Broadcasts now used everywhere for signalling to remove accounts' posts instead of listeners. 2017-06-06 17:15:29 -04:00
torrentcome 0a6a2e44c2 (view) create package view 2017-05-15 12:07:01 +02:00
Vavassor 66bac21236 fixes merge conflicts 2017-05-11 18:58:38 -04:00
Vavassor 7f934e4f26 Resolves merge conflicts 2017-05-07 17:58:56 -04:00
Vavassor aa2394748c Reorganizes the whole codebase. 2017-05-04 18:55:35 -04:00