diff --git a/README.md b/README.md
index 15e033ae4..4290790b1 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ Customize the look, feel, and functionality to match your style. From UI themes
**📷 UNIVERSAL FORMAT FREEDOM:**
-JPEG, PNG, MP4, MKV, RAW, SVG, GIF, panoramas, videos, and more – we've got your memories covered, in any format you choose. No restrictions, just limitless possibilities.
+JPEG, PNG, MP4, MKV, RAW, SVG, GIF, videos, and more – we've got your memories covered, in any format you choose. No restrictions, just limitless possibilities.
**✨ MATERIAL DESIGN WITH DYNAMIC THEMES:**
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 69ec61072..7ebf8ce17 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -99,8 +99,6 @@ dependencies {
implementation(libs.android.gif.drawable)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.media3.exoplayer)
- implementation(libs.sdk.panowidget)
- implementation(libs.sdk.videowidget)
implementation(libs.sanselan)
implementation(libs.imagefilters)
implementation(libs.androidsvg.aar)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3759f6451..b6fb5ccc2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,8 +31,6 @@
android:name="android.permission.CAMERA"
tools:node="remove" />
-
-
@@ -161,18 +159,6 @@
android:parentActivityName=".activities.MediaActivity"
android:theme="@style/TranslucentTheme" />
-
-
-
-
- isFullscreen = visibility and View.SYSTEM_UI_FLAG_FULLSCREEN != 0
- toggleButtonVisibility()
- }
- }
-
- private fun getBitmapToLoad(path: String): Bitmap? {
- val options = BitmapFactory.Options()
- options.inSampleSize = 1
- var bitmap: Bitmap? = null
-
- for (i in 0..10) {
- try {
- bitmap = if (path.startsWith("content://")) {
- val inputStream = contentResolver.openInputStream(Uri.parse(path))
- BitmapFactory.decodeStream(inputStream)
- } else {
- BitmapFactory.decodeFile(path, options)
- }
- break
- } catch (e: OutOfMemoryError) {
- options.inSampleSize *= 2
- }
- }
-
- return bitmap
- }
-
- private fun setupButtonMargins() {
- val navBarHeight = navigationBarHeight
- (binding.cardboard.layoutParams as RelativeLayout.LayoutParams).apply {
- bottomMargin = navBarHeight
- rightMargin = navigationBarWidth
- }
-
- (binding.explore.layoutParams as RelativeLayout.LayoutParams).bottomMargin = navigationBarHeight
-
- binding.cardboard.onGlobalLayout {
- binding.panoramaGradientBackground.layoutParams.height = navBarHeight + binding.cardboard.height
- }
- }
-
- private fun toggleButtonVisibility() {
- arrayOf(binding.cardboard, binding.explore, binding.panoramaGradientBackground).forEach {
- it.animate().alpha(if (isFullscreen) 0f else 1f)
- it.isClickable = !isFullscreen
- }
- }
-
- private fun handleClick() {
- isFullscreen = !isFullscreen
- toggleButtonVisibility()
- if (isFullscreen) {
- hideSystemUI(false)
- } else {
- showSystemUI(false)
- }
- }
-}
diff --git a/app/src/main/kotlin/org/fossify/gallery/activities/PanoramaVideoActivity.kt b/app/src/main/kotlin/org/fossify/gallery/activities/PanoramaVideoActivity.kt
deleted file mode 100644
index 8ba7d997e..000000000
--- a/app/src/main/kotlin/org/fossify/gallery/activities/PanoramaVideoActivity.kt
+++ /dev/null
@@ -1,340 +0,0 @@
-package org.fossify.gallery.activities
-
-import android.content.res.Configuration
-import android.graphics.Color
-import android.net.Uri
-import android.os.Bundle
-import android.os.Handler
-import android.view.View
-import android.view.Window
-import android.view.WindowInsetsController
-import android.view.WindowManager
-import android.widget.RelativeLayout
-import android.widget.SeekBar
-import com.google.vr.sdk.widgets.video.VrVideoEventListener
-import com.google.vr.sdk.widgets.video.VrVideoView
-import org.fossify.commons.extensions.*
-import org.fossify.commons.helpers.isRPlus
-import org.fossify.gallery.R
-import org.fossify.gallery.databinding.ActivityPanoramaVideoBinding
-import org.fossify.gallery.extensions.config
-import org.fossify.gallery.extensions.hasNavBar
-import org.fossify.gallery.extensions.hideSystemUI
-import org.fossify.gallery.extensions.showSystemUI
-import org.fossify.gallery.helpers.MIN_SKIP_LENGTH
-import org.fossify.gallery.helpers.PATH
-import java.io.File
-
-open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListener {
- private val CARDBOARD_DISPLAY_MODE = 3
-
- private var mIsFullscreen = false
- private var mIsExploreEnabled = true
- private var mIsRendering = false
- private var mIsPlaying = false
- private var mIsDragged = false
- private var mPlayOnReady = false
- private var mDuration = 0
- private var mCurrTime = 0
-
- private var mTimerHandler = Handler()
- private val binding by viewBinding(ActivityPanoramaVideoBinding::inflate)
-
- public override fun onCreate(savedInstanceState: Bundle?) {
- useDynamicTheme = false
- requestWindowFeature(Window.FEATURE_NO_TITLE)
- super.onCreate(savedInstanceState)
- setContentView(binding.root)
-
- checkNotchSupport()
- checkIntent()
-
- if (isRPlus()) {
- window.insetsController?.setSystemBarsAppearance(0, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS)
- }
- }
-
- override fun onResume() {
- super.onResume()
- binding.vrVideoView.resumeRendering()
- mIsRendering = true
- if (config.blackBackground) {
- updateStatusbarColor(Color.BLACK)
- }
-
- window.statusBarColor = resources.getColor(R.color.circle_black_background)
-
- if (config.maxBrightness) {
- val attributes = window.attributes
- attributes.screenBrightness = 1f
- window.attributes = attributes
- }
- }
-
- override fun onPause() {
- super.onPause()
- binding.vrVideoView.pauseRendering()
- mIsRendering = false
- }
-
- override fun onDestroy() {
- super.onDestroy()
- if (mIsRendering) {
- binding.vrVideoView.shutdown()
- }
-
- if (!isChangingConfigurations) {
- mTimerHandler.removeCallbacksAndMessages(null)
- }
- }
-
- override fun onConfigurationChanged(newConfig: Configuration) {
- super.onConfigurationChanged(newConfig)
- setupButtons()
- }
-
- private fun checkIntent() {
- val path = intent.getStringExtra(PATH)
- if (path == null) {
- toast(R.string.invalid_image_path)
- finish()
- return
- }
-
- setupButtons()
- intent.removeExtra(PATH)
-
- binding.bottomVideoTimeHolder.videoCurrTime.setOnClickListener { skip(false) }
- binding.bottomVideoTimeHolder.videoDuration.setOnClickListener { skip(true) }
-
- try {
- val options = VrVideoView.Options()
- options.inputType = VrVideoView.Options.TYPE_MONO
- val uri = if (path.startsWith("content://")) {
- Uri.parse(path)
- } else {
- Uri.fromFile(File(path))
- }
-
- binding.vrVideoView.apply {
- loadVideo(uri, options)
- pauseVideo()
-
- setFlingingEnabled(true)
- setPureTouchTracking(true)
-
- // add custom buttons so we can position them and toggle visibility as desired
- setFullscreenButtonEnabled(false)
- setInfoButtonEnabled(false)
- setTransitionViewEnabled(false)
- setStereoModeButtonEnabled(false)
-
- setOnClickListener {
- handleClick()
- }
-
- setEventListener(object : VrVideoEventListener() {
- override fun onClick() {
- handleClick()
- }
-
- override fun onLoadSuccess() {
- if (mDuration == 0) {
- setupDuration(duration)
- setupTimer()
- }
-
- if (mPlayOnReady || config.autoplayVideos) {
- mPlayOnReady = false
- mIsPlaying = true
- resumeVideo()
- } else {
- binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
- }
- binding.bottomVideoTimeHolder.videoTogglePlayPause.beVisible()
- }
-
- override fun onCompletion() {
- videoCompleted()
- }
- })
- }
-
- binding.bottomVideoTimeHolder.videoTogglePlayPause.setOnClickListener {
- togglePlayPause()
- }
- } catch (e: Exception) {
- showErrorToast(e)
- }
-
- window.decorView.setOnSystemUiVisibilityChangeListener { visibility ->
- mIsFullscreen = visibility and View.SYSTEM_UI_FLAG_FULLSCREEN != 0
- toggleButtonVisibility()
- }
- }
-
- private fun setupDuration(duration: Long) {
- mDuration = (duration / 1000).toInt()
- binding.bottomVideoTimeHolder.videoSeekbar.max = mDuration
- binding.bottomVideoTimeHolder.videoDuration.text = mDuration.getFormattedDuration()
- setVideoProgress(0)
- }
-
- private fun setupTimer() {
- runOnUiThread(object : Runnable {
- override fun run() {
- if (mIsPlaying && !mIsDragged) {
- mCurrTime = (binding.vrVideoView.currentPosition / 1000).toInt()
- binding.bottomVideoTimeHolder.videoSeekbar.progress = mCurrTime
- binding.bottomVideoTimeHolder.videoCurrTime.text = mCurrTime.getFormattedDuration()
- }
-
- mTimerHandler.postDelayed(this, 1000)
- }
- })
- }
-
- private fun togglePlayPause() {
- mIsPlaying = !mIsPlaying
- if (mIsPlaying) {
- resumeVideo()
- } else {
- pauseVideo()
- }
- }
-
- private fun resumeVideo() {
- binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_pause_outline_vector)
- if (mCurrTime == mDuration) {
- setVideoProgress(0)
- mPlayOnReady = true
- return
- }
-
- binding.vrVideoView.playVideo()
- window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
- }
-
- private fun pauseVideo() {
- binding.vrVideoView.pauseVideo()
- binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
- window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
- }
-
- private fun setVideoProgress(seconds: Int) {
- binding.vrVideoView.seekTo(seconds * 1000L)
- binding.bottomVideoTimeHolder.videoSeekbar.progress = seconds
- mCurrTime = seconds
- binding.bottomVideoTimeHolder.videoCurrTime.text = seconds.getFormattedDuration()
- }
-
- private fun videoCompleted() {
- mIsPlaying = false
- mCurrTime = (binding.vrVideoView.duration / 1000).toInt()
- binding.bottomVideoTimeHolder.videoSeekbar.progress = binding.bottomVideoTimeHolder.videoSeekbar.max
- binding.bottomVideoTimeHolder.videoCurrTime.text = mDuration.getFormattedDuration()
- pauseVideo()
- }
-
- private fun setupButtons() {
- var right = 0
- var bottom = 0
-
- if (hasNavBar()) {
- if (resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- bottom += navigationBarHeight
- } else {
- right += navigationBarWidth
- bottom += navigationBarHeight
- }
- }
-
- binding.bottomVideoTimeHolder.root.setPadding(0, 0, right, bottom)
- binding.bottomVideoTimeHolder.root.background = resources.getDrawable(R.drawable.gradient_background)
- binding.bottomVideoTimeHolder.root.onGlobalLayout {
- val newBottomMargin = binding.bottomVideoTimeHolder.root.height - resources.getDimension(R.dimen.video_player_play_pause_size)
- .toInt() - resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
- (binding.explore.layoutParams as RelativeLayout.LayoutParams).bottomMargin = newBottomMargin
-
- (binding.cardboard.layoutParams as RelativeLayout.LayoutParams).apply {
- bottomMargin = newBottomMargin
- rightMargin = navigationBarWidth
- }
- binding.explore.requestLayout()
- }
- binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
-
- binding.cardboard.setOnClickListener {
- binding.vrVideoView.displayMode = CARDBOARD_DISPLAY_MODE
- }
-
- binding.explore.setOnClickListener {
- mIsExploreEnabled = !mIsExploreEnabled
- binding.vrVideoView.setPureTouchTracking(mIsExploreEnabled)
- binding.explore.setImageResource(if (mIsExploreEnabled) R.drawable.ic_explore_vector else R.drawable.ic_explore_off_vector)
- }
- }
-
- private fun toggleButtonVisibility() {
- val newAlpha = if (mIsFullscreen) 0f else 1f
- arrayOf(binding.cardboard, binding.explore).forEach {
- it.animate().alpha(newAlpha)
- }
-
- arrayOf(
- binding.cardboard,
- binding.explore,
- binding.bottomVideoTimeHolder.videoTogglePlayPause,
- binding.bottomVideoTimeHolder.videoCurrTime,
- binding.bottomVideoTimeHolder.videoDuration
- ).forEach {
- it.isClickable = !mIsFullscreen
- }
-
- binding.bottomVideoTimeHolder.videoSeekbar.setOnSeekBarChangeListener(if (mIsFullscreen) null else this)
- binding.bottomVideoTimeHolder.videoTimeHolder.animate().alpha(newAlpha).start()
- }
-
- private fun handleClick() {
- mIsFullscreen = !mIsFullscreen
- toggleButtonVisibility()
- if (mIsFullscreen) {
- hideSystemUI(false)
- } else {
- showSystemUI(false)
- }
- }
-
- private fun skip(forward: Boolean) {
- if (forward && mCurrTime == mDuration) {
- return
- }
-
- val curr = binding.vrVideoView.currentPosition
- val twoPercents = Math.max((binding.vrVideoView.duration / 50).toInt(), MIN_SKIP_LENGTH)
- val newProgress = if (forward) curr + twoPercents else curr - twoPercents
- val roundProgress = Math.round(newProgress / 1000f)
- val limitedProgress = Math.max(Math.min(binding.vrVideoView.duration.toInt(), roundProgress), 0)
- setVideoProgress(limitedProgress)
- if (!mIsPlaying) {
- togglePlayPause()
- }
- }
-
- override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- setVideoProgress(progress)
- }
- }
-
- override fun onStartTrackingTouch(seekBar: SeekBar?) {
- binding.vrVideoView.pauseVideo()
- mIsDragged = true
- }
-
- override fun onStopTrackingTouch(seekBar: SeekBar?) {
- mIsPlaying = true
- resumeVideo()
- mIsDragged = false
- }
-}
diff --git a/app/src/main/kotlin/org/fossify/gallery/activities/PhotoVideoActivity.kt b/app/src/main/kotlin/org/fossify/gallery/activities/PhotoVideoActivity.kt
index 69c737674..9134f85e7 100644
--- a/app/src/main/kotlin/org/fossify/gallery/activities/PhotoVideoActivity.kt
+++ b/app/src/main/kotlin/org/fossify/gallery/activities/PhotoVideoActivity.kt
@@ -23,7 +23,6 @@ import org.fossify.gallery.fragments.ViewPagerFragment
import org.fossify.gallery.helpers.*
import org.fossify.gallery.models.Medium
import java.io.File
-import java.io.FileInputStream
open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentListener {
private var mMedium: Medium? = null
@@ -258,37 +257,18 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
return
}
- var isPanorama = false
- val realPath = intent?.extras?.getString(REAL_FILE_PATH) ?: ""
- try {
- if (realPath.isNotEmpty()) {
- val fis = FileInputStream(File(realPath))
- parseFileChannel(realPath, fis.channel, 0, 0, 0) {
- isPanorama = true
- }
- }
- } catch (ignored: Exception) {
- } catch (ignored: OutOfMemoryError) {
- }
-
hideKeyboard()
- if (isPanorama) {
- Intent(applicationContext, PanoramaVideoActivity::class.java).apply {
- putExtra(PATH, realPath)
- startActivity(this)
+ val mimeType = getUriMimeType(mUri.toString(), newUri)
+ Intent(applicationContext, VideoPlayerActivity::class.java).apply {
+ setDataAndType(newUri, mimeType)
+ addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
+ if (intent.extras != null) {
+ putExtras(intent.extras!!)
}
- } else {
- val mimeType = getUriMimeType(mUri.toString(), newUri)
- Intent(applicationContext, VideoPlayerActivity::class.java).apply {
- setDataAndType(newUri, mimeType)
- addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
- if (intent.extras != null) {
- putExtras(intent.extras!!)
- }
- startActivity(this)
- }
+ startActivity(this)
}
+
finish()
}
diff --git a/app/src/main/kotlin/org/fossify/gallery/extensions/Activity.kt b/app/src/main/kotlin/org/fossify/gallery/extensions/Activity.kt
index 3fca51ff7..88bbd2fee 100644
--- a/app/src/main/kotlin/org/fossify/gallery/extensions/Activity.kt
+++ b/app/src/main/kotlin/org/fossify/gallery/extensions/Activity.kt
@@ -91,7 +91,7 @@ fun SimpleActivity.launchSettings() {
fun SimpleActivity.launchAbout() {
val licenses = LICENSE_GLIDE or LICENSE_CROPPER or LICENSE_RTL or LICENSE_SUBSAMPLING or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GIF_DRAWABLE or
- LICENSE_PICASSO or LICENSE_EXOPLAYER or LICENSE_PANORAMA_VIEW or LICENSE_SANSELAN or LICENSE_FILTERS or LICENSE_GESTURE_VIEWS or LICENSE_APNG
+ LICENSE_PICASSO or LICENSE_EXOPLAYER or LICENSE_SANSELAN or LICENSE_FILTERS or LICENSE_GESTURE_VIEWS or LICENSE_APNG
val faqItems = arrayListOf(
FAQItem(R.string.faq_3_title, R.string.faq_3_text),
diff --git a/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt b/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt
index 60a8cf944..8b483099f 100644
--- a/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt
+++ b/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt
@@ -1,6 +1,5 @@
package org.fossify.gallery.fragments
-import android.content.Intent
import android.content.res.Configuration
import android.graphics.Bitmap
import android.graphics.BitmapFactory
@@ -48,7 +47,6 @@ import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isRPlus
import org.fossify.gallery.R
-import org.fossify.gallery.activities.PanoramaPhotoActivity
import org.fossify.gallery.activities.PhotoActivity
import org.fossify.gallery.activities.PhotoVideoActivity
import org.fossify.gallery.activities.ViewPagerActivity
@@ -212,9 +210,10 @@ class PhotoFragment : ViewPagerFragment() {
mWasInit = true
updateInstantSwitchWidths()
- ensureBackgroundThread {
- checkIfPanorama()
- }
+ // TODO: Implement panorama using a FOSS library
+ // ensureBackgroundThread {
+ // checkIfPanorama()
+ // }
return mView
}
@@ -517,7 +516,8 @@ class PhotoFragment : ViewPagerFragment() {
if (mMedium.path != mOriginalPath) {
mMedium.path = mOriginalPath
loadImage()
- checkIfPanorama()
+ // TODO: Implement panorama using a FOSS library
+ // checkIfPanorama()
}
}
})
@@ -642,10 +642,7 @@ class PhotoFragment : ViewPagerFragment() {
private fun getFilePathToShow() = if (mMedium.isPortrait()) mCurrentPortraitPhotoPath else getPathToLoad(mMedium)
private fun openPanorama() {
- Intent(context, PanoramaPhotoActivity::class.java).apply {
- putExtra(PATH, mMedium.path)
- startActivity(this)
- }
+ TODO("Panorama is not yet implemented.")
}
private fun scheduleZoomableView() {
diff --git a/app/src/main/kotlin/org/fossify/gallery/fragments/VideoFragment.kt b/app/src/main/kotlin/org/fossify/gallery/fragments/VideoFragment.kt
index b3c4dd4c5..d41c41947 100644
--- a/app/src/main/kotlin/org/fossify/gallery/fragments/VideoFragment.kt
+++ b/app/src/main/kotlin/org/fossify/gallery/fragments/VideoFragment.kt
@@ -1,6 +1,5 @@
package org.fossify.gallery.fragments
-import android.content.Intent
import android.content.res.Configuration
import android.graphics.Point
import android.graphics.SurfaceTexture
@@ -28,13 +27,15 @@ import com.bumptech.glide.Glide
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.gallery.R
-import org.fossify.gallery.activities.PanoramaVideoActivity
import org.fossify.gallery.activities.VideoActivity
import org.fossify.gallery.databinding.PagerVideoItemBinding
import org.fossify.gallery.extensions.config
import org.fossify.gallery.extensions.hasNavBar
import org.fossify.gallery.extensions.parseFileChannel
-import org.fossify.gallery.helpers.*
+import org.fossify.gallery.helpers.Config
+import org.fossify.gallery.helpers.FAST_FORWARD_VIDEO_MS
+import org.fossify.gallery.helpers.MEDIUM
+import org.fossify.gallery.helpers.SHOULD_INIT_FRAGMENT
import org.fossify.gallery.models.Medium
import org.fossify.gallery.views.MediaSideScroll
import java.io.File
@@ -176,7 +177,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
mIsFullscreen = activity.window.decorView.systemUiVisibility and View.SYSTEM_UI_FLAG_FULLSCREEN == View.SYSTEM_UI_FLAG_FULLSCREEN
initTimeHolder()
- checkIfPanorama()
+ // checkIfPanorama() TODO: Implement panorama using a FOSS library
ensureBackgroundThread {
activity.getVideoResolution(mMedium.path)?.apply {
@@ -502,10 +503,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
}
private fun openPanorama() {
- Intent(context, PanoramaVideoActivity::class.java).apply {
- putExtra(PATH, mMedium.path)
- startActivity(this)
- }
+ TODO("Panorama is not yet implemented.")
}
override fun fullscreenToggled(isFullscreen: Boolean) {
diff --git a/app/src/main/res/layout/activity_panorama_photo.xml b/app/src/main/res/layout/activity_panorama_photo.xml
deleted file mode 100644
index 4884433e5..000000000
--- a/app/src/main/res/layout/activity_panorama_photo.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_panorama_video.xml b/app/src/main/res/layout/activity_panorama_video.xml
deleted file mode 100644
index 36926a292..000000000
--- a/app/src/main/res/layout/activity_panorama_video.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt
index eddbf1137..8344c1ffa 100644
--- a/fastlane/metadata/android/en-US/full_description.txt
+++ b/fastlane/metadata/android/en-US/full_description.txt
@@ -16,7 +16,7 @@ Breathe easy, accidents happen! Fossify Gallery's built-in recycle bin lets you
Customize the look, feel, and functionality to match your style. From UI themes to function buttons, Fossify Gallery gives you the creative freedom you crave.
📷 UNIVERSAL FORMAT FREEDOM:
-JPEG, PNG, MP4, MKV, RAW, SVG, GIF, panoramas, videos, and more – we've got your memories covered, in any format you choose. No restrictions, just limitless possibilities.
+JPEG, PNG, MP4, MKV, RAW, SVG, GIF, videos, and more – we've got your memories covered, in any format you choose. No restrictions, just limitless possibilities.
✨ MATERIAL DESIGN WITH DYNAMIC THEMES:
Experience the beauty of intuitive material design with dynamic themes. Want more? Dive into custom themes and make your gallery truly unique.
diff --git a/fastlane/metadata/android/pl-PL/full_description.txt b/fastlane/metadata/android/pl-PL/full_description.txt
index 7334e89f2..cd949d9e3 100644
--- a/fastlane/metadata/android/pl-PL/full_description.txt
+++ b/fastlane/metadata/android/pl-PL/full_description.txt
@@ -16,7 +16,7 @@ Spokojnie, wypadki się zdarzają! Wbudowany kosz w Fossify Gallery pozwala odzy
Dostosuj wygląd, działanie i funkcjonalność do swojego stylu. Od motywów interfejsu użytkownika po przyciski akcji, Fossify Gallery daje Ci twórczą swobodę, której pragniesz.
📷 OBSŁUGA POWSZECHNYCH FORMATÓW:
-JPEG, PNG, MP4, MKV, RAW, SVG, GIF, zdjęcia panoramiczne, wideo i wiele więcej — obsłużymy Twoje wspomnienia w dowolnym, wybranym przez Ciebie formacie. Bez ograniczeń, po prostu bez limitu możliwości.
+JPEG, PNG, MP4, MKV, RAW, SVG, GIF, wideo i wiele więcej — obsłużymy Twoje wspomnienia w dowolnym, wybranym przez Ciebie formacie. Bez ograniczeń, po prostu bez limitu możliwości.
✨ MATERIAL DESIGN Z DYNAMICZNYMI MOTYWAMI:
Doświadcz piękna intuicyjnego Material Design z dynamicznymi motywami. Chcesz więcej? Zanurz się w niestandardowych motywach i spraw, aby Twoja galeria była naprawdę wyjątkowa.
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 6e77e4a01..51ddcf3e8 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -25,8 +25,6 @@ gestureviews = "e706487a14"
androidsvgAar = "1.4"
imagefilters = "1.0.7"
sanselan = "0.97-incubator"
-sdkVideowidget = "1.180.0"
-sdkPanowidget = "1.180.0"
media3Exoplayer = "1.1.0"
okhttp = "4.9.0"
okio = "3.0.0"
@@ -65,8 +63,6 @@ imagefilters = { module = "info.androidhive:imagefilters", version.ref = "imagef
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
sanselan = { module = "org.apache.sanselan:sanselan", version.ref = "sanselan" }
-sdk-videowidget = { module = "com.google.vr:sdk-videowidget", version.ref = "sdkVideowidget" }
-sdk-panowidget = { module = "com.google.vr:sdk-panowidget", version.ref = "sdkPanowidget" }
apng = { module = "com.github.penfeizhou.android.animation:apng", version.ref = "apng" }
awebp = { module = "com.github.penfeizhou.android.animation:awebp", version.ref = "awebp" }
glide-compiler = { module = "com.github.bumptech.glide:ksp", version.ref = "glideCompiler" }