You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-android/app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt

151 lines
5.4 KiB
Kotlin

2 years ago
package org.thoughtcrime.securesms
import android.content.Context
import android.view.LayoutInflater
2 years ago
import android.view.View
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.widget.Button
import android.widget.LinearLayout
import android.widget.LinearLayout.VERTICAL
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
import android.widget.Space
2 years ago
import android.widget.TextView
import androidx.annotation.AttrRes
import androidx.annotation.LayoutRes
2 years ago
import androidx.annotation.StringRes
import androidx.annotation.StyleRes
import androidx.appcompat.app.AlertDialog
import androidx.core.view.setMargins
import androidx.core.view.updateMargins
import androidx.fragment.app.Fragment
2 years ago
import network.loki.messenger.R
import org.thoughtcrime.securesms.util.toPx
@DslMarker
@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE)
annotation class DialogDsl
@DialogDsl
2 years ago
class SessionDialogBuilder(val context: Context) {
private val dp20 = toPx(20, context.resources)
private val dp40 = toPx(40, context.resources)
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
private val dp60 = toPx(60, context.resources)
private val dialogBuilder: AlertDialog.Builder = AlertDialog.Builder(context)
private var dialog: AlertDialog? = null
private fun dismiss() = dialog?.dismiss()
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
private val topView = LinearLayout(context)
.apply { setPadding(0, dp20, 0, 0) }
.apply { orientation = VERTICAL }
.also(dialogBuilder::setCustomTitle)
private val contentView = LinearLayout(context).apply { orientation = VERTICAL }
private val buttonLayout = LinearLayout(context)
2 years ago
private val root = LinearLayout(context).apply { orientation = VERTICAL }
.also(dialogBuilder::setView)
.apply {
addView(contentView)
addView(buttonLayout)
}
fun title(@StringRes id: Int) = title(context.getString(id))
fun title(text: CharSequence?) = title(text?.toString())
fun title(text: String?) {
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
text(text, R.style.TextAppearance_AppCompat_Title) { setPadding(dp20, 0, dp20, 0) }
2 years ago
}
fun text(@StringRes id: Int, style: Int = 0) = text(context.getString(id), style)
fun text(text: CharSequence?, @StyleRes style: Int = 0) {
text(text, style) {
layoutParams = LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT)
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
.apply { updateMargins(dp40, 0, dp40, 0) }
}
}
private fun text(text: CharSequence?, @StyleRes style: Int, modify: TextView.() -> Unit) {
text ?: return
TextView(context, null, 0, style)
.apply {
setText(text)
textAlignment = View.TEXT_ALIGNMENT_CENTER
modify()
}.let(topView::addView)
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
Space(context).apply {
layoutParams = LinearLayout.LayoutParams(0, dp20)
}.let(topView::addView)
2 years ago
}
fun view(view: View) = contentView.addView(view)
2 years ago
fun view(@LayoutRes layout: Int): View = LayoutInflater.from(context).inflate(layout, contentView)
fun iconAttribute(@AttrRes icon: Int): AlertDialog.Builder = dialogBuilder.setIconAttribute(icon)
fun singleChoiceItems(
options: Collection<String>,
currentSelected: Int = 0,
onSelect: (Int) -> Unit
) = singleChoiceItems(options.toTypedArray(), currentSelected, onSelect)
fun singleChoiceItems(
options: Array<String>,
currentSelected: Int = 0,
onSelect: (Int) -> Unit
): AlertDialog.Builder = dialogBuilder.setSingleChoiceItems(
options,
currentSelected
) { dialog, it -> onSelect(it); dialog.dismiss() }
2 years ago
fun items(
options: Array<String>,
onSelect: (Int) -> Unit
): AlertDialog.Builder = dialogBuilder.setItems(
options,
) { dialog, it -> onSelect(it); dialog.dismiss() }
fun destructiveButton(
@StringRes text: Int,
@StringRes contentDescription: Int = text,
listener: () -> Unit = {}
) = button(
text,
contentDescription,
R.style.Widget_Session_Button_Dialog_DestructiveText,
) { listener() }
2 years ago
fun okButton(listener: (() -> Unit) = {}) = button(android.R.string.ok) { listener() }
fun cancelButton(listener: (() -> Unit) = {}) = button(android.R.string.cancel, R.string.AccessibilityId_cancel_button) { listener() }
2 years ago
fun button(
@StringRes text: Int,
@StringRes contentDescriptionRes: Int = text,
2 years ago
@StyleRes style: Int = R.style.Widget_Session_Button_Dialog_UnimportantText,
dismiss: Boolean = true,
listener: (() -> Unit) = {}
) = Button(context, null, 0, style).apply {
setText(text)
contentDescription = resources.getString(contentDescriptionRes)
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
1 year ago
layoutParams = LinearLayout.LayoutParams(WRAP_CONTENT, dp60, 1f)
setOnClickListener {
listener.invoke()
if (dismiss) dismiss()
2 years ago
}
}.let(buttonLayout::addView)
2 years ago
fun create(): AlertDialog = dialogBuilder.create().also { dialog = it }
fun show(): AlertDialog = dialogBuilder.show().also { dialog = it }
2 years ago
}
fun Context.showSessionDialog(build: SessionDialogBuilder.() -> Unit): AlertDialog =
2 years ago
SessionDialogBuilder(this).apply { build() }.show()
fun Fragment.showSessionDialog(build: SessionDialogBuilder.() -> Unit): AlertDialog =
SessionDialogBuilder(requireContext()).apply { build() }.show()
fun Fragment.createSessionDialog(build: SessionDialogBuilder.() -> Unit): AlertDialog =
SessionDialogBuilder(requireContext()).apply { build() }.create()