Commit Graph

233 Commits

Author SHA1 Message Date
Bernd 0db1a23c4f Update Deps + Cleanup (#1158)
* Fix Typo

* Update build.gradle

* Update Deps

* Update Tests

* Fixes Tests

Without this some tests fail on my PC...

+ also:
"Put this in your gradle.properties:

android.enableUnitTestBinaryResources=true"
from http://robolectric.org/migrating/#project-configuration

* Make everything private

* Fix Warning

* Update TimelineFragment.java

* Update build.gradle

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Fix Compile Errors

e.g.

Type inference failed. Expected type mismatch: inferred type is Preference? but Preference was expected

Type inference failed. Please try to specify type arguments explicitly.

* fix crash

* Grandle Wrapper 5.3

* Revert "Fix Compile Errors"

This reverts commit 4a774a4fe3.

* requirePreference

* oops

* Cleanup

* Update gradle-wrapper.properties
2019-03-30 15:18:16 +01:00
Conny Duck bbf3286d8e Release 58 2019-03-30 15:05:15 +01:00
Konrad Pozniak 26bea54230
disable language splitting for app bundle builds (#1165) 2019-03-29 19:56:53 +01:00
Conny Duck 397ef051c1 Release 57 2019-03-26 20:59:06 +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
Konrad Pozniak d43b4fef4b
upgrade OkHttp, add Conscrypt (#1083)
* upgrade OkHttp, add Conscrypt

* fix tests
2019-03-04 19:25:51 +01:00
Conny Duck df8c78c81a Release 56 2019-03-04 17:59:36 +01:00
Conny Duck 744daa052d Release 55 2019-02-22 17:15:33 +01:00
Conny Duck 8e98f872d5 Release 54 2019-02-21 18:46:37 +01:00
Conny Duck fc6029da72 Release 53 2019-02-16 16:57:53 +01:00
Konrad Pozniak 27cf5f5380
call db functions on background thread in ConversationsViewModel (#1040)
* call db functions on background thread in ConversationsViewModel

* use stable library versions
2019-02-15 20:41:10 +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 683b06a35d upgrade deps, fix some lint warnings 2019-02-11 16:59:01 +01:00
Ivan Kupalov 63952813c8 Fix incorrectly incrementing IDs before sending to server. (#1026)
* Fix incorrectly incrementing IDs before sending to server.

* Add TimelineRepositoryTest, fix adding placeholder, fix String#dec()

* Add more TimelineRepository tests, fix bugs

* Add tests for adding statuses from DB.
2019-02-05 20:06:00 +01:00
Ivan Kupalov 3ab78a19bc Caching toots (#809)
* Initial timeline cache implementation

* Fix build/DI errors for caching

* Rename timeline entities tables. Add migration. Add DB scheme file.

* Fix uniqueness problem, change offline strategy, improve mapping

* Try to merge in new statuses, fix bottom loading, fix saving spans.

* Fix reblogs IDs, fix inserting elements from top

* Send one more request to get latest timeline statuses

* Give Timeline placeholders string id. Rewrite Either in Kotlin

* Initial placeholder implementation for caching

* Fix crash on removing overlap statuses

* Migrate counters to long

* Remove unused counters. Add minimal TimelineDAOTest

* Fix bug with placeholder ID

* Update cache in response to events. Refactor TimelineCases

* Fix crash, reduce number of placeholders

* Fix crash, fix filtering, improve placeholder handling

* Fix migration, add 8-9 migration test

* Fix initial timeline update, remove more placeholders

* Add cleanup for old statuses

* Fix cleanup

* Delete ExampleInstrumentedTest

* Improve timeline UX regarding caching

* Fix typos

* Fix initial timeline update

* Cleanup/fix initial timeline update

* Workaround for weird behavior of first post on initial tl update.

* Change counter types back to int

* Clear timeline cache on logout

* Fix loading when timeline is completely empty

* Fix androidx migration issues

* Fix tests

* Apply caching feedback

* Save account emojis to cache

* Fix warnings and bugs
2019-01-14 22:05:08 +01:00
Ivan Kupalov bac15c42bd Export Room schemes (#963) 2018-12-25 20:06:28 +01:00
Conny Duck f26c1718c9 update deps 2018-12-18 22:05:33 +01:00
Conny Duck b92d66a5e9 exclude unneeded license files from apk 2018-12-17 19:08:32 +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
Conny Duck 8b00d421ef Release 52 2018-12-12 20:53:26 +01:00
Conny Duck fed52398a6 Release 51 2018-11-26 18:52:08 +01:00
Conny Duck 91fe819688 Release 50 2018-11-19 16:39:49 +01:00
Conny Duck 15d607b799 update deps, fix some lint warnings 2018-11-16 13:31:03 +01:00
Konrad Pozniak 348c20c792
New settings (#891)
* change drawer items

* rename SettingsActivity

* introduce AccountSettings activity

* improve account settings, move notification settings

* sync settings with server

* rename settings back to preferences

* add functionality for settings

* move mediaPreviewEnabled preference to AccountPreferences

* replace shared prefs with accountmanager

* move PreferencesFragment to support library

* split preferences fragment into smaller fragments,
merge AccountPreferencesActivity into PreferencesFragment

* adjust icon size, add icons to general preferences

* change mediaPreviewEnabled and alwaysShowSensitiveMedia pref position

* add database migration

* remove pullNotificationCheckInterval option

* fix  preference in TimelineFragment

* Update Chinese translations. (#915)

* Update zh-CN translations.

* Update zh-SG translations.

* Update zh-TW translations.

* Update zh-MO translations.

* Update zh-HK translations.

* Fix errors in zh-CN translations.

* Fix errors in zh-SG translations.

* Fix errors in zh-TW translations.

* Fix errors in zh-MO translations.

* Fix errors in zh-HK translations.
2018-11-12 21:09:39 +01:00
Conny Duck 16b53a5917 update build tools and kotlin 2018-10-14 16:30:12 +02:00
Ivan Kupalov a0988dc6c6 Add ability to pin/unpin statuses (#872) 2018-10-03 21:27:52 +02:00
Conny Duck 26b0ad521e upgrade gradle and build tools 2018-09-25 19:05:37 +02:00
Konrad Pozniak 6fe43c842b update support libs to 28.0.0 final 2018-09-22 17:13:22 +02:00
Konrad Pozniak dbb3f4e826
update targetSdkVersion to 28 (#842)
* update targetSdkVersion to 28

* update robolectric to support api 28
2018-09-16 19:23:32 +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 e86689013d Release 49 2018-09-04 19:06:04 +02:00
Conny Duck ff4a8ff4b8 update deps 2018-08-31 20:40:40 +02:00
Conny Duck 4845a54821 Release 48 2018-08-24 20:38:34 +02:00
Conny Duck 218dc07b85 Release 47 2018-08-23 21:11:29 +02:00
Konrad Pozniak ca1bbb3112 Release 46 2018-08-18 13:35:20 +02:00
Konrad Pozniak 418c76d677
add more aggressive proguard config (#741)
* add more aggressive proguard config

* even more optimizations
2018-08-15 20:46:37 +02:00
Conny Duck cf448cb0bb update dependencies 2018-08-07 21:02:45 +02:00
Konrad Pozniak 9b422a97fe
Custom emojis in drawer (#737)
* upgrade MaterialDrawer

* improve CustomEmojiHelper so now any parent view can be used for invalidation

* cleanup MainActivity a bit

* add emojiList to account database and show compatEmojis and custom emojis in drawer

* improve perf of drawer profile update

* fix account switching

* reuse gson, break after profile item was found
2018-07-30 15:43:27 +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
qwazix 562beacfc1 Add black theme (#726)
* Add black theme

On amoled screens a completely black theme helps save battery,
besides looking awesome!

* Fix first set of merge request issues except the dialog.

* Black theme inherits from dark and only the different values
  are declared
* Make nav bar translucent (for some reason content does not
  go behind it in main activity. Need to investigate)
* Remove nav bar line
* Fix toolbar color

* Fix dialog issue with black theme.

Revert translucent navigation.

* Translations updated, as well as possible from online sources.

* Make login screen respect black theme
2018-07-30 15:31:35 +02:00
Conny Duck 899bc15918 Release 45 2018-07-28 19:33:05 +02:00
Conny Duck 7c9114c440 update dependencies 2018-07-22 14:46:00 +02:00
Konrad Pozniak 4d1fc5ecb0 improve gradle build to support nightly builds 2018-07-16 19:01:34 +02:00
Konrad Pozniak aa29f65bce Release 44 2018-07-14 21:37:04 +02:00
Conny Duck fbafdf8dc3 Release 42 2018-07-08 19:21:31 +02:00
Conny Duck 588c3ccfc6 Release 41 2018-07-06 20:44:46 +02:00
Conny Duck 28940169c6 enable custom emoji fonts for all api levels again 2018-07-05 21:14:32 +02:00
Conny Duck e4803019b8 Release 40 2018-07-02 15:07:42 +02:00
Conny Duck dd6bfd3de6 revert filemojicompat back to 1.0.5 2018-07-02 14:10:30 +02:00
Conny Duck 71f4f0ad2d Release 39 2018-07-01 12:26:04 +02:00
Konrad Pozniak 030a201da6
disable emoji fonts on Android 5 (#698) 2018-07-01 10:18:00 +02:00
Conny Duck fbc4c38c5b update deps 2018-06-25 14:49:13 +02:00
Konrad Pozniak 3c569c6ac9
add License activity (#689)
* convert AboutActivity to Kotlin, use BottomSheetActivity for account resolving

* improve AboutActivity

* new License activity

* fix filemojicompat url
2018-06-25 13:02:34 +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
Conny Duck 882e231827 update dependencies 2018-06-07 22:59:03 +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
Constantin A 1108652823 EmojiCompat support (#600)
* Add EmojiCompat

* EmojiCompat doesn' replace all emojis anymore

* This app should be now capable of loading a EmojiCompat-font located in a file somewhere inside the device's storage

* Should now replace all emojis

* Add EmojiCompat support to EditTextTyped

* Provide EmojiCompat fonts

* The app won't crash anymore when no emoji font is available.
Emoji font should now be located at [Private external app directory]/files/EmojiCompat.ttf

* Removed BundledEmojiCompat dependency

Since this EmojiCompat-implementation does not rely on BundledEmojiCompat, there's no reason to have it enabled.

* Update EditTextTyped.kt

Since connection isn't assigned to (I tried doing so), it can be declared final/val again.

* Update README.md

* Add some non-working emoji preferences

* Add a short font list for testing

* Finished implementation

* Add Twemoji to font list

* Update documentation, more comments

* Delete AssetEmojiCompat which is obsolete now

* Update the font list

* Update the font list

* Fix font list & add Exception handling for malformed JSON files (hopefully)

* More fixes. It should work now...

* Removed AssetEmojiCompat (again)

* Add most of the changes

* Improved the EmojiCompat dialog's style

* The font list is now based on a static layout without external files

* Re-add the real font URL for Twemoji

* Emoji-font captions are now translatable

* Removed one unused String (loading)

* Removed emoji fonts from this repo

* Applied changes from the PR change requests

* The correct emoji font will be selected after cancelling a change

* Add details on the EmojiCompat fonts available (not shown yet)

* Add licensing information on Twemoji and Blobmoji

* Reworked some strings

* Moved FileEmojiCompat to its own library

* Update FileEmojiCompat to the latest version (1.0.3)

* EmojiCompat bug should be fixed

* Better handling of failed downloads

* Removed one TODO

Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>

* Update emoji attribution strings

Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>

* Fixed some misspelled strings

Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>
2018-05-10 11:16:56 +02:00
Conny Duck 2dcbce3fbc Release 38 2018-05-08 21:09:02 +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 89f93eab85
Fix SparkButtons (#608)
* fix the SparkButtons

* dont notify adapter after boost/fav
2018-04-28 22:59:46 +02:00
Conny Duck 3f71c5495f Release 37 2018-04-23 19:28:11 +02:00
Konrad Pozniak a25034ac4f update dependencies 2018-04-22 14:11:41 +02:00
Conny Duck 762965a7db update Kotlin 2018-04-20 23:18:37 +02:00
Conny Duck d69f214f95 Release 36 2018-04-17 22:55:56 +02:00
Conny Duck 8acee3ce72 Release 35 2018-04-15 09:53:25 +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
Conny Duck 1232bfe18d update support lib 2018-04-09 16:44:58 +02:00
Conny Duck 92d688523b upgrade gradle & dependencies 2018-03-27 20:12:43 +02:00
Ivan Kupalov a5cffe0fea Add Dagger (#554)
* Add Dagger DI

* Preemptively fix tests

* Add missing licenses

* DI fixes

* ci fixes
2018-03-27 19:47:00 +02:00
Ivan Kupalov 28e46c9cc0 Add ComposeActivity tests. Add ServiceLocator (#542) 2018-03-09 22:02:32 +01:00
Conny Duck 6e3faa8957 update dependencies, use new scheduleAsync of job library 2018-03-03 13:54:58 +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 bbbe71174a Release 34 2018-03-03 12:30:20 +01:00
Conny Duck 1a34934cdf fix build 2018-03-01 22:18:50 +01:00
Conny Duck 2176ac684f remove unnecessary build flavors 2018-02-15 19:59:25 +01:00
Conny Duck 6fca92b056 Release 33 2018-02-12 22:49:20 +01:00
Conny Duck 5b8cbeb7e9 Release 32 2018-02-04 10:31:50 +01:00
Konrad Pozniak 92ae463b38
Multi account feature (#490)
* basic implementation

* improve LoginActivity

* darken drawer background image

* add current avatar in ComposeActivity

* add account name to logout dialog

* multi account support for notifications

* multi account support for notifications

* bugfixes & cleanup

* fix bug where somethings notifications would open with the wrong user

* correctly set active account in SFragment

* small improvements
2018-02-03 22:45:14 +01:00
Conny Duck 1bf977b80a update dependencies 2018-02-02 20:49:10 +01:00
Conny Duck 3c795c6eef upgrade to minSdkVersion 18, fix some lint warnings 2018-01-31 21:57:50 +01:00
Conny Duck 2899114f66 add new debug build so two tusky versions can be run on the same device 2017-12-08 12:15:46 +01:00
Conny Duck 416ff38e12 Release 31 2017-12-02 14:59:24 +01:00
Konrad Pozniak 4743c85d82 fix crash on Android 4 2017-12-02 12:22:52 +01:00
Conny Duck b2f9f87fc8 make medium the default font size on startup 2017-12-01 22:43:48 +01:00
Conny Duck 8f8d49f421 update dependencies 2017-11-30 21:05:56 +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
Conny Duck 3055e6176e upgrade libraries, fix DrawerImagerLoader deprecated warning 2017-11-15 21:50:15 +01:00
Conny Duck c664cb000f add Java 8 support 2017-11-15 21:28:49 +01:00
Conny Duck 8bdc200311 Release 29 v1.3.1 2017-11-10 09:47:04 +01:00
Conny Duck dec7da9655 upgrade to API Level 27, fix nullability problems with new support library 2017-11-09 14:35:52 +01:00
Conny Duck 0cad3831c6 Release 28 v1.3.0 2017-11-09 10:42:26 +01:00
Conny Duck 3053e097a7 upgrade room library to 1 (fix merge problem) 2017-11-07 13:12:57 +01:00
Ivan Kupalov dc1a60cc12 Implement media tab (#430) 2017-11-05 22:32:36 +01:00
Ivan Kupalov 018be25137 Use Android-Job to pull notifications. Closes #401. (#431) 2017-11-01 21:02:44 +01:00
Ivan Kupalov df4dfa7766 Stop adding link info when composing toot (#418) 2017-10-27 13:19:12 +02:00
Conny Duck 9dc9ee2ef0 upgrade gradle version for android studio 3, fix some lint warnings 2017-10-25 21:56:58 +02:00
Conny Duck 256a11aa07 Release 27 2017-10-25 11:13:33 +02:00
Conny Duck 87b34df892 fixes a crash within TootDao that is caused by an change in the room library 2017-10-23 21:52:46 +02:00
Conny Duck 51d441bef8 Release 26 2017-10-22 09:37:32 +02:00