Merge remote-tracking branch 'upstream/dev' into multi_device_expiry

This commit is contained in:
Harris 2021-09-13 13:46:19 +10:00
commit 3c96083d59
3 changed files with 31 additions and 6 deletions

View File

@ -3,10 +3,7 @@ package org.thoughtcrime.securesms.conversation.v2
import android.Manifest
import android.animation.FloatEvaluator
import android.animation.ValueAnimator
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.content.*
import android.content.res.Resources
import android.database.Cursor
import android.graphics.Rect
@ -972,7 +969,23 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
}
private fun showGIFPicker() {
AttachmentManager.selectGif(this, ConversationActivityV2.PICK_GIF)
val hasSeenGIFMetaDataWarning: Boolean = TextSecurePreferences.hasSeenGIFMetaDataWarning(this)
if (!hasSeenGIFMetaDataWarning) {
val builder = AlertDialog.Builder(this)
builder.setTitle("Search GIFs?")
builder.setMessage("You will not have full metadata protection when sending GIFs.")
builder.setPositiveButton("OK") { dialog: DialogInterface, which: Int ->
TextSecurePreferences.setHasSeenGIFMetaDataWarning(this)
AttachmentManager.selectGif(this, ConversationActivityV2.PICK_GIF)
dialog.dismiss()
}
builder.setNegativeButton(
"Cancel"
) { dialog: DialogInterface, which: Int -> dialog.dismiss() }
builder.create().show()
} else {
AttachmentManager.selectGif(this, ConversationActivityV2.PICK_GIF)
}
}
private fun showDocumentPicker() {

View File

@ -59,6 +59,7 @@ class VisibleMessageView : LinearLayout {
const val longPressMovementTreshold = 10.0f // dp
const val longPressDurationThreshold = 250L // ms
const val maxDoubleTapInterval = 200L
const val maxTimeBetweenBreaks = 5 * 60 * 1000L // 5 minutes
}
// region Lifecycle
@ -111,7 +112,7 @@ class VisibleMessageView : LinearLayout {
senderNameTextView.visibility = View.GONE
}
// Date break
val showDateBreak = (previous == null || !DateUtils.isSameHour(message.timestamp, previous.timestamp))
val showDateBreak = (previous == null || message.timestamp - previous.timestamp > maxTimeBetweenBreaks)
dateBreakTextView.isVisible = showDateBreak
dateBreakTextView.text = if (showDateBreak) DateUtils.getDisplayFormattedTimeSpanString(context, Locale.getDefault(), message.timestamp) else ""
// Timestamp

View File

@ -80,6 +80,7 @@ object TextSecurePreferences {
const val UNIVERSAL_UNIDENTIFIED_ACCESS = "pref_universal_unidentified_access"
const val TYPING_INDICATORS = "pref_typing_indicators"
const val LINK_PREVIEWS = "pref_link_previews"
private const val GIF_METADATA_WARNING = "has_seen_gif_metadata_warning"
private const val GIF_GRID_LAYOUT = "pref_gif_grid_layout"
const val IS_USING_FCM = "pref_is_using_fcm"
private const val FCM_TOKEN = "pref_fcm_token"
@ -285,6 +286,16 @@ object TextSecurePreferences {
setBooleanPreference(context, LINK_PREVIEWS, enabled)
}
@JvmStatic
fun hasSeenGIFMetaDataWarning(context: Context): Boolean {
return getBooleanPreference(context, GIF_METADATA_WARNING, false)
}
@JvmStatic
fun setHasSeenGIFMetaDataWarning(context: Context) {
setBooleanPreference(context, GIF_METADATA_WARNING, true)
}
@JvmStatic
fun isGifSearchInGridLayout(context: Context): Boolean {
return getBooleanPreference(context, GIF_GRID_LAYOUT, false)