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>
This commit is contained in:
ceokot 2022-10-24 15:45:26 +11:00 committed by GitHub
parent 2216c99dcd
commit 427b2d7b5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 10 deletions

View File

@ -2,6 +2,7 @@
-keepattributes SourceFile,LineNumberTable -keepattributes SourceFile,LineNumberTable
-keep class org.whispersystems.** { *; } -keep class org.whispersystems.** { *; }
-keep class org.thoughtcrime.securesms.** { *; } -keep class org.thoughtcrime.securesms.** { *; }
-keep class org.thoughtcrime.securesms.components.menu.** { *; }
-keep class org.session.** { *; } -keep class org.session.** { *; }
-keepclassmembers class ** { -keepclassmembers class ** {
public void onEvent*(**); public void onEvent*(**);

View File

@ -148,12 +148,11 @@ public class PassphrasePromptActivity extends BaseActionBarActivity {
// Finish and proceed with the next intent. // Finish and proceed with the next intent.
Intent nextIntent = getIntent().getParcelableExtra("next_intent"); Intent nextIntent = getIntent().getParcelableExtra("next_intent");
if (nextIntent != null) { if (nextIntent != null) {
try {
startActivity(nextIntent); startActivity(nextIntent);
// try { } catch (java.lang.SecurityException e) {
// startActivity(nextIntent); Log.w(TAG, "Access permission not passed from PassphraseActivity, retry sharing.", e);
// } catch (java.lang.SecurityException e) { }
// Log.w(TAG, "Access permission not passed from PassphraseActivity, retry sharing.");
// }
} }
finish(); finish();
} }

View File

@ -660,7 +660,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
updateSubtitle() updateSubtitle()
showOrHideInputIfNeeded() showOrHideInputIfNeeded()
binding?.toolbarContent?.profilePictureView?.root?.update(threadRecipient) binding?.toolbarContent?.profilePictureView?.root?.update(threadRecipient)
binding!!.toolbarContent.conversationTitleView.text = when { binding?.toolbarContent?.conversationTitleView?.text = when {
threadRecipient.isLocalNumber -> getString(R.string.note_to_self) threadRecipient.isLocalNumber -> getString(R.string.note_to_self)
else -> threadRecipient.toShortString() else -> threadRecipient.toShortString()
} }

View File

@ -12,6 +12,7 @@ import android.os.IBinder
import android.os.ResultReceiver import android.os.ResultReceiver
import android.telephony.PhoneStateListener import android.telephony.PhoneStateListener
import android.telephony.TelephonyManager import android.telephony.TelephonyManager
import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.localbroadcastmanager.content.LocalBroadcastManager
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -199,7 +200,7 @@ class WebRtcCallService: Service(), CallManager.WebRtcListener {
private val serviceExecutor = Executors.newSingleThreadExecutor() private val serviceExecutor = Executors.newSingleThreadExecutor()
private val timeoutExecutor = Executors.newScheduledThreadPool(1) private val timeoutExecutor = Executors.newScheduledThreadPool(1)
private val hangupOnCallAnswered = HangUpRtcOnPstnCallAnsweredListener { private val hangupOnCallAnswered = HangUpRtcOnPstnCallAnsweredListener {
startService(hangupIntent(this)) ContextCompat.startForegroundService(this, hangupIntent(this))
} }
private var networkChangedReceiver: NetworkChangeReceiver? = null private var networkChangedReceiver: NetworkChangeReceiver? = null

View File

@ -78,7 +78,7 @@ class CallMessageProcessor(private val context: Context, private val textSecureP
private fun incomingHangup(callMessage: CallMessage) { private fun incomingHangup(callMessage: CallMessage) {
val callId = callMessage.callId ?: return val callId = callMessage.callId ?: return
val hangupIntent = WebRtcCallService.remoteHangupIntent(context, callId) val hangupIntent = WebRtcCallService.remoteHangupIntent(context, callId)
context.startService(hangupIntent) ContextCompat.startForegroundService(context, hangupIntent)
} }
private fun incomingAnswer(callMessage: CallMessage) { private fun incomingAnswer(callMessage: CallMessage) {
@ -91,7 +91,7 @@ class CallMessageProcessor(private val context: Context, private val textSecureP
sdp = sdp, sdp = sdp,
callId = callId callId = callId
) )
context.startService(answerIntent) ContextCompat.startForegroundService(context, answerIntent)
} }
private fun handleIceCandidates(callMessage: CallMessage) { private fun handleIceCandidates(callMessage: CallMessage) {

View File

@ -385,6 +385,7 @@
<item name="scroll_to_bottom_button_background">@color/classic_dark_1</item> <item name="scroll_to_bottom_button_background">@color/classic_dark_1</item>
<item name="scroll_to_bottom_button_border">@color/classic_dark_3</item> <item name="scroll_to_bottom_button_border">@color/classic_dark_3</item>
<item name="conversation_unread_count_indicator_background">@color/classic_dark_4</item> <item name="conversation_unread_count_indicator_background">@color/classic_dark_4</item>
<item name="message_selected">@color/classic_dark_1</item>
</style> </style>
<style name="Classic.Light"> <style name="Classic.Light">
@ -468,6 +469,7 @@
<item name="scroll_to_bottom_button_background">@color/classic_light_4</item> <item name="scroll_to_bottom_button_background">@color/classic_light_4</item>
<item name="scroll_to_bottom_button_border">@color/classic_light_2</item> <item name="scroll_to_bottom_button_border">@color/classic_light_2</item>
<item name="conversation_unread_count_indicator_background">@color/classic_dark_4</item> <item name="conversation_unread_count_indicator_background">@color/classic_dark_4</item>
<item name="message_selected">@color/classic_light_5</item>
</style> </style>
@ -548,6 +550,7 @@
<item name="scroll_to_bottom_button_background">@color/ocean_dark_4</item> <item name="scroll_to_bottom_button_background">@color/ocean_dark_4</item>
<item name="scroll_to_bottom_button_border">?colorPrimary</item> <item name="scroll_to_bottom_button_border">?colorPrimary</item>
<item name="conversation_unread_count_indicator_background">@color/ocean_dark_4</item> <item name="conversation_unread_count_indicator_background">@color/ocean_dark_4</item>
<item name="message_selected">@color/ocean_dark_1</item>
</style> </style>
@ -633,6 +636,7 @@
<item name="conversation_pinned_background_color">?colorCellBackground</item> <item name="conversation_pinned_background_color">?colorCellBackground</item>
<item name="conversation_unread_background_color">@color/ocean_light_5</item> <item name="conversation_unread_background_color">@color/ocean_light_5</item>
<item name="conversation_pinned_icon_color">?android:textColorPrimary</item> <item name="conversation_pinned_icon_color">?android:textColorPrimary</item>
<item name="message_selected">@color/ocean_light_5</item>
</style> </style>
</resources> </resources>