1698 Commits

Author SHA1 Message Date
Andrew
5519f17775
Truncate session id when displayed as username (#1215) 2023-05-25 10:58:52 +09:30
Andrew
331d523c45
Improve notification content dialog (#1211) 2023-05-24 18:03:27 +09:30
Andrew
47d5b242ca
Fix share button color (#1212) 2023-05-24 18:00:32 +09:30
Andrew
1b231bfff3
Fix dialog button style (#1214) 2023-05-24 13:06:26 +09:30
Andrew
945df19aef
Fix radio button selection transition (#1209) 2023-05-24 11:23:57 +09:30
Andrew
95a165aa05
Fix TabLayout ripple (#1210) 2023-05-24 11:23:19 +09:30
andrew
55dd62240a Fix size & space 2023-05-23 18:49:28 +09:30
andrew
ff124b8edc Fix ID divider color 2023-05-23 18:41:04 +09:30
andrew
a295dfb248 Cleanup 2023-05-23 14:56:03 +09:30
andrew
8b39c4e56a polish 2023-05-22 22:20:52 +09:30
andrew
76466e57de Fix ripple 2023-05-22 17:03:26 +09:30
andrew
4f2ef7f2af Add SelectableItem<> 2023-05-22 15:46:12 +09:30
andrew
8ef6ec2125 . 2023-05-22 14:57:36 +09:30
Andrew
d505109aa3
Merge branch 'dev' into disable-unblock 2023-05-22 14:55:55 +09:30
Andrew
a8e77659b3
Add remove avatar 2023-05-22 14:53:58 +09:30
Andrew
8f55ac93f8
Fix accept button color 2023-05-22 14:53:05 +09:30
Andrew
6fc7b3591e
Fix ripple color 2023-05-22 14:52:27 +09:30
andrew
30d748e147 Disable unblock button 2023-05-19 23:44:07 +09:30
Jason Rhinelander
46acd7878d
New SPNS subscription and notifications
Finishes the WIP for subscribing to push notifications and handling the
new-style pushes we get.
2023-05-18 18:03:00 -03:00
andrew
235b94a905 Fix ripple color 2023-05-18 19:20:44 +09:30
Andrew
f64fe4b652
Fix device notification settings preference color 2023-05-17 22:34:46 +09:30
andrew
8c5ff1f944 Fix dialog button color 2023-05-17 14:50:20 +09:30
andrew
a334b8912a Fix device notification settings preference color 2023-05-17 14:39:47 +09:30
Andrew
ab3caf8ab5
Fix message entrance coordinates 2023-05-12 09:44:14 +09:30
Andrew
44cb8fec2c
Remove reply from context menu when you can't write 2023-05-11 22:59:53 +09:30
Andrew
e6dc5f2128
Fix links not working when message is partially offscreen 2023-05-11 22:58:12 +09:30
Andrew
fef2948f58
Fix scroll to bottom button position when input not visible 2023-05-11 22:57:08 +09:30
Andrew
57476cd56e
Fix scroll to bottom button always visible if last item is taller than RecyclerView 2023-05-11 19:48:10 +09:30
Andrew
ba9dab33c5
Synchronize Cipher in KeystoreHelper 2023-05-11 19:47:49 +09:30
Andrew
aadba75038
Add sync status message 2023-05-11 19:46:09 +09:30
Andrew
84004d2fdb
Swallow exceptions in ScreenshotObserver 2023-05-11 19:45:43 +09:30
Andrew
910ab8874e
Remove laid out check before drawToBitmap 2023-05-11 19:45:10 +09:30
ryanzhao
a7e0bd5366 Merge branch 'dev' into bluetooth-manager-crash 2023-05-11 12:16:52 +10:00
ryanzhao
88e788a406 clean 2023-05-11 12:16:37 +10:00
Andrew
8dbabec4e7
Fix send after approval message (#1178)
* Fix send after approval message

* Fix logic

* Utilise isLocalNumber
2023-05-11 10:02:38 +10:00
Andrew
2b00729df3
Fix message request button overlap (#1188) 2023-05-11 10:01:05 +10:00
Andrew
ba3566f7e8
Fix approval text position when input bar is gone (#1181) 2023-05-11 10:00:39 +10:00
ryanzhao
89545f0406 further clean up 2023-05-10 15:36:10 +10:00
andrew
d20c27d6d3 Remove laid out check before drawToBitmap 2023-05-09 22:26:36 +09:30
andrew
4469d9754a Fix bubble entrance coordinates 2023-05-09 15:10:03 +09:30
andrew
c8fa2d8d6e Remove reply from context menu when you can't write 2023-05-09 14:51:28 +09:30
ryanzhao
fa71ea1850 make RetrieveProfileAvatarJob work 2023-05-09 14:14:49 +10:00
andrew
8d38d1c0fb Fix links not working when message is partially offscreen 2023-05-09 13:29:25 +09:30
Ryan Zhao
b494088c3d WIP: further refactor on old jobs 2023-05-08 17:12:20 +10:00
andrew
b6667b83ce Fix scroll to bottom button position when input not visible 2023-05-08 14:43:08 +09:30
andrew
f0715f16e0 Fix scroll to bottom button always visible if last item is taller than RecyclerView 2023-05-08 14:09:01 +09:30
Ryan Zhao
2ceb9e2bf4 clean up old job manager 2023-05-08 12:29:21 +10:00
Ryan Zhao
2b48b52df0 remove unused jobs and wrap up old job refactoring 2023-05-08 11:18:33 +10:00
andrew
ec2abffdcc Remove logs 2023-05-08 10:33:39 +09:30
andrew
e9a15941ae Fix colors 2023-05-05 17:47:36 +09:30
ryanzhao
375815c719 WIP: refactor on jobs using old job table 2023-05-05 16:51:44 +10:00
andrew
6a5d97a0f0 Fix something 2023-05-05 12:37:46 +09:30
andrew
a9078c8d08 ...and the rest 2023-05-05 12:32:54 +09:30
andrew
a152250a60 Add comments 2023-05-05 12:18:39 +09:30
andrew
24741fcc22 Synchronize Cipher in KeystoreHelper 2023-05-05 12:10:46 +09:30
andrew
d3ce899a80 Synchronize all Cipher#doFinal 2023-05-05 12:07:19 +09:30
andrew
45eb3549f6 Add sync status message 2023-05-04 17:01:45 +09:30
ryanzhao
d868021f0a move job running status from database to memory 2023-05-04 15:30:09 +10:00
ryanzhao
7a14c3f8be Merge branch 'dev' into bluetooth-manager-crash 2023-05-02 09:20:41 +10:00
Andrew
99cb10f5be
Add send approval message (#1157) 2023-05-01 17:19:19 +10:00
Andrew
83b6002a27
Fix emoji misalignment (#1155) 2023-05-01 17:19:13 +10:00
Andrew
a934c5c2e2
Fix missing media progress (#1151) 2023-05-01 17:19:01 +10:00
Andrew
70aab2994b
Refactor MmsDatabase (#1169) 2023-05-01 17:16:48 +10:00
Ryan Zhao
2630c97a4e add where clause for marking all jobs pending to reduce the time for writing to db 2023-05-01 17:01:57 +10:00
ryanzhao
bd4f451513 Merge branch 'dev' into bluetooth-manager-crash 2023-04-27 14:38:09 +10:00
andrew
58e532f0ec Swallow screenshot exceptions 2023-04-26 16:31:28 +09:30
Andrew Gallasch
ffef98ecc9
Fix LandingActivity textColor (#1159) 2023-04-26 14:59:32 +10:00
Andrew Gallasch
5d552a7f93
Remove unnecessary api version checks in WindowUtil (#1163) 2023-04-26 14:56:00 +10:00
Andrew Gallasch
716fc1f4fa
Add SafeViewPager to fix touch exception in MediaPreviewActivity (#1166) 2023-04-26 14:54:54 +10:00
Andrew Gallasch
7d33177e06
Fix status and nav bar colors (#1165) 2023-04-26 14:48:34 +10:00
Ryan Zhao
c7bbdb778b minor refactor 2023-04-24 15:50:53 +10:00
Ryan Zhao
51856138e3 refactor on SignalAudioManager 2023-04-24 15:38:06 +10:00
0x330a
d2e80c3157
feat: re-add bencode utility and fix tests to use bytearray instead of assuming utf-8 encoding for strings 2023-04-21 13:56:08 +10:00
0x330a
7762d534bb
feat: add no op push manager for de-googled 2023-04-20 17:25:03 +10:00
0x330a
8d4f2445f2
feat: add support for firebase and split out google services as a dependency for only the play version of the app. Add support for requests in new pn server 2023-04-20 17:12:38 +10:00
0x330a
2246a5d9ce feat: introduce new pns models and wire kotlinx serialization to apply in libsession 2023-04-19 23:07:36 +10:00
Andrew Gallasch
63d442584c
Fix empty message behind media message (#1150) 2023-04-13 16:54:03 +10:00
SzBenedek2006
7b0c014791
Fix hungarian translations (#1140) 2023-04-13 10:40:32 +10:00
hjubb
e1ff2bf988 build: update build number 2023-04-05 16:32:16 +10:00
0x330a
b25eb9af8e
Use new seed node certificates (#1144)
* fix: use new seed node certificates

* refactor: don't need to include subdomains actually
2023-04-05 15:58:56 +10:00
wafflesvsfrankie
9ad73139b6
Add accessibility tags (#1054)
* adding accessibility id to new conversation button

* adding accessibility ids and strings for testing

* updating id tags for new conversation buttons

* accessibility tags for create contact test

* adding ids for message requests, config message, requests banner and conversation view

* adding more tags to settings page

* adding tags to different resolutions for landing page

* updating display name in settings to include accessibility id

* found some stashed changes which i forgot about

* more stashed changes

* adding tags to layout sw400dp

* closed group testing, delete/unsend message testing and selecting contacts tag

* adding tags for message body, selecting contacts for group creation, deleted message config, unsend message modal, and trash icon

* added tags for disappearing messages menu option, time selector, clock icon, confirm of change (ok)and control message

* add test for block user

* docs: Adding in accessibility ID's for Appium testing

* accessibility tags for conversation options, profile picture/settings and block options

* Add content descriptions for better accessibility

* Add more content descriptions

* Add timer icon content description

* Update profile picture content description

* Adding accessibility ids to new conversation creation screen and to message notification settings

* fix: content descriptions in their correct places and prevent a crash

* build: update build number

* build: update build number

* Adding back in FrameLayout, making changes as request

* Fixed viewPager move

* Fixing changes as requested by Jubb

* Adding content descriptions to mentions list, voice message settings, link preview permissions, closed group menu and slow mode notifications option

* Adds content descriptions to blocked contacts heading in conversations settings, individual contacts in blocked contacts page and to empty message requests folder

* Adds content descriptions to empty message request folder and text input box for username on settings page

---------

Co-authored-by: charles <charles@oxen.io>
Co-authored-by: hjubb <hjubb@users.noreply.github.com>
2023-04-04 11:33:17 +10:00
hjubb
cfdc3dc24d build: update build number 2023-04-03 17:12:41 +10:00
hjubb
2a2f90276d Merge branch 'master' into dev 2023-04-03 09:58:16 +10:00
Morgan Pretty
eb739bdc9b
ANR Defensive Coding (#1132)
* Made a number of changes to try and improve background ANRs

Added some more logs to the BatchMessageReceiveJob (to make it easier to track a specific job)
Shifted the ConversationActivity adapter initialisation to run on a background thread to reduce the hang when opening a conversation
Updated the ConversationViewModel to cache the recipient and openGroup values to avoid accessing the database unnecessarily
Updated the code to just stop all current closed group pollers instead of fetching a list to stop
Updated the PN registration to be triggered in an AsyncTask
Updated the call code to unregister a couple of additional receivers
Updated the background poller so it waits for 15 mins before running and doesn't replace the existing scheduler (allows for PNs to trigger explicit background polling)
Fixed an issue where we were sending push notifications which were too large and likely to fail as a result (non-pre-offer call messages)
Fixed an issue where a failing Open Group poller could prevent the background poller from receiving and processing DMs

* Updated to a more coroutine-y convention
2023-03-31 13:24:36 +11:00
Morgan Pretty
5e28af2be4
Updated the code to use the network offset time everywhere relevant (#1111)
* Updated the code to use the network offset time everywhere relevant

* Updated the SnodeAPI.nowWithOffset to use @JvmStatic
2023-03-31 10:11:30 +11:00
Float-hu
a062e1c2b2
Update zh-rCN strings.xml (#1129) 2023-03-16 10:18:18 +11:00
Morgan Pretty
391418ae1e
Merge pull request #1107 from mpretty-cyro/fix/group-avatar-download-job-duplication
Fixed a few issues related to the GroupAvatarDownloadJob
2023-02-17 10:16:22 +11:00
Morgan Pretty
c8846bc31a
Merge pull request #1118 from mpretty-cyro/feature/add-copy-to-long-press-menu
Add ‘Copy community URL’ to the long-press menu
2023-02-15 15:40:47 +11:00
Morgan Pretty
5bd188387b
Merge pull request #1112 from mpretty-cyro/fix/link-preview-layout-issues
Fixed a few layout issues with the LinkPreviewView
2023-02-15 15:39:37 +11:00
Morgan Pretty
cc7a80900f Added copy session id and community url to the conversation long press menu 2023-02-14 16:43:55 +11:00
Morgan Pretty
da0d38f389 Updated the copy for the Giphy warning prompt 2023-02-14 16:17:25 +11:00
Morgan Pretty
4df530d341 Code review changes 2023-02-14 14:10:47 +11:00
Qian Hong
47066a320c
fix: Increase contrast between selected messages and window background. Fixes #1110 (Plan B) (#1116) 2023-02-13 18:26:55 +11:00
Morgan Pretty
bbedad5ebb Fixed a few layout issues with the LinkPreviewView 2023-02-10 14:33:19 +11:00
Morgan Pretty
9fd68d27f8 Fixed a few issues with the GroupAvatarDownloadJob
Added a method to remove the Group avatar
Fixed an issue where the recipient diffing on the HomeActivity wasn't working properly
Fixed an issue where the GroupAvatarDownloadJob could be scheduled even when there was already one scheduled
2023-02-10 10:05:28 +11:00
Morgan Pretty
cd3b8f3571 Fixed a few issues related to the GroupAvatarDownloadJob
Added logic to avoid scheduling a GroupAvatarDownloadJob if there is already an existing one with the same parameters
Added logic to avoid trying to download an old avatar for a group if there is a new one
Added logic to prevent an old GroupAvatarDownloadJob from overriding a valid avatar with an old one
2023-02-08 13:42:35 +11:00
hjubb
48799db21c build: update build number 2023-02-06 16:03:49 +11:00
hjubb
378fb40984 Merge branch 'dev' 2023-02-06 16:03:19 +11:00
0x330a
395ada62ff
Update French translations (#1103)
* chore: update french translations file from crowdin

* chore: update french translations libsession file from crowdin

* chore: update french non-region translations file from crowdin

* chore: update french non-region libsession translations file from crowdin
2023-02-06 16:01:16 +11:00
Morgan Pretty
50989cb2ee Increased file upload limits to 10Mb 2023-02-06 14:22:26 +11:00
Morgan Pretty
0256735135 Fixed a few bugs, added logging and removed some old code
Added the ability to copy the sessionId of open group URL from the conversation menu
Added additional logging to the BatchMessageReceiveJob to make future debugging easier
Removed the OpenGroupMigrator
Updated the JobQueue logging to provide more insight
Fixed an issue where the database migrations weren't blocking which could result in failing/crashing SQL queries
Fixed an issue where the new database file wouldn't be removed if a migration error was thrown
Fixed an issue where the new database could exist in an invalid state and the app wouldn't attempt to remigrate
Fixed an incorrectly throw exception in the PassphrasePromptActivity
2023-02-03 13:33:52 +11:00
hjubb
4e38b75f57 build: update build number 2023-01-30 17:02:11 +11:00
Morgan Pretty
7ffe48b5ed Fixed an issue where the message bubble could be sized incorrectly 2023-01-27 15:19:02 +11:00
Morgan Pretty
5d7d141d0c Added a missing parameter to the SMS & MSS projections 2023-01-25 17:19:23 +11:00
Morgan Pretty
30615be029 Fixed a build error in the MockDataGenerator 2023-01-24 15:56:14 +11:00
Morgan Pretty
87f1d708b1 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/res/values/themes.xml
2023-01-24 15:44:22 +11:00
Morgan Pretty
fff0e5a32d Merge remote-tracking branch 'upstream/dev' into pinned-message-icon-color
# Conflicts:
#	app/src/main/res/values/themes.xml
2023-01-24 15:11:09 +11:00
Morgan Pretty
2711a6dd5f
Merge pull request #994 from ceokot/message-request-response
Add profile data to message request responses
2023-01-24 14:53:09 +11:00
Morgan Pretty
1ce9e47c51
Merge pull request #991 from ceokot/groups-push-message-sender-name
fix: Show message sender in push notifications for groups
2023-01-24 14:52:50 +11:00
Morgan Pretty
ce3aa980aa Merge remote-tracking branch 'upstream/dev' into message-request-fixes
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/groups/OpenGroupManager.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroup.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt
2023-01-24 14:48:54 +11:00
Morgan Pretty
251df065f8 Merge remote-tracking branch 'upstream/dev' into message-request-response
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
2023-01-24 14:44:56 +11:00
Morgan Pretty
e44ae140e0 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/res/values/themes.xml
2023-01-24 14:24:33 +11:00
Morgan Pretty
bc20811431 Merge remote-tracking branch 'upstream/dev' into feature/read_status_updates
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt
#	app/src/main/res/values/strings.xml
2023-01-24 14:10:14 +11:00
Morgan Pretty
dc9458f313 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt
#	libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt
2023-01-24 14:02:08 +11:00
Morgan Pretty
23dca5b38d Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator 2023-01-24 14:00:07 +11:00
Morgan Pretty
025989f928
Merge pull request #1069 from mpretty-cyro/feature/performance-improvements
Performance improvements
2023-01-24 13:59:32 +11:00
Morgan Pretty
bdac7f2ea3
Merge pull request #1087 from 0x330a/fix/expire-old-call-messages
Prevent very old messages (15 minutes ago) being processed to prevent endless crashes in some cases
2023-01-24 13:59:19 +11:00
Morgan Pretty
e0785c4854 Added in fixes and defensive coding for the most frequent crashes
Fixed a crash which could occur when dealing will calls in the background on Android 12 and newer
Fixed a crash when we don't have permission to check the current call state
Fixed a crash when the ScreenshotObserver receives an invalid Uri (just prevent the specific case)
2023-01-24 13:31:56 +11:00
Morgan Pretty
ebe8479e4c Resolved PR comments 2023-01-23 16:14:50 +11:00
0x330a
86b065203f
fix: prevent very old messages (15 minutes ago) being processed to prevent endless crashes in some cases 2023-01-23 15:43:43 +11:00
Morgan Pretty
a6f09c6fef Added some defensive coding to help prevent incorrect message statuses 2023-01-23 12:42:10 +11:00
Morgan Pretty
8a4a9623cc Fixed an edge case where an OpenGroup might not download it's image 2023-01-20 17:42:46 +11:00
Morgan Pretty
0ed5c5825d Cleaned up some of the error logging 2023-01-20 15:24:14 +11:00
Morgan Pretty
afa42daab1 Updated the 'scrollToBottom' behaviour to be more efficient 2023-01-20 09:19:29 +11:00
Morgan Pretty
810430e806 Fixed a couple of issues with the OpenGroupDeleteJob
Updated the OpenGroupDispatcher to have a thread limit of 8 (was previously unlimited which could result in the app getting flooded with threads under certain conditions)
Updated the OpenGroupDeleteJob to do bulk deletions (instead of individual message deletions)
Updated the OpenGroupDeleteJob to catch and report failures (wasn't previously happening)
2023-01-20 09:02:59 +11:00
Morgan Pretty
ce8e5c596e Fixed the message sorting for a couple of database queries 2023-01-19 15:24:50 +11:00
Morgan Pretty
694ca79958 Added the unread mention indicator to the conversation list
Fixed the unread indicator colours to match correct theming designs
Fixed a bug where the unread count could be incorrect when receiving UnsendRequests within the same poll
Added a couple missing theme colours
2023-01-19 15:24:50 +11:00
Morgan Pretty
cae15a200d Added temporary support for downgrading and notify the user upon failure 2023-01-19 15:24:09 +11:00
Morgan Pretty
a2fcb3195d General cleanup
Fixed a bug where open groups were incorrectly displaying closed group avatar images
Removed some commented out code
2023-01-16 16:46:24 +11:00
Morgan Pretty
f4fdfd7410 Added the updated delivery status UI 2023-01-16 14:48:38 +11:00
Morgan Pretty
cc5c63b211 Fixed a couple of issues from the rebase, removed an unneeded text clear 2023-01-13 16:16:52 +11:00
Morgan Pretty
70f0dad36e Fixed a few bugs and some optimisations
Updated a number of nested layout components to be included instead of inflated
Added a couple of optimisations to the EmojiTextView
Fixed an issue where long conversation titles could squish the unread count
Fixed an issue where the typing indicator wasn't working on the home screen
2023-01-13 15:56:14 +11:00
Morgan Pretty
693c3a9656 Fixed a few cases where we were using the write access for read operations 2023-01-13 15:56:14 +11:00
Morgan Pretty
f9ff3feb29 Refactored code to avoid passing lifecycleCoroutineScope as a parameter 2023-01-13 15:56:14 +11:00
Morgan Pretty
afdf730eaa Added a couple of minor UI optimisations 2023-01-13 15:56:14 +11:00
Morgan Pretty
3e68bdc2f8 Fixed an issue introduced by the last commit with OpenGroup initialisation 2023-01-13 15:56:14 +11:00
Morgan Pretty
5afd647686 Tweaked some open group handling and a couple of onboarding issues
Updated the OpenGroup adding and polling logic to reduce duplicate API calls
Updated the BackgroundGroupAddJob to start a GroupAvatarDownloadJob instead of running the download itself (to appear to run faster)
Defaulted OpenGroups to use blinded auth when no server capabilities are present
Fixed an issue where the background poller could be started even though the onboarding hadn't been completed
Fixed an issue where the database could get into an invalid state if the app was restarted during onboarding
2023-01-13 15:56:14 +11:00
Morgan Pretty
d0a4bac83e Shifted the creation of AttachmentDownloadJobs to the IO thread 2023-01-13 15:56:14 +11:00
Morgan Pretty
a1b052ef82 Added indexes to the Reactions database 2023-01-13 15:56:13 +11:00
Morgan Pretty
e7b6ddacbb Shifted a number of db writes when opening conversations to the IO thread so they don't block 2023-01-13 15:55:31 +11:00
Morgan Pretty
c0bef51fe0 Fixed a couple of bugs where the HomeDiffUtil could incorrectly detect differences 2023-01-13 15:55:31 +11:00
Morgan Pretty
d68d26cd5d Added the MockDataGenerator to simplify db testing 2023-01-10 10:41:53 +11:00
Morgan Pretty
5abc3119cb Fixed an issue where clearing device data would create an invalid DB state 2023-01-06 15:41:26 +11:00
Morgan Pretty
e6fe38587b Fixed an issue where database migrations were broken 2023-01-06 10:36:56 +11:00
Morgan Pretty
12205e72b6 Another update was released last week 2023-01-06 09:05:29 +11:00
Morgan Pretty
1a28fd2a9e Added code to migrate from SQLCipher 3 to 4 2023-01-05 16:56:52 +11:00
hjubb
df8a6d739a build: release v1.16.3 (3235) 2022-12-19 11:57:22 +11:00
0x330a
cdd2559839
Paged conversation recycler, update compile sdk version 31 (#1049)
* Update build tools

* Update appcompat version

* Update dependencies

* feat: add paging into conversation recycler and queries to fetch data off-thread

* refactor: wip for updating paged results and bucketing messages / fetching enough to display

* fix: currently works for scrolling and possibly refreshing? need scroll to message and auto scroll down on insert (at bottom)

* fix: search and scrolling to X message works now

* build: increase version code and name

* fix: re-add refresh, remove the outdated comment

* refactor: lets see if 25 size pages increases performance 👀

* feat: add in some equals overrides for mms records to refresh if media has finished DLing

* feat: add scroll to bottom for new messages if we are at the end of the chat

* build: update build numbers

* fix: update AGP and fix compile errors for sdk version 31

* feat: add log for loki-avatar and loki-fs on upload types and responses

* feat: increase build number to match latest installed version

* feat: changing props and permission checks for call service

* fix: possible service exception when no call ID remote foreground service not terminated

* revert: google services version

* fix: re-add paging dependency

* feat: adding new last seen function and figuring out the last seen for recycler adapter

* build: update version names and codes for deploy

* refactor: undo the new adapter and query changes to use previous cursor logic. revert this commit to enable new paged adapter

* fix: use author's address in typist equality and hashcode for set inclusion

* refactor: refactor the select contacts activity

* refactor: refactor the select contacts activity

* build: update version code

* fix: hide all other bound views if deleted

* refactor: change voice message tint, upgrade build number

* fix: message detail showing up properly

* revert: realise copy public key is actually not allowed if open group participant

* fix: copy session ID, message detail activity support re-enabled

* build: update build version code

* build: remove version name

* build: update build code

* feat: google services version minimum compatible

* fix: selection for re-created objects not properly highlighting

* fix: foreground CENTER_INSIDE instead of just CENTER for scaletype

* build: update version code

* fix: don't show error if no error

* build: update version code

* fix: clear error messages if any on successful send

Co-authored-by: charles <charles@oxen.io>
2022-12-19 11:29:05 +11:00
hjubb
bda50d263c Merge branch 'master' into dev 2022-12-19 11:06:42 +11:00
Ninad Bhuiyan
95298bb9e3
Fix voice message duration view (#948)
The seconds for a voice message duration, and also its decreasing duration when played, were just the total duration of the audio. So, a 3 minute audio would appear as 3:180 at the audio's right, and 2:170 for example when said audio is being played.

I added a modulo operator for 60 after the time millisecond to seconds conversion, just before setting it as viewable text, same for the progress function.
2022-12-19 10:53:03 +11:00
0x330a
d9a815a729
Add adaptive monochrome icon based on the current ic_launcher_foreground (#1037)
* fix: Selected message theme colours and crash fixes (#1025)

* Fixed a bug where message requests could incorrectly appear in the thread list (#1009)

* New app theming (#1010)

* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

* Fix ocean light theme pin color

* Update classic dark unread indicator text color

* Reduce group name text size on join community screen

* Restore tab indicator color on join community and all media screens

* Home adapter rename

* Updated the HomeViewModel to cancel old executors when new ones are added (#1)

* Updated the HomeViewModel to cancel old executors when new ones are added

* Removed a seemingly unneeded update

* Explicitly remove observers when the HomeActivity is paused (#2)

Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>

* Play fixes (#1017)

* fix: Prevent crash from recipient modification listener

* fix: Add message selection highlight color

* Handle crash from fingerprint auth

* Update message selection highlight colors

* Handle call answer/hangup processing appropriately

* Add proguard rule for ContextMenuList

* Handle more calls intents

Co-authored-by: charles <charles@oxen.io>

Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>

* release: increment build number

* feat: add adaptive monochrome icon

Co-authored-by: ceokot <ceokot@users.noreply.github.com>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
2022-12-14 11:34:31 +11:00
0x330a
6fbfc95ad2
Make selected message colours more visible, fix classic dark read indicator (#1031)
* fix: Selected message theme colours and crash fixes (#1025)

* Fixed a bug where message requests could incorrectly appear in the thread list (#1009)

* New app theming (#1010)

* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

* Fix ocean light theme pin color

* Update classic dark unread indicator text color

* Reduce group name text size on join community screen

* Restore tab indicator color on join community and all media screens

* Home adapter rename

* Updated the HomeViewModel to cancel old executors when new ones are added (#1)

* Updated the HomeViewModel to cancel old executors when new ones are added

* Removed a seemingly unneeded update

* Explicitly remove observers when the HomeActivity is paused (#2)

Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>

* Play fixes (#1017)

* fix: Prevent crash from recipient modification listener

* fix: Add message selection highlight color

* Handle crash from fingerprint auth

* Update message selection highlight colors

* Handle call answer/hangup processing appropriately

* Add proguard rule for ContextMenuList

* Handle more calls intents

Co-authored-by: charles <charles@oxen.io>

Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>

* release: increment build number

* fix: make selected colours more visible, make read indicator more visible in dark mode

* refactor: revert ocean dark selected

Co-authored-by: ceokot <ceokot@users.noreply.github.com>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
2022-12-14 11:34:18 +11:00
0x330a
7fcd754f00
fix: don't use themed text color primary for the media send fragment (#1038) 2022-12-07 14:05:11 +11:00
charles
76fff8bc74 release: increment build number 2022-10-24 15:53:14 +11:00
ceokot
427b2d7b5f
fix: Selected message theme colours and crash fixes (#1025)
* Fixed a bug where message requests could incorrectly appear in the thread list (#1009)

* New app theming (#1010)

* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

* Fix ocean light theme pin color

* Update classic dark unread indicator text color

* Reduce group name text size on join community screen

* Restore tab indicator color on join community and all media screens

* Home adapter rename

* Updated the HomeViewModel to cancel old executors when new ones are added (#1)

* Updated the HomeViewModel to cancel old executors when new ones are added

* Removed a seemingly unneeded update

* Explicitly remove observers when the HomeActivity is paused (#2)

Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>

* Play fixes (#1017)

* fix: Prevent crash from recipient modification listener

* fix: Add message selection highlight color

* Handle crash from fingerprint auth

* Update message selection highlight colors

* Handle call answer/hangup processing appropriately

* Add proguard rule for ContextMenuList

* Handle more calls intents

Co-authored-by: charles <charles@oxen.io>

Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
2022-10-24 15:45:26 +11:00
ceokot
1dbcffe40b
Play fixes (#1017)
* fix: Prevent crash from recipient modification listener

* fix: Add message selection highlight color

* Handle crash from fingerprint auth

* Update message selection highlight colors

* Handle call answer/hangup processing appropriately

* Add proguard rule for ContextMenuList

* Handle more calls intents

Co-authored-by: charles <charles@oxen.io>
2022-10-24 14:24:57 +11:00
charles
10d0134269 fix: Use text color secondary for conversation pinned icon 2022-10-19 13:15:05 +11:00
charles
2216c99dcd release: increment build number 2022-10-18 18:05:41 +11:00
ceokot
3018937ad9
New app theming (#1011)
* Fixed a bug where message requests could incorrectly appear in the thread list (#1009)

* New app theming (#1010)

* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

* Fix ocean light theme pin color

* Update classic dark unread indicator text color

* Reduce group name text size on join community screen

* Restore tab indicator color on join community and all media screens

* Home adapter rename

* Updated the HomeViewModel to cancel old executors when new ones are added (#1)

* Updated the HomeViewModel to cancel old executors when new ones are added

* Removed a seemingly unneeded update

* Explicitly remove observers when the HomeActivity is paused (#2)

Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>

Co-authored-by: Morgan Pretty <mpretty-cyro@users.noreply.github.com>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
Co-authored-by: charles <charles@oxen.io>
2022-10-18 17:59:47 +11:00
Harris
7a773016da
New app theming (#913)
* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

Co-authored-by: charles <charles@oxen.io>
2022-10-12 17:05:55 +11:00
jubb
92075aed32 Merge branch 'master' into dev 2022-10-10 09:59:40 +11:00
charles
eb74f901c1 Persist profile data 2022-10-05 10:05:26 +11:00
charles
140877f4e3 Refactor 2022-10-04 18:31:20 +11:00
charles
c537da6acd fix: Show message sender in push notifications for groups 2022-10-03 16:31:29 +11:00
charles
99f70e5c21 Move open group query into click handler 2022-10-03 13:42:47 +11:00
charles
ffa280bc1b fix: Disable typing and message requests in read-only open groups 2022-10-03 13:15:14 +11:00
Harris
54efc36a8b
fix: don't use RTL layout for header image (#982) 2022-09-30 16:55:29 +10:00
ceokot
fbd1721eaf
Menu redesign (#958)
* feat: Menu redesign

* Add bottomsheet

* Handle default peek height

* Smooth out setting peek height

* Move contacts prep to util

* Dialog layout tweaks

* Contact grouping tweaks

* Add new message dialog

* Add public key input delegate

* Add create group dialog

* Add join community dialog

* Handle dialog back navigation

* Enter community url tab tweaks

* Scan QR code tab refactor

* Scan qr code refactor

* Direct and community tabs refactor

* Add session id copy context menu item

* Set dialog background colours

* Set full dialog background colour

* Minor tweaks

* Add closed group contact search

* Cleanup

* Add content descriptions

* Resize community chips

* Fix new conversation screen paddings

* Fix fade in/out of join community screen

* Prevent creating conversation with empty public key

* Resize and position create group loader

* Fix back nav after creating direct message conversation

* Fix inter-screen transitions

* Fix new conversation background colours

* Fix background colours

* Rename contact list header for clarity

* Bug fixes

* Enable scrolling of Enter Session ID tab of the new message dialog

* Minor refactor

* Switch to child fragment manager

* Fix member search on create group screen

Co-authored-by: charles <charles@oxen.io>
2022-09-30 13:32:07 +10:00
jubb
42b2271336 build: update version code 2022-09-26 11:53:00 +10:00
Harris
d2dc86de88
Fix moderator race condition (#975)
* fix: race condition in clear all / add new members

* fix: max width emoji text view on smaller devices

* fix: add extra widths and reduce the original again

* fix: quoted messages for blinded servers, remove unused add group member function

* fix: quote sending and resending using blinded IDs in quotes

* build: update build number
2022-09-26 11:44:59 +10:00
jubb
3fcd972c2a build: increment version code 2022-09-13 17:53:23 +10:00
Harris
b6106d5506
Use streams and collectors supported below API 24 in StaticEmojiPageModel (#966)
* fix: use annimon stream instead of java util

* refactor: convert remaining java.til stream and functions into annimon equivalent

* refactor: remove a .stream() reference

* fix: possible future NPE in ConversationReactionOverlay
2022-09-13 17:52:09 +10:00
jubb
c09e4e4907 build: update build numbers 2022-09-13 17:02:44 +10:00
jubb
87c1ede75c fix: compile issue from merge 2022-09-13 16:31:08 +10:00
jubb
2c3a949bb3 Merge branch 'master' into dev 2022-09-13 16:26:49 +10:00
Harris
bd51cbf6fd
Remove open group guidelines on official open groups (#933)
* refactor: remove binding references and code that handles official open groups

* refactor: remove open group guidelines activity and layouts
2022-09-13 15:55:24 +10:00
Harris
9f8ed4daf2
Replace default action message request behavior (#927)
* refactor: add a block action and change default message request behavior to decline/delete

* refactor: move log calls, add block & delete menu option

* refactor: migrate some more actions into ConversationActivityV2.kt and only show message request incoming menu if it's an incoming message request

* refactor: change block behaviour to be in the message request actions

* refactor: use block user copy

* refactor: parameters for ConversationMenuHelper interface cleaned up
2022-09-13 15:06:46 +10:00
Harris
aa43ab2a2e
Display Note to self in conversation instead of your own Session ID (#929)
* fix: display title bar in conversation as "Note to self" if it's the local user's session ID

* docs: remove ID blinding comment as it's your own user and probably won't ever me a conversation with your blinded ID

* fix: compile issue for missing recipient local var

* refactor: use same logic for recipient modified listener
2022-09-13 15:06:20 +10:00
Harris
919bb01d58
Make the message trimming behaviour consistent across platform (#936)
* refactor: remove old trim behaviour and create new defaults

* refactor: add in trimming by before time

* refactor: remove old trim thread job, remove message processor scheduling trim thread

* refactor: remove spacing

* refactor: enable trimming by default

* refactor: remove trim now option in chat preference
2022-09-13 15:01:15 +10:00
Harris
bdc4f5aebe
Fix blinded ID moderator checks in emoji reaction popup (#964)
* fix: emoji popup now uses blinded ID as well

* fix: add conversation menu handling for ban and delete all actions, as well as add placeholder icons
2022-09-13 14:17:47 +10:00
Harris
29124f36b6
Fix improperly caching notifyType on Recipients (#965)
* fix: perform clear member roles before setting new roles to clear out old members

* fix: hopefully add somewhere notifyType wasn't being carried over

fixes #945
2022-09-13 14:15:35 +10:00
Harris
7d186c198e
Fix emoji notifications (#960)
* fix: don't notify on group threads

* fix: flip boolean and compile issue

* build: update build number
2022-09-07 14:41:39 +10:00
Harris
361ff8370b
Fix conversation toolbar extras (#961)
* fix: remove official open group banner, set block banner under toolbar

* fix: remove shade visibility in preview
2022-09-07 13:41:59 +10:00
Harris
b1918f07e1
fix: remove in-thread notifications (#962) 2022-09-07 13:41:43 +10:00
jubb
16d4519d7e build: bump build numbers 2022-09-05 11:30:50 +10:00
Harris
ebcae1f284
fix: emoji author parsing and adding message senders to storage (#957) 2022-09-05 11:29:47 +10:00
Harris
2520287aff release: bump version code 2022-09-04 21:10:42 +10:00
ceokot
16ca97d2d3
Add emoji reacts support (#889)
* feat: Add emoji reacts support

* Remove message multi-selection

* Add emoji reaction model

* Add emoji reaction panel

* Blur reacts panel background

* Show emoji keyboard

* Add emoji sprites

* Update reaction proto

* Emoji database updates

* Emoji database refactor

* Emoji reaction persistence

* Optimize reactions retrieval

* Fix emoji group query

* Display emojis

* Fix emoji persistence

* Cleanup

* Persistence refactor

* Add reactions bottom sheet

* Cleanup

* Ui tweaks

* React with any emoji

* Show emoji react notifications

* Remove reaction

* Show reactions modal on long press

* Click to react (+1) with an emoji

* Click to react with an emoji

* Enable emoji expand/collapse

* fix: some compile issues from merge conflicts

* fix: compile issues merging quote and media message UI

* fix: xml IDs and adding in legacy is selected for future inclusion

* Fix view constraints

* Fix merge issue

* Add message selection option in conversation context menu

* Add sogs emoji integration

* Handle sogs emoji reactions

* Enable sending/deleting sogs emojis

* fix: improve the visible message layout

* fix: add file IDs to request parameters for message send (#940)

* Fix open group polling from seqno instead of last hash (#939)

* fix: reset seqno to get recent messages from open groups

* build: upgrade build numbers

* fix: actually run the migration

* Using StringBuilder to construct request url

* Fix reaction filter

* fix: is_mms added in second projection query

* Update default emojis

* fix: include legacy and new open groups in server ID tracking (#941)

* feat: add hidden moderator and admin roles, separated as they may be used independently in future (#942)

* Cleanup

* Fix view constraints

* Add reactions capability check

* Fix reactions alignment

* Ui fixes

* Display reactions list

* feat: add formatted count strings

* fix: account for negatives and add tests

* Migrate old official open group locations for polling and adding (#932)

* feat: adding in first part of open group migrations and tests for migration logic / helpers

* feat: test code and migration logic for open groups in the case of no conflicts

* feat: add in extra test cases and refactor code for migrator

* refactor: migrate open group join URLs and references to server in adding new open groups to catch legacy and re-write it

* refactor: joining open groups using OpenGroupUrlParser.kt now

* fix: add in compile issues for renamed OpenGroupApi.kt from OpenGroupV2

* fix: prevent duplicates of http/https for new open group DNS and prevent adding new groups based on public key

* fix: room and server swapped parameters

* fix: replace default server for config messages

* fix: actually using public key to de-dupe didn't work for rooms

* build: bump version code and name

* Display reactions list on open groups for moderators

* Ui tweaks

* Ui tweaks for moderation

* Refactor

* fix: compile issue

* fix: de-duping joined queries in the get X from cursor

* Restore import

* fix: colouring the reaction overlay scrubber

* fix: highlight colour, show reaction count if 1 or above

* Cleanup

* fix: light mode accent

* fix: light / dark mode themeing in reactions dialog fragment

* Emoji notification blinded id check

* fix: show reaction list correctly and pass isUserModerator to bind methods

* fix: remove unnecessary places for the moderator

* fix: X button for removing own react not showing up properly

* feat: add clear all header view

* fix: migrate the clear all to the correct location

* fix: use display instead of base

* Truncate emoji sender ids

* feat: add notify thread function in thread db

* Notify threads on reaction received

* fix: design fixes for the reaction list

* fix: emoji reactions bottom sheet dialog UI designs

* feat: add unsupported emoji reaction

* fix: crash and doing vector properly

* Fix reaction database queries

* Fix background open group adder job

* Show new open group reactions

* Fetch a maximum of 5 reactors

* Handle open group reactions polling conflicts

* Add count to user reaction

* Show number of additional reactors

* fix: unreads set same as the unread query

* fix: design changes

* fix: update dependency to improve flexboxlayout behaviour, design consistencies

* Add select message icon and update long press menu items order and wording

* Fix crash on reactors dialog

* fix: colours and backgrounds to match designs

* fix: add header in recipient item

* fix: margins

* fix: alignments and layout issues for emoji reactions view

* feat: add overflow previews and logic for overflow

* Dim action bar

* Add emoji search

* Search index fix

* Set count for 1:1 and closed group reactions when inserting in local database

* Use on screen toolbar to allow overlaying

* Show/hide scroll to bottom button

* feat: add extended properties so it doesn't collapse on re-bind

* Cleanup

* feat: prevent keeping extended on rebinding if we get a new message ID

* fix: long press works on devices now, fix release lint issue and crash for emoji search DBs from emoji builds

* Display message timestamp

* Fix modal items alignment

* fix: sort order and emoji count in compareTo

* Scale down really large messages to fit

* Prevent closed group crash

* Fix reaction author

Co-authored-by: charles <charles@oxen.io>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
2022-09-04 21:03:32 +10:00
ceokot
2bfc8215d4
Fix quote retrieval crash (#944)
Co-authored-by: charles <charles@oxen.io>
2022-08-18 16:25:08 +10:00
jubb
25eff4fece Merge remote-tracking branch 'upstream/master' into dev 2022-08-12 10:36:38 +10:00
jubb
865a69c49f build: update build number 2022-08-11 15:45:02 +10:00
jubb
6c07121d7a fix: crash for join open group dialog and v4 file upload in FS and open group 2022-08-11 15:39:37 +10:00
jubb
997389b940 Merge branch 'master' into dev 2022-08-11 09:54:32 +10:00
jubb
2f80fac57e build: update build version code 2022-08-11 09:54:19 +10:00
jubb
3944d5d1df Merge branch 'master' into dev 2022-08-11 09:50:39 +10:00
jubb
00f28b7360 build: update version code 2022-08-10 19:04:09 +10:00
jubb
1ba204855c fix: db migration update 2022-08-10 19:03:46 +10:00
jubb
4007875f07 build: update build number and version code 2022-08-10 18:19:26 +10:00
ceokot
bee287bb7e
Add Session Id blinding (#862)
* feat: Add Session Id blinding

Including modified version of lazysodium-android to expose missing libsodium functions, we could build from a fork which we still need to setup.

* Add v4 onion request handling

* Update SOGS signature construction

* Fix SOGS signature construction

* Update onion request

* Update signature data

* Keep path prefixes for v4 endpoints

* Update SOGS signature message

* Rename to remove api version suffix

* Update onion response parsing

* Refactor file download paths

* Implement request batching

* Refactor batch response handling

* Handle batch endpoint responses

* Update batch endpoint responses

* Update attachment download handling

* Handle file downloads

* Handle inbox messages

* Fix issue with file downloads

* Preserve image bytearray encoding

* Refactor

* Open group message requests

* Check id blinding in user detail bottom sheet rather

* Message validation refactor

* Cache last inbox/outbox server ids

* Update message encryption/decryption

* Refactor

* Refactor

* Bypass user details bottom sheet in open groups for blinded session ids

* Fix capabilities call auth

* Refactor

* Revert default server details

* Update sodium dependency to forked repo

* Fix attachment upload

* Revert "Update sodium dependency to forked repo"

This reverts commit c7db9529f900d09585ab94e440f6645faa88544e.

* Add signed sodium lib

* Update contact id truncation and mention logic

* Open group inbox messaging fix

* Refactor

* Update blinded id check

* Fix open group message sends

* Fix crash on open group direct message send

* Direct message refactor

* Direct message encrypt/decrypt fixes

* Use updated curve25519 version

* Updated lazysodium dependency

* Update encryption/decryption calls

* Handle direct message parse errors

* Minor refactor

* Existing chat refactor

* Update encryption & decryption parameters

* Fix authenticated ciphertext size

* Set direct message sync target

* Update direct message thread lookup

* Add blinded id mapping table

* Add blinded id mapping table

* Update threads after sends

* Update open group message timestamp handling

* Filter unblinded contacts

* Format blinded id mentions

* Add message deleted field

* Hide open group inbox id

* Update message request response handling

* Update message request response sender handling

* Fix mentions of blinded ids

* Handle open group poll failure

* fix: add log for failed open group onion request, add decoding body for blinding required error at destination

* fix: change the error check

* Persist group members

* Reschedule polling after capabilities update

* Retry on other exceptions

* Minor refactor

* Open group profile fix

* Group member db schema update

* Fix ban request key

* Update ban response type

* Ban endpoint updates

* Ban endpoint updates

* Delete messages

Co-authored-by: charles <charles@oxen.io>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
2022-08-10 18:17:48 +10:00
Harris
d53752713e
Align quote behaviour, move the media message outside of text bubble to simplify layouts (#935)
* refactor: remove text from quote model

* refactor: add docs for TODOs where quote text should be refactored

* refactor: remove the references to stored text in the quote and get the quote text from referenced DB lookup

* refactor: drop the quote data from DB

* fix: turns out we can't drop columns using this version of sqlite

* fix: fixing an attachment download bug, fixing up UI issues with quotes and body text

* feat: split off the message attachment UI from message bubble

* refactor: replace media thumbnails with new designs

* refactor: add debug drawing to troubleshoot swipe gesture

* fix: fix the swipe to reply gesture drawing
2022-08-08 15:16:33 +10:00
jubb
b1e954084c build: update build number and version 2022-07-19 17:15:54 +10:00
Harris
d3e2ef0b40
fix: remove declared phone state permission (#919) 2022-07-19 14:31:58 +10:00
Harris
344e7f333e
Fix notification release issues (#925)
* fix: background polling issue for 1on1 messages, update the HomeDiffUtil.kt to include more cases to compare content equality, add synchronized ConversationNotificationDebouncer.kt and reduce the debouncer time

* fix: replace updateNotification to be thread-specific to fix unread behaviour and currently visible thread behaviour

* refactor: remove trimmed text limits
2022-07-19 14:31:50 +10:00
jubb
ba60e8a8ee fix: fallback on biometric key failures and retry creating key, fix up notification issues 2022-06-21 16:17:01 +10:00
jubb
58dfd3b7cd build: update build number 2022-06-15 17:04:23 +10:00
Harris
daca3e2531
Use current time + offset in snode message timestamps (#904)
* fix: use current time in message sender's snode message timestamps to prevent 406 from repeat failed message sends

* build: update build number
2022-06-15 16:54:45 +10:00
jubb
4cfe871058 fix: strongbox was broken for some platforms 2022-06-10 12:03:03 +10:00
Harris
6ddefb7a2e
Performance improvements and bug fixes (#869)
* refactor: fail on testSnode instead of recursively using up snode list. add call timeout on http client

* refactor: refactoring batch message receives and pollers

* refactor: reduce thread utils pool count to a 2 thread fixed pool. Do a check against pubkey instead of room names for oxenHostedOpenGroup

* refactor: caching lib with potential loader fixes and no-cache for giphy

* refactor: remove store and instead use ConcurrentHashMap with a backing update coroutine

* refactor: queue trim thread jobs instead of add every message processed

* fix: wrapping auth token and initial sync for open groups in a threadutils queued runnable, getting initial sync times down

* fix: fixing the user contacts cache in ConversationAdapter.kt

* refactor: improve polling and initial sync, move group joins from config messages into a background job fetching image.

* refactor: improving the job queuing for open groups, replacing placeholder avatar generation with a custom glide loader and archiving initial sync of open groups

* feat: add OpenGroupDeleteJob.kt

* feat: add open group delete job to process deletions after batch adding

* feat: add vacuum and fix job queue re-adding jobs forever, only try to set message hash values in DB if they have changed

* refactor: remove redundant inflation for profile image views throughout app

* refactor(wip): reducing layout inflation and starting to refactor the open group deletion issues taking a long time

* refactor(wip): refactoring group deletion to not iterate through and delete messages individually

* refactor(wip): refactoring group deletion to not iterate through and delete messages individually

* fix: group deletion optimisation

* build: bump build number

* build: bump build number and fix batch message receive retry logic

* fix: clear out open group deletes

* fix: update visible ConversationAdapter.kt binding for initial contact fetching and better traces for debugging background jobs

* fix: add in check for / force sync latest encryption key pair from linked devices if we already have that closed group

* Rename .java to .kt

* refactor: change MmsDatabase to kotlin to make list operations easier

* fix: nullable type

* fix: compilation issues and constants in .kt instead of .java

* fix: bug fix expiration timer on closed group recipient

* feat: use the job queue properly across executors

* feat: start on open group dispatcher-specific logic, probably a queue factory based on openGroupId if that is the same across new message and deletion jobs to ensure consistent entry and removal

* refactor: removing redundant code and fixing jobqueue per opengroup

* fix: allow attachments in note to self

* fix: make the minWidth in quote view bind max of text / title and body, wrapped ?

* fix: fixing up layouts and code view layouts

* fix: remove TODO, remove timestamp binding

* feat: fix view logic, avatars and padding, downloading attachments lazily (on bind), fixing potential crash, add WindowDebouncer.kt

* fix: NPE on viewModel recipient from removed thread while tearing down the Recipient observer in ConversationActivityV2.kt

* refactor: replace conversation notification debouncer handler with handlerthread, same as conversation list debouncer

* refactor: UI for groups and poller improvements

* fix: revert some changes in poller

* feat: add header back in for message requests

* refactor: remove Trace calls, add more conditions to the HomeDiffUtil for updating more efficiently

* feat: try update the home adapter if we get a profile picture modified event

* feat: bump build numbers

* fix: try to start with list in homeViewModel if we don't have already, render quotes to be width of attachment slide view instead of fixed

* fix: set channel to be conflated instead of no buffer

* fix: set unreads based off last local user message vs incrementing unreads to be all amount

* feat: add profile update flag, update build number

* fix: link preview thumbnails download on bind

* fix: centercrop placeholder in glide request

* feat: recycle the contact selection list and profile image in unbind

* fix: try to prevent user KP crash at weird times

* fix: remove additional log, improve attachment download success rate, fix share logs dialog issue
2022-06-08 17:12:34 +10:00
Harris
db92034a8a
feat: handle KeyStore backed fingerprint verification 2022-06-03 09:53:40 +10:00
Harris
0dbe96d723
build: update build numbers (#895)
fix: migration issues in 1.13.0
2022-05-25 10:43:26 +10:00
Harris
aef101f1e5
fix: only send message if the up position is contained in the button's rectangle, to prevent sending if dragged away (#887) 2022-05-18 16:30:12 +10:00
jubb
6f43ccd8ae chore: increment build number 2022-05-18 10:34:32 +10:00
Harris
00f06ab034
Namespace retrieval and storage with auth (#880)
* feat: add migration and fork info for upcoming auth and closed group retrieval updates

* feat: add closed group poller calls and include namespace to parse raw messages function

* feat: add DB upgrades and queries for namespaces

* fix: fix the polling for post-HF signatures and group messages

* fix: realise we need a compound key for namespaces in received hashes, test explicitly setting namespace

* feat: add setForkInfo implementation

* refactor: include default fork info command on create, refactor migration to use new table since we can't add constraints in alter for PK, replace `lastHash` with `last_hash` in case that fixes paging

* refactor: include namespace and use when statement for closed group polling

* refactor: revert to main net

* refactor: use namespace constants

* refactor: revert to testnet and log the poll result

* fix: use or to log either poller

* fix: revert to default network and add more logging, only set the latest fork info if it is an increment

* build: update minor version

* refactor: use single target snode and namespace list for message sending

* fix: link previews and expiring messages in closed groups
2022-05-18 10:20:57 +10:00
Harris
7fc3599c25
refactor: increase tooltip text size and set typeface to bold (#857) 2022-04-19 14:52:33 +10:00
jubb
17ebd840e8 build: update build version name 2022-04-19 14:30:27 +10:00
Harris
e1b6bb7e56
Add one on one calls over clearnet (#864)
* feat: adding basic webrtc deps and test activity

* more testing code

* feat: add protos and bump version

* feat: added basic call functionality

* feat: adding UI and flipping cameras

* feat: add stats and starting call bottom sheet

* feat: hanging up and bottom sheet behaviors should work now

* feat: add call stats report on frontend

* feat: add relay toggle for answer and offer

* fix: add keep screen on and more end call message on back pressed / on finish

* refactor: removing and replacing dagger 1 dep with android hilt

* feat: include latest proto

* feat: update to utilise call ID

* feat: add stun and turn

* refactor: playing around with deps and transport types

* feat: adding call service functionality and permissions for calls

* feat: add call manager and more static intent building functions for WebRtcCallService.kt

* feat: adding ringers and more audio boilerplate

* feat: audio manager call service boilerplate

* feat: update kotlin and add in call view model and more management functions

* refactor: moving call code around to service and viewmodel interactions

* feat: plugging CallManager.kt into view model and service, fixing up dependencies

* feat: implementing more WebRtcCallService.kt functions and handlers for actions as well as lifecycle

* feat: adding more lifecycle vm and callmanager / call service functionality

* feat: adding more command handlers in WebRtcCallService.kt

* feat: more commands handled, adding lock manager and bluetooth permissions

* feat: adding remainder of basic functionality to services and CallManager.kt

* feat: hooking up calls and fixing broken dependencies and compile errors

* fix: add timestamp to incoming call

* feat: some connection and service launching / ring lifecycle

* feat: call establishing and displaying

* fix: fixing call connect flows

* feat: ringers and better state handling

* feat: updating call layout

* feat: add fixes to bluetooth and begin the network renegotiation

* feat: add call related permissions and more network handover tests

* fix: don't display call option in conversation and don't show notification if option not enabled

* fix: incoming ringer fix on receiving call, call notification priorities and notification channel update

* build: update build number for testing

* fix: bluetooth auto-connection and re-connection fixes, removing finished todos, allowing self-send call messages for deduping answers

* feat: add pre-offer information and action handling in web rtc call service

* refactor: discard offer messages from non-matching pre-offers we are already expecting

* build: build numbers and version name update

* feat: handle discarding pending calls from linked devices

* feat: add signing props to release config build

* docs: fix comment on time being 300s (5m) instead of 30s

* feat: adding call messages for incoming/outgoing/missed

* refactor: handle in-thread call notifications better and replace deny button intent with denyCallIntent instead of hangup

* feat: add a hangup via data channel message

* feat: process microphone enabled events and remove debuggable from build.gradle

* feat: add first call notification

* refactor: set the buttons to match iOS in terms of enable disable and colours

* refactor: change the call logos in control messages

* refactor: more bluetooth improvements

* refactor: move start ringer and init of audio manager to CallManager.kt and string fix up

* build: remove debuggable for release build

* refactor: replace call icons

* feat: adding a call time display

* refactor: change the call time to update every second

* refactor: testing out the full screen intents

* refactor: wrapper use corrected session description, set title to recipient displayName, indicate session calls

* fix: crash on view with a parent already attached

* refactor: aspect ratio fit preserved

* refactor: add wantsToAnswer ability in pre-init for fullscreenintent

* refactor: prevent calls from non hasSent participants

* build: update gradle code

* refactor: replace timeout schedule with a seconds count

* fix: various bug fixes for calls

* fix: remove end call from busy

* refactor: use answerCall instead of manual intent building again

* build: new version

* feat: add silenced notifications for call notification builder. check pre-offer and connecting state for pending connection

* build: update build number

* fix: text color uses overridden style value

* fix: remove wrap content for renderers and look more at recovering from network switches

* build: update build number

* refactor: remove whitespace

* build: update build number

* refactor: used shared number for BatchMessageReceiveJob.kt parameter across pollers

* fix: glide in update crash

* fix: bug fixes for self-send answer / hangup messages

* build: update build number

* build: update build.gradle number

* refactor: compile errors and refactoring to view binding

* fix: set the content to binding.root view

* build: increase build number

* build: update build numbers

* feat: adding base for rotation and picking random subset of turn servers

* feat: starting the screen rotation processing

* feat: setting up rotation for the remote render view

* refactor: applying rotation and mirroring based on front / rear cameras that wraps nicely, only scale reworking needed

* refactor: calls video stretching but consistent

* refactor: state machine and tests for the transition events

* feat: new call state processing

* refactor: adding reconnecting logic and visuals

* feat: state machine reconnect logic wip

* feat: add reconnecting and merge fixes

* feat: check new session based off current state

* feat: reconnection logic works correctly now

* refactor: reduce TIMEOUT_SECONDS to 30 from 90

* feat: reset peer connection on DC to prevent ICE messages from old connection or stale state in reconnecting

* refactor: add null case

* fix: set approved on new outgoing threads, use approved more deeply and invalidate the options menu on recipient modified. Add approvedMe flag toggles for visible message receive

* fix: add name update in action bar on modified, change where approvedMe is set

* build: increment build number

* build: update build number

* fix: merge compile errors and increment build number

* refactor: remove negotiation based on which party dropped connection

* refactor: call reconnection improvement tested cross platform to re-establish

* refactor: failed and disconnect events only handled if either the reconnect or the timeout runnables are not set

* build: update version number

* fix: reduce timeout

* fix: fixes the incoming hangup logic for linked devices

* refactor: match iOS styling for call activity closer

* chore: upgrade build numbers

* feat: add in call settings dialog for if calls is disabled in conversation

* feat: add a first call missed control message and info popup with link to privacy settings

* fix: looking at crash for specific large transaction in NotificationManager

* refactor: removing the people in case transaction size reduces to fix notif crash

* fix: comment out the entire send multiple to see if it fixes the issue

* refactor: revert to including the full notification process in a try/catch to handle weird responses from NotificationManager

* fix: add in notification settings prompt for calls and try to fall back to dirty full screen intent / start activity if we're allowed

* build: upgrade build number
2022-04-19 14:25:40 +10:00
jubb
04dfe99517 build: update version code and name 2022-03-22 11:14:51 +11:00
Harris
2445418e3e build: update build number 2022-03-17 15:55:27 +11:00
Harris
5ace67fd36 fix: don't send typing indicator in unapproved conversation 2022-03-17 15:38:39 +11:00
Harris
8d32b02c16 Merge remote-tracking branch 'upstream/dev' 2022-03-17 13:50:00 +11:00
Harris
ad5911e247 fix: don't enable expiring messages in not approvedMe conversations 2022-03-17 13:31:25 +11:00
Harris
c6cf7a24d7 fix: raise elevation on the attachment buttons 2022-03-17 13:18:59 +11:00
Harris
3733826e2e fix: re-check input bar control after recipient modified 2022-03-17 13:01:33 +11:00
jubb
1aabbecc9d build: update build number 2022-03-15 14:20:52 +11:00
Harris
6649a9a745
Generate placeholder avatars from two characters, re-fetch missed avatars (#856)
* feat: splitting names in the avatar generation

* fix: re-fetch avatars if initial downloads fail

* fix: remove shadowed name, add tests for common labels
2022-03-15 09:24:15 +11:00
jubb
11d49426d3 fix: approval for more fine-grained contacts on migrate 2022-03-10 16:29:44 +11:00
Harris
c458d4a359
Fix approved references and visible message setting flags for approval (#854)
* fix: set approved on new outgoing threads, use approved more deeply and invalidate the options menu on recipient modified. Add approvedMe flag toggles for visible message receive

* fix: add name update in action bar on modified, change where approvedMe is set

* fix: text colours and attachment approve requests

* refactor: text color for share screen

* Restart conversation loader on message request approval

Co-authored-by: ceokot <ceokot@gmail.com>
2022-03-10 09:54:18 +11:00
ceokot
206505abe8
feat: Add conversation filtering for message requests (#830)
* feat: Message requests

* Apply contact sync message

* Filter based on message requests toggle

* Add message requests screen

* Implement message requests screen

* Handle message request buttons

* Handle approval syncing

* Display message request response

* Display pending message request

* Display pending message request

* Add approval migrations

* Send message request response

* Fix conversation filters

* Add approval migration

* Handle message request response

* Update message request response proto

* Update message request response handling

* Refresh message requests

* Show message request banner on new message request

* Message request item layout tweaks

* Fix latest unapproved conversation query

* Handle sent message request responses on restore

* QA feedback tweaks

* Remove send limit on message requests

* Config message handling tweaks

* Reverse conversation upon message request approval

* Remove read receipts, delete declined conversations

* Fix contact filtering in config messages

* Fix message request order and handle deletion

* Fix message request snippet on home screen

* Refresh message request list after decline or clearing all

* Fix message request reversal

* Fix message request notifications

* Disable media buttons for message requests

* Hide message request banner after reading

* Refresh message request banner
2022-03-04 08:46:39 +02:00
Harris
55aa266769
Bug fixes and provide conversation tooltips (#851)
* refactor: removing unused strings and changing session header dimensions

* refactor: remove bodyTextView from LinkPreviewView.kt and changing header image colours

* fix: path layout is aligned, global search input should always prompt soft input on open

* fix: unread count and scroll to bottom button visibility properly taking into account adapter item count and RecyclerView.NO_POSITION

fixes #848

* fix: crash on error toast for failing to share logs

* feat: conversation tooltips in NewConversationButtonSetView.kt

* fix: UI issue for conversation action bar cutting off lower than baseline characters

fixes #839

* refactor (wip): replacing bindings with nullable types to try prevent mystery bug

* refactor: use the nullable bindings for ConversationActivityV2.kt and remove inputBarHeightChanged

* fix: remove recipient listener on destroy

* build: add latest strings and increase build
2022-02-28 17:23:58 +11:00
jubb
a002e3e1f7 build: update build numbers 2022-02-09 14:27:44 +11:00
Harris
b01075cef6
fix: add UI test for URL modal dialog and fix mention infinite layout inflation bugs (#841) 2022-02-09 14:18:22 +11:00
jubb
07ccc2696b Merge remote-tracking branch 'upstream/dev'
# Conflicts:
#	app/build.gradle
2022-02-07 17:08:48 +11:00
Harris
dd1da6b1a4
Add a global search (#834)
* feat: modifying search functionalities to include contacts

* feat: add global search UI input layouts and color attributes

* feat: add global search repository and model content

* feat: adding diff callbacks and wiring up global search vm to views

* feat: adding scroll to message, figuring out new query for recipient thread search

* feat: messing with the search and highlighting functionality after wiring up bindings

* fix: compile error from merge

* fix: gradlew build errors

* feat: filtering contacts by existing un-archived threads

* refactor: prevent note to self breaking, update queries and logic in search repo to include member->group reverse searches

* feat: adding home screen new redesigns for search

* feat: replacing designs and adding new group subtitle text

* feat: small design improvements and incrementing gradle build number to install on device

* feat: add scrollbars for search

* feat: replace isVisible for cancel button now that GlobalSearchInputLayout.kt replaces header

* refactor: all queries are debounced not just all but 2 char

* refactor: remove visibility modifiers for cancel icon

* refactor: use simplified non-db and context related models in display, remove db get group members call from binding data

* fix: use threadId instead of group's address

* refactor: better close on cancel, removing only yourself from group member list in open groups

* refactor: seed view back to inflated on create and visibility for empty placeholder and seed view text

* refactor: fixing build issues and new designs for message list

* refactor: use dynamic limit

* refactor: include raw session ID string search for non-empty threads

* fix: build lint errors

* fix: build issues

* feat: add in path to the settings activity

* refactor: remove wildcard imports
2022-02-07 17:06:27 +11:00
Harris
561ce83aa4
Fix quote alignment (#837)
* refactor: use constraints in quote view

* refactor: layouts for quotes fixed

* fix: use the current text, which may be the type of attachment instead of the quote body
2022-02-07 15:38:07 +11:00
Harris
d4424481b1
fix: documents render correctly now (#838) 2022-02-07 15:25:31 +11:00
Harris
983e4f59d3
Fix unrecycled delete actions (#836)
* fix: set view press/swipe/long press to null if message is deleted

* fix: deselects messages once they've been deleted
2022-02-06 12:41:35 +11:00
Harris
c70de069a4 fix: checking invalid profileKey lengths on message receive and retrieve profile avatars 2022-01-23 00:33:38 +11:00
Ian Macdonald
46aebb168c
Make the unread message count 4 digits instead of 2. (#827)
* Make the unread message count 4 digits instead of 2.

99+ unread messages can be reached within an hour in some busy open
groups. 4 digits allow for much more accurate reporting.

* Improve appearance of unread counter by using rounded rectangle.
2022-01-18 22:32:20 +11:00
Harris
bd5a324ad8
Split image from replies (#779)
* refactor: VisibleMessageContentView.kt re-using layouts instead of instantiating every bind to fix alignment and constraint issues for splitting thumbnails and body

* refactor: constraint works for sms only records, adjust other components of the visible message content accordingly

* feat: link previews and quotes now wrap content or align according to media type

* refactor: move back to emojitextview for body

* fix: add some padding at the bottom of the quote

* fix: voice message view not rendering properly

* fix: set visibility to false for each message content view on recycle event

* fix: untrusted attachments

* fix: compile issues and small UI improvement
2022-01-18 14:33:04 +11:00
ceokot
c2657bb785
feat: Add the option to mark a conversation as read (#816)
* feat: Add the option to mark a conversation as read

Fixes #789

* Extract and share logic to mark all as read

* Fix merge conflict issues
2022-01-16 19:02:39 +02:00
ceokot
c113a447cf
refactor: Use view binding to replace Kotlin synthetics (#824)
* refactor: Migrate home screen to data binding

* Add view binding

* Migrate ConversationView to view binding

* Migrate ConversationActivityV2 to view binding

* View model refactor

* Move more functionality to the view model

* Add ui state events flow

* Update conversation item bindings

* Update profile picture view bindings

* Replace Kotlin synthetics with view bindings

* Fix qr code fragment binding and optimize imports

* View binding refactors

* Make TextSecurePreferences an interface and add an implementation to improve testability

* Add conversation repository

* Migrate remaining TextSecurePreferences functions into the interface

* Add unit conversation unit tests

* Add unit test coverage for remaining view model functions
2022-01-14 07:56:15 +02:00
ceokot
366b5abdc8
Enable media gallery fullscreen mode (#813)
* feat: Enable fullscreen mode on the media gallery screen

* Move `fitsSystemWindows` attribute to root view

* Rename for clarity

* Update fullscreen flag

* Set system bars behaviour for api >= 30
2021-12-20 09:38:27 +02:00
jubb
8ea0690e3a fix: remove sh-rHR strings due to localisation error 2021-12-17 15:07:53 +11:00
jubb
87045b1d55 build: update build number and versio nname 2021-12-17 11:03:16 +11:00
Harris
164937aaa3
Remove the read and typing indication on startup (#812)
* fix: remove the read and typing indication

* fix: set default value in preferences_app_protection.xml
2021-12-17 10:19:32 +11:00
Harris
28b97e45cc
Remove ID copy interactions (#811)
* fix: remove selected session ID interactions

* fix: include thread ID in home activity's creation of user details bottom sheet

* refactor: use bundleOf builder instead of old bundle put value methods
2021-12-16 06:47:26 +02:00
ceokot
44f5684b21
feat: Update open group avatars periodically (#807)
* feat: Update open group avatars periodically

* Updated timestamp

* Existing job check

* Refresh avatar on the conversation

* Remove println statement

* Update profile picture on recipient modified event
2021-12-15 08:11:55 +02:00
Harris
5601da0e22
fix: replace alpha update with isVisible to not intercept tap from message gestures (#809) 2021-12-15 08:01:35 +02:00
Harris
34569ff1da
build: update translations with latest values (#808) 2021-12-15 10:45:25 +11:00
ceokot
15f5ac10ec
feat: Add conversation pinning (#806)
* feat: Add conversation pinning

* Update pinned conversation icon

* Update pinned conversation column name
2021-12-10 10:18:56 +11:00