diff --git a/vector/src/main/java/im/vector/riotx/features/media/VectorAttachmentViewerActivity.kt b/vector/src/main/java/im/vector/riotx/features/media/VectorAttachmentViewerActivity.kt index 57ff8bb05d..0db7d6db2a 100644 --- a/vector/src/main/java/im/vector/riotx/features/media/VectorAttachmentViewerActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/media/VectorAttachmentViewerActivity.kt @@ -30,7 +30,11 @@ import androidx.core.view.isVisible import androidx.transition.Transition import im.vector.riotx.R import im.vector.riotx.attachmentviewer.AttachmentViewerActivity -import im.vector.riotx.core.di.* +import im.vector.riotx.core.di.ActiveSessionHolder +import im.vector.riotx.core.di.DaggerScreenComponent +import im.vector.riotx.core.di.HasVectorInjector +import im.vector.riotx.core.di.ScreenComponent +import im.vector.riotx.core.di.VectorComponent import im.vector.riotx.features.themes.ActivityOtherThemes import im.vector.riotx.features.themes.ThemeUtils import kotlinx.android.parcel.Parcelize @@ -136,9 +140,9 @@ class VectorAttachmentViewerActivity : AttachmentViewerActivity(), RoomAttachmen ActivityCompat.finishAfterTransition(this) } - /* ========================================================================================== - * PRIVATE METHODS - * ========================================================================================== */ + // ========================================================================================== + // PRIVATE METHODS + // ========================================================================================== /** * Try and add a [Transition.TransitionListener] to the entering shared element @@ -154,8 +158,9 @@ class VectorAttachmentViewerActivity : AttachmentViewerActivity(), RoomAttachmen // There is an entering shared element transition so add a listener to it transition.addListener( onEnd = { + // The listener is also called when we are exiting + // so we use a boolean to avoid reshowing pager at end of dismiss transition if (!isAnimatingOut) { - // The listener is also called when we are exiting transitionImageContainer.isVisible = false pager2.isInvisible = false } @@ -196,7 +201,11 @@ class VectorAttachmentViewerActivity : AttachmentViewerActivity(), RoomAttachmen const val EXTRA_ARGS = "EXTRA_ARGS" const val EXTRA_IMAGE_DATA = "EXTRA_IMAGE_DATA" - fun newIntent(context: Context, mediaData: ImageContentRenderer.Data, roomId: String?, eventId: String, sharedTransitionName: String?) = Intent(context, VectorAttachmentViewerActivity::class.java).also { + fun newIntent(context: Context, + mediaData: ImageContentRenderer.Data, + roomId: String?, + eventId: String, + sharedTransitionName: String?) = Intent(context, VectorAttachmentViewerActivity::class.java).also { it.putExtra(EXTRA_ARGS, Args(roomId, eventId, sharedTransitionName)) it.putExtra(EXTRA_IMAGE_DATA, mediaData) } diff --git a/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt b/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt index debd58e6d2..a640823d34 100644 --- a/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt +++ b/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt @@ -49,7 +49,11 @@ import im.vector.riotx.features.home.room.detail.RoomDetailArgs import im.vector.riotx.features.home.room.detail.widget.WidgetRequestCodes import im.vector.riotx.features.home.room.filtered.FilteredRoomsActivity import im.vector.riotx.features.invite.InviteUsersToRoomActivity -import im.vector.riotx.features.media.* +import im.vector.riotx.features.media.BigImageViewerActivity +import im.vector.riotx.features.media.ImageContentRenderer +import im.vector.riotx.features.media.VectorAttachmentViewerActivity +import im.vector.riotx.features.media.VideoContentRenderer +import im.vector.riotx.features.media.VideoMediaViewerActivity import im.vector.riotx.features.roomdirectory.RoomDirectoryActivity import im.vector.riotx.features.roomdirectory.createroom.CreateRoomActivity import im.vector.riotx.features.roomdirectory.roompreview.RoomPreviewActivity @@ -242,7 +246,11 @@ class DefaultNavigator @Inject constructor( context.startActivity(WidgetActivity.newIntent(context, widgetArgs)) } - override fun openImageViewer(activity: Activity, roomId: String?, mediaData: ImageContentRenderer.Data, view: View, options: ((MutableList<Pair<View, String>>) -> Unit)?) { + override fun openImageViewer(activity: Activity, + roomId: String?, + mediaData: ImageContentRenderer.Data, + view: View, + options: ((MutableList<Pair<View, String>>) -> Unit)?) { VectorAttachmentViewerActivity.newIntent(activity, mediaData, roomId, mediaData.eventId, ViewCompat.getTransitionName(view)).let { intent -> val pairs = ArrayList<Pair<View, String>>() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { diff --git a/vector/src/main/java/im/vector/riotx/features/navigation/Navigator.kt b/vector/src/main/java/im/vector/riotx/features/navigation/Navigator.kt index 54c0f55a7b..ebb09f686d 100644 --- a/vector/src/main/java/im/vector/riotx/features/navigation/Navigator.kt +++ b/vector/src/main/java/im/vector/riotx/features/navigation/Navigator.kt @@ -91,7 +91,11 @@ interface Navigator { fun openRoomWidget(context: Context, roomId: String, widget: Widget) - fun openImageViewer(activity: Activity, roomId: String?, mediaData: ImageContentRenderer.Data, view: View, options: ((MutableList<Pair<View, String>>) -> Unit)?) + fun openImageViewer(activity: Activity, + roomId: String?, + mediaData: ImageContentRenderer.Data, + view: View, + options: ((MutableList<Pair<View, String>>) -> Unit)?) fun openVideoViewer(activity: Activity, mediaData: VideoContentRenderer.Data) }