1359 Commits

Author SHA1 Message Date
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
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
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
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