Rename MediaPreviewFragment to drop version suffix.

This commit is contained in:
Greyson Parrelli
2026-08-04 12:02:44 -04:00
committed by Alex Hart
parent c973c8ac91
commit f0f615fef7
18 changed files with 81 additions and 81 deletions
+4 -4
View File
@@ -359,7 +359,7 @@
errorLine1=" zoomingImageView.setImageUri(requestManager, uri, contentType, () -> events.onMediaReady());"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/thoughtcrime/securesms/mediapreview/ImageMediaPreviewFragment.java"
file="src/main/java/org/thoughtcrime/securesms/mediapreview/ImageMediaPreviewPageFragment.java"
line="53"
column="22"/>
</issue>
@@ -403,7 +403,7 @@
errorLine1=" bindToolbar(args.fromRecipientId, args.threadRecipientId, args.outgoing, args.showThread, args.date, args.messageId)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt"
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewFragment.kt"
line="126"
column="5"/>
</issue>
@@ -414,7 +414,7 @@
errorLine1=" bindTextViews(currentItem, currentState.showThread, currentState.messageBodies)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt"
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewFragment.kt"
line="254"
column="5"/>
</issue>
@@ -425,7 +425,7 @@
errorLine1=" bindTextViews(currentItem, currentState.showThread, currentState.messageBodies)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt"
file="src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewFragment.kt"
line="279"
column="5"/>
</issue>
+1 -1
View File
@@ -653,7 +653,7 @@
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".mediapreview.MediaPreviewV2Activity"
android:name=".mediapreview.MediaPreviewActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:exported="false"
android:label="@string/AndroidManifest__media_preview"
@@ -128,7 +128,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.linkpreview.LinkPreview;
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewCache;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Fragment;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewFragment;
import org.thoughtcrime.securesms.mms.ImageSlide;
import org.thoughtcrime.securesms.mms.PartAuthority;
import org.thoughtcrime.securesms.mms.Slide;
@@ -2956,7 +2956,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
performClick();
} else if (!canPlayContent && mediaItem != null && eventListener != null) {
eventListener.onPlayInlineContent(conversationMessage);
} else if (MediaPreviewV2Fragment.isContentTypeSupported(slide.getContentType()) && slide.getDisplayUri() != null) {
} else if (MediaPreviewFragment.isContentTypeSupported(slide.getContentType()) && slide.getDisplayUri() != null) {
AttachmentDownloadJob.downloadAttachmentIfNeeded((DatabaseAttachment) slide.asAttachment());
launchMediaPreview(v, slide);
} else if (slide.getUri() != null) {
@@ -303,7 +303,7 @@ import org.thoughtcrime.securesms.main.MainNavigationViewModel
import org.thoughtcrime.securesms.main.MainSnackbarHostKey
import org.thoughtcrime.securesms.mediaoverview.MediaOverviewActivity
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Activity
import org.thoughtcrime.securesms.mediapreview.MediaPreviewActivity
import org.thoughtcrime.securesms.mediasend.MediaSendActivityResult
import org.thoughtcrime.securesms.messagerequests.MessageRequestRepository
import org.thoughtcrime.securesms.mms.AttachmentManager
@@ -3983,9 +3983,9 @@ class ConversationFragment :
container.hideAll(composeText)
sharedElement.transitionName = MediaPreviewV2Activity.SHARED_ELEMENT_TRANSITION_NAME
sharedElement.transitionName = MediaPreviewActivity.SHARED_ELEMENT_TRANSITION_NAME
requireActivity().setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
val options = ActivityOptions.makeSceneTransitionAnimation(requireActivity(), sharedElement, MediaPreviewV2Activity.SHARED_ELEMENT_TRANSITION_NAME)
val options = ActivityOptions.makeSceneTransitionAnimation(requireActivity(), sharedElement, MediaPreviewActivity.SHARED_ELEMENT_TRANSITION_NAME)
requireActivity().startActivity(MediaIntentFactory.create(requireActivity(), args), options.toBundle())
}
@@ -50,7 +50,7 @@ import org.thoughtcrime.securesms.database.loaders.GroupedThreadMediaLoader;
import org.thoughtcrime.securesms.database.loaders.MediaLoader;
import org.thoughtcrime.securesms.jobs.AttachmentDownloadJob;
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Activity;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewActivity;
import org.thoughtcrime.securesms.mms.PartAuthority;
import org.signal.core.ui.permissions.Permissions;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
@@ -377,8 +377,8 @@ public final class MediaOverviewPageFragment extends LoggingFragment
DimensionUnit.DP.toDp(12)
),
false);
view.setTransitionName(MediaPreviewV2Activity.SHARED_ELEMENT_TRANSITION_NAME);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(requireActivity(), view, MediaPreviewV2Activity.SHARED_ELEMENT_TRANSITION_NAME);
view.setTransitionName(MediaPreviewActivity.SHARED_ELEMENT_TRANSITION_NAME);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(requireActivity(), view, MediaPreviewActivity.SHARED_ELEMENT_TRANSITION_NAME);
context.startActivity(MediaIntentFactory.create(context, args), options.toBundle());
} else {
if (!MediaUtil.isAudio(attachment)) {
@@ -17,12 +17,12 @@ import org.thoughtcrime.securesms.components.ZoomingImageView;
import org.signal.core.util.concurrent.LifecycleDisposable;
import org.thoughtcrime.securesms.util.MediaUtil;
public final class ImageMediaPreviewFragment extends MediaPreviewFragment {
public final class ImageMediaPreviewPageFragment extends MediaPreviewPageFragment {
private MediaPreviewPlayerControlView bottomBarControlView;
private MediaPreviewV2ViewModel viewModel;
private LifecycleDisposable lifecycleDisposable;
private MediaPreviewViewModel viewModel;
private LifecycleDisposable lifecycleDisposable;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -40,7 +40,7 @@ public final class ImageMediaPreviewFragment extends MediaPreviewFragment {
String contentType = arguments.getString(DATA_CONTENT_TYPE);
ZoomingImageView zoomingImageView = view.findViewById(R.id.zooming_image_view);
viewModel = new ViewModelProvider(requireActivity()).get(MediaPreviewV2ViewModel.class);
viewModel = new ViewModelProvider(requireActivity()).get(MediaPreviewViewModel.class);
lifecycleDisposable = new LifecycleDisposable();
lifecycleDisposable.bindTo(getViewLifecycleOwner());
@@ -64,7 +64,7 @@ object MediaIntentFactory {
@JvmStatic
fun create(context: Context, args: MediaPreviewArgs): Intent {
return Intent(context, MediaPreviewV2Activity::class.java).putExtra(ARGS_KEY, args)
return Intent(context, MediaPreviewActivity::class.java).putExtra(ARGS_KEY, args)
}
fun intentFromMediaRecord(
@@ -21,11 +21,11 @@ import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner
import org.thoughtcrime.securesms.util.WindowUtil
class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner {
class MediaPreviewActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner {
override lateinit var voiceNoteMediaController: VoiceNoteMediaController
private val viewModel: MediaPreviewV2ViewModel by viewModels()
private val viewModel: MediaPreviewViewModel by viewModels()
private val lifecycleDisposable = LifecycleDisposable()
private val args by lazy {
MediaIntentFactory.requireArguments(intent.extras!!)
@@ -85,7 +85,7 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr
super.onCreate(savedInstanceState, ready)
setTheme(R.style.TextSecure_MediaPreview)
setContentView(R.layout.activity_mediapreview_v2)
setContentView(R.layout.activity_media_preview)
transitionImageView = findViewById(R.id.transition_image_view)
val cacheDrawable = MediaPreviewCache.drawable?.let { RecycledBitmapGuardDrawable(it) }
@@ -111,7 +111,7 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr
lifecycleDisposable += viewModel.state.map {
it.isInSharedAnimation to it.loadState
}.distinctUntilChanged().subscribe { (isInSharedAnimation, loadState) ->
if (loadState == MediaPreviewV2State.LoadState.MEDIA_READY) {
if (loadState == MediaPreviewState.LoadState.MEDIA_READY) {
hasMediaBeenReady = true
}
if (!isInSharedAnimation && hasMediaBeenReady) {
@@ -134,10 +134,10 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr
if (savedInstanceState == null) {
val bundle = Bundle()
bundle.putParcelable(MediaPreviewV2Fragment.ARGS_KEY, args)
bundle.putParcelable(MediaPreviewFragment.ARGS_KEY, args)
supportFragmentManager.commit {
setReorderingAllowed(true)
add(R.id.fragment_container_view, MediaPreviewV2Fragment::class.java, bundle, FRAGMENT_TAG)
add(R.id.fragment_container_view, MediaPreviewFragment::class.java, bundle, FRAGMENT_TAG)
}
}
}
@@ -156,7 +156,7 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr
}
companion object {
private const val FRAGMENT_TAG = "media_preview_fragment_v2"
private const val FRAGMENT_TAG = "media_preview_fragment"
const val SHARED_ELEMENT_TRANSITION_NAME = "thumb"
}
}
@@ -11,8 +11,8 @@ import org.thoughtcrime.securesms.jobs.AttachmentDownloadJob
import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.adapter.StableIdGenerator
class MediaPreviewV2Adapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
private val TAG = Log.tag(MediaPreviewV2Adapter::class.java)
class MediaPreviewAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
private val TAG = Log.tag(MediaPreviewAdapter::class.java)
private var items: List<Attachment> = listOf()
private val stableIdGenerator = StableIdGenerator<Attachment>()
private val currentIdSet: HashSet<Long> = HashSet()
@@ -30,16 +30,16 @@ class MediaPreviewV2Adapter(fragment: Fragment) : FragmentStateAdapter(fragment)
val contentType = attachment.contentType
val args = bundleOf(
MediaPreviewFragment.DATA_URI to attachment.displayUri,
MediaPreviewFragment.DATA_CONTENT_TYPE to contentType,
MediaPreviewFragment.DATA_SIZE to attachment.size,
MediaPreviewFragment.AUTO_PLAY to attachment.videoGif,
MediaPreviewFragment.VIDEO_GIF to attachment.videoGif
MediaPreviewPageFragment.DATA_URI to attachment.displayUri,
MediaPreviewPageFragment.DATA_CONTENT_TYPE to contentType,
MediaPreviewPageFragment.DATA_SIZE to attachment.size,
MediaPreviewPageFragment.AUTO_PLAY to attachment.videoGif,
MediaPreviewPageFragment.VIDEO_GIF to attachment.videoGif
)
val fragment = if (MediaUtil.isVideo(contentType)) {
VideoMediaPreviewFragment()
VideoMediaPreviewPageFragment()
} else if (MediaUtil.isImageType(contentType)) {
ImageMediaPreviewFragment()
ImageMediaPreviewPageFragment()
} else {
throw AssertionError("Unexpected media type: $contentType")
}
@@ -62,7 +62,7 @@ import org.thoughtcrime.securesms.database.DatabaseObserver
import org.thoughtcrime.securesms.database.MediaTable
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.databinding.FragmentMediaPreviewV2Binding
import org.thoughtcrime.securesms.databinding.FragmentMediaPreviewBinding
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.mediapreview.caption.ExpandingCaptionView
@@ -88,19 +88,19 @@ import java.util.concurrent.TimeUnit
import kotlin.math.roundToInt
import org.signal.core.ui.R as CoreUiR
class MediaPreviewV2Fragment :
LoggingFragment(R.layout.fragment_media_preview_v2),
MediaPreviewFragment.Events {
class MediaPreviewFragment :
LoggingFragment(R.layout.fragment_media_preview),
MediaPreviewPageFragment.Events {
private val lifecycleDisposable = LifecycleDisposable()
private val binding by ViewBinderDelegate(FragmentMediaPreviewV2Binding::bind)
private val viewModel: MediaPreviewV2ViewModel by viewModels(ownerProducer = {
private val binding by ViewBinderDelegate(FragmentMediaPreviewBinding::bind)
private val viewModel: MediaPreviewViewModel by viewModels(ownerProducer = {
requireActivity()
})
private val debouncer = Debouncer(2, TimeUnit.SECONDS)
private val args: MediaIntentFactory.MediaPreviewArgs by lazy { MediaIntentFactory.requireArguments(requireArguments()) }
private lateinit var pagerAdapter: MediaPreviewV2Adapter
private lateinit var pagerAdapter: MediaPreviewAdapter
private lateinit var albumRailAdapter: MediaRailAdapter
private lateinit var fullscreenHelper: FullscreenHelper
@@ -154,7 +154,7 @@ class MediaPreviewV2Fragment :
private fun initializeViewModel(args: MediaIntentFactory.MediaPreviewArgs) {
if (!MediaUtil.isImageType(args.initialMediaType) && !MediaUtil.isVideoType(args.initialMediaType)) {
Log.w(TAG, "Unsupported media type sent to MediaPreviewV2Fragment, finishing.")
Log.w(TAG, "Unsupported media type sent to MediaPreviewFragment, finishing.")
Snackbar.make(binding.root, R.string.MediaPreviewActivity_unssuported_media_type, Snackbar.LENGTH_LONG)
.setAction(R.string.MediaPreviewActivity_dismiss_due_to_error) {
activity?.finish()
@@ -186,7 +186,7 @@ class MediaPreviewV2Fragment :
private fun initializeViewPager() {
binding.mediaPager.offscreenPageLimit = OFFSCREEN_PAGE_LIMIT_DEFAULT
binding.mediaPager.setPageTransformer(MarginPageTransformer(ViewUtil.dpToPx(24)))
pagerAdapter = MediaPreviewV2Adapter(this)
pagerAdapter = MediaPreviewAdapter(this)
binding.mediaPager.adapter = pagerAdapter
binding.mediaPager.registerOnPageChangeCallback(object : OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
@@ -204,7 +204,7 @@ class MediaPreviewV2Fragment :
layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
addItemDecoration(CenterDecoration(0))
albumRailAdapter = MediaRailAdapter(
Glide.with(this@MediaPreviewV2Fragment),
Glide.with(this@MediaPreviewFragment),
{ media -> jumpViewPagerToMedia(media) },
object : ImageLoadingListener() {
override fun onAllRequestsFinished() {
@@ -224,19 +224,19 @@ class MediaPreviewV2Fragment :
fullscreenHelper.showAndHideWithSystemUI(requireActivity().window, binding.toolbarLayout, binding.mediaPreviewDetailsContainer)
}
private fun bindCurrentState(currentState: MediaPreviewV2State) {
private fun bindCurrentState(currentState: MediaPreviewState) {
if (currentState.position < 0 && currentState.mediaRecords.isEmpty()) {
onMediaNotAvailable()
return
}
when (currentState.loadState) {
MediaPreviewV2State.LoadState.DATA_LOADED -> bindDataLoadedState(currentState)
MediaPreviewV2State.LoadState.MEDIA_READY -> bindMediaReadyState(currentState)
MediaPreviewState.LoadState.DATA_LOADED -> bindDataLoadedState(currentState)
MediaPreviewState.LoadState.MEDIA_READY -> bindMediaReadyState(currentState)
else -> Unit
}
}
private fun bindDataLoadedState(currentState: MediaPreviewV2State) {
private fun bindDataLoadedState(currentState: MediaPreviewState) {
val currentPosition = currentState.position
val backingItems = currentState.mediaRecords.mapNotNull { it.attachment }
@@ -260,7 +260,7 @@ class MediaPreviewV2Fragment :
* This is not available until after a page has been chosen by the ViewPager, and we receive the
* {@link OnPageChangeCallback}.
*/
private fun bindMediaReadyState(currentState: MediaPreviewV2State) {
private fun bindMediaReadyState(currentState: MediaPreviewState) {
val currentPosition: Int = currentState.position
if (currentState.mediaRecords.isEmpty() || currentPosition < 0) {
onMediaNotAvailable()
@@ -272,7 +272,7 @@ class MediaPreviewV2Fragment :
childFragmentManager.fragments.forEach { fragment ->
if (fragment.tag != currentItemTag) {
(fragment as? MediaPreviewFragment)?.pause()
(fragment as? MediaPreviewPageFragment)?.pause()
}
}
@@ -304,7 +304,7 @@ class MediaPreviewV2Fragment :
/**
* The body passed in via arguments for the initially-opened message. Used as a fallback until the background
* body resolution populates [MediaPreviewV2State.messageBodies], so the caption never blanks out after the
* body resolution populates [MediaPreviewState.messageBodies], so the caption never blanks out after the
* instant render.
*/
private fun initialBodyForMessage(messageId: Long?): SpannableString? {
@@ -394,7 +394,7 @@ class MediaPreviewV2Fragment :
crossfadeViewIn(binding.mediaPreviewDetailsContainer)
}
private fun bindMediaPreviewPlaybackControls(currentItem: MediaTable.MediaRecord, currentFragment: MediaPreviewFragment?) {
private fun bindMediaPreviewPlaybackControls(currentItem: MediaTable.MediaRecord, currentFragment: MediaPreviewPageFragment?) {
val mediaType: MediaPreviewPlayerControlView.MediaMode = if (currentItem.attachment?.videoGif == true) {
MediaPreviewPlayerControlView.MediaMode.IMAGE
} else {
@@ -423,7 +423,7 @@ class MediaPreviewV2Fragment :
}
private fun pauseCurrentMediaIfVideo() {
(getMediaPreviewFragmentFromChildFragmentManager(binding.mediaPager.currentItem) as? VideoMediaPreviewFragment)?.pause()
(getMediaPreviewFragmentFromChildFragmentManager(binding.mediaPager.currentItem) as? VideoMediaPreviewPageFragment)?.pause()
}
private fun tryBindMediaPreviewPlaybackControls(
@@ -505,8 +505,8 @@ class MediaPreviewV2Fragment :
}
}
private fun getMediaPreviewFragmentFromChildFragmentManager(currentPosition: Int): MediaPreviewFragment? {
return childFragmentManager.findFragmentByTag(pagerAdapter.getFragmentTag(currentPosition)) as? MediaPreviewFragment
private fun getMediaPreviewFragmentFromChildFragmentManager(currentPosition: Int): MediaPreviewPageFragment? {
return childFragmentManager.findFragmentByTag(pagerAdapter.getFragmentTag(currentPosition)) as? MediaPreviewPageFragment
}
private fun jumpViewPagerToMedia(media: Media) {
@@ -669,7 +669,7 @@ class MediaPreviewV2Fragment :
)
lifecycleScope.launch {
AttachmentSaver(this@MediaPreviewV2Fragment).saveAttachments(setOf(saveAttachment))
AttachmentSaver(this@MediaPreviewFragment).saveAttachments(setOf(saveAttachment))
}
}
@@ -779,7 +779,7 @@ class MediaPreviewV2Fragment :
private const val EXPANDED_CAPTION_HEIGHT_FALLBACK_DP = 400
private const val EXPANDED_CAPTION_HEIGHT_PERCENT: Float = 0.7F
private val TAG = Log.tag(MediaPreviewV2Fragment::class.java)
private val TAG = Log.tag(MediaPreviewFragment::class.java)
const val ARGS_KEY: String = "args"
@@ -13,7 +13,7 @@ import org.signal.core.util.concurrent.SimpleTask;
import java.util.Objects;
public abstract class MediaPreviewFragment extends Fragment {
public abstract class MediaPreviewPageFragment extends Fragment {
public static final String DATA_URI = "DATA_URI";
@@ -4,7 +4,7 @@ import android.text.SpannableString
import org.signal.core.models.media.Media
import org.thoughtcrime.securesms.database.MediaTable
data class MediaPreviewV2State(
data class MediaPreviewState(
val mediaRecords: List<MediaTable.MediaRecord> = emptyList(),
val loadState: LoadState = LoadState.INIT,
val position: Int = 0,
@@ -35,17 +35,17 @@ import org.thoughtcrime.securesms.notifications.NotificationIds
import org.thoughtcrime.securesms.util.RemoteConfig
import org.thoughtcrime.securesms.util.rx.RxStore
class MediaPreviewV2ViewModel : ViewModel() {
class MediaPreviewViewModel : ViewModel() {
companion object {
private val TAG = Log.tag(MediaPreviewV2ViewModel::class)
private val TAG = Log.tag(MediaPreviewViewModel::class)
}
private val store = RxStore(MediaPreviewV2State())
private val store = RxStore(MediaPreviewState())
private val disposables = CompositeDisposable()
private val repository: MediaPreviewRepository = MediaPreviewRepository()
val state: Flowable<MediaPreviewV2State> = store.stateFlowable.observeOn(AndroidSchedulers.mainThread())
val state: Flowable<MediaPreviewState> = store.stateFlowable.observeOn(AndroidSchedulers.mainThread())
val currentPosition: Int
get() = store.state.position
@@ -58,7 +58,7 @@ class MediaPreviewV2ViewModel : ViewModel() {
}
fun fetchAttachments(context: Context, startingAttachmentId: AttachmentId, threadId: Long, sorting: MediaTable.Sorting, forceRefresh: Boolean = false) {
if (store.state.loadState == MediaPreviewV2State.LoadState.INIT || forceRefresh) {
if (store.state.loadState == MediaPreviewState.LoadState.INIT || forceRefresh) {
disposables += repository.getAttachments(context, startingAttachmentId, threadId, sorting).subscribe { result ->
store.update { oldState ->
val albums = result.records.fold(mutableMapOf()) { acc: MutableMap<Long, MutableList<Media>>, mediaRecord: MediaTable.MediaRecord ->
@@ -74,14 +74,14 @@ class MediaPreviewV2ViewModel : ViewModel() {
position = result.initialPosition,
mediaRecords = result.records,
albums = albums,
loadState = MediaPreviewV2State.LoadState.DATA_LOADED
loadState = MediaPreviewState.LoadState.DATA_LOADED
)
} else {
oldState.copy(
position = result.records.size - result.initialPosition - 1,
mediaRecords = result.records.reversed(),
albums = albums.mapValues { it.value.reversed() },
loadState = MediaPreviewV2State.LoadState.DATA_LOADED
loadState = MediaPreviewState.LoadState.DATA_LOADED
)
}
}
@@ -112,7 +112,7 @@ class MediaPreviewV2ViewModel : ViewModel() {
}
fun initialize(showThread: Boolean, allMediaInAlbumRail: Boolean, leftIsRecent: Boolean) {
if (store.state.loadState == MediaPreviewV2State.LoadState.INIT) {
if (store.state.loadState == MediaPreviewState.LoadState.INIT) {
store.update { oldState ->
oldState.copy(showThread = showThread, allMediaInAlbumRail = allMediaInAlbumRail, leftIsRecent = leftIsRecent)
}
@@ -127,7 +127,7 @@ class MediaPreviewV2ViewModel : ViewModel() {
fun setMediaReady() {
store.update { oldState ->
oldState.copy(loadState = MediaPreviewV2State.LoadState.MEDIA_READY)
oldState.copy(loadState = MediaPreviewState.LoadState.MEDIA_READY)
}
}
@@ -168,7 +168,7 @@ class MediaPreviewV2ViewModel : ViewModel() {
fun onDestroyView() {
store.update { oldState ->
oldState.copy(loadState = MediaPreviewV2State.LoadState.DATA_LOADED)
oldState.copy(loadState = MediaPreviewState.LoadState.DATA_LOADED)
}
}
@@ -27,16 +27,16 @@ import org.signal.video.VideoPlayer;
import java.util.concurrent.TimeUnit;
@OptIn(markerClass = UnstableApi.class)
public final class VideoMediaPreviewFragment extends MediaPreviewFragment {
public final class VideoMediaPreviewPageFragment extends MediaPreviewPageFragment {
private static final String TAG = Log.tag(VideoMediaPreviewFragment.class);
private static final String TAG = Log.tag(VideoMediaPreviewPageFragment.class);
private static final Long MINIMUM_DURATION_FOR_SKIP_MS = TimeUnit.MILLISECONDS.convert(30, TimeUnit.SECONDS);
private VideoPlayer videoView;
private boolean isVideoGif;
private MediaPreviewV2ViewModel viewModel;
private LifecycleDisposable lifecycleDisposable;
private VideoPlayer videoView;
private boolean isVideoGif;
private MediaPreviewViewModel viewModel;
private LifecycleDisposable lifecycleDisposable;
@Override
@@ -61,7 +61,7 @@ public final class VideoMediaPreviewFragment extends MediaPreviewFragment {
}
videoView = itemView.findViewById(R.id.video_player);
viewModel = new ViewModelProvider(requireActivity()).get(MediaPreviewV2ViewModel.class);
viewModel = new ViewModelProvider(requireActivity()).get(MediaPreviewViewModel.class);
lifecycleDisposable = new LifecycleDisposable();
lifecycleDisposable.add(viewModel.getState().distinctUntilChanged().subscribe(state -> {
@@ -64,7 +64,7 @@ import org.thoughtcrime.securesms.giph.ui.GiphyActivity;
import org.thoughtcrime.securesms.maps.PlacePickerActivity;
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewCache;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Fragment;
import org.thoughtcrime.securesms.mediapreview.MediaPreviewFragment;
import org.thoughtcrime.securesms.mediasend.MediaSendLauncher;
import org.thoughtcrime.securesms.payments.CanNotSendPaymentDialog;
import org.thoughtcrime.securesms.payments.PaymentsAddressException;
@@ -379,7 +379,7 @@ public class AttachmentManager {
}
private void previewImageDraft(final @NonNull Slide slide) {
if (MediaPreviewV2Fragment.isContentTypeSupported(slide.getContentType()) && slide.getUri() != null) {
if (MediaPreviewFragment.isContentTypeSupported(slide.getContentType()) && slide.getUri() != null) {
MediaIntentFactory.MediaPreviewArgs args = new MediaIntentFactory.MediaPreviewArgs(
MediaIntentFactory.NOT_IN_A_THREAD,
MediaIntentFactory.UNKNOWN_TIMESTAMP,
@@ -73,7 +73,7 @@ import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectFor
import org.thoughtcrime.securesms.database.AttachmentTable
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
import org.thoughtcrime.securesms.mediapreview.MediaPreviewFragment
import org.thoughtcrime.securesms.mediapreview.MediaPreviewPageFragment
import org.thoughtcrime.securesms.mediapreview.VideoControlsDelegate
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
@@ -559,7 +559,7 @@ class StoryViewerPageFragment :
override fun onDestroyView() {
super.onDestroyView()
childFragmentManager.fragments.forEach {
if (it is MediaPreviewFragment) {
if (it is MediaPreviewPageFragment) {
it.cleanUp()
}
}