Commit Graph

354 Commits

Author SHA1 Message Date
Konrad Pozniak 3e8c6a318a
introduce KotlinResultCallAdapter for nice suspending network calls (#2415)
* introduce KotlinResultCallAdapter for nice suspending network calls

* fix tests
2022-04-14 19:49:49 +02:00
Conny Duck 0c840a706d Release 89 2022-04-14 19:07:17 +02:00
Konrad Pozniak d4eeef99d0
upgrade splashscreen library to 1.0.0-beta02 (#2416) 2022-04-04 10:10:23 +02:00
Conny Duck 71739ba87f Release 88 2022-03-28 19:28:38 +02:00
Konrad Pozniak 2017d0b13b
update glide animation plugin to 2.20.0 (#2401) 2022-03-23 19:14:41 +01:00
Konrad Pozniak 6e4a9fb0e6
upgrade glide animation plugin to 2.18.0 (#2387) 2022-03-15 19:37:29 +01:00
Konrad Pozniak 38eded4efb
update dependencies (#2381) 2022-03-13 16:08:27 +01:00
Konrad Pozniak 55513e8e2b
Android 12 support, update AndroidX libraries (#2367)
* Android 12 support, update AndroidX libraries

* fix ktlint

* add Android 12 splash screen support

* fix comments in MainActivity

* remove deprecated Intent.ACTION_CLOSE_SYSTEM_DIALOGS

* delete TimelineViewModelTest

* fix notifications on Android 12

* improve splash screen

* handle pending intent flags in a dedicated function
2022-03-09 20:50:23 +01:00
Konrad Pozniak a6335e6bcd
update Android Image Cropper and get rid of deprecated onActivityResult (#2351)
* update Android Image Cropper and get rid of deprecated onActivityResult

* add comment why skipping caches is necessary

* inject application into EditProfileViewModel instead of passing it everytime
2022-03-02 20:39:56 +01:00
Conny Duck fcc9265703 Release 87 2022-02-25 18:42:31 +01:00
Conny Duck 25263b15ca Release 86 2022-02-21 19:46:33 +01:00
Conny Duck b99e421786 Release 85 2022-02-09 20:59:13 +01:00
Conny Duck b21e2256ea Release 84 2022-02-08 19:34:02 +01:00
Konrad Pozniak 1586817c3d
Update gradle, kotlin and other dependencies (#2291)
* update gradle, kotlin and other dependencies

* fix new warnings

* remove unused import

* update Proguard rules

* add explicit dependency on Gson to get the newest version

* remove debug flag from proguard rules again

* fix typo
2022-01-20 21:10:32 +01:00
Konrad Pozniak 643e012b11
Timeline paging (#2238)
* first setup

* network timeline paging / improvements

* rename classes / move to correct package

* remove unused class TimelineAdapter

* some code cleanup

* remove TimelineRepository, put mapper functions in TimelineTypeMappers.kt

* add db migration

* cleanup unused code

* bugfix

* make default timeline settings work again

* fix pinning statuses from timeline

* fix network timeline

* respect account settings in NetworkTimelineRemoteMediator

* respect account settings in NetworkTimelineRemoteMediator

* update license headers

* show error view when an error occurs

* cleanup some todos

* fix db migration

* fix changing mediaPreviewEnabled setting

* fix "load more" button appearing on top of timeline

* fix filtering and other bugs

* cleanup cache after 14 days

* fix TimelineDAOTest

* fix code formatting

* add NetworkTimeline unit tests

* add CachedTimeline unit tests

* fix code formatting

* move TimelineDaoTest to unit tests

* implement removeAllByInstance for CachedTimelineViewModel

* fix code formatting

* fix bug in TimelineDao.deleteAllFromInstance

* improve loading more statuses in NetworkTimelineViewModel

* improve loading more statuses in NetworkTimelineViewModel

* fix bug where empty state was shown too soon

* reload top of cached timeline on app start

* improve CachedTimelineRemoteMediator and Tests

* improve cached timeline tests

* fix some more todos

* implement TimelineFragment.removeItem

* fix ListStatusAccessibilityDelegate

* fix crash in NetworkTimelineViewModel.loadMore

* fix default state of collapsible statuses

* fix default state of collapsible statuses -tests

* fix showing/hiding media in the timeline

* get rid of some not-null assertion operators in TimelineTypeMappers

* fix tests

* error handling in CachedTimelineViewModel.loadMore

* keep local status state when refreshing cached statuses

* keep local status state when refreshing network timeline statuses

* show placeholder loading state in cached timeline

* better comments, some code cleanup

* add TimelineViewModelTest, improve code, fix bug

* fix ktlint

* fix voting in boosted polls

* code improvement
2022-01-11 19:00:29 +01:00
Konrad Pozniak d1d564a7e2
support animated PNGs and WEBPs (#2244) 2021-10-09 10:45:41 +02:00
Konrad Pozniak 6d4f5ad027
migrate to paging 3 (#2182)
* migrate conversations and search to paging 3

* delete SearchRepository

* remove unneeded executor from search

* fix bugs in conversations

* update license headers

* fix conversations refreshing

* fix search refresh indicators

* show fullscreen loading while conversations are empty

* search bugfixes

* error handling

* error handling

* remove mastodon bug workaround

* update ConversationsFragment

* fix conversations more menu and deleting conversations

* delete unused class

* catch exceptions in ConversationsViewModel

* fix bug where items are not diffed correctly / cleanup code

* fix search progressbar display conditions
2021-06-17 18:54:56 +02:00
Konrad Pozniak e84dec29b2
update dependencies (#2198) 2021-06-14 11:00:25 +02:00
Ivan Kupalov 44a5b42cac
Timeline refactor (#2175)
* Move Timeline files into their own package

* Introduce TimelineViewModel, add coroutines

* Simplify StatusViewData

* Handle timeilne fetch errors

* Rework filters, fix ViewThreadFragment

* Fix NotificationsFragment

* Simplify Notifications and Thread, handle pin

* Redo loading in TimelineViewModel

* Improve error handling in TimelineViewModel

* Rewrite actions in TimelineViewModel

* Apply feedback after timeline factoring review

* Handle initial failure in timeline correctly
2021-06-11 20:15:40 +02:00
Konrad Pozniak 3301643c1d
update to SDK 30 and fix deprecations (#2173)
* update to SDk 30 and fix deprecations

* remove unnecessary .run

* revert ViewMediaActivity change
2021-06-01 19:46:07 +02:00
Conny Duck 3091db8c27 Merge branch 'main' into develop 2021-05-31 14:25:40 +02:00
Conny Duck a85568abdf Release 83 2021-05-31 14:25:19 +02:00
Konrad Pozniak 8b56e9bc27
update Glide to 4.12.0 (#2169) 2021-05-22 18:41:28 +02:00
Konrad Pozniak ca5c455881
update AndroidX, use ActivityResultContracts (#2170)
* update AndroidX, use ActivityResultContracts

* make allowMultiple setable in PickMediaFiles

* add license headers to PickMediaFiles
2021-05-22 17:50:08 +02:00
Konrad Pozniak d2cdaae129
update okhttp to 4.9.1 (#2168) 2021-05-22 17:48:17 +02:00
Konrad Pozniak a1dfbee669
update dagger to 2.35.1 (#2167) 2021-05-22 17:48:00 +02:00
Konrad Pozniak 387e62ea4b
get rid of jcenter (#2163)
* get rid of jcenter

* fix BottomSheetActivityTest

* update Android Image Cropper license
2021-05-21 17:51:47 +02:00
Konrad Pozniak 751109ac39
upgrade kotlin to 1.5.0 (#2162)
* upgrade kotlin to 1.5.0

* don't explicitly set kotlin jvmtarget
2021-05-21 17:51:35 +02:00
Konrad Pozniak 3af8874b87
upgrade android gradle plugin to 4.2.1 (#2160)
* upgrade android gradle plugin to 4.2.1

* upgrade android gradle plugin to 4.2.1
2021-05-19 07:40:45 +02:00
Konrad Pozniak 40b24cd242
migrate to RxJava3 (#2146)
* migrate to RxJava3

* remove unused import
2021-05-16 19:53:27 +02:00
Conny Duck cb3840c699 Release 82 2021-05-16 18:53:34 +02:00
Conny Duck 8eeb6b5f2a Release 81 2021-05-04 19:36:51 +02:00
Konrad Pozniak bcc852c521
update Room to 2.3.0 (#2138)
and use the new ProvidedTypeConverter
2021-04-24 18:31:16 +02:00
Konrad Pozniak b195b42c46
remove okhttp-tls dependency (#2132) 2021-04-11 12:57:40 +02:00
Konrad Pozniak dee6a3a160
always show follow requests in main menu (#1809)
* always show follow requests in main menu

* update recyclerview to v1.2.0

* fix bug that shows follow requests info to wrong users
2021-04-10 20:30:44 +02:00
Konrad Pozniak f293670c14
migrating to ViewBinding part 6: the final cleanup (#2117) 2021-03-21 12:42:28 +01:00
Konrad Pozniak bea5098cc1
migrating to ViewBinding part 4: Fragments (#2108)
* migrating to ViewBinding part 4: Fragment

* fix imports

* don't use viewBinding extension in ViewImage and ViewVideoFragment

* don't use viewBinding extension in ViewImage and ViewVideoFragment
2021-03-13 21:27:20 +01:00
Konrad Pozniak 13392258f6
upgrade Material Design lib and use their new time picker (#2077) 2021-02-23 20:29:02 +01:00
Conny Duck 09317d9235 Release 80 2021-02-23 19:19:52 +01:00
Conny Duck 8c13673662 Release 79 2021-02-09 19:46:35 +01:00
Konrad Pozniak 940d6d395a
Drafts v2 (#2032)
* cleanup warnings, reorganize some code

* move ComposeAutoCompleteAdapter to compose package

* composeOptions doesn't need to be a class member

* add DraftsActivity and DraftsViewModel

* drafts

* remove unnecessary Unit in ComposeViewModel

* add schema/25.json

* fix db migration

* drafts

* cleanup code

* fix compose activity rotation bug

* fix media descriptions getting lost when restoring a draft

* improve deleting drafts

* fix ComposeActivityTest

* improve draft layout for almost empty drafts

* reformat code

* show toast when opening reply to deleted toot

* improve item_draft layout
2021-01-21 18:57:09 +01:00
Konrad Pozniak a917e0dad8 Release 78 2020-12-20 19:00:43 +01:00
Konrad Pozniak 0708b6a7bb
update dependencies (#2017) 2020-12-13 16:31:32 +01:00
Konrad Pozniak 5db3bb3779
Workaround for old Androids not connecting to new Let's Encrypt hosts (#2014)
* Rename .java to .kt

* convert OkHttpUtils to Kotlin

* trust new letsencrypt root cert

* cleanup OkHttpUtils

* add link to lets encrypt cert to OkHttpUtils
2020-12-13 16:31:12 +01:00
Conny Duck dd7804f458 Release 77 2020-12-04 19:27:37 +01:00
Konrad Pozniak 3558d441a4
better distinction between green and blue build flavors (#1997) 2020-11-28 17:34:21 +01:00
Conny Duck 8ec804f84e Release 76 2020-11-25 20:14:53 +01:00
Konrad Pozniak 34fb546200
upgrade dependencies (#1990)
* upgrade dependencies

* fix tests
2020-11-22 19:02:54 +01:00
Conny Duck 0229be84a0 upgrade material drawer 2020-11-18 20:27:09 +01:00
Konrad Pozniak 53bd081802
use MaterialContainerTransform for ActionButton animation (#1961)
* use MaterialContainerTransform for ActionButton animation

* fix back button in TabPreferenceActivity
2020-10-19 14:57:55 +02:00
Konrad Pozniak e572e653ee
upgrade gradle and android gradle plugin (#1957) 2020-10-19 14:47:40 +02:00
Konrad Pozniak a6673a6eb2
simplify timeline cleanup (#1932)
* simplify timeline cleanup

* fix test
2020-09-14 07:52:54 +02:00
Konrad Pozniak a79fea86fb Release 75 2020-08-22 18:11:57 +02:00
Konrad Pozniak 84de062c03
update dependencies (#1886)
* update dependencies

* update AGP
2020-08-17 21:30:56 +02:00
Konrad Pozniak a4551a764d Release 74 2020-08-12 21:05:39 +02:00
Konrad Pozniak 6c382aa5da Release 73 2020-08-02 11:26:03 +02:00
Konrad Pozniak 467c33aacb
upgrade SwipeRefreshLayout to 1.1.0 (#1866) 2020-07-28 10:38:28 +02:00
Ivan Kupalov f37a589dce
Roll back image viewer but retain swiping fix (#1863)
This fixes crashes with images which were too wide (aspect ratio wise).
2020-07-27 10:42:39 +02:00
Ivan Kupalov 58a1046348
Improve image viewer (#1843)
This commit does 3 things:
1. Replaces PhotoView (which is abandonware) with modern TouchImageView
2. Fixes an issue with panning images. Gesture was not intercepted
properly and pager was taking control instead of image being moved.
3. Adds feedback to dismissing of images with vertical gesture.
2020-06-22 21:26:37 +02:00
Konrad Pozniak b5bf78a19e
upgrade gradle wrapper, materialdrawer and AndroidX fragment (#1837) 2020-06-21 18:27:07 +02:00
Conny Duck 8f2514dbe0 downgrade dagger to get rid of READ_PHONE_STATE permission
https://github.com/google/dagger/issues/1864
2020-06-04 23:07:06 +02:00
Konrad Pozniak df5490b5b9
upgrade gradle, AGP and dependencies (#1818)
* upgrade gradle, AGP and dependencies

* fix new layout related warnings
2020-06-04 20:16:48 +02:00
Konrad Pozniak b280e25727
use AndroidX WorkManager instead of Evernote Android Job (#1783)
* use AndroidX WorkManager instead of Evernote Android Job

* move notification related classes to their own package

* fix missing import
2020-05-12 18:46:49 +02:00
Conny Duck 3aadec4cfc Release 72/v11.0 2020-05-08 18:44:39 +02:00
Conny Duck 62e7bb5889 Release 71 2020-04-29 18:35:20 +02:00
Konrad Pozniak 9bb86dfe8f upgrade deps 2020-04-28 17:02:40 +02: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
Konrad Pozniak c80fa68dbe
upgrade dependencies, fix some warnings (#1747)
* upgrade dependencies, fix some warnings

* fix tests
2020-04-06 11:46:38 +02:00
Ivan Kupalov 67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Konrad Pozniak d9c802982e
Upgrade deps (#1708)
* upgrade Dagger

* upgrade AndroidX Lifecycle

* upgrade AndroidX Fragment

* upgrade Room, Retrofit, AndroidX core, Material components

* fix report fragments not sharing viewmodels
2020-02-25 19:49:41 +01:00
Conny Duck 218046fd27 Release 70 / 10.0 2020-02-25 19:00:21 +01:00
Ivan Kupalov 5a5bbca171
Fix emoji download (#1691)
* Update OkHttp to 4.3.1

* Fix downloading emoji fonts

OkHttp strips away content length info when compression is used.
Even though this behavior is old, we didn't observe it until OkHttp was
updated in d3ebcc14ec.

We get it from the original network response header. It should be
compressed length.

* Reformat EmojiCompatFont and EmojiPreference
2020-02-17 16:23:34 +01:00
Conny Duck 6be8d873e7 put androidExtensions experimental=true back in to fix crash 2020-02-12 21:53:16 +01:00
Conny Duck 6f8e8a6d5c Release 69 / 10.0 beta 1 2020-02-10 16:50:35 +01:00
Frieder Bluemle 9bc000569d
Update espresso-core to 3.2.0 2020-02-01 11:14:31 -08:00
Konrad Pozniak 415b526885
fix in app language switching (#1659) 2020-01-30 21:05:24 +01:00
Konrad Pozniak e67d608bb8
upgrade dependencies (#1596) 2019-12-20 21:31:41 +01:00
Konrad Pozniak 516546a3bf
upgrade androidx.browser to 1.2.0 (#1595) 2019-12-20 20:08:02 +01:00
Konrad Pozniak 60b9a9c40b
upgrade SparkButton to 3.0.0 (#1594) 2019-12-20 19:52:36 +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
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
Konrad Pozniak d3ebcc14ec
update deps, cleanup build file (#1546) 2019-11-06 20:48:58 +01:00
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 83ced20e4a
add build customization options (#1532) 2019-10-29 20:30:46 +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 3c3273455c
upgrade dependencies (#1535)
* upgrade dependencies

* enable incremental annotation processing for room
2019-10-14 09:56:00 +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
Konrad Pozniak 2dad358c96
upgrade appcompat, fix nightmode (#1455)
* upgrade appcompat, fix language switching & nightmode

* cleanup ThemeUtils

* upgrade dependencies

* change active boost icon (#1513)

* upgrade jetifier and android gradle plugin

* fix FilterTest
2019-10-03 19:58:21 +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
Conny Duck a6b9d2f67e Release 68 2019-10-01 18:58:55 +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 fd1fcf3b97
upgrade glide (#1489) 2019-09-21 21:35:51 +02:00
Konrad Pozniak 85843320d1
upgrade dependencies (#1488) 2019-09-21 21:35:36 +02:00
Conny Duck 1d9c937337 Release 67 2019-09-15 09:30:22 +02:00
Conny Duck 6eee3e2738 release 66 2019-09-09 13:39:36 +02:00
Konrad Pozniak 6f50704b7d
revert appcompat upgrade in order to fix in-app-language switching (#1467) 2019-09-03 18:35:22 +02:00
Konrad Pozniak 941cdf198a
upgrade dagger (#1424) 2019-07-28 20:00:19 +02:00
Konrad Pozniak a8d5c7b95a
set SwitchPreferenceCompat titles to multiline (#1421) 2019-07-27 21:51:37 +02:00
Konrad Pozniak d932912616
upgrade dependencies (#1389) 2019-07-16 19:36:04 +02:00