|
|
@ -6,11 +6,6 @@ import android.animation.ValueAnimator
|
|
|
|
import android.content.ClipData
|
|
|
|
import android.content.ClipData
|
|
|
|
import android.content.ClipboardManager
|
|
|
|
import android.content.ClipboardManager
|
|
|
|
import android.content.Context
|
|
|
|
import android.content.Context
|
|
|
|
import android.content.DialogInterface
|
|
|
|
|
|
|
|
import android.content.Intent
|
|
|
|
|
|
|
|
import android.content.ClipData
|
|
|
|
|
|
|
|
import android.content.ClipboardManager
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
|
|
|
|
import android.content.Intent
|
|
|
|
import android.content.Intent
|
|
|
|
import android.content.res.Resources
|
|
|
|
import android.content.res.Resources
|
|
|
|
import android.database.Cursor
|
|
|
|
import android.database.Cursor
|
|
|
@ -35,13 +30,6 @@ import android.view.MenuItem
|
|
|
|
import android.view.MotionEvent
|
|
|
|
import android.view.MotionEvent
|
|
|
|
import android.view.View
|
|
|
|
import android.view.View
|
|
|
|
import android.view.WindowManager
|
|
|
|
import android.view.WindowManager
|
|
|
|
import android.widget.LinearLayout
|
|
|
|
|
|
|
|
import android.view.ActionMode
|
|
|
|
|
|
|
|
import android.view.Menu
|
|
|
|
|
|
|
|
import android.view.MenuItem
|
|
|
|
|
|
|
|
import android.view.MotionEvent
|
|
|
|
|
|
|
|
import android.view.View
|
|
|
|
|
|
|
|
import android.view.WindowManager
|
|
|
|
|
|
|
|
import android.widget.RelativeLayout
|
|
|
|
import android.widget.RelativeLayout
|
|
|
|
import android.widget.Toast
|
|
|
|
import android.widget.Toast
|
|
|
|
import androidx.activity.viewModels
|
|
|
|
import androidx.activity.viewModels
|
|
|
@ -135,11 +123,6 @@ import org.thoughtcrime.securesms.conversation.v2.messages.VisibleMessageViewDel
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.search.SearchBottomBar
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.search.SearchBottomBar
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.search.SearchViewModel
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.search.SearchViewModel
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.AttachmentManager
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.AttachmentManager
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.MentionUtilities
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.ResendMessageUtilities
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.AttachmentManager
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.MentionManagerUtilities
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.MentionUtilities
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.MentionUtilities
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.ResendMessageUtilities
|
|
|
|
import org.thoughtcrime.securesms.conversation.v2.utilities.ResendMessageUtilities
|
|
|
|
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
|
|
|
|
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
|
|
|
@ -154,18 +137,6 @@ import org.thoughtcrime.securesms.database.SessionContactDatabase
|
|
|
|
import org.thoughtcrime.securesms.database.SmsDatabase
|
|
|
|
import org.thoughtcrime.securesms.database.SmsDatabase
|
|
|
|
import org.thoughtcrime.securesms.database.Storage
|
|
|
|
import org.thoughtcrime.securesms.database.Storage
|
|
|
|
import org.thoughtcrime.securesms.database.ThreadDatabase
|
|
|
|
import org.thoughtcrime.securesms.database.ThreadDatabase
|
|
|
|
import org.thoughtcrime.securesms.database.GroupDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.LokiAPIDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.LokiMessageDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.LokiThreadDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.MmsDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.MmsSmsDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.ReactionDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.RecipientDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.SessionContactDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.SmsDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.Storage
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.ThreadDatabase
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.model.MessageId
|
|
|
|
import org.thoughtcrime.securesms.database.model.MessageId
|
|
|
|
import org.thoughtcrime.securesms.database.model.MessageRecord
|
|
|
|
import org.thoughtcrime.securesms.database.model.MessageRecord
|
|
|
|
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
|
|
|
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
|
|
@ -189,15 +160,6 @@ import org.thoughtcrime.securesms.mms.VideoSlide
|
|
|
|
import org.thoughtcrime.securesms.permissions.Permissions
|
|
|
|
import org.thoughtcrime.securesms.permissions.Permissions
|
|
|
|
import org.thoughtcrime.securesms.reactions.ReactionsDialogFragment
|
|
|
|
import org.thoughtcrime.securesms.reactions.ReactionsDialogFragment
|
|
|
|
import org.thoughtcrime.securesms.reactions.any.ReactWithAnyEmojiDialogFragment
|
|
|
|
import org.thoughtcrime.securesms.reactions.any.ReactWithAnyEmojiDialogFragment
|
|
|
|
import org.thoughtcrime.securesms.util.ActivityDispatcher
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.DateUtils
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.MediaUtil
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.SaveAttachmentTask
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.push
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.show
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.toPx
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.showExpirationDialog
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.showSessionDialog
|
|
|
|
import org.thoughtcrime.securesms.showSessionDialog
|
|
|
|
import org.thoughtcrime.securesms.util.ActivityDispatcher
|
|
|
|
import org.thoughtcrime.securesms.util.ActivityDispatcher
|
|
|
|
import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities
|
|
|
|
import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities
|
|
|
@ -206,6 +168,7 @@ import org.thoughtcrime.securesms.util.MediaUtil
|
|
|
|
import org.thoughtcrime.securesms.util.SaveAttachmentTask
|
|
|
|
import org.thoughtcrime.securesms.util.SaveAttachmentTask
|
|
|
|
import org.thoughtcrime.securesms.util.isScrolledToBottom
|
|
|
|
import org.thoughtcrime.securesms.util.isScrolledToBottom
|
|
|
|
import org.thoughtcrime.securesms.util.push
|
|
|
|
import org.thoughtcrime.securesms.util.push
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.show
|
|
|
|
import org.thoughtcrime.securesms.util.toPx
|
|
|
|
import org.thoughtcrime.securesms.util.toPx
|
|
|
|
import java.lang.ref.WeakReference
|
|
|
|
import java.lang.ref.WeakReference
|
|
|
|
import java.util.Locale
|
|
|
|
import java.util.Locale
|
|
|
@ -442,7 +405,6 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updateUnreadCountIndicator()
|
|
|
|
updateUnreadCountIndicator()
|
|
|
|
updateSubtitle()
|
|
|
|
|
|
|
|
updatePlaceholder()
|
|
|
|
updatePlaceholder()
|
|
|
|
setUpBlockedBanner()
|
|
|
|
setUpBlockedBanner()
|
|
|
|
binding!!.searchBottomBar.setEventListener(this)
|
|
|
|
binding!!.searchBottomBar.setEventListener(this)
|
|
|
@ -511,6 +473,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
|
|
|
true,
|
|
|
|
true,
|
|
|
|
screenshotObserver
|
|
|
|
screenshotObserver
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
val recipient = viewModel.recipient ?: return
|
|
|
|
binding?.toolbarContent?.update(recipient, viewModel.openGroup, viewModel.expirationConfiguration)
|
|
|
|
binding?.toolbarContent?.update(recipient, viewModel.openGroup, viewModel.expirationConfiguration)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -829,7 +792,6 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setUpMessageRequestsBar()
|
|
|
|
setUpMessageRequestsBar()
|
|
|
|
invalidateOptionsMenu()
|
|
|
|
invalidateOptionsMenu()
|
|
|
|
updateSubtitle()
|
|
|
|
|
|
|
|
updateSendAfterApprovalText()
|
|
|
|
updateSendAfterApprovalText()
|
|
|
|
showOrHideInputIfNeeded()
|
|
|
|
showOrHideInputIfNeeded()
|
|
|
|
|
|
|
|
|
|
|
@ -1645,7 +1607,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val expiresInMs = (viewModel.expirationConfiguration?.durationSeconds ?: 0) * 1000L
|
|
|
|
val expiresInMs = (viewModel.expirationConfiguration?.durationSeconds ?: 0) * 1000L
|
|
|
|
val expireStartedAtMs = if (viewModel.expirationConfiguration?.expirationType == ExpirationType.DELETE_AFTER_SEND) {
|
|
|
|
val expireStartedAtMs = if (viewModel.expirationConfiguration?.expirationType == ExpirationType.DELETE_AFTER_SEND) {
|
|
|
|
sentTimestampMs
|
|
|
|
sentTimestamp
|
|
|
|
} else 0
|
|
|
|
} else 0
|
|
|
|
val outgoingTextMessage = OutgoingMediaMessage.from(message, recipient, attachments, localQuote, linkPreview, expiresInMs, expireStartedAtMs)
|
|
|
|
val outgoingTextMessage = OutgoingMediaMessage.from(message, recipient, attachments, localQuote, linkPreview, expiresInMs, expireStartedAtMs)
|
|
|
|
// Clear the input bar
|
|
|
|
// Clear the input bar
|
|
|
|