Commit graph

1498 commits

Author SHA1 Message Date
Konrad Pozniak
22bed19d90
migrating to ViewBinding part 3: EmojiPreference (#2094) 2021-03-07 19:06:05 +01:00
Konrad Pozniak
ff69a2ad0d
migrating to ViewBinding part 2: Activities (#2093) 2021-03-07 19:05:51 +01:00
Konrad Pozniak
5167b8578e
migrating to ViewBinding part 1: Dialogs + Views (#2091) 2021-03-07 19:04:22 +01:00
kyori19
cf642d9eb0
Avoid using displayName for displaying purpose (#2101) 2021-03-05 16:26:51 +01:00
Konrad Pozniak
574480524a
fix custom emojis in names when liking/boosting a boosted toot (#2092) 2021-03-01 21:44:02 +01:00
Konrad Pozniak
13392258f6
upgrade Material Design lib and use their new time picker (#2077) 2021-02-23 20:29:02 +01:00
Konrad Pozniak
6ebbe5f657
fix crash when rotating screen in a preference dialog twice (#2083) 2021-02-23 18:53:43 +01:00
Konrad Pozniak
d2a8254d4f
add content description to account subscription button (#2076) 2021-02-18 19:26:25 +01:00
Konrad Pozniak
e3b79097d4
remove redundant options from account toolbar (#2075) 2021-02-18 19:26:14 +01:00
Konrad Pozniak
ff7d900b67
fix profile note "Saved" message appearing on other account changes (#2079) 2021-02-18 19:26:03 +01:00
David
2fea6011fd
NavIcon Avatar fix (#2080)
* NavIcon Avatar fix

* Added in all three methods
2021-02-16 18:45:45 +01:00
Konrad Pozniak
be77d91e91
change draft attachment directory (#2070) 2021-02-09 19:45:43 +01:00
Ivan Kupalov
c178804efe
Fix TalkBack not initializing old views in recycler (#2036) 2021-02-09 18:41:40 +01:00
Konrad Pozniak
4d856365f9
cleanup drafts when user logs out (#2067)
* cleanup drafts when user logs out

* delete unused method

* remove unneeded sorting from loadDraftsSingle
2021-02-07 16:40:09 +01:00
Alibek Omarov
9580870445
Animated emoji support (#2064)
* Animated emoji support

* Try to query preference only once

* Revert to using SpannableStringBuilder
2021-02-06 08:14:51 +01:00
Alibek Omarov
c685192d49
Don't stop autocompletion after second @ (#2062)
* ComposeTokenizer: do not search stop after second @

* ComposeTokenizer: try to fix test

* ComposeTokenizer: try to fix test 2

* ComposeTokenizer: try to fix test 3

* ComposeTokenizer: fix autocomplete for accounts with 1 character nickname

* ComposeTokenizer: better document tokenizer

* ComposeTokenizer: add tests

* ComposeTokenizer: remove unused logging
2021-02-04 19:16:58 +01:00
Konrad Pozniak
483beaa957
move onOptionsItemSelected to BaseActivity (#2059)
* move onOptionsItemSelected to BaseActivity

* revert change in ComposeActivity
2021-01-31 20:27:02 +01:00
Konrad Pozniak
dc5f0c87a2
remove let's encrypt root cert again (#2056)
* remove let's encrypt root cert again

* fix user-agent example
2021-01-31 19:35:39 +01:00
Konrad Pozniak
886ff2f06b
get rid of BaseFragment by using RxJava instead of Retrofit Calls (#2055)
* get rid of BaseFragment by using RxJava instead of Retrofit Calls

* fix tests
2021-01-31 19:34:33 +01:00
Alibek Omarov
455942505c
ComposeViewModel: remove unused variable (#2060) 2021-01-31 18:58:45 +01:00
Alibek Omarov
b00aa9b461
SpanUtils: highlight nicknames with dashes (#2061)
While it's not allowed to create such accounts on Mastodon, it federates fine with servers that allow dashes.
2021-01-31 18:57:48 +01:00
lenchan139
0275504a05
Move compose content's EditText cursor to first when shared content parsed in ComposeActivity (#2030)
* multiple media upload support

* multiple media upload support

* multiple media upload support

* remove  typing

* Update app/src/main/res/values/strings.xml

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>

* remove magic number on string.xml and add to activity.

* move edittext cursor to first when shareBody parsed in ComposeActivity

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2021-01-26 16:38:03 +01:00
Konrad Pozniak
46468b8a78
use CustomTabColorSchemeParams instead of deprecated methods (#2049) 2021-01-25 16:23:32 +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
Levi Bard
baa915a0a3
Support opening unknown attachment types via openLink (#2044)
* Support opening unknown attachment types via openLink. #1970

* Fix label text for unknown attachment types
2021-01-18 13:53:13 +01:00
Levi Bard
cb2296f248
Prompt before deleting lists (#2043)
* Prompt before deleting lists. #1998

* Address pull request feedback
2021-01-18 11:40:13 +01:00
Levi Bard
5fbd459aed
Make tapping the main toolbar scroll to the top of the timeline. #1899 (#2045) 2021-01-15 21:23:02 +01:00
Garrit Franke
4c7d09b1e3
Show display names for reposts (#2041)
* WIP: Show display names for reposts

* Display emojis on reposts

* Move unicode wrapping

Co-authored-by: Garrit Franke <garrit@slashdev.space>
2021-01-15 21:16:32 +01:00
Levi Bard
be60155de5
Implement timed mutes. (#2035)
Fixes #2033
2021-01-15 21:05:36 +01:00
lenchan139
f7a630c1d8
multiple media upload support (#2029)
* multiple media upload support

* multiple media upload support

* multiple media upload support

* remove  typing

* Update app/src/main/res/values/strings.xml

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>

* remove magic number on string.xml and add to activity.

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2020-12-30 17:36:00 +01:00
Konrad Pozniak
8b9ddca7bd
cleanup code in ConversationsFragment, SearchFragment and Report*Fragments (#2027) 2020-12-27 21:25:35 +01:00
Garrit Franke
0fbb4e9713
Wellbeing mode (#1992)
* Add wellbeing mode settings toggle

* Translate wellbeing mode string to german

* Disable fav/boost count on toots if wellbeing is enabled

* Hide follow/post stats on profiles

* Reload notifications when wellbeing mode is toggled

* Add wellbeing mode explainer dialog

* Move wellbeing filter timeline into own category

* Add toggles for quantitative stats

* Hide announcement badge counts if wellbeing is enabled

* Move fetching of wellbeing setting to activity

* Add wellbeing option to statusDisplayOptions

* Update post filters for all accounts

* Remove local translations

* Revert "Remove local translations"

This reverts commit e92e636a5c759b09649174ab68ec91bc13680287.

* Remove german translations
2020-12-23 19:13:37 +01:00
Alibek Omarov
b91a0aceeb
Notification bell (#2012)
* Add notification bell button, API endpoints and new relationship field

* Add notification type for subscriptions

* Add subscriptions to legacy notification filtering

* Update schemas

* Fix build

* Make rewrite static method into method of Notification class, fix getNotificationText

* Mastodon wording for subscriptions
2020-12-23 12:52:39 +01:00
Konrad Pozniak
a19411c947
cleanup accountManager.activeAccount usages in MainActivity (#2021) 2020-12-13 16:32:04 +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
Konrad Pozniak
9cdf486ceb
remove ThemeUtils.getTintedDrawable (#2015) 2020-12-09 19:08:16 +01:00
Konrad Pozniak
b1a1a69988
fix the notification buttons on the Muted users page (#2009) 2020-12-04 18:55:13 +01:00
Levi Bard
b8268538fd
Fix negative count on the unread announcements badge. (#2010)
Fixes #1994
2020-12-04 17:37:52 +01:00
Levi Bard
3c93804751
Fix links in announcements. (#2011)
Fixes #2008
2020-12-04 17:35:51 +01:00
Konrad Pozniak
a9337bcb78
fix workmanager crashing because of async initialization (#2003) 2020-12-01 07:39:30 +01:00
Konrad Pozniak
9793035a3d
fix crash when opening some audio attachments (#2002) 2020-12-01 07:39:15 +01:00
Konrad Pozniak
3558d441a4
better distinction between green and blue build flavors (#1997) 2020-11-28 17:34:21 +01:00
Konrad Pozniak
227e219241
load drawer avatar earlier to avoid flicker on app start (#1993)
* load drawer avatar earlier to avoid flicker on app start

* use placeholder when loading drawer avatar for the first time
2020-11-25 19:41:57 +01:00
Ivan Kupalov
ef1ae581b4
Fix some of the StrictMode violations (#1931)
Mostly it's disk reads/writes.

Conscrypt reads own version on startup which reads from disk multiple
times. There's no solution for it right now.

SharedPreferences which are used in BaseActivity also read from disk
and pretty early but it shouldn't be a problem.
2020-11-23 20:05:48 +01:00
Konrad Pozniak
9ea2557148
fix crash when clearing glide requests (#1989) 2020-11-22 19:03:11 +01:00
Konrad Pozniak
34fb546200
upgrade dependencies (#1990)
* upgrade dependencies

* fix tests
2020-11-22 19:02:54 +01:00
Konrad Pozniak
f917a5aa4b
apply the home filter to lists (#1991) 2020-11-22 19:02:38 +01:00
kyori19
fef4b8b07f
[needs help] Support announcements (#1977)
* Implement announcements activity

* Update reactions without api access

* Add badge style

* Use emptyList() as default parameter

* Simplify newIntent

* Use List instead of Array

* Remove unneeded ConstraintLayout

* Add lineSpacingMultiplier

* Fix wording

* Apply material design's default chip style

* Dismiss announcements automatically
2020-11-18 21:12:27 +01:00
Konrad Pozniak
ce973ea7e7
Personal account notes (#1978)
* add personal notes to AccountActivity

* use RxJava instead of plain okhttp calls

* make AccountViewModel rx aware

* hide note input until data is loaded
2020-11-17 20:10:54 +01:00
Conor Flynn
e91272a4c6
Adds link to account page when clicking on displayName (#1982)
* Adds link to account page when clicking on displayName.

* Reuses the onClickListener

* Fixes formatting.
2020-11-15 21:31:34 +01:00
Levi Bard
2170e6b0fa
Perform bidirectionality isolation manually instead of relying on BidiFormatter (#1976)
* Perform manual isolation of display names etc. instead of relying on BidiFormatter.
Fixes #1921

* Make follow request notification header formatting more like other notifications
2020-11-04 18:21:41 +01:00
Levi Bard
d7e47caef3
Add tests for compose activity initial state changes (#1972) 2020-10-28 18:43:11 +01:00
Garrit Franke
af44b25c29
Delete scheduled post after editing (#1947)
* Delete scheduled post after editing

This ensures that editing a scheduled toot will not duplicate it.

Fixes #1924

* Fix scheduled toot editing

* Convert isEditingScheduledToot to property

* Replace MediatorLiveData with combineLiveData

* Remove dead code

* Fix observer emission

* Fix "Finish media upload" appearing for split second
2020-10-25 18:41:11 +01:00
Konrad Pozniak
21b28f1bbb
fix crash in ViewImageFragment (#1964) 2020-10-25 18:36:31 +01:00
Konrad Pozniak
6d27d822ca
update Kotlin to 1.4.10 and fix some warnigs (#1963) 2020-10-25 18:36:00 +01:00
Levi Bard
e0346a8e88
Open photos embedded in preview cards in the image viewer (#1966)
* Open photos embedded in preview cards in the internal image viewer instead of opening the browser

* Enable toolbar for single image viewer

* Apply review feedback
2020-10-22 21:15:46 +02: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
Levi Bard
b885aa8f83
Use blurhash for preview cards (#1960) 2020-10-17 18:41:38 +02:00
Levi Bard
a1887d1891
Fix filtering of boosts (#1954) 2020-10-13 18:30:39 +02:00
Vignesh Kumar
3b67f339b1
Change characters left color to red when negative (#1952)
* Change characters left color to red when negative

* Use val for the integers, optimize variable assignment

* Added tusky_red color

* remove extra line typo

* make characters left bold

* change red hue

* fix typo
2020-10-13 18:30:06 +02:00
Levi Bard
8e2e815b84
Set onClick listener for poll result view. (#1946)
Fixes #1861
2020-10-02 21:18:39 +02:00
Levi Bard
e237639adc
Save draft when redrafting a post (#1744) 2020-10-02 18:32:46 +02:00
Konrad Pozniak
26a051220b
improve relative poll timestamp string format (#1939) 2020-10-02 17:11:48 +02:00
Levi Bard
387c8b043c
Publish mute/block events from the report activity. (#1945)
Fixes #1870
2020-10-02 17:01:15 +02:00
Ivan Kupalov
e4c10f1ca4
Improve notifications fetching (#1930)
* Improve notifications fetching

 - Only fetch notifications up to the latest fetched one
 - Use timeline markers to avoid showing already seen notifications

* Apply some of the suggestions
2020-09-20 18:43:28 +02:00
duggalsu
17b7abb537
Remove 'Add Data' button if all 4 metadata fields are used in Edit Profile (#1934)
* Remove 'Add Data' button if all 4 metadata fields are used

* Removed option for disabling add field button
2020-09-14 10:39:46 +02:00
Konrad Pozniak
a6673a6eb2
simplify timeline cleanup (#1932)
* simplify timeline cleanup

* fix test
2020-09-14 07:52:54 +02:00
Konrad Pozniak
67df1a7065
fix another crash in ViewVideoFragment (#1926) 2020-09-03 20:17:11 +02:00
Konrad Pozniak
67225dd4c0
fix various bugs when creating tab with multiple hashtags (#1925) 2020-09-02 12:28:13 +02:00
Konrad Pozniak
1d309850b0
convert EmojiPreference and EmojiCompatFont to Kotlin (#1922)
* convert EmojiPreference and EmojiCompatFont to Kotlin

* move preference related to to dedicated preference package

* update proguard-rules.pro

* reformat & add comment

* maintain disposable information in EmojiPreference instead of EmojiCompatFont
2020-09-02 12:27:51 +02:00
Konrad Pozniak
fc7b02d987
use current user's avatar as drawer toggle (#1919)
* use current user's avatar as drawer toggle

* avoid hardcoded 36dp

* remove unused import
2020-09-01 16:49:30 +02:00
Konrad Pozniak
6ee493d8ea
fix notifications sometimes not rendering (#1905)
* fix notifications sometimes not rendering

* fix empty timeline fragment as well

* add link to github issue as explanation
2020-08-21 18:51:05 +02:00
Karol Kosek
a010687709
SettingsConstants: fix home tab filters (#1906)
Showing repeats was swapped with showing replies.
2020-08-21 09:15:53 +02:00
Levi Bard
d8d4b947ed
Fix opening public filter list from account preferences (#1904) 2020-08-20 18:08:04 +02:00
Konrad Pozniak
15df5c4df7
add icon for tabs preference (#1892) 2020-08-17 21:21:03 +02:00
Konrad Pozniak
a653c92e63
Fix crash in ViewVideoFragment (#1894) 2020-08-17 21:20:46 +02:00
Konrad Pozniak
dd3d372b80 add setting to hide top toolbar 2020-08-16 10:01:51 +02:00
David Teresi
c94d793bff Allow newlines in image descriptions 2020-08-14 16:42:18 -04:00
Konrad Pozniak
e2f3c74774
Fix cards in timelines/confirm boost preferences (#1878) 2020-08-08 10:03:07 +02:00
Ivan Kupalov
8b243a7f05
Fix crash in ViewImageFragment, fix #1876 (#1877)
It was not checked whether captionSheet is present.
2020-08-04 21:57:12 +02:00
Ivan Kupalov
ed2918da2e
Description improvements (#1846)
* Increase character limit for media descriptions to 1500

It was increased in Mastodon 3.0.0 which was released in October 2019.

* Improve image description view

Since media descriptions can be longer now, we need to adjust the UI.
It is a common problem that description takes up the whole screen, it's
hard for readers and also discourages people from adding descriptions.

This commit uses bottom sheet to hide most of the description. Since we
know how much screen space it will cover, we can use darker background
which makes reading text easier.

* Adjust description handle

* Fix unable to dismiss image caption
2020-08-01 21:48:51 +02:00
Ivan Kupalov
be8fc9f15a
Fix crash in the image viewer (#1871)
This is imperfect as it probably reduces quality of the image but it
fixes the crash for now.
2020-08-01 13:26:59 +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
Mélanie Chauvel
b3b4794a2b
Implement optional notifications muting for account muting (#1856) 2020-07-27 10:28:59 +02:00
Konrad Pozniak
7f0093bd58
remove scrolling from notification options bar (#1858) 2020-07-20 11:25:36 +02:00
Mélanie Chauvel
4205f5493e
Make account views clickable instead of avatar only (#1855)
Affects:
- New follower request and New follower notifications
- Accounts in Blocked users and Muted users pages
2020-07-07 20:35:31 +02:00
Konrad Pozniak
dfd30ec52a
correctly update the menu when muting domains (#1848) 2020-06-23 19:59:49 +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
56f4f8a38d
fix MainActivity title when coming from a notification (#1844) 2020-06-21 19:52:27 +02:00
Konrad Pozniak
5246ab7d72
speedup blurhash decoding by using a intermediate int array (#1835) 2020-06-21 18:26:06 +02:00
Konrad Pozniak
836b7f3f76
don't create a CW when sharing text to Tusky (#1836) 2020-06-21 18:25:17 +02:00
Konrad Pozniak
74bd493878
add possibility to move the main navigation to the bottom (#1808)
* add possibility to move the main navigation to the bottom

* add top toolbar with drawer toggle, title and search button
2020-06-18 11:04:53 +02:00
Ivan Kupalov
ecb94beb3c
Fix settings default values for preferences (#1828)
At some point settings DSL was refactored to first add a preference and
then run the builder. We shouldn't add a preference to the hierarchy
without setting a key for the preference first because preference gets
it's default value in `onAttachedToHierarchy()` and if the key is not
set then no default value will be set either.

This commit changes the order to execute builder (and set the key)
first and and preference to the point later.
2020-06-14 19:58:05 +02:00
Levi Bard
4219871095
Fix preview cards for uncollapsible statuses (#1826) 2020-06-09 19:00:23 +02:00
Ivan Kupalov
c64df0fd1d
Settings refactor (#1615)
* Refactor main preferences to use DSL

* Refactor account preferences to use DSL

* Use DSL in rest of the preference screens

* Preferences cleanup

* Fix preference dependencies
2020-06-08 09:21:12 +02:00
Ivan Kupalov
4188b6ea09
Fix loading more than one page of favs/bookmarks, fix #1824 (#1825) 2020-06-07 19:37:34 +02:00
Alibek Omarov
5b187bcb5e
NotificationsFragment: show appbar if there is no notifications (#1810)
Thus, if user accidentally will filter everything, they will be able to return to initial state.
2020-05-30 10:10:47 +02:00
Levi Bard
1c09441c32
Fix showing/hiding of preview cards in timeline posts that are collapsed for length. (#1796)
Also properly places the preview card after the "collapse for length" button.
2020-05-21 18:32:22 +02:00
kyori19
e6b7d2ff9c
Fix large media uploading (#1800) 2020-05-21 14:50:19 +02:00
Konrad Pozniak
df8dc3a198
enable multiple hashtags in one hashtag tab (#1790)
* enable multiple hashtags in one hashtag tab

* add comment explaining the code in TabAdapter

* delete unused drawables

* add padding to EditText in dialog
2020-05-15 22:10:29 +02:00
Alibek Omarov
2fc7ad13bb
CustomEmojiHelper: rewrite to Kotlin (#1787)
* CustomEmojiHelper: rewrite to Kotlin

* CustomEmojiHelper: PR fixes
2020-05-15 22:09:12 +02:00
Konrad Pozniak
e72bdcaf42
add missing attribute to TimelineDao query (#1788) 2020-05-13 07:53:24 +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
kyori19
623eb1fe2a
Add "account" filter context (#1776) 2020-05-08 19:17:02 +02:00
kyori19
23a1701151
Fix tag highlighting in editor (#1773)
* Fix tag highlighting in editor

* Add test case for tag highlighting
2020-05-08 19:16:35 +02:00
Konrad Pozniak
83c06f44e7
Fix RxJava UndeliverableException crashes (#1778) 2020-05-08 16:53:38 +02:00
Konrad Pozniak
a69e6a66ba
fix confirmReblogs default values (#1777) 2020-05-05 20:26:40 +02:00
Conny Duck
73fa94d39b close drawer after click 2020-04-28 21:56:02 +02:00
Ivan Kupalov
f52fd355d8
Add preference to disable swipe gesture for switching tabs, close #1718 (#1752) 2020-04-27 21:41:43 +02:00
Konrad Pozniak
0ccd2c4133
fix overlapping account items in AccountsInListFragment (#1768) 2020-04-27 10:38:31 +02:00
Konrad Pozniak
89efd67015
fix toots showing too much whitespace (#1761)
* fix toots showing too much whitespace

* use isWhitespace extension function
2020-04-20 23:06:39 +02:00
Sylvia van Os
386d197851
Fix content warning state being lost after screen rotation (#1756)
* Restore compose options after rotation

* Fix in ViewModel instead

* Move showContentWarning change into ViewModel
2020-04-18 15:06:24 +02:00
Konrad Pozniak
f3d05f82f9
fix toot sending twice when using a hardware keyboard (#1758) 2020-04-18 13:45:19 +02:00
Konrad Pozniak
3c3e872782
fix content warning in notifications when alwaysShowSpoiler is on (#1757) 2020-04-18 13:45:07 +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
Ivan Kupalov
d44eada140
Fix reblog confirm (#1723)
* Fix reblog confirmation default value

* Fix triggering reblog before confirming it

* Fix accidents caused by reblog confirmation
2020-04-06 19:28:43 +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
Levi Bard
a5416abb21
Add missing error handler for mute conversation invocation (#1746) 2020-04-03 19:04:06 +02:00
Konrad Pozniak
68f34152dc
replace HtmlUtils with HtmlCompat (#1741)
* replace HtmlUtils with HtmlCompat

* fix tests
2020-04-02 23:37:38 +02:00
Levi Bard
91263eed8b
Confirm blocks and mutes from timelines (#1740)
* Add preference for confirming blocks and mutes from timelines
Implements #1737

* Apply code review feedback
2020-03-30 21:03:27 +02:00
Levi Bard
1b476c790a
Fix NPE in follow requests view (#1739)
Fixes #1738
2020-03-27 19:04:28 +01:00
Konrad Pozniak
adac296e04
simplify ComposeOptionsView (#1734) 2020-03-24 21:07:10 +01:00
Konrad Pozniak
cf782f039f
use number of voters instead of votes to calculate poll results (#1733)
* adjust poll vote text, votes -> people

* use number of voters instead of votes to calculate poll results

* fix tests
2020-03-24 21:06:58 +01:00
Levi Bard
8cb83050ac
Add support for muting conversations (#1732)
* Add support for muting conversations
Implements #1731

* Fix CI

* Apply code review feedback
2020-03-24 21:06:04 +01:00
Levi Bard
4a4dd4f30f
Add notifications for follow requests (#1729)
* Add notifications for follow requests
Issue #1719

* Revert item_follow_request layout, create new layout for follow request notifications

* Migrate follow request interaction from notification to observable pattern

* Filter follow request notifications by default

* Add missing cases for system notification generation

* Format code
2020-03-19 22:02:10 +01:00
Levi Bard
9c4898117e
Ensure media are marked sensitive any time there's a content warning (#1728)
Addresses the most critical part of #1725, and may also apply to #1721
2020-03-17 19:46:32 +01:00
Ivan Kupalov
6a87e3e352
Work around the bug in ComposeScheduleView, fix #1720 (#1722)
DatePicker seems to think that it's in UTC. So setting selected time
might not work as aspect and receiving value from it might be in UTC
as well. This commit fixes the second issue by interpreting the date
as UTC date. Tested with America/New_York (GMT-5 at the moment) and
Russia/Kamchatka (GMT+12).
2020-03-09 20:43:01 +01:00
Ivan Kupalov
67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Ivan Kupalov
712f61b15a
Add "more" popup to a11y menu, fix #1710 (#1714) 2020-03-02 19:36:44 +01:00
Levi Bard
3edc47aa4a
Add option to show link previews in timelines (#1681)
* Add option to show link previews in timelines.
Addresses #1075

* Indent cards in non-selected statuses when viewing threads

* Indent cards in timelines

* Fix clipping of right side of preview in timelines
2020-03-02 19:34:31 +01:00
Levi Bard
dd8abad8ca
When a plaintext share contains EXTRA_TEXT and a distinct EXTRA_SUBJECT, use EXTRA_SUBJECT as the content warning for the shared status (#1712) 2020-02-26 20:41:02 +01:00
Alibek Omarov
50730f7481
Add more URL cases for Pleroma, Misskey and Friendica (#1702) 2020-02-25 19:59:40 +01:00
Levi Bard
710b9f08c1
Add status url as EXTRA_SUBJECT when sharing status content. (#1680)
Addresses #1655
2020-02-25 19:58:20 +01:00
Ivan Kupalov
656644b7cb
Make image in BackgroundMessageView adapt to the height, fix #1618 (#1649)
* Make image in BackgroundMessageView adapt to the height, fix #1618

* Hide filters panel when showing status view in notifications
2020-02-25 19:57:28 +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
Konrad Pozniak
398ee66084
simplify DI & test setup, convert TuskyApplication to Kotlin (#1675)
* simplify DI & test setup, convert TuskyApplication to Kotlin

* try to fix tests on bitrise

* remove conscrypt-openjdk-uber test dependency again
2020-02-25 19:49:15 +01:00
Levi Bard
80e0c55b67
Warn when scheduling a post within 5 minutes (#1698)
* Warn when scheduling a post within 5 minutes

* Fix NPE when scheduled post time isn't set

* Use AlertDialog with option to cancel instead of Toast when a post isn't scheduled far enough in advance

* Move schedule validation warning to scheduling bottom sheet

* Fix scheduling error display when sending after an initially-valid scheduling time has become invalid
2020-02-25 18:33:24 +01:00
Konrad Pozniak
aba36ca6f8
Compose activity fixes (#1707)
* cleanup media keyboard code

* fix crash in ComposeActivity when rotating phone while taking photo

* fix poll button in ComposeActivity being invisible when disabled
2020-02-24 22:02:59 +01:00
Konrad Pozniak
6d48811767
fix crash when inserting custom emojis at the start of the compose field (#1706) 2020-02-21 22:08:41 +01:00
Konrad Pozniak
1eef035a9e fix default emoji font icon not rendering 2020-02-21 18:21:47 +01:00
Konrad Pozniak
b8ef287b47
fix image from another status showing up instead of blurhash (#1699) 2020-02-19 22:07:01 +01:00
Levi Bard
9a173f0234
Delete draft when sending its status completes. (#1704)
Fixes #1700
2020-02-19 21:10:22 +01:00
Konrad Pozniak
3f3166522b
fix list editing by moving account_ids from query to form param (#1690)
* fix list editing by moving account_ids from query to form param

* fix DialogFramentStyle
2020-02-18 08:45:10 +01:00
Konrad Pozniak
6a60a2a6a6
fix url search returning the same post indefinitely (#1695) 2020-02-17 19:34:11 +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
Levi Bard
04275b4073
[Tusky10] Fix recollapsing expanded sensitive content in the thread view (#1689) 2020-02-14 19:04:14 +01:00
Levi Bard
185bfeb9f3
[Tusky10] Fix descriptions of audio attachments when expanding/collapsing status content (#1688) 2020-02-14 19:03:59 +01:00
Konrad Pozniak
3a75ca25a3
[Tusky10] fix crash when bookmarking a conversation while offline (#1686) 2020-02-14 19:03:42 +01:00
Ivan Kupalov
5945700c1b
Allow higher zooming levels for caption dialog images (#1672) 2020-02-10 14:00:21 +01:00
Konrad Pozniak
11a4de858c fix crash when opening Poll dialog and instanceParams are null (#1668) 2020-02-09 22:34:44 +01:00
Konrad Pozniak
88b8eca16a
fix crash when Account.displayName is null (#1667) 2020-02-07 20:23:51 +01:00
Konrad Pozniak
fde23f25d2
fix mixup of search params in SearchDataSource.loadRange (#1666) 2020-02-07 20:23:36 +01:00
Konrad Pozniak
c379014d9a
fix content collapse button not working in notifications (#1665) 2020-02-04 22:21:43 +01:00
Konrad Pozniak
8767d2ed3d
Theme refactoring (#1656)
* Theme refactoring

* disable the automatic tinting of surfaces with elevation in dark mode

* make the media warning visible again with the dark theme

* fix nav bar on api 27+

* use correct color for all media warnings
2020-01-30 21:37:28 +01:00
Konrad Pozniak
29ef92edd3
fix overlapping icons in ComposeActivity (#1661) 2020-01-30 21:17:37 +01:00
Mélanie Chauvel (ariasuni)
d6f3856878
Refresh DM column when removing toot there instead of removing conversation (#1654) 2020-01-29 19:25:55 +01:00
Konrad Pozniak
45828fbb5a
fix FragmentAdapter returning null fragments when activity was recreated (#1647)
* fix FragmentAdapter returning null fragments when activity was recreated

* remove unused import

* make activity in CustomFragmentStateAdapter private
2020-01-29 19:17:11 +01:00
Konrad Pozniak
27d464351b
fix reveal button not updating in ViewThreadActivity (#1652) 2020-01-29 19:16:12 +01:00
Konrad Pozniak
7d5a9da992
fix crash when closing ComposeActivity (#1651) 2020-01-29 19:15:53 +01:00
Ivan Kupalov
e1aa3cc995 Enable zooming and panning in the CaptionDialog (#1643) 2020-01-18 12:12:37 +01:00
Ivan Kupalov
92e9c9a762 Fix setting text to CW button in fav/reblog notification. Fix #1641 (#1642)
This is a regression from e5b78f65cf
2020-01-16 19:08:19 +01:00
Levi Bard
f903cc50e1 Add support for sharing audio attachments (#1629) 2020-01-16 19:06:13 +01:00
Levi Bard
9dccd06a06 Add support for uploading audio attachments (#1630)
* Add support for audio attachments.
Partially addresses #1337

* Register Tusky as a target for audio sharing

* Use icon with textColorTertiary for audio preview
2020-01-16 19:05:52 +01:00
Vivianne
a7c1345085 Small changes to the media player (#1572)
* Resolving some issues with media playback.

* Changing ViewVideoFragment so that it fully handles autohiding the
  media controller, allowing consistency between it and the toolbar

* Fixed an issue where the toolbar and description were not fading in

* Do not hide the toolbar/media player if the video is loading or paused

* Created "ExposedPlayPausedVideoView" to allow hooking play/pause

* Fix back button when viewing videos

* Back button did not work if video controls were visible.

* Tweak audio player

* Always show the controls when audio begins playing

* Do not auto-hide the controls if the player is playing audio

* Address PR comments

* Use overloaded constructor
* Remove m prefix

* Fix subtle media player issues

* Fix audio player incorrectly auto-hiding after hiding/showing toolbar

* Only subscribe touch listener once content is ready
  - Prevents top toolbar visibility from getting out of phase with audio player visibility if hidden during load
2020-01-16 19:01:02 +01:00
Konrad Pozniak
21a7201f8a
fix notification refresh (#1638) 2020-01-14 21:58:35 +01:00
Konrad Pozniak
f12f126df5
migrate ReportPagerAdapter to ViewPager2 (#1635) 2020-01-13 21:15:22 +01:00
Konrad Pozniak
cd52caf9e9
fix crash in NotificationAdapter when status is null (#1634) 2020-01-13 21:12:33 +01:00
kyori19
a6c9aee2e8 Fix emoji sorting (#1633) 2020-01-13 15:22:45 +01:00
Ivan Kupalov
32fd7b18ce Add space before emojo code in editor when needed, fix #1616 (#1632) 2020-01-13 15:21:40 +01:00
Levi Bard
c9a28b47c1 Compose activity: When selection is nonempty and a "special character" button is pressed, decorate all selected word starts (#1523)
* ComposeActivity: When selection is nonempty and a "special character" button is pressed, decorate all selected word starts
Closes #1417

* ComposeActivity: Tests for word break prepend logic
2020-01-13 15:21:17 +01:00
Levi Bard
6a2c9bdbe4 Don't drop content warning when replying (#1631) 2020-01-13 15:18:55 +01:00
Konrad Pozniak
7cb76aad97
Fix search bugs (#1624)
* fix toggling media visibility

* cleanup search code to make it more readable

* remove redundant OnQueryTextListener

this is the default behavior

* fix bookmarking

* fix status interaction causing unnecessary network requests
2020-01-13 13:57:44 +01:00
Konrad Pozniak
e5b78f65cf
use material buttons in timeline (#1627)
* use material buttons in timeline

* remove wrong switch option
2020-01-07 19:40:52 +01:00
Konrad Pozniak
441a1c1f95
remove redundant toHtml from StatusBaseViewHolder (#1625) 2020-01-07 19:38:08 +01:00
Mélanie Chauvel (ariasuni)
bec1ce8b09 Display Elephant with better message in Drafts screen when there are none (#1619)
* Display Elephant with better message in Drafts screen when there are none

* Remove unused import
2020-01-06 18:24:54 +01:00
Levi Bard
9d65b2ace1 Filters: Make behavior of "whole word" filters consistent with the web UI when filters are non-alphanumeric (#1623)
* Fix tests build

* Make behavior of non-alphanumeric whole-word filters consistent with the web UI.
Fixes #1543

* Fix typo in filter tests
2020-01-06 16:16:54 +01:00
Konrad Pozniak
352ff3a2d1
give media previews a rounded outline (#1617)
* give media previews a rounded outline

* give media previews a rounded outline in ReportActivity
2020-01-03 20:22:16 +01:00
Ivan Kupalov
426e7edb73 Fix missing cases of using StatusDisplayOptions (#1614) 2020-01-03 20:22:02 +01:00
Konrad Pozniak
cdb9d87f41
use RxAwareViewModel for more ViewModels (#1613)
* use RxAwareViewModel for more ViewModels

* fix ReportViewModel
2020-01-02 18:50:58 +01:00
Konrad Pozniak
88d59da13c
fix poll button being visible below voted poll (#1612) 2019-12-31 16:56:04 +01:00
Konrad Pozniak
8a9d62e654
Merge pull request #1610 from tuskyapp/improve_scheduled_toot
Improve ScheduledTootActivity
2019-12-31 15:00:23 +01:00
Konrad Pozniak
54f04fb4d7 address PR feedback 2019-12-31 13:57:24 +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
76026f5afa add license headers 2019-12-30 21:09:10 +01:00
Konrad Pozniak
f0112743eb remove debug logging 2019-12-30 21:05:03 +01:00
Konrad Pozniak
b66faab71c add empty screen message 2019-12-30 21:01:38 +01:00
Konrad Pozniak
75378e5284 color the SwipeRefreshLayout 2019-12-30 20:54:00 +01:00
Konrad Pozniak
7107018ae2 clean up code 2019-12-30 20:48:01 +01:00
Konrad Pozniak
84a3280964 move to androidx paging 2019-12-30 20:40:27 +01:00
kyori19
2994af7091 Fix ComposeOptions.visibility not applied (#1605) 2019-12-27 21:02:16 +01:00
Conny Duck
63d6fe7270 improve layout names 2019-12-22 11:55:26 +01:00
Conny Duck
97350c59fa move classes to component packages 2019-12-22 11:47:34 +01:00
Conny Duck
1471042fee convert ScheduledTootAdapter to Kotlin 2019-12-22 11:42:13 +01:00
Konrad Pozniak
ce2ee660ae
add test for VersionUtils (#1602)
* add test for VersionUtils

* add nullability annotation to VersionUtils
2019-12-21 18:56:30 +01:00
Konrad Pozniak
c44dd455b4
Implement identity proof api (#1597)
* implement identity proof api

* fix warnings in AccountActivity

* fix createClickableText method

* improve error handling

* use combineOptionalLiveData to simplify code
2019-12-21 18:56:16 +01:00
Konrad Pozniak
c253f6b23b
delete unused stuff (#1601) 2019-12-21 17:32:42 +01:00
Konrad Pozniak
a795da81b4
fix replying to toots (#1600) 2019-12-21 15:56:19 +01:00
Konrad Pozniak
eca3b5379e
fix delete&redraft losing toot text (#1599) 2019-12-21 15:56:07 +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
Alibek Omarov
a8f3070889 ScheduledTootActivity: fix toolbar back button #1586 (#1591) 2019-12-20 19:14:22 +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
Mélanie Chauvel (ariasuni)
54b3d1f8cd Add close icon to tabs in Tabs account preferences page (#1588)
* Add close icon to tabs in Tabs account preferences page

* Improve code according to code review
2019-12-19 18:35:55 +01:00
Levi Bard
bac3003182 Make polls respect content warning visibility setting (#1583)
* Make polls respect content warning visibility setting

* Only perform poll setup when poll is visible
2019-12-16 19:51:21 +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
Konrad Pozniak
d6ec5ca8d3
fix crashes related to missing Rx error handler (#1561) 2019-11-17 20:59:13 +01:00
Konrad Pozniak
7bccf23f69
fix null search when refreshing hashtags (#1562) 2019-11-17 20:58:54 +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
98d813a5cc
fix login on Chromebook (#1533) 2019-10-13 21:09:23 +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
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
Konrad Pozniak
1e0515f4ab
fix avatars with non-square aspect ratio display (#1528) 2019-10-10 18:43:48 +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
8a2d583b83 fix AccountActivity scroll animation again 2019-10-01 18:49:34 +02:00
Konrad Pozniak
fe304b4e83
fix videos not always keeping aspect ratio (#1508) 2019-10-01 18:24:09 +02:00
Konrad Pozniak
c35f744a17
fix requestLayout() improperly called warning in AccountActivity (#1507) 2019-10-01 08:08:21 +02:00
Konrad Pozniak
8f92274e0b
remove callList from BaseActivity (#1503)
* remove callList from BaseActivity

* remove callList from BaseActivity
2019-09-28 16:29:40 +02:00
Konrad Pozniak
1fd6a7cd72
Fix crash in AccountListFragment (#1502) 2019-09-28 12:52:10 +02:00
Ivan Kupalov
33a78a59a0 Fix screen reader not announcing post content in some cases (#1495) 2019-09-24 20:33:41 +02:00
Konrad Pozniak
a9440ea2ab
filter polls (#1496) 2019-09-24 20:33:29 +02:00
Konrad Pozniak
ca3ce63c80
fix content warning edittext not losing focus when its hidden (#1498) 2019-09-24 20:33:05 +02:00
Konrad Pozniak
0d465d3bee
remove duplicate request when timeline is empty (#1491) 2019-09-23 17:09:13 +02:00
Konrad Pozniak
b79e86cacd fix build error 2019-09-22 09:49:26 +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
de4473b2b3
use singletonList in getChangePayload (#1486) 2019-09-17 18:44:33 +02:00
Konrad Pozniak
29ea05a0e5
Fix crash when status date is null (#1480)
* Fix crash when status date is null

* Fix crash when status date is null
2019-09-15 09:10:07 +02:00
Konrad Pozniak
c04c51ce41
fix crash because of null visibility (#1478)
* fix crash because of null visibility

* fix crash because of null visibility
2019-09-12 20:03:07 +02:00
Konrad Pozniak
9b8b036974
Fix statuses in search not openening details (#1479) 2019-09-12 20:02:30 +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
Conny Duck
98f2cd0789 show edit button on own profile again
closes #1471
2019-09-07 16:34:17 +02:00
Conny Duck
0e2a786b61 fix regression with weird status expand animation 2019-09-07 16:22:56 +02:00
Conny Duck
653d77bab2 fix crash in StatusBaseViewHolder 2019-09-07 13:14:16 +02:00
Konrad Pozniak
d83e7c4c70
only show Progress Dialog if necessary when sending toot (#1470) 2019-09-06 21:40:11 +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
d4f80f308d
upgrade Android gradle plugin, Kotlin and jetifier (#1468) 2019-09-03 18:35:42 +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
44163d8720
fix poll validation (#1459) 2019-08-27 20:27:38 +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
444df322a7 Load sensitive media previews only when shown (#1439) 2019-08-17 21:37:26 +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
Konrad Pozniak
1a6f8d5b24
fix CalledFromWrongThreadException in ComposeActivity (#1447) 2019-08-10 21:11:45 +02:00
Ivan Kupalov
0b29b0330b Fix search bugs, fix #1403 (#1440) 2019-08-04 20:32:44 +02:00
Levi Bard
ce01e6de22 Add support for instance property max_bio_chars (#1414)
* Migrate getInstance from Call to Single

* Add support for instance max_bio_chars.
Addresses #1329
2019-08-04 20:25:07 +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
70b3ce7487
fix avatar radius and alignment in NotificationsAdapter (#1437) 2019-08-01 20:47:15 +02:00
Konrad Pozniak
507cb81d6a
fix size of visibility icon on detailed toot page (#1428) 2019-07-31 19:07:01 +02:00
Konrad Pozniak
941cdf198a
upgrade dagger (#1424) 2019-07-28 20:00:19 +02:00
Konrad Pozniak
8834c22120
add option to always expand content warnings (#1422) 2019-07-28 19:59:52 +02:00
Konrad Pozniak
588775ff9b
cleanup code in StatusViewHolders (#1418)
* cleanup code in status ViewHolder

* add check for reblogButton back in
2019-07-27 21:53:28 +02:00
Konrad Pozniak
57edf86495
fix timestamp not updating in notifications (#1416) 2019-07-27 21:52:00 +02:00
Konrad Pozniak
ce84233c4e
fix crash in FiltersActivity (#1409) 2019-07-25 12:17:52 +02:00
Konrad Pozniak
51da2a15e8
fix notifications opening the wrong account (#1408) 2019-07-25 12:17:30 +02:00
Konrad Pozniak
fbd04cbe7b
fix the "always mark media as sensitive" setting not being respected (#1407) 2019-07-25 12:17:07 +02:00
Konrad Pozniak
7ae07111af
show custom emojis in account field names (#1406) 2019-07-25 12:16:42 +02:00
Konrad Pozniak
b15b4fcf83
fix mentions outside of content warnings not being clickable (#1405) 2019-07-25 12:16:19 +02:00
Konrad Pozniak
f975522e63
fix shouldTrimStatus and add tests (#1404) 2019-07-25 12:15:54 +02:00
Ivan Kupalov
a23fdc60a7 Fix crash on empty status messages (#1402) 2019-07-20 11:37:28 +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
e8ecdb88cf
fix avatars and display names in AccountsInListFragment (#1392)
* fix avatars and display names in AccountsInListFragment

* correctly emojify display names
2019-07-16 20:19:57 +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
d932912616
upgrade dependencies (#1389) 2019-07-16 19:36:04 +02:00
Konrad Pozniak
16bb011f6a
fix glide crash in MainActivity (again) (#1394) 2019-07-16 19:27:26 +02:00
Konrad Pozniak
83f9638aaf
fix some lint warnings and Kotlin style issues (#1390) 2019-07-16 19:26:55 +02:00
Konrad Pozniak
a46922bfde
make avatar images in drawer rounded squares (#1388) 2019-07-16 19:26:41 +02:00
Konrad Pozniak
bcd5262314
fix Glide crash in MainActivity (#1379)
* fix Glide crash in MainActivity

* make emojiInitCallback final
2019-07-10 21:10:07 +02:00
Konrad Pozniak
75734d0e91
fix card view outline being off a few pixels (#1375) 2019-07-10 06:53:21 +02:00
Konrad Pozniak
1dda2c55fc
fix mute action not being correctly displayed (#1376) 2019-07-10 06:52:51 +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
fdee75c84a
fix crash caused by broken mention (#1360) 2019-07-02 10:55:02 +02:00
Konrad Pozniak
1d2e42b9f5
fix LoginActivity created twice on unauthenticated appstart (#1352)
* fix LoginActivity created twice on unauthenticated appstart

* make SplashActivity not inherit from BaseActivity
2019-06-29 11:39:50 +02:00
Konrad Pozniak
707f3e605c
fix build warnings (#1331) 2019-06-24 22:15:31 +02:00
Konrad Pozniak
56b53c458a
fix vanishing toots bug when refreshing (#1343) 2019-06-24 21:43:14 +02:00
Konrad Pozniak
ac2e16e08c
fix image transition from timeline to ViewMediaActivity (#1348) 2019-06-24 20:52:38 +02:00
Levi Bard
ffb6c9a7a7 Add @ and # helper buttons to compose activity (#1277)
Addresses #810
2019-06-24 10:33:05 +02:00
Levi Bard
46efdf7830 Add the 'whole word' setting to the filter preferences UI (#1278) 2019-06-24 10:11:25 +02:00
Konrad Pozniak
b95ff10a3c
Unlimited number of poll options (#1340)
* implement unlimited number of poll options

* fixes

* extract percent calculation into function so it can be used anywhere

* add license header
2019-06-22 21:55:03 +02:00
Ivan Kupalov
d827bd120f Show media descriptions in timeline when previews are disabled. (#1284) 2019-06-22 20:38:53 +02:00
Konrad Pozniak
b825f42c7a
Improve link preview cards (#1330)
* improve card frame

* add placeholder for empty image

* improve layout, Pleroma compatibility, show author name as description fallback

* reset okhttp logging level

* remove unneeded statement
2019-06-22 08:05:55 +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
Konrad Pozniak
22bd0462b7
update Room to 2.1.0 (#1323) 2019-06-17 13:43:11 +02:00
Konrad Pozniak
ab4f981955
fix conversation avatars (#1324) 2019-06-17 13:14:44 +02:00
Marie Axelsson
5d04a7ccda
Merge pull request #1303 from mlc/rick_roll_domains
Rick roll instead of logging in on selected domains. This is not censorship, but rather a choice by this house who will facilitate our services to.
2019-06-17 12:37:15 +02:00
pandasoft0
0ddde62202 Disable sensitive media send if medias list is empty (#1309) 2019-06-11 16:44:02 +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
kyori19
4d916eb106 Fix onBackPressed never called in ComposeActivity (#1317) 2019-06-10 19:40:07 +02:00
Konrad Pozniak
05d939b68a
Update Dagger & other deps (#1315)
* update dagger

* update remaining deps
2019-06-09 19:48:04 +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
794903f496
correctly emojify account name in AccountActivity (#1297) 2019-06-05 21:35:29 +02:00
Konrad Pozniak
a956061cbf
cleanup unused resources (#1300) 2019-06-02 22:02:03 +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
mike castleman
b15a5c7614
enhance bad-domain detection 2019-06-01 15:29:15 -04:00
mike castleman
ee35a9768f
rick roll instead of logging in on selected domains 2019-06-01 14:47:14 -04:00
Konrad Pozniak
91d01bce05
Merge pull request #1296 from unstabler/impl-simple-shortcuts
improve usability: add shortcuts for compose/send new toot [#505]
2019-05-31 15:01:12 +02:00
Gyuhwan Park
50b50a182e fix(MainActivity,ComposeActivity): use onKeyDown() instead 2019-05-31 17:35:58 +09:00
Konrad Pozniak
9a90594fae
Merge pull request #1288 from tuskyapp/poll-description
Minimal screen reader support for polls
2019-05-30 21:53:56 +02:00
Gyuhwan Park
d31aa7fc43 feature(ComposeActivity): add shortcut for send new toot (CTRL + ENTER) [#505] 2019-05-30 21:22:52 +09:00
Gyuhwan Park
8cbf8b59bd feature(MainActivity): add shortcut for compose new toot (SHIFT + N or CTRL + N) [#505] 2019-05-30 21:20:53 +09:00
lenchan139
6fc62d3c01 make a copy of file before upload (#1294) 2019-05-29 20:26:33 +02:00
charlag
3f613dc56f Minimal screen reader support for polls 2019-05-26 15:56:26 +02:00
Konrad Pozniak
9690cd5730
add avatar placeholders back in (#1285) 2019-05-26 10:06:22 +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
da1089184c
improve performance when clearing notifications (#1283) 2019-05-26 08:45:25 +02:00
Konrad Pozniak
7733e387ee
improve notification fragment layout (#1282)
* improve notification fragment layout

* improve sw640dp notification fragment layout
2019-05-26 08:39:21 +02:00
Konrad Pozniak
959a08437d
remove some unneeded code from BaseActivity (#1281) 2019-05-26 08:12:42 +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
Konrad Pozniak
419ae80c60
fix images with focal point not shown in timeline (#1256) 2019-05-11 17:35:07 +02:00
Konrad Pozniak
561d4cc284
support custom emoji fonts in poll options (#1250) 2019-05-10 20:08:22 +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
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
Conny Duck
4d58ecb4ea stop buggy gif animation for now 2019-05-08 21:42:22 +02:00
Conny Duck
51cf1a4ec5 fix crash in StatusBaseViewHolder.getVisibilityDescription 2019-05-08 20:19:31 +02:00
Konrad Pozniak
40d3eb8759
Fix bot icon indicator again (#1249)
* fix handling of bot indicator in timeline

* write bot status into db cache

* remove log
2019-05-07 07:37:00 +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
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
cb82202d4d
fix deleted status reappearing in the timeline (#1225)
* fix deleted status reappearing in the timeline

* fix crash

* fix tests

* fix instrumented tests

* add test for deleted status in timeline
2019-05-01 22:10:00 +02:00
Konrad Pozniak
c739a147cf
fix timeline query not returning poll (#1226) 2019-04-28 10:11:36 +02:00
Konrad Pozniak
8d01e54caf
add support for multiple choice polls (#1212) 2019-04-28 09:58:17 +02:00
Konrad Pozniak
c410600fe4
fix Glide crash in MainActivity (#1224) 2019-04-27 18:20:42 +02:00
Konrad Pozniak
f235a38cca
fix StatusDetailedVieHolder ignoring useAbsoluteTime setting (#1215) 2019-04-25 19:29:15 +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
82d547caf8
fix issue with avatar background recycling (#1209) 2019-04-21 22:59:58 +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
ea048c9f0c
fix crash when status has more than 4 images and accessibility service is active (#1204) 2019-04-21 14:29:47 +02:00
Konrad Pozniak
1b9e279064
fix issue with foreground service on Oreo+ (#1203) 2019-04-21 14:28:51 +02:00
Konrad Pozniak
ef66deeae7 fix some lint warnings 2019-04-21 08:24:29 +02:00
Konrad Pozniak
1ae3e86378
remove unneeded CollectionUtil and Either.java (#1201) 2019-04-21 08:24:06 +02:00
Evgeny Petrov
8a6b439408 Added check if text in compose toot field has only whitespaces (#1193) 2019-04-20 12:17:54 +02:00