Prevent sending videos over 30s in length to a story.

This commit is contained in:
Alex Hart
2022-04-15 15:14:59 -03:00
committed by Greyson Parrelli
parent fa13b464f8
commit 043f06e188
16 changed files with 127 additions and 15 deletions

View File

@@ -1359,6 +1359,11 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
public void onDismissForwardSheet() {
}
@Override
public boolean canSendMediaToStories() {
return true;
}
public interface ConversationFragmentListener extends VoiceNoteMediaControllerOwner {
boolean isKeyboardOpen();
void setThreadId(long threadId);

View File

@@ -11,6 +11,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment
import org.thoughtcrime.securesms.util.fragments.findListener
import org.thoughtcrime.securesms.util.fragments.requireListener
class MultiselectForwardBottomSheet : FixedRoundedCornerBottomSheetDialogFragment(), MultiselectForwardFragment.Callback {
@@ -43,6 +44,10 @@ class MultiselectForwardBottomSheet : FixedRoundedCornerBottomSheetDialogFragmen
return backgroundColor
}
override fun canSendMediaToStories(): Boolean {
return requireListener<Callback>().canSendMediaToStories()
}
override fun setResult(bundle: Bundle) {
setFragmentResult(MultiselectForwardFragment.RESULT_KEY, bundle)
}
@@ -67,5 +72,6 @@ class MultiselectForwardBottomSheet : FixedRoundedCornerBottomSheetDialogFragmen
interface Callback {
fun onFinishForwardAction()
fun onDismissForwardSheet()
fun canSendMediaToStories(): Boolean = true
}
}

View File

@@ -371,7 +371,7 @@ class MultiselectForwardFragment :
}
private fun isSelectedMediaValidForStories(): Boolean {
return getMultiShareArgs().all { it.isValidForStories }
return requireListener<Callback>().canSendMediaToStories() && getMultiShareArgs().all { it.isValidForStories }
}
private fun isSelectedMediaValidForNonStories(): Boolean {
@@ -393,6 +393,7 @@ class MultiselectForwardFragment :
fun setResult(bundle: Bundle)
fun getContainer(): ViewGroup
fun getDialogBackgroundColor(): Int
fun canSendMediaToStories(): Boolean = true
}
companion object {

View File

@@ -47,7 +47,12 @@ class MultiselectForwardFullScreenDialogFragment : FullScreenDialogFragment(), M
override fun onSearchInputFocused() = Unit
override fun canSendMediaToStories(): Boolean {
return findListener<Callback>()?.canSendMediaToStories() ?: true
}
interface Callback {
fun onFinishForwardAction()
fun onFinishForwardAction() = Unit
fun canSendMediaToStories(): Boolean = true
}
}