Commit graph

225 commits

Author SHA1 Message Date
Konrad Pozniak
8a9d62e654
Merge pull request #1610 from tuskyapp/improve_scheduled_toot
Improve ScheduledTootActivity
2019-12-31 15:00:23 +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
Konrad Pozniak
b66faab71c add empty screen message 2019-12-30 21:01:38 +01:00
Ivan Kupalov
8770fbe986 ComposeActivity refactor (#1541)
* Convert ComposeActivity to Kotlin

* More ComposeActivity cleanups

* Move ComposeActivity to it's own package

* Remove ComposeActivity.IntentBuilder

* Re-do part of the media downsizing/uploading

* Add sending of status to ViewModel, draft media descriptions

* Allow uploading video, update description after uploading

* Enable camera, enable upload cancelling

* Cleanup of ComposeActivity

* Extract CaptionDialog, extract ComposeActivity methods

* Fix handling of redrafted media

* Add initial state and media uploading out of Activity

* Change ComposeOptions.mentionedUsernames to be Set rather than List

We probably don't want repeated usernames when we are writing a post
and Set provides such guarantee for free plus it tells it to the
callers. The only disadvantage is lack of order but it shouldn't be a
problem.

* Add combineOptionalLiveData. Add docs.

It it useful for nullable LiveData's. I think we cannot differentiate
between value not being set and value being null so I just added the
variant without null check.

* Add poll support to Compose.

* cleanup code

* move more classes into compose package

* cleanup code

* fix button behavior

* add error handling for media upload

* add caching for instance data again

* merge develop

* fix scheduled toots

* delete unused string

* cleanup ComposeActivity

* fix restoring media from drafts

* make media upload code a little bit clearer

* cleanup autocomplete search code

* avoid duplicate object creation in SavedTootActivity

* perf: avoid unnecessary work when initializing ComposeActivity

* add license header to new files

* use small toot button on bigger displays

* fix ComposeActivityTest

* fix bad merge

* use Singles.zip instead of Single.zip
2019-12-19 19:09:40 +01:00
kyori19
d6ae071a09 List tabs (#1570)
* List tabs

* Add comment

* Move decoder part to TabData.createTabDataFromId

* Fix drawable tint

* Use dedicated view for list picker

* Error log

* Fix logging

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

* Fix tint color

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

* Fix missing import

* Move encoding part too

* Fix comment

* Fix decoder

* Revert "Fix decoder"

This reverts commit fdc45aac9c113348f8740e6692d2d8e9ace14f7f.

* Revert "Fix comment"

This reverts commit 704b4e6d2e5545d5f2d20c9bc6bc276d6257d119.

* Revert "Move encoding part too"

This reverts commit 32e77346ff98ae1133e76ab6dfd880b26171005e.

* Revert "Move decoder part to TabData.createTabDataFromId"

This reverts commit d1cd2070ab564d2e33874225272a71f0904d681e.
2019-12-02 16:53:24 +01: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
Danial Behzadi
ecb4494278 set title_tag as non-translatable (#1551)
* set title_tag as non-translatable

* add title_tag to donottranslate.xml and remove from strings.xml
2019-11-08 17:46:40 +01:00
Konrad Pozniak
83ced20e4a
add build customization options (#1532) 2019-10-29 20:30:46 +01:00
Levi Bard
44bb1999af When opening a post via "Open As", if post lookup from the target instance fails, display an error instead of opening the post in the browser. (#1531)
Addresses #1526
2019-10-11 17:51:47 +02: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
kyori19
9e4c19a47e Scheduled toot (#1004)
* Scheduled toot

* Hide scheduled toot button if version < 2.7.0

* Fix timeline reloading after toot

* Add edit icon to ComposeScheduleView

* Add button to reset scheduled toot

* Close bottom sheet and change button color after time a was selected

* Fix edit icon's size

* List of scheduled toots

* Fix instance version check

* Use MaterialDatePicker

* Set date and time consecutively

* Add licenses
2019-10-02 21:28:12 +02:00
Konrad Pozniak
51c6852492
Create polls (#1452)
* add AddPollDialog

* add support for pleroma poll options

* add PollPreviewView

* add Poll support to drafts

* add license header, cleanup

* rename drawable files to correct size

* fix tests

* fix bug with Poll having wrong duration after delete&redraft

* add input validation

* grey out poll button when its disabled

* code cleanup & small improvements
2019-08-22 20:30:08 +02:00
Konrad Pozniak
d13a341a35
enable reporting users without statuses (#1445) 2019-08-17 09:08:58 +02:00
Konrad Pozniak
8834c22120
add option to always expand content warnings (#1422) 2019-07-28 19:59:52 +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
39a59f4ade
add support for american/british english translations (#1358)
* add support for american/british english distinction

* Update strings.xml

Just one additional change - anonymize (US) to anonymise (UK)

* change english language names

* add missing translation string
2019-07-02 10:56:05 +02:00
Konrad Pozniak
3a81559c95 fix strings 2019-06-29 08:34:58 +02:00
Konrad Pozniak
707f3e605c
fix build warnings (#1331) 2019-06-24 22:15:31 +02:00
Levi Bard
46efdf7830 Add the 'whole word' setting to the filter preferences UI (#1278) 2019-06-24 10:11:25 +02:00
pandasoft0
ce501f24e6 Add setting to show/hide notification filter bar (#1314)
* Add setting to show/hide notification filter bar tuskyapp/Tusky#1306

* Remove not required requestLayout

* Fix notifications reload issue
2019-06-11 16:41:15 +02:00
Levi Bard
a6819ce28e Implement instance mutes (#1311)
* Implement instance mutes. #1143

* Move new classes to instancemute component

* Add progress bar while instance list loads

* Add undo snackbar for instance unmuting

* Update display text for instance mutes
2019-06-11 15:56:27 +02:00
pandasoft0
c335651b6b Redesign report activity (#1295)
* Report activity core

* Implement navigation

* Implement navigation

* Update strings

* Revert manifest formatting

* Implement Done page

* Add landscape layout

* Implement Note fragment

* Create component

* Implement simple status adapter

* Format code

* Add date/time to report statuses

* Refactor status view holder

* Refactor code

* Refactor ViewPager

* Replace MaterialButton with Button

* Remove unneeded string

* Update Text and Check views style

* Remove old ReportActivity and rename Report2Activity to ReportActivity

* Hide "report to remote instance" checkbox for local accounts

* Add account, hashtag and links click handler

* Add media preview

* Add sensitive content support

* Add status expand/collapse support

* Update adapter to user adapterPosition instead of stored status

* Updated checked change handling

* Add polls support to report screen

* Add copyright

* Set buttonTint at CheckBox

* Exclude reblogs from statuses for reports

* Change final page check mark size

* Update report note screen

* Fix typos

* Remove unused params from api endpoint

* Replace .visibility with show()/hide()

* Replace Date().time with System.currentTime...

* Add line spacing

* Fix close button tint issue

* Updated status adapter
2019-06-09 16:55:34 +02:00
Constantin A
f7581daa75 2019 Emoji Update (#1261)
* Updated EmojiCompat support:
- Fonts are now updatable
  - Old fonts will automatically be deleted
- Noto Emoji is supported
- New library version

* It will now (hopefully) only look through the emoji font directory if it exists...

* Added a noto emoji icon for Android <=6;
Font files and their version relation are only loaded once now.

* Small bugfix for the noto emoji icon

* Changed the initial size of the existingFontFiles list to a constant value

* Bugfixes
Old files are now (really) deleted
The latest version is used as the actuall font
Further optimizations

* Emoji font update triggers restart dialog

* Resized the Noto icon;
(Hopefully) fixed EmojiCompat (again)
2019-06-06 21:51:56 +02:00
Konrad Pozniak
a956061cbf
cleanup unused resources (#1300) 2019-06-02 22:02:03 +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
pandasoft0
5c61786e05 Add correct Content Description for the preview images at the Compose screen (#1188)
* Add correct Content Description for the preview images at the Compose screen. tuskyapp#1155

* Remove "unknown" string from resource. Format code

* Format code

* Update string resource for content description
2019-05-09 20:25:44 +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
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
53696f752a
Fix translations (#1223)
* flatten string arrays

* delete empty ko translations

* delete crowdin comments

* fix warning in czech translation

* delete untranslated strings
2019-04-29 20:17:50 +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
kyori19
60d6927af6 Implement redraft feature. (#1190)
* Implement "Delete and Edit" feature

* Some changes to ComposeActivity

Support for uploaded medias, sensitive option.

Fix typo.

Change names of some extra keys.

* Use Glide instead of Picasso

* Pass ArrayList instead of json

* Change wording for re-draft

* Fix test
2019-04-21 15:16:39 +02:00
Bernd
84f561af17 confirm delete notifications (#1186)
* confirm delete notificaitons

* Use same strings as website

* Cleanup
2019-04-12 00:13:06 +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
pandasoft0
63e4c1d4e0 Add CLEAR and FILTER buttons to notifications (#1168)
* Issue tuskyapp#762 add clear notifications button to the top of the Notifications adapter

* Issue tuskyapp#764 add the notifications filter

* Update notifications top bar buttons

* Replace PopupMenu with PopupWindow. Save notifications filter to the account table

* Disable hide top bar on empty content at the notification screen

* Add app bar behavior to the sw640 notification layout

* Fix issue with click on top notification tab
2019-04-09 19:13:54 +02:00
Konrad Pozniak
16175ccb43
add shortcut to ComposeActivity (#1147) 2019-03-30 15:19:02 +01:00
Conny Duck
f39da46a21 fix string related warnings 2019-03-24 19:37:00 +01:00
Konrad Pozniak
0c48dcf06c
add hashtag tabs (#1145)
* add hashtag tabs

* address review feedback
2019-03-24 08:59:55 +01:00
Levi Bard
205f3771d4 Add option to download all media for a toot with one tap. (#1121)
Addresses #966
2019-03-23 12:49:36 +01:00
Levi Bard
5135daad2c Share filters with web client (#956)
* First step toward synchronized content filters

* Add simple filter management UI

* Remove old regex filter UI

* More cleanup

* Escape filter phrases when applying them via regex

* Apply code review feedback

* Fix live timeline update when filters change
2019-03-20 19:25:26 +01:00
Konrad Pozniak
463b008090
change project website url (#1128) 2019-03-18 15:47:02 +01:00
Ivan Kupalov
520e0d6e7a List editing (#1104)
* List editing groundwork

* Add ability to add/remove accounts from list, delete lists

* Rename list, improve lists UI

* Add error handling, extract strings

* Revert gradle.properties

* Apply feedback suggestions

* Apply feedback

* Update license header
2019-03-16 13:36:16 +01:00
Mélanie Chauvel (ariasuni)
bac131c6d5 Add support for language switching (#1108)
* Add support for language switching

* Clean and improve code based on feedback

* Remove useless logging
2019-03-08 20:33:42 +01:00
Bernd
507ffb1b41 Add new Theme "Use System Design" + fixes to night mode (#1069)
* Add theme system

A theme which follows system design.
See: https://www.xda-developers.com/samsung-galaxy-s9-update-night-mode-schedule/

* update

to be in line with https://github.com/tuskyapp/Tusky/pull/1060/files

* Update ThemeUtils.java

* update

* Cleanup

* Update Deps

* Cleanup

* Update PreferencesActivity.kt

* Workaround to make MODE_NIGHT_FOLLOW_SYSTEM work

* Update ThemeUtils.java

* Use ThemeUtils.THEME_SYSTEM

* Update SplashActivity.kt

* Update strings.xml

* Update Deps

* Update build.gradle

* Update build.gradle

* fix tests
2019-03-07 21:33:29 +01:00
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
Konrad Pozniak
64748bf36f change "show media previews" wording to "download media previews"
closes #1077
2019-03-04 10:09:21 +01:00
Conny Duck
f4ac9b3da6 make max tabs reached message translateable 2019-02-15 21:35:14 +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
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