Commit Graph

248 Commits

Author SHA1 Message Date
Konrad Pozniak d2ca776b34
Migrate to ViewPager2 (#1544)
* migrate MainActivty to ViewPager2

* migrate AccountActivty to ViewPager2

* migrate ViewMediaActivty to ViewPager2

* migrate SearchActivity to ViewPager2

* checkin missing AccountPagerAdapter file

* remove unused class ImageViewPager

* replace SparseArray with MutableList
2019-11-06 20:17:53 +01:00
Konrad Pozniak 78b5aa8baf
Upgrade api level to Android 10, implement new sharing api (#1537)
* upgrade api level to Android 10, resolve compile errors

* use androidx.preference.PreferenceManager instead of deprecated platform class

* add hyphenation to important TextViews

*  setBottomSheetCallback -> addBottomSheetCallback

* implement new sharing api

* improve TuskyTileService so it shows account picker when multiple accounts are present

* delete unused AccountChooserService

* fix test

* improve ShareShortcutHelper

* remove debug log statement

* improve image loading fallback behavior in ShareShortcutHelper

* improve behavior on foldable devices
2019-10-22 21:18:20 +02:00
Konrad Pozniak bee10bf375
Refactor theming (#1529)
* fix toolbars

* use toolbar in MainActivity

* update AccountActivity appbar

* update material design library

* remove unneeded tabs styling

* fix black theme
2019-10-12 20:00:29 +02: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
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 fe304b4e83
fix videos not always keeping aspect ratio (#1508) 2019-10-01 18:24:09 +02:00
Konrad Pozniak 1fd6a7cd72
Fix crash in AccountListFragment (#1502) 2019-09-28 12:52:10 +02:00
Konrad Pozniak a9440ea2ab
filter polls (#1496) 2019-09-24 20:33:29 +02:00
Konrad Pozniak 0d465d3bee
remove duplicate request when timeline is empty (#1491) 2019-09-23 17:09:13 +02:00
Konrad Pozniak 546cb4bacc
upgrade autodispose (#1490)
* upgrade autodispose

* set AutoDisposePlugins.setHideProxies to false
2019-09-22 08:19:44 +02:00
Konrad Pozniak 54a0d5406a
Remove search v1 (#1484)
* remove search v1, convert MastodonApi to Kotlin

* format MastodonApi nicely

* use default params in ConversationRepository

* improve code for LoginActivity
2019-09-22 08:18:44 +02:00
Konrad Pozniak de4473b2b3
use singletonList in getChangePayload (#1486) 2019-09-17 18:44:33 +02:00
Konrad Pozniak 871e720ae5
fix audio attachments not opening in some cases (#1473) 2019-09-08 19:35:43 +02:00
Ivan Kupalov 60383e112a Notify thread adapter when sensitive media is shown (#1472) 2019-09-08 10:30:59 +02: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
Konrad Pozniak 04da5f40c7
fix error and content overlapping in NotificationsFragment (#1465) 2019-09-03 18:34:00 +02:00
Konrad Pozniak 42a6b98d4d
use status source for delete and redraft (#1461)
* use status source for delete and redraft

* make delete & redraft work on Pleroma again

* add error handling
2019-08-28 19:54:46 +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
Ivan Kupalov a3fa0647b6 Fix image viewer & transitions (#1448) 2019-08-17 20:05:24 +02:00
Konrad Pozniak d13a341a35
enable reporting users without statuses (#1445) 2019-08-17 09:08:58 +02:00
Ivan Kupalov 9805a985b2 Use cached preview as thumbnail in ViewImageFragment, fix #1267 (#1344)
* Use cached preview as thumbnail in ViewImageFragment, fix #1267

* Use cached preview as thumbnail in ViewImageFragment, fix #1267
2019-08-04 20:22:57 +02:00
Konrad Pozniak 8834c22120
add option to always expand content warnings (#1422) 2019-07-28 19:59:52 +02:00
Konrad Pozniak f975522e63
fix shouldTrimStatus and add tests (#1404) 2019-07-25 12:15:54 +02:00
HellPie 87285ae5bf Transfer SmartLengthInputFilter license to Tusky (#1384)
* Transfer SmartLengthInputFilter in-header license

Transfer license for file "SmartLengthInputFilter.java" from me (Diego Rossi) to Tusky and therefore also change it from the original Apache 2.0 to currently GPLv3. This was a mistake that has been sitting around for way too long.

* Rewrite SmartLengthInputFilter from Java to Kotlin

This has been done by hand, without the custom copy-paste tool.

* Fix bad references in Java files using SmartLengthInputFilter features

* Shorten code in Java classes referencing SmartLengthInputFilter instance

* Refactor SmartLengthInputFilter from class to singleton Kotlin object

* Move hasBadRatio to become a toplevel function

* Patch up all the files affected by SmartLengthInputFilter changes

* Length in SmartLengthInputFilter is const 500, simplify code accordingly

* More meaningful name for toplevel function for checking trimming ability

* Add missing license header
2019-07-19 20:47:30 +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 b1c2fcc157
update timestamps on pull-to-refresh even when no new statuses are fetched (#1393) 2019-07-16 19:51:44 +02:00
Konrad Pozniak 83f9638aaf
fix some lint warnings and Kotlin style issues (#1390) 2019-07-16 19:26:55 +02:00
Konrad Pozniak db369aec75
fix timeline reloading and favs/boosts/polls showing up at wrong pos (#1374) 2019-07-10 06:52:13 +02:00
Levi Bard d4ec0bb101 Apply conversation filters to threads. Addresses #1349 (#1351)
* Apply conversation filters to threads. Addresses #1349

* Cache filters for app lifetime, unless filters are modified locally

* Flush cached filters when changing accounts
2019-07-08 12:57:53 +02:00
Levi Bard c3cae4a603 Fix respecting bot overlay preference in detailed status view. (#1368)
Closes #1364
2019-07-07 14:41:07 +02:00
Konrad Pozniak 56b53c458a
fix vanishing toots bug when refreshing (#1343) 2019-06-24 21:43:14 +02:00
Konrad Pozniak e6d91c1cf3
remove boosted status when the original author was blocked or muted (#1335) 2019-06-22 08:05:24 +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
Konrad Pozniak 2b2212e951
cleanup entity classes and ViewThreadFragment (#1302)
* cleanup entity classes and ViewThreadFragment

* fix tests
2019-06-02 21:23:18 +02:00
Konrad Pozniak d863bc50e4
apply filters to boosted statuses (#1299) 2019-06-02 21:21:56 +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 c8bf07ea77
fix crash in SearchFragment (#1266) 2019-05-18 16:52:48 +02:00
pandasoft0 ae5d8b8633 Account Activity enhancements (#1196)
* use the "follow" button as an "unblock" button on the profiles of blocked users

* use the "follow" button as an "unblock" button on the profiles of blocked users

* add an icon to the profiles that can be clicked to mute/unmute the user

* add an icon to the profiles that can be clicked to mute/unmute the user

* Fix view issues

* Fix view issues

* Implement swipe to refresh for Account layout

* Implement swipe to refresh handler at the account screen

* Implement swipe to refresh

* Correct account refresh

* Show Progress Bar

* Show Progress Bar

* Move "itSelf" check into the viewModel

* Change methods access level

* Change TimelineFragment newInstance overload

* Change avatarSize type to Float

* Replace ImageButton with MaterialButton

* Update account activity swipe to refresh colors

* Refactor code

* Refactor code

* Fix crash on moved account refresh

* Show moved account stats

* Update mute button behaviour

* Show tabs and content for moved accounts

* Fix crash on tablet
2019-05-15 12:43:16 +02:00
pandasoft0 c75b046483 Disable click on preference category items (#1239)
* Disable click on preference category item. tuskyapp#1221

Changed compat preferences widget to AndroidX according to (https://developer.android.com/guide/topics/ui/settings.html)

* Update preference categories clickable
2019-05-09 19:21:22 +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 8f57dddd61
fix poll voting in NotificationFragment (#1234) 2019-05-03 20:42:13 +02:00
Konrad Pozniak 28a76c1a5f
Notification filtering fixes (#1232)
* fix popup menu not shown on Android 5

* use correct no button for notification clearing confirmation dialog
2019-05-03 20:41:55 +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 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 5aa3f958a8
fix downloading media on Android 5 (#1206) 2019-04-21 22:59:49 +02:00
Konrad Pozniak e7afa0362b
add icon for bot indicator preference (#1208) 2019-04-21 22:59:33 +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
Konrad Pozniak ef66deeae7 fix some lint warnings 2019-04-21 08:24:29 +02:00