From 8268e9e8b5b6fbe332fb4ef559c4dab061560cde Mon Sep 17 00:00:00 2001 From: Matthieu <24-artectrex@users.noreply.shinice.net> Date: Sun, 1 Oct 2023 16:07:42 +0200 Subject: [PATCH] Fix encode message showing when it shouldn't --- .../app/postCreation/PostCreationActivity.kt | 1 - .../app/postCreation/PostCreationFragment.kt | 17 ++++++++++------- .../app/postCreation/PostCreationViewModel.kt | 2 +- .../app/postCreation/carousel/CarouselItem.kt | 2 +- .../app/postCreation/carousel/ImageCarousel.kt | 10 ++++------ .../main/res/layout/fragment_post_creation.xml | 2 +- build.gradle | 2 +- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationActivity.kt b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationActivity.kt index a9c09aa6..634546d2 100644 --- a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationActivity.kt +++ b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationActivity.kt @@ -1,7 +1,6 @@ package org.pixeldroid.app.postCreation import android.os.* -import androidx.core.view.WindowCompat import androidx.navigation.NavController import androidx.navigation.fragment.NavHostFragment import org.pixeldroid.app.R diff --git a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationFragment.kt b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationFragment.kt index a460f46c..6490ba9e 100644 --- a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationFragment.kt +++ b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationFragment.kt @@ -92,6 +92,7 @@ class PostCreationFragment : BaseFragment() { if(model.storyCreation){ binding.carousel.showCaption = false + //TODO hide grid button, hide dot (indicator), hide arrows, limit photos to 1 } model.getPhotoData().observe(viewLifecycleOwner) { newPhotoData -> @@ -281,14 +282,16 @@ class PostCreationFragment : BaseFragment() { private fun validatePost(): Boolean { - if (model.getPhotoData().value?.all { !it.video || it.videoEncodeComplete } == false) { - MaterialAlertDialogBuilder(requireActivity()).apply { - setMessage(R.string.still_encoding) - setNegativeButton(android.R.string.ok) { _, _ -> } - }.show() - return false + if (model.getPhotoData().value?.none { it.video && it.videoEncodeComplete == false } == true) { + // Encoding is done, i.e. none of the items are both a video and not done encoding + return true } - return true + // Encoding is not done, show a dialog and return false to indicate validation failed + MaterialAlertDialogBuilder(requireActivity()).apply { + setMessage(R.string.still_encoding) + setNegativeButton(android.R.string.ok) { _, _ -> } + }.show() + return false } private val editResultContract: ActivityResultLauncher = registerForActivityResult( diff --git a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationViewModel.kt b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationViewModel.kt index 38b6474c..532f118e 100644 --- a/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationViewModel.kt +++ b/app/src/main/java/org/pixeldroid/app/postCreation/PostCreationViewModel.kt @@ -99,7 +99,7 @@ data class PhotoData( var video: Boolean, var videoEncodeProgress: Int? = null, var videoEncodeStabilizationFirstPass: Boolean? = null, - var videoEncodeComplete: Boolean = true, + var videoEncodeComplete: Boolean? = null, var videoEncodeError: Boolean = false, ) : Parcelable diff --git a/app/src/main/java/org/pixeldroid/app/postCreation/carousel/CarouselItem.kt b/app/src/main/java/org/pixeldroid/app/postCreation/carousel/CarouselItem.kt index 1b48ff95..fdede499 100644 --- a/app/src/main/java/org/pixeldroid/app/postCreation/carousel/CarouselItem.kt +++ b/app/src/main/java/org/pixeldroid/app/postCreation/carousel/CarouselItem.kt @@ -8,6 +8,6 @@ data class CarouselItem constructor( val video: Boolean, var encodeProgress: Int?, var stabilizationFirstPass: Boolean?, - var encodeComplete: Boolean = false, + var encodeComplete: Boolean? = null, var encodeError: Boolean = false, ) \ No newline at end of file diff --git a/app/src/main/java/org/pixeldroid/app/postCreation/carousel/ImageCarousel.kt b/app/src/main/java/org/pixeldroid/app/postCreation/carousel/ImageCarousel.kt index e2e234ce..c7020e3b 100644 --- a/app/src/main/java/org/pixeldroid/app/postCreation/carousel/ImageCarousel.kt +++ b/app/src/main/java/org/pixeldroid/app/postCreation/carousel/ImageCarousel.kt @@ -102,7 +102,6 @@ class ImageCarousel( * **************************************************************** */ - //FIXME this is modified a bunch of times all over the place, so it can't be set to false and stay there var showCaption = false set(value) { field = value @@ -245,14 +244,14 @@ class ImageCarousel( showNavigationButtons = showNavigationButtons binding.editMediaDescriptionLayout.visibility = if(editingMediaDescription) VISIBLE else INVISIBLE - showCaption = !editingMediaDescription + binding.tvCaption.visibility = if(editingMediaDescription || !showCaption) INVISIBLE else VISIBLE } else { recyclerView.layoutManager = GridLayoutManager(context, 3) binding.btnNext.visibility = GONE binding.btnPrevious.visibility = GONE binding.editMediaDescriptionLayout.visibility = INVISIBLE - showCaption = false + binding.tvCaption.visibility = INVISIBLE } showIndicator = value @@ -279,8 +278,7 @@ class ImageCarousel( updateDescriptionCallback?.invoke(currentPosition, description) } binding.editMediaDescriptionLayout.visibility = if(value) VISIBLE else INVISIBLE - showCaption = !value - + binding.tvCaption.visibility = if(value || !showCaption) INVISIBLE else VISIBLE } } @@ -561,7 +559,7 @@ class ImageCarousel( binding.encodeInfoText.setText(R.string.encode_error) binding.encodeInfoText.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(context, R.drawable.error), null, null, null) - } else if(it.encodeComplete){ + } else if(it.encodeComplete == true){ binding.encodeInfoCard.visibility = VISIBLE binding.encodeProgress.visibility = GONE binding.encodeInfoText.setText(R.string.encode_success) diff --git a/app/src/main/res/layout/fragment_post_creation.xml b/app/src/main/res/layout/fragment_post_creation.xml index 0ddafd95..94317989 100644 --- a/app/src/main/res/layout/fragment_post_creation.xml +++ b/app/src/main/res/layout/fragment_post_creation.xml @@ -11,7 +11,7 @@ android:id="@+id/carousel" android:layout_width="match_parent" android:layout_height="0dp" - app:showCaption="false" + app:showCaption="true" app:layout_constraintBottom_toTopOf="@+id/buttonConstraints" app:layout_constraintTop_toTopOf="parent"/> diff --git a/build.gradle b/build.gradle index dae5df1c..c6424795 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.1.0' + classpath 'com.android.tools.build:gradle:8.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong