Commit Graph

345 Commits

Author SHA1 Message Date
Jake Wharton c4d569314f
Remove old opt-in for RequiresOptIn (#3167)
As of Kotlin 1.7 the opt-in feature is now stable and does not need an explicit declaration.

https://kotlinlang.org/docs/whatsnew17.html#stable-opt-in-requirements
2023-01-12 19:41:35 +01:00
Nik Clayton 8eb195cff6
Enable robolectric logging (#3143)
Robolectric normally swallows output from `Log.*` calls in tests and
the code under test. This can make debugging failing tests more
difficult than it needs to be.

Set `robolectric.logging.enabled` to `true` to enable the logs.
2023-01-12 19:10:11 +01:00
Konrad Pozniak 59c24381a3
replace Manifest package with Gradle namespace (#3007) 2022-12-06 20:32:26 +01:00
Konrad Pozniak 564caf4e9d
don't include dependency info in apk (#2995) 2022-12-05 19:13:15 +01:00
Konrad Pozniak b53f097d45 Release 97 2022-11-30 20:01:33 +01:00
Conny Duck 8437fbd605 Release 96 2022-11-25 19:11:54 +01:00
Conny Duck 8ee69df29a Release 95 2022-11-19 19:42:50 +01:00
Eva Tatarka b39cb06748
Navigate to the Follow Requests page from notification (#2757)
* Navigate to the Follow Requests page from notification

Fixes #2655

* Fix lock status
2022-11-07 20:04:07 +01:00
Colin Lee 3fb1173d3f
Introduce Gradle version catalogs for versioning (#2745)
* Introduce Gradle version catalogs for versioning

* Correct some versions for version catalogs
2022-11-04 20:10:26 +01:00
Konrad Pozniak d17a0c43ab
Api 33 support (#2719)
* update to Api 33, fix some deprecations

* fix deprecated serializable/parcelable methods

* ask for notification permission

* fix code formatting

* add back comment in PreferencesActivity
2022-11-04 19:22:38 +01:00
Konrad Pozniak ffe42c992f
update okhttp to 4.10.0 (#2696) 2022-09-13 19:48:20 +02:00
Konrad Pozniak 9beea540de
upgrade glide to 4.13.2 (#2673) 2022-08-16 20:33:19 +02:00
Konrad Pozniak 95191bbb8d
upgrade glide animation plugin to 2.23.0 (#2674) 2022-08-16 20:09:40 +02:00
Konrad Pozniak 19ef80432a
upgrade unified push connector to 2.0.1 (#2672) 2022-08-16 20:08:23 +02:00
Konrad Pozniak 94ae64b52d
upgrade android image cropper to 4.3.1 (#2669) 2022-08-16 20:06:59 +02:00
Konrad Pozniak 46278636f4
upgrade mockito-inline to 4.7.0 (#2668) 2022-08-16 20:06:48 +02:00
Konrad Pozniak 3c7bfb7047
upgrade okhttp to 4.10.0 (#2666) 2022-08-16 20:06:22 +02:00
Konrad Pozniak 30c87e04e2
upgrade dagger to 2.43.2 (#2665) 2022-08-16 20:06:00 +02:00
Levi Bard decd8a0f4b
Upgrade robolectric (#2664)
* Upgrade robolectric to 4.8.1

* Make TimelineDAO cleanup test deterministic
2022-08-15 11:01:17 +02:00
Konrad Pozniak 1c11671f3e
update kotlin coroutines to 1.6.4 (#2648) 2022-08-07 19:36:20 +02:00
Konrad Pozniak 68c9870b19
update AndroidX dependencies (#2641)
* update AndroidX dependencies

* fix ComposeActivityTest
2022-08-07 19:13:59 +02:00
Konrad Pozniak 55796c9a30
update minSdkVersion to 23 (#2638)
closes #2606
2022-08-04 16:48:26 +02:00
Constantin A 25f637f0a8
Set FilemojiCompat to version 3.2.3 (#2611) 2022-07-25 12:36:35 +02:00
Conny Duck 3ae18fd923 Release 94 2022-07-11 18:41:21 +02:00
Conny Duck 3a4a7d8701 Release 93 2022-07-05 18:30:57 +02:00
Konrad Pozniak 86403ac6dc
add test for InstanceSwitchAuthInterceptor and convert it to Kotlin (#2596)
* add test for InstanceSwitchAuthInterceptor

* improve InstanceSwitchAuthInterceptorTest

* Rename .java to .kt

* convert InstanceSwitchAuthInterceptor to Kotlin

* fix ktlint issues

* improve InstanceSwitchAuthInterceptorTest

* improve InstanceSwitchAuthInterceptorTest
2022-06-30 21:25:44 +02:00
Conny Duck 0375aa1d18 release 92 2022-06-20 17:05:22 +02:00
Konrad Pozniak e1c8461423
replace kotlin-result-calladapter with networkresult-calladapter (#2569)
* replace kotlin-result-calladapter with networkresult-calladapter

* fix tests
2022-05-30 20:03:40 +02:00
Konrad Pozniak 579f0eb833
update android animation glide plugin to 2.22.0 (#2557) 2022-05-29 19:21:44 +02:00
Constantin A 9139e7bbf1
Set FilemojiCompat to version 3.2.2 (#2553) 2022-05-25 20:55:00 +02:00
mcclure 00c139190e
Ability to crop images attached to posts (#2531)
* First attachment crop attempt: Can crop in place, but does not delete/replace on server so has no effect

* Attachment crop feature works

* ktlint fixes on attachment crop patch

* Upgrade Android-Image-Cropper to 4.2.1

* An error message should be displayed if attachment cropping fails and it is not because the user intentionally cancelled.

* Remove 2 of the 3 "state passing" variables by using MediaUtils

* Cropper should use content uri (MIME type bearing) and setOutputCompressFormat so that PNGs reach the server safely.

* Change to crop requested by Conny: Store inflight cropImageItemOld in view model

* Change to crop requested by Conny: Sort cropImage with the other contracts

* ktlint fixes on attachment crop patch (again)
2022-05-22 21:01:14 +02:00
Konrad Pozniak bdd94d43c5
update android material to 1.6.0 (#2524) 2022-05-17 19:56:12 +02:00
Konrad Pozniak 7a5175c266
update dagger to 2.42 (#2523) 2022-05-17 19:55:58 +02:00
Peter Cai 9ec5d6e3b0
Push notifications support via UnifiedPush (#2303)
Fixes #793.

This is an implementation for push notifications based on UnifiedPush
for Tusky. No push gateway (other than UP itself) is needed, since
UnifiedPush is simple enough such that it can act as a catch-all
endpoint for WebPush messages. When a UnifiedPush distributor is present
on-device, we will by default register Tusky as a receiver; if no
UnifiedPush distributor is available, then pull notifications are used
as a fallback mechanism.

Because WebPush messages are encrypted, and Mastodon does not send the
keys and IV needed for decryption in the request body, for now the push
handler simply acts as a trigger for the pre-existing NotificationWorker
which is also used for pull notifications. Nevertheless, I have
implemented proper key generation and storage, just in case we would
like to implement full decryption support in the future when Mastodon
upgrades to the latest WebPush encryption scheme that includes all
information in the request body.

For users with existing accounts, push notifications will not be enabled
until all of the accounts have been re-logged in to grant the new push
OAuth scope. A small prompt will be shown (until dismissed) as a
Snackbar to explain to the user about this, and an option is added in
Account Preferences to facilitate re-login without deleting local drafts
and cache.
2022-05-17 19:32:09 +02:00
Conny Duck 20f3ec921f Release 91 2022-05-17 19:24:17 +02:00
mcclure 4159826f26
Allow build on systems without git (#2514)
Set git revision to "unknown" if git not available.
2022-05-11 17:16:51 +02:00
Conny Duck 7db504775c Release 90 2022-05-10 20:00:53 +02:00
Constantin A f15b3e61bb
New emoji picker (#2395)
* Update to Emoji2

* Hopefully fix the emoji picker preference

* Switch to released Filemojicompat version

* Filemojicompat version as an own var

* Remove an unused import

* Small cleanup

* Correct onDisplayPreferenceDialog; test TuskyApplication

* Use TextViews instead of EmojiTextViews

* Recreate the Main Activity if the emoji pack is updated

* Enable coreLibraryDesugaring (for Java Streams); update Filemojicompat, downgrade Emoji2

* Update emoji font versions to 14

* Use FilemojiCompat 3.2.0-beta01

* Make ktLint happy again

* Remove coreLibraryDesugaring and a FIXME

* Use EmojiPickerPreference.get()

* Disable emoji pack import

* Update FilemojiCompat to Beta 2

* Update FilemojiCompat to Beta 3

* Update FilemojiCompat to Beta 3.2.0 final

* Update FilemojiCompat to 3.2.1
2022-04-26 18:50:58 +02:00
Konrad Pozniak d2bfceae7b
refactor compose & announcements to coroutines (#2446)
* refactor compose & announcements to coroutines

* fix code formatting

* add javadoc to InstanceInfoRepository

* fix comments in ImageDownsizer

* remove unused Either extensions

* add explicit return type for InstanceInfoRepository.getEmojis

* make ComposeViewModel.pickMedia return Result

* cleanup code in ImageDownsizer
2022-04-21 18:46:21 +02:00
Konrad Pozniak f2fc87a79e
upgrade Kotlin and Coroutines (#2434) 2022-04-16 09:44:37 +02:00
Konrad Pozniak ffbc4b6403
upgrade Kotlin Result CallAdapter to v1.0.1 to fix crash (#2433) 2022-04-15 11:00:36 +02:00
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