Commit Graph

59 Commits

Author SHA1 Message Date
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
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
0516526923 refactor: use hilt to provide DB instead of our own factory, inject it in some places where possible 2021-10-04 18:51:19 +11:00
ryanzhao
b03ba5bfa7 clean 2021-08-17 16:16:17 +10:00
ryanzhao
ee3e9ae17f delete outgoing message for linked device 2021-08-16 09:58:28 +10:00
ryanzhao
9ab285c3be handle home screen update for unsend request 2021-08-12 14:14:37 +10:00
ryanzhao
8b6b02911f handle database for message deleted by unsend request 2021-08-12 11:43:33 +10:00
ryanzhao
af6c19690b send unsend request & delete remotely 2021-08-11 15:17:53 +10:00
ryanzhao
c3e45a308a store server hash 2021-08-10 16:42:15 +10:00
ryanzhao
bf83f9b391 WIP: message receiver handler for unsend request 2021-08-10 16:00:06 +10:00
jubb
fa06a57ec3 fix: getting local user's ID if message is outgoing to check against that value in attachment download 2021-07-09 16:04:06 +10:00
jubb
9dfd051e63 feat: trust dialog and processing attachments for users after trusting them 2021-07-09 15:13:43 +10:00
jubb
bc4f660fb0 fix: downloads now don't automatically queue for untrusted contacts and UI to handle re-downloading failed attachments 2021-07-08 17:14:53 +10:00
Harris
ce490f5f90 fix: avoid crash in voice message view for pending downloads, display the icon on player stop when player starting from another view. Use thread id in setAttachmentAudioExtras 2021-07-07 15:18:12 +10:00
Harris
683b5243bd fix: notify update for attachment's thread ID on setting audio extras 2021-07-07 14:56:53 +10:00
jubb
b329402faf fix: audio waveforms decoded on the attachment download 2021-07-01 17:06:42 +10:00
Niels Andriesse
49c3ffd9ca Remove redundant code 2021-05-21 15:02:34 +10:00
Niels Andriesse
6243443262 Move files 2021-05-18 16:11:38 +10:00
Niels Andriesse
c1548a4e51 Move files 2021-05-18 09:50:16 +10:00
Niels Andriesse
c9ebcc580f Move files 2021-05-18 09:26:08 +10:00
Niels Andriesse
a88322a033 Move files 2021-05-18 09:12:33 +10:00
Niels Andriesse
9074355b4e Fix attachment pointer conversion 2021-05-17 11:23:49 +10:00
Niels Andriesse
3e1727fdbc Debug 2021-05-13 13:34:35 +10:00
Niels Andriesse
7c5b4aafec Debug 2021-05-13 13:19:08 +10:00
jubb
460babe930 fix: deletion fixed up 2021-04-30 14:19:37 +10:00
jubb
ef19c0d10e fix: fixing up LokiMessageDatabase.kt table structure, deletion closer to finished 2021-04-29 17:13:42 +10:00
Niels Andriesse
fdede1c656 Clean 2021-04-26 11:39:23 +10:00
Brice-W
0292e70246 fix quote attachment issue 2021-03-30 13:09:40 +11:00
jubb
611b272493 fix: attachments for quotes no longer doubled up 2021-03-24 17:17:01 +11:00
jubb
b685846d7e Merge remote-tracking branch 'upstream/dev' into origin/refactor-sending
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
#	app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiAPIDatabase.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/ExpirationTimerUpdate.kt
#	libsession/src/main/java/org/session/libsession/messaging/opengroups/OpenGroupMessage.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroup.kt
2021-03-18 09:26:13 +11:00
jubb
323fb75149 fix: adding some message receive functionality 2021-03-12 17:15:33 +11:00
Ryan ZHAO
54da77a89b clean 2021-03-12 15:23:29 +11:00
Ryan ZHAO
0a7fecfb52 fix sending link preview 2021-03-09 10:50:02 +11:00
Ryan ZHAO
4218073a69 fix quote attachments 2021-03-05 13:31:40 +11:00
Ryan ZHAO
2df9d4f27c clean 2021-03-05 11:24:43 +11:00
Ryan ZHAO
c51593a914 fix sending attachments including link previews 2021-03-04 14:03:18 +11:00
Ryan ZHAO
9a00906069 WIP debug sending attachments 2021-03-03 15:14:45 +11:00
Ryan ZHAO
0ea1ed15e7 WIP: make attachment work 2021-03-02 17:22:56 +11:00
Ryan ZHAO
d9eaedd6ae hook up sending pipeline & clean 2021-03-02 12:24:09 +11:00
Ryan ZHAO
ff36fbb6a1 further cleaning up on stickers 2021-02-23 15:07:31 +11:00
Ryan ZHAO
5cbbf92fb9 sync target of multi device for refactored sending & receiving pipeline 2021-02-11 15:00:27 +11:00
ryanzhao
307da3b2be clean logging 2021-02-03 12:22:40 +11:00
Ryan ZHAO
9bc360f047 clean 2021-02-01 10:25:19 +11:00
Ryan ZHAO
543019f93c clean 2021-01-29 16:35:47 +11:00
Ryan ZHAO
3b50b8f40b fix closed groups & clean 2021-01-29 11:08:48 +11:00
Brice
845ea16415 impl of missing methods in DatabaseAttachmentProvider 2021-01-19 11:39:45 +11:00
Ryan ZHAO
6cd00aec77 WIP clean 2021-01-15 15:36:30 +11:00
Ryan ZHAO
fcb71961d6 WIP make things compile 2021-01-14 13:54:21 +11:00
Ryan ZHAO
7ca8456383 WIP clean 2021-01-14 10:28:07 +11:00
Brice
99107d169e add changes of latest dev 2021-01-13 16:13:49 +11:00