diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/TrackNameProvider.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/TrackNameProvider.java index c0ee2a574..0ec4d501f 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/TrackNameProvider.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/TrackNameProvider.java @@ -31,9 +31,9 @@ public class TrackNameProvider { if (trackType == C.TRACK_TYPE_VIDEO) { trackName = joinWithSeparator(buildRoleString(format), buildResolutionString(format), buildBitrateString(format)); } else if (trackType == C.TRACK_TYPE_AUDIO) { - trackName = joinWithSeparator(buildLanguageOrLabelString(format), buildAudioChannelString(format), buildBitrateString(format)); + trackName = joinWithSeparator(buildLanguageOrLabelString(format), buildAudioChannelString(format), buildMimeString(format), buildBitrateString(format)); } else { - trackName = joinWithSeparator(buildLanguageString(format), buildLabelString(format)); + trackName = joinWithSeparator(buildLanguageString(format), buildLabelString(format), buildMimeString(format)); } return TextUtils.isEmpty(trackName) ? resources.getString(R.string.exo_track_unknown) : trackName; } @@ -138,7 +138,7 @@ public class TrackNameProvider { return itemList; } - private static int inferPrimaryTrackType(Format format) { + private int inferPrimaryTrackType(Format format) { int trackType = MimeTypes.getTrackType(format.sampleMimeType); if (trackType != C.TRACK_TYPE_UNKNOWN) return trackType; if (MimeTypes.getVideoMediaMimeType(format.codecs) != null) return C.TRACK_TYPE_VIDEO; @@ -147,4 +147,64 @@ public class TrackNameProvider { if (format.channelCount != Format.NO_VALUE || format.sampleRate != Format.NO_VALUE) return C.TRACK_TYPE_AUDIO; return C.TRACK_TYPE_UNKNOWN; } + + private String buildMimeString(Format format) { + if (format.sampleMimeType == null) return ""; + switch (format.sampleMimeType) { + case MimeTypes.AUDIO_DTS: + return "DTS"; + case MimeTypes.AUDIO_DTS_HD: + return "DTS-HD"; + case MimeTypes.AUDIO_DTS_EXPRESS: + return "DTS Express"; + case MimeTypes.AUDIO_TRUEHD: + return "TrueHD"; + case MimeTypes.AUDIO_AC3: + return "AC-3"; + case MimeTypes.AUDIO_E_AC3: + return "E-AC-3"; + case MimeTypes.AUDIO_E_AC3_JOC: + return "E-AC-3-JOC"; + case MimeTypes.AUDIO_AC4: + return "AC-4"; + case MimeTypes.AUDIO_AAC: + return "AAC"; + case MimeTypes.AUDIO_MPEG: + return "MP3"; + case MimeTypes.AUDIO_MPEG_L2: + return "MP2"; + case MimeTypes.AUDIO_VORBIS: + return "Vorbis"; + case MimeTypes.AUDIO_OPUS: + return "Opus"; + case MimeTypes.AUDIO_FLAC: + return "FLAC"; + case MimeTypes.AUDIO_ALAC: + return "ALAC"; + case MimeTypes.AUDIO_WAV: + return "WAV"; + case MimeTypes.AUDIO_AMR: + return "AMR"; + case MimeTypes.AUDIO_AMR_NB: + return "AMR-NB"; + case MimeTypes.AUDIO_AMR_WB: + return "AMR-WB"; + case MimeTypes.APPLICATION_PGS: + return "PGS"; + case MimeTypes.APPLICATION_SUBRIP: + return "SRT"; + case MimeTypes.TEXT_SSA: + return "SSA"; + case MimeTypes.TEXT_VTT: + return "VTT"; + case MimeTypes.APPLICATION_TTML: + return "TTML"; + case MimeTypes.APPLICATION_TX3G: + return "TX3G"; + case MimeTypes.APPLICATION_DVBSUBS: + return "DVB"; + default: + return ""; + } + } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/receiver/PiPReceiver.java b/app/src/mobile/java/com/fongmi/android/tv/receiver/PiPReceiver.java index 7e97b5182..a65bd16e4 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/receiver/PiPReceiver.java +++ b/app/src/mobile/java/com/fongmi/android/tv/receiver/PiPReceiver.java @@ -7,7 +7,7 @@ import android.content.Intent; import android.content.IntentFilter; import com.fongmi.android.tv.databinding.ActivityDetailBinding; -import com.fongmi.android.tv.utils.PiP; +import com.fongmi.android.tv.ui.custom.PiP; public class PiPReceiver extends BroadcastReceiver { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 6c796bbd3..d16255d7f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -58,7 +58,7 @@ import com.fongmi.android.tv.ui.custom.dialog.EpisodeDialog; import com.fongmi.android.tv.ui.custom.dialog.TrackDialog; import com.fongmi.android.tv.utils.Clock; import com.fongmi.android.tv.utils.Notify; -import com.fongmi.android.tv.utils.PiP; +import com.fongmi.android.tv.ui.custom.PiP; import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Traffic; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java index 718d48571..e491e50d9 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java @@ -22,7 +22,7 @@ import com.fongmi.android.tv.ui.base.BaseActivity; import com.fongmi.android.tv.ui.custom.FragmentStateManager; import com.fongmi.android.tv.ui.fragment.SettingFragment; import com.fongmi.android.tv.ui.fragment.VodFragment; -import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.ui.custom.FileChooser; import com.fongmi.android.tv.utils.Notify; import com.google.android.material.navigation.NavigationBarView; diff --git a/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/PiP.java similarity index 97% rename from app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java rename to app/src/mobile/java/com/fongmi/android/tv/ui/custom/PiP.java index 978340321..17f9bd8ae 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/PiP.java @@ -1,4 +1,4 @@ -package com.fongmi.android.tv.utils; +package com.fongmi.android.tv.ui.custom; import android.app.Activity; import android.app.PendingIntent; @@ -13,6 +13,8 @@ import android.view.View; import androidx.media3.ui.R; +import com.fongmi.android.tv.utils.Utils; + import java.util.ArrayList; import java.util.List; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java index 2f69de1af..6e3a2c46d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java @@ -15,7 +15,7 @@ import com.fongmi.android.tv.api.WallConfig; import com.fongmi.android.tv.bean.Config; import com.fongmi.android.tv.databinding.DialogConfigBinding; import com.fongmi.android.tv.impl.ConfigCallback; -import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.ui.custom.FileChooser; import com.fongmi.android.tv.utils.Utils; import com.google.android.material.dialog.MaterialAlertDialogBuilder; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LinkDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LinkDialog.java index 7b07f584f..ee53443f9 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LinkDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LinkDialog.java @@ -14,7 +14,7 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.databinding.DialogLinkBinding; import com.fongmi.android.tv.ui.activity.DetailActivity; -import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.ui.custom.FileChooser; import com.fongmi.android.tv.utils.Utils; import com.google.android.material.dialog.MaterialAlertDialogBuilder; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java index 06c7f424b..f70e4a602 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java @@ -30,7 +30,7 @@ import com.fongmi.android.tv.ui.custom.dialog.ConfigDialog; import com.fongmi.android.tv.ui.custom.dialog.HistoryDialog; import com.fongmi.android.tv.ui.custom.dialog.LiveDialog; import com.fongmi.android.tv.ui.custom.dialog.SiteDialog; -import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.ui.custom.FileChooser; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.Prefers; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 75f8eabce..522018236 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -37,7 +37,7 @@ import com.fongmi.android.tv.ui.custom.dialog.LinkDialog; import com.fongmi.android.tv.ui.custom.dialog.SiteDialog; import com.fongmi.android.tv.ui.fragment.child.HomeFragment; import com.fongmi.android.tv.ui.fragment.child.TypeFragment; -import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.ui.custom.FileChooser; import com.fongmi.android.tv.utils.Prefers; import com.google.android.material.bottomsheet.BottomSheetDialogFragment;