diff --git a/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer.java b/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer.java
deleted file mode 100644
index 32003f5f3..000000000
--- a/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.thoughtcrime.securesms.animation;
-
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.viewpager.widget.ViewPager;
-import androidx.viewpager2.widget.ViewPager2;
-
-/**
- * Based on https://developer.android.com/training/animation/screen-slide#depth-page
- */
-public final class DepthPageTransformer implements ViewPager.PageTransformer {
- private static final float MIN_SCALE = 0.75f;
-
- public void transformPage(@NonNull View view, float position) {
- final int pageWidth = view.getWidth();
-
- if (position < -1f) {
- view.setAlpha(0f);
-
- } else if (position <= 0f) {
- view.setAlpha(1f);
- view.setTranslationX(0f);
- view.setScaleX(1f);
- view.setScaleY(1f);
-
- } else if (position <= 1f) {
- view.setAlpha(1f - position);
-
- view.setTranslationX(pageWidth * -position);
-
- final float scaleFactor = MIN_SCALE + (1f - MIN_SCALE) * (1f - Math.abs(position));
-
- view.setScaleX(scaleFactor);
- view.setScaleY(scaleFactor);
-
- } else {
- view.setAlpha(0f);
- }
- }
-}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer2.kt b/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer2.kt
deleted file mode 100644
index 13697478c..000000000
--- a/app/src/main/java/org/thoughtcrime/securesms/animation/DepthPageTransformer2.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.thoughtcrime.securesms.animation
-
-import android.view.View
-import androidx.annotation.RequiresApi
-import androidx.viewpager2.widget.ViewPager2
-
-private const val MIN_SCALE = 0.75f
-
-/**
- * Lifted from https://developer.android.com/develop/ui/views/animations/screen-slide-2#depth-page
- */
-@RequiresApi(21)
-class DepthPageTransformer2 : ViewPager2.PageTransformer {
-
- override fun transformPage(view: View, position: Float) {
- view.apply {
- val pageWidth = width
- when {
- position < -1 -> alpha = 0f
- position <= 0 -> {
- alpha = 1f
- translationX = 0f
- translationZ = 0f
- scaleX = 1f
- scaleY = 1f
- }
- position <= 1 -> {
- alpha = 1 - position
-
- translationX = pageWidth * -position
- translationZ = -1f
-
- val scaleFactor = (MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position)))
- scaleX = scaleFactor
- scaleY = scaleFactor
- }
- else -> alpha = 0f
- }
- }
- }
-}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt
index d85d6d030..204d1b660 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt
@@ -5,7 +5,6 @@ import android.content.ActivityNotFoundException
import android.content.Context
import android.content.DialogInterface
import android.content.Intent
-import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.Menu
@@ -19,6 +18,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.RecyclerView
+import androidx.viewpager2.widget.MarginPageTransformer
import androidx.viewpager2.widget.ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.google.android.material.appbar.MaterialToolbar
@@ -28,7 +28,6 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.signal.core.util.concurrent.SignalExecutors
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.R
-import org.thoughtcrime.securesms.animation.DepthPageTransformer2
import org.thoughtcrime.securesms.attachments.DatabaseAttachment
import org.thoughtcrime.securesms.components.ViewBinderDelegate
import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragment
@@ -47,6 +46,7 @@ import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.SaveAttachmentTask
import org.thoughtcrime.securesms.util.StorageUtil
+import org.thoughtcrime.securesms.util.ViewUtil
import java.util.Locale
import java.util.Optional
@@ -108,9 +108,7 @@ class MediaPreviewV2Fragment : Fragment(R.layout.fragment_media_preview_v2), Med
private fun initializeViewPager() {
binding.mediaPager.offscreenPageLimit = OFFSCREEN_PAGE_LIMIT_DEFAULT
- if (Build.VERSION.SDK_INT >= 21) {
- binding.mediaPager.setPageTransformer(DepthPageTransformer2())
- }
+ binding.mediaPager.setPageTransformer(MarginPageTransformer(ViewUtil.dpToPx(24)))
val adapter = MediaPreviewV2Adapter(this)
binding.mediaPager.adapter = adapter
binding.mediaPager.registerOnPageChangeCallback(object : OnPageChangeCallback() {
diff --git a/app/src/main/res/drawable/mediapicker_item_border_dark.xml b/app/src/main/res/drawable/mediapicker_item_border_dark.xml
index 8a0a12423..f2aa578a9 100644
--- a/app/src/main/res/drawable/mediapicker_item_border_dark.xml
+++ b/app/src/main/res/drawable/mediapicker_item_border_dark.xml
@@ -3,7 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
-
+
@@ -53,6 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
+ android:layout_marginTop="11dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:orientation="horizontal"
@@ -63,11 +64,10 @@
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index dd3d27e2e..1fe036458 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -235,10 +235,12 @@
52dp
76dp
20dp
- 24dp
- 24dp
+
+ 20dp
+ 16dp
16dp
48dp
48dp
8dp
+ 36dp