@@ -7,23 +7,74 @@ import android.net.Uri
77import android.os.Bundle
88import android.provider.MediaStore
99import android.text.Html
10- import android.widget.RelativeLayout
10+ import androidx.core.graphics.drawable.toDrawable
11+ import androidx.core.view.ViewCompat
12+ import androidx.core.view.WindowInsetsCompat
1113import org.fossify.commons.dialogs.PropertiesDialog
12- import org.fossify.commons.extensions.*
13- import org.fossify.commons.helpers.*
14+ import org.fossify.commons.extensions.beGone
15+ import org.fossify.commons.extensions.beVisible
16+ import org.fossify.commons.extensions.beVisibleIf
17+ import org.fossify.commons.extensions.checkAppSideloading
18+ import org.fossify.commons.extensions.getColoredDrawableWithColor
19+ import org.fossify.commons.extensions.getDoesFilePathExist
20+ import org.fossify.commons.extensions.getFilenameFromPath
21+ import org.fossify.commons.extensions.getFilenameFromUri
22+ import org.fossify.commons.extensions.getFinalUriFromPath
23+ import org.fossify.commons.extensions.getParentPath
24+ import org.fossify.commons.extensions.getRealPathFromURI
25+ import org.fossify.commons.extensions.getUriMimeType
26+ import org.fossify.commons.extensions.hideKeyboard
27+ import org.fossify.commons.extensions.isExternalStorageManager
28+ import org.fossify.commons.extensions.isGif
29+ import org.fossify.commons.extensions.isGone
30+ import org.fossify.commons.extensions.isImageFast
31+ import org.fossify.commons.extensions.isPortrait
32+ import org.fossify.commons.extensions.isRawFast
33+ import org.fossify.commons.extensions.isSvg
34+ import org.fossify.commons.extensions.isVideoFast
35+ import org.fossify.commons.extensions.rescanPath
36+ import org.fossify.commons.extensions.rescanPaths
37+ import org.fossify.commons.extensions.toHex
38+ import org.fossify.commons.extensions.toast
39+ import org.fossify.commons.extensions.viewBinding
40+ import org.fossify.commons.helpers.IS_FROM_GALLERY
41+ import org.fossify.commons.helpers.NOMEDIA
42+ import org.fossify.commons.helpers.REAL_FILE_PATH
43+ import org.fossify.commons.helpers.ensureBackgroundThread
44+ import org.fossify.commons.helpers.isRPlus
1445import org.fossify.gallery.BuildConfig
1546import org.fossify.gallery.R
1647import org.fossify.gallery.databinding.FragmentHolderBinding
17- import org.fossify.gallery.extensions.*
48+ import org.fossify.gallery.extensions.config
49+ import org.fossify.gallery.extensions.hideSystemUI
50+ import org.fossify.gallery.extensions.openEditor
51+ import org.fossify.gallery.extensions.openPath
52+ import org.fossify.gallery.extensions.setAs
53+ import org.fossify.gallery.extensions.sharePath
54+ import org.fossify.gallery.extensions.showFileOnMap
55+ import org.fossify.gallery.extensions.showSystemUI
1856import org.fossify.gallery.fragments.PhotoFragment
1957import org.fossify.gallery.fragments.VideoFragment
2058import org.fossify.gallery.fragments.ViewPagerFragment
21- import org.fossify.gallery.helpers.*
59+ import org.fossify.gallery.helpers.BOTTOM_ACTION_EDIT
60+ import org.fossify.gallery.helpers.BOTTOM_ACTION_PROPERTIES
61+ import org.fossify.gallery.helpers.BOTTOM_ACTION_SET_AS
62+ import org.fossify.gallery.helpers.BOTTOM_ACTION_SHARE
63+ import org.fossify.gallery.helpers.BOTTOM_ACTION_SHOW_ON_MAP
64+ import org.fossify.gallery.helpers.IS_IN_RECYCLE_BIN
65+ import org.fossify.gallery.helpers.IS_VIEW_INTENT
66+ import org.fossify.gallery.helpers.MEDIUM
67+ import org.fossify.gallery.helpers.PATH
68+ import org.fossify.gallery.helpers.SHOW_FAVORITES
69+ import org.fossify.gallery.helpers.SKIP_AUTHENTICATION
70+ import org.fossify.gallery.helpers.TYPE_GIFS
71+ import org.fossify.gallery.helpers.TYPE_IMAGES
72+ import org.fossify.gallery.helpers.TYPE_PORTRAITS
73+ import org.fossify.gallery.helpers.TYPE_RAWS
74+ import org.fossify.gallery.helpers.TYPE_SVGS
75+ import org.fossify.gallery.helpers.TYPE_VIDEOS
2276import org.fossify.gallery.models.Medium
2377import java.io.File
24- import androidx.core.graphics.drawable.toDrawable
25- import androidx.core.view.ViewCompat
26- import androidx.core.view.WindowInsetsCompat
2778
2879open class PhotoVideoActivity : SimpleActivity (), ViewPagerFragment.FragmentListener {
2980 private var mMedium: Medium ? = null
@@ -36,11 +87,15 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
3687
3788 private val binding by viewBinding(FragmentHolderBinding ::inflate)
3889
90+ override val padCutout: Boolean
91+ get() = ! config.showNotch
92+
3993 public override fun onCreate (savedInstanceState : Bundle ? ) {
4094 super .onCreate(savedInstanceState)
4195 setContentView(binding.root)
4296 setupEdgeToEdge(
43- padBottomSystem = listOf (binding.bottomActions.bottomActionsWrapper)
97+ padTopSystem = listOf (binding.fragmentViewerAppbar),
98+ padBottomSystem = listOf (binding.bottomActions.bottomActionsWrapper),
4499 )
45100 if (checkAppSideloading()) {
46101 return
@@ -180,7 +235,6 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
180235 }
181236 }
182237
183- checkNotchSupport()
184238 showSystemUI()
185239 val bundle = Bundle ()
186240 val file = File (mUri.toString())
@@ -216,7 +270,7 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
216270 window.attributes = attributes
217271 }
218272
219- ViewCompat .setOnApplyWindowInsetsListener(window.decorView ) { _, insets ->
273+ ViewCompat .setOnApplyWindowInsetsListener(binding.fragmentHolder ) { _, insets ->
220274 val systemBarsVisible = insets.isVisible(
221275 WindowInsetsCompat .Type .statusBars() or WindowInsetsCompat .Type .navigationBars()
222276 )
0 commit comments