detail: complete song detail view
Complete a song detail view, shown when the "View properties" option in the song menu is selected. Resolves #144.
This commit is contained in:
parent
7373451912
commit
c95edfa28b
2 changed files with 16 additions and 0 deletions
|
@ -25,6 +25,13 @@ import android.view.View
|
|||
import androidx.annotation.AttrRes
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
|
||||
/**
|
||||
* A [TextInputEditText] that deliberately restricts all input except for selection. Yes, this is a
|
||||
* blatant abuse of Material Design Guidelines, but I also don't want to figure out how to main
|
||||
* plain text selectable.
|
||||
*
|
||||
* @author OxygenCobalt
|
||||
*/
|
||||
class ReadOnlyTextInput : TextInputEditText {
|
||||
constructor(context: Context) : super(context)
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.oxycblt.auxio.detail
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.format.Formatter
|
||||
import android.view.LayoutInflater
|
||||
import android.webkit.MimeTypeMap
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
|
@ -28,6 +29,7 @@ import org.oxycblt.auxio.R
|
|||
import org.oxycblt.auxio.databinding.DialogSongDetailBinding
|
||||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.ui.ViewBindingDialogFragment
|
||||
import org.oxycblt.auxio.util.formatDuration
|
||||
import org.oxycblt.auxio.util.launch
|
||||
|
||||
class SongDetailDialog : ViewBindingDialogFragment<DialogSongDetailBinding>() {
|
||||
|
@ -53,6 +55,13 @@ class SongDetailDialog : ViewBindingDialogFragment<DialogSongDetailBinding>() {
|
|||
|
||||
if (song != null) {
|
||||
binding.detailContainer.isGone = false
|
||||
binding.detailFileName.setText(song.song.path.name)
|
||||
binding.detailRelativeDir.setText(song.song.path.parent.resolveName(requireContext()))
|
||||
binding.detailFormat.setText(
|
||||
mimeTypes.getExtensionFromMimeType(song.song.mimeType)?.uppercase()
|
||||
?: getString(R.string.def_format))
|
||||
binding.detailSize.setText(Formatter.formatFileSize(requireContext(), song.song.size))
|
||||
binding.detailDuration.setText(song.song.durationSecs.formatDuration(true))
|
||||
|
||||
if (song.bitrateKbps != null) {
|
||||
binding.detailBitrate.setText(getString(R.string.fmt_bitrate, song.bitrateKbps))
|
||||
|
|
Loading…
Reference in a new issue