Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
import android.view.View
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.OptIn
import androidx.annotation.StringRes
Expand All @@ -35,11 +34,10 @@ import androidx.media3.common.C
import androidx.media3.common.MediaItem
import androidx.media3.common.util.UnstableApi
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.ui.PlayerView
import com.google.android.material.button.MaterialButton
import com.ichi2.anki.CrashReportService
import com.ichi2.anki.R
import com.ichi2.anki.common.annotations.NeedsTest
import com.ichi2.anki.databinding.FragmentAudioVideoBinding
import com.ichi2.anki.multimedia.AudioVideoFragment.MediaOption.AUDIO_CLIP
import com.ichi2.anki.multimedia.AudioVideoFragment.MediaOption.VIDEO_CLIP
import com.ichi2.anki.multimedia.MultimediaActivity.Companion.EXTRA_MEDIA_OPTIONS
Expand All @@ -52,11 +50,13 @@ import com.ichi2.compat.CompatHelper.Companion.getSerializableCompat
import com.ichi2.utils.ExceptionUtil.executeSafe
import com.ichi2.utils.FileUtil
import com.ichi2.utils.openInputStreamSafe
import dev.androidbroadcast.vbpd.viewBinding
import timber.log.Timber
import java.io.File

/** Handles the Multimedia Audio and Video attachment in the NoteEditor */
class AudioVideoFragment : MultimediaFragment(R.layout.fragment_audio_video) {
private val binding by viewBinding(FragmentAudioVideoBinding::bind)
private lateinit var selectedMediaOptions: MediaOption

override val title: String
Expand Down Expand Up @@ -115,8 +115,6 @@ class AudioVideoFragment : MultimediaFragment(R.layout.fragment_audio_video) {
}

private lateinit var mediaPlayer: ExoPlayer
private lateinit var playerView: PlayerView
private lateinit var mediaFileSize: TextView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -174,7 +172,6 @@ class AudioVideoFragment : MultimediaFragment(R.layout.fragment_audio_video) {
@OptIn(UnstableApi::class)
private fun setupMediaPlayer() {
Timber.d("Setting up media player")
playerView = requireView().findViewById(R.id.player_view)
mediaPlayer =
ExoPlayer
.Builder(requireContext())
Expand All @@ -186,19 +183,18 @@ class AudioVideoFragment : MultimediaFragment(R.layout.fragment_audio_video) {
).build(),
true,
).build()
playerView.player = mediaPlayer
mediaFileSize = requireView().findViewById(R.id.media_size_textview)
playerView.setControllerAnimationEnabled(true)
binding.playerView.player = mediaPlayer
binding.playerView.setControllerAnimationEnabled(true)

if (selectedMediaOptions == AUDIO_CLIP) {
Timber.d("Media file is of audio type, setting default artwork")
playerView.defaultArtwork =
binding.playerView.defaultArtwork =
ContextCompat.getDrawable(requireContext(), R.drawable.round_audio_file_24)
}
}

private fun setupDoneButton() {
view?.findViewById<MaterialButton>(R.id.action_done)?.setOnClickListener {
binding.actionDone.setOnClickListener {
Timber.d("MultimediaImageFragment:: Done button pressed")
if (viewModel.selectedMediaFileSize == 0L) {
Timber.d("Audio or Video length is not valid")
Expand Down Expand Up @@ -378,7 +374,7 @@ class AudioVideoFragment : MultimediaFragment(R.layout.fragment_audio_video) {

viewModel.updateCurrentMultimediaPath(clipCopy)
viewModel.selectedMediaFileSize = clipCopy.length()
mediaFileSize.text = clipCopy.toHumanReadableSize()
binding.mediaFileSize.text = clipCopy.toHumanReadableSize()
}
} catch (e: Exception) {
Timber.e(e, "Unable to copy media file from ContentProvider")
Expand Down
6 changes: 3 additions & 3 deletions AnkiDroid/src/main/res/layout/fragment_audio_video.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
android:layout_marginHorizontal="8dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/media_size_textview"
app:layout_constraintBottom_toTopOf="@id/media_file_size"
style="@style/CardView.ViewerStyle" >

<androidx.media3.ui.PlayerView
Expand All @@ -54,7 +54,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/media_view_container"
android:gravity="center"
android:id="@+id/media_size_textview"
android:id="@+id/media_file_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

Expand All @@ -66,7 +66,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/media_size_textview"
app:layout_constraintTop_toBottomOf="@id/media_file_size"
android:text="@string/multimedia_editor_field_editing_done"/>


Expand Down