|
|
|
@ -25,8 +25,11 @@ import com.fongmi.android.tv.ui.adapter.TrackAdapter; |
|
|
|
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration; |
|
|
|
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration; |
|
|
|
import com.fongmi.android.tv.utils.FileChooser; |
|
|
|
import com.fongmi.android.tv.utils.FileChooser; |
|
|
|
import com.fongmi.android.tv.utils.ResUtil; |
|
|
|
import com.fongmi.android.tv.utils.ResUtil; |
|
|
|
|
|
|
|
import com.github.catvod.utils.Path; |
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; |
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; |
|
|
|
|
|
|
|
import com.obsez.android.lib.filechooser.ChooserDialog; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
@ -38,9 +41,11 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic |
|
|
|
private final TrackAdapter adapter; |
|
|
|
private final TrackAdapter adapter; |
|
|
|
private DialogTrackBinding binding; |
|
|
|
private DialogTrackBinding binding; |
|
|
|
private FragmentActivity activity; |
|
|
|
private FragmentActivity activity; |
|
|
|
|
|
|
|
private ChooserDialog cDialog; |
|
|
|
private Listener listener; |
|
|
|
private Listener listener; |
|
|
|
private Players player; |
|
|
|
private Players player; |
|
|
|
private int type; |
|
|
|
private int type; |
|
|
|
|
|
|
|
private boolean tv; |
|
|
|
|
|
|
|
|
|
|
|
public static TrackDialog create() { |
|
|
|
public static TrackDialog create() { |
|
|
|
return new TrackDialog(); |
|
|
|
return new TrackDialog(); |
|
|
|
@ -56,6 +61,11 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic |
|
|
|
return this; |
|
|
|
return this; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public TrackDialog tv(boolean tv) { |
|
|
|
|
|
|
|
this.tv = tv; |
|
|
|
|
|
|
|
return this; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public TrackDialog player(Players player) { |
|
|
|
public TrackDialog player(Players player) { |
|
|
|
this.player = player; |
|
|
|
this.player = player; |
|
|
|
return this; |
|
|
|
return this; |
|
|
|
@ -97,10 +107,25 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void showChooser(View view) { |
|
|
|
private void showChooser(View view) { |
|
|
|
FileChooser.from(this).show(new String[]{MimeTypes.APPLICATION_SUBRIP, MimeTypes.TEXT_SSA, MimeTypes.TEXT_VTT, MimeTypes.APPLICATION_TTML, "text/*", "application/octet-stream"}); |
|
|
|
if (tv) showFileChooser(view); |
|
|
|
|
|
|
|
else FileChooser.from(this).show(new String[]{MimeTypes.APPLICATION_SUBRIP, MimeTypes.TEXT_SSA, MimeTypes.TEXT_VTT, MimeTypes.APPLICATION_TTML, "text/*", "application/octet-stream"}); |
|
|
|
player.pause(); |
|
|
|
player.pause(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void showFileChooser(View view) { |
|
|
|
|
|
|
|
if (cDialog != null) cDialog.dismiss(); |
|
|
|
|
|
|
|
cDialog = new ChooserDialog(getActivity()); |
|
|
|
|
|
|
|
cDialog.withFilter(false, false, "srt", "ass", "scc", "stl", "ttml"); |
|
|
|
|
|
|
|
cDialog.withStartFile(Path.downloadPath()); |
|
|
|
|
|
|
|
cDialog.withChosenListener(this::onChoosePath); |
|
|
|
|
|
|
|
cDialog.build().show(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void onChoosePath(String path, File pathFile) { |
|
|
|
|
|
|
|
player.setSub(Sub.from(pathFile.getAbsolutePath())); |
|
|
|
|
|
|
|
if (cDialog != null) cDialog.dismiss(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<Track> getTrack() { |
|
|
|
private List<Track> getTrack() { |
|
|
|
List<Track> items = new ArrayList<>(); |
|
|
|
List<Track> items = new ArrayList<>(); |
|
|
|
if (player.isExo()) addExoTrack(items); |
|
|
|
if (player.isExo()) addExoTrack(items); |
|
|
|
|