mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-25 20:23:19 +00:00
Allow for larger input videos for sending.
This commit is contained in:
committed by
Greyson Parrelli
parent
58443c46be
commit
6daee5719b
@@ -62,7 +62,7 @@ public class PushMediaConstraints extends MediaConstraints {
|
||||
|
||||
@Override
|
||||
public long getUncompressedVideoMaxSize(Context context) {
|
||||
return isVideoTranscodeAvailable() ? 500 * MB
|
||||
return isVideoTranscodeAvailable() ? RemoteConfig.maxSourceTranscodeVideoSizeBytes()
|
||||
: getVideoMaxSize(context);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.kotlin.subscribeBy
|
||||
import org.signal.core.util.Result
|
||||
import org.signal.core.util.concurrent.LifecycleDisposable
|
||||
import org.signal.core.util.concurrent.addTo
|
||||
import org.signal.core.util.getParcelableArrayListCompat
|
||||
import org.signal.core.util.getParcelableArrayListExtraCompat
|
||||
import org.signal.core.util.getParcelableExtraCompat
|
||||
@@ -25,6 +26,7 @@ import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.MainActivity
|
||||
import org.thoughtcrime.securesms.PassphraseRequiredActivity
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.SignalProgressDialog
|
||||
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
|
||||
import org.thoughtcrime.securesms.conversation.ConversationIntents
|
||||
import org.thoughtcrime.securesms.conversation.MessageSendType
|
||||
@@ -42,6 +44,7 @@ import org.thoughtcrime.securesms.util.ConversationUtil
|
||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme
|
||||
import org.thoughtcrime.securesms.util.visible
|
||||
import java.util.Optional
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.Callback {
|
||||
|
||||
@@ -123,6 +126,22 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C
|
||||
}
|
||||
}
|
||||
|
||||
var dialog: SignalProgressDialog? = null
|
||||
viewModel
|
||||
.state
|
||||
.debounce(500, TimeUnit.MILLISECONDS)
|
||||
.onErrorComplete()
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeBy { state ->
|
||||
if (state.loadState == ShareState.ShareDataLoadState.Init) {
|
||||
dialog = SignalProgressDialog.show(this, indeterminate = true)
|
||||
} else {
|
||||
dialog?.dismiss()
|
||||
dialog = null
|
||||
}
|
||||
}
|
||||
.addTo(lifecycleDisposable)
|
||||
|
||||
lifecycleDisposable += viewModel.state.observeOn(AndroidSchedulers.mainThread()).subscribe { shareState ->
|
||||
when (shareState.loadState) {
|
||||
ShareState.ShareDataLoadState.Init -> Unit
|
||||
|
||||
@@ -869,6 +869,15 @@ object RemoteConfig {
|
||||
hotSwappable = true
|
||||
)
|
||||
|
||||
/** Maximum input size when opening a video to send in bytes */
|
||||
@JvmStatic
|
||||
@get:JvmName("maxSourceTranscodeVideoSizeBytes")
|
||||
val maxSourceTranscodeVideoSizeBytes: Long by remoteLong(
|
||||
key = "android.media.sourceTranscodeVideo.maxBytes",
|
||||
defaultValue = 500L.mebiBytes.inWholeBytes,
|
||||
hotSwappable = true
|
||||
)
|
||||
|
||||
const val PROMPT_FOR_NOTIFICATION_LOGS: String = "android.logs.promptNotifications"
|
||||
|
||||
@JvmStatic
|
||||
|
||||
Reference in New Issue
Block a user