Search in sources :

Example 6 with SinglePlayQueue

use of org.schabi.newpipe.playlist.SinglePlayQueue in project NewPipe by TeamNewPipe.

the class StatisticsPlaylistFragment method showStreamDialog.

/*//////////////////////////////////////////////////////////////////////////
    // Utils
    //////////////////////////////////////////////////////////////////////////*/
private void showStreamDialog(final StreamStatisticsEntry item) {
    final Context context = getContext();
    final Activity activity = getActivity();
    if (context == null || context.getResources() == null || getActivity() == null)
        return;
    final StreamInfoItem infoItem = item.toStreamInfoItem();
    final String[] commands = new String[] { context.getResources().getString(R.string.enqueue_on_background), context.getResources().getString(R.string.enqueue_on_popup), context.getResources().getString(R.string.start_here_on_main), context.getResources().getString(R.string.start_here_on_background), context.getResources().getString(R.string.start_here_on_popup) };
    final DialogInterface.OnClickListener actions = (dialogInterface, i) -> {
        final int index = Math.max(itemListAdapter.getItemsList().indexOf(item), 0);
        switch(i) {
            case 0:
                NavigationHelper.enqueueOnBackgroundPlayer(context, new SinglePlayQueue(infoItem));
                break;
            case 1:
                NavigationHelper.enqueueOnPopupPlayer(activity, new SinglePlayQueue(infoItem));
                break;
            case 2:
                NavigationHelper.playOnMainPlayer(context, getPlayQueue(index));
                break;
            case 3:
                NavigationHelper.playOnBackgroundPlayer(context, getPlayQueue(index));
                break;
            case 4:
                NavigationHelper.playOnPopupPlayer(activity, getPlayQueue(index));
                break;
            default:
                break;
        }
    };
    new InfoItemDialog(getActivity(), infoItem, commands, actions).show();
}
Also used : Context(android.content.Context) Context(android.content.Context) StreamStatisticsEntry(org.schabi.newpipe.database.stream.StreamStatisticsEntry) Bundle(android.os.Bundle) NavigationHelper(org.schabi.newpipe.util.NavigationHelper) NonNull(android.support.annotation.NonNull) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue) ArrayList(java.util.ArrayList) HistoryRecordManager(org.schabi.newpipe.history.HistoryRecordManager) View(android.view.View) OnClickGesture(org.schabi.newpipe.util.OnClickGesture) State(icepick.State) Subscriber(org.reactivestreams.Subscriber) R(org.schabi.newpipe.R) DialogInterface(android.content.DialogInterface) Parcelable(android.os.Parcelable) LayoutInflater(android.view.LayoutInflater) LocalItem(org.schabi.newpipe.database.LocalItem) UserAction(org.schabi.newpipe.report.UserAction) ViewGroup(android.view.ViewGroup) StreamInfoItem(org.schabi.newpipe.extractor.stream.StreamInfoItem) List(java.util.List) InfoItemDialog(org.schabi.newpipe.info_list.InfoItemDialog) Subscription(org.reactivestreams.Subscription) PlayQueue(org.schabi.newpipe.playlist.PlayQueue) Nullable(android.support.annotation.Nullable) Activity(android.app.Activity) Collections(java.util.Collections) StreamInfoItem(org.schabi.newpipe.extractor.stream.StreamInfoItem) InfoItemDialog(org.schabi.newpipe.info_list.InfoItemDialog) DialogInterface(android.content.DialogInterface) Activity(android.app.Activity) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue)

Example 7 with SinglePlayQueue

use of org.schabi.newpipe.playlist.SinglePlayQueue in project NewPipe by TeamNewPipe.

the class VideoDetailFragment method showStreamDialog.

private void showStreamDialog(final StreamInfoItem item) {
    final Context context = getContext();
    if (context == null || context.getResources() == null || getActivity() == null)
        return;
    final String[] commands = new String[] { context.getResources().getString(R.string.enqueue_on_background), context.getResources().getString(R.string.enqueue_on_popup) };
    final DialogInterface.OnClickListener actions = (DialogInterface dialogInterface, int i) -> {
        switch(i) {
            case 0:
                NavigationHelper.enqueueOnBackgroundPlayer(context, new SinglePlayQueue(item));
                break;
            case 1:
                NavigationHelper.enqueueOnPopupPlayer(getActivity(), new SinglePlayQueue(item));
                break;
            default:
                break;
        }
    };
    new InfoItemDialog(getActivity(), item, commands, actions).show();
}
Also used : Context(android.content.Context) InfoItemDialog(org.schabi.newpipe.info_list.InfoItemDialog) DialogInterface(android.content.DialogInterface) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue)

Example 8 with SinglePlayQueue

use of org.schabi.newpipe.playlist.SinglePlayQueue in project NewPipe by TeamNewPipe.

the class VideoDetailFragment method openPopupPlayer.

private void openPopupPlayer(final boolean append) {
    if (!PermissionHelper.isPopupEnabled(activity)) {
        PermissionHelper.showPopupEnablementToast(activity);
        return;
    }
    final PlayQueue itemQueue = new SinglePlayQueue(currentInfo);
    if (append) {
        NavigationHelper.enqueueOnPopupPlayer(activity, itemQueue);
    } else {
        Toast.makeText(activity, R.string.popup_playing_toast, Toast.LENGTH_SHORT).show();
        final Intent intent = NavigationHelper.getPlayerIntent(activity, PopupVideoPlayer.class, itemQueue, getSelectedVideoStream().resolution);
        activity.startService(intent);
    }
}
Also used : SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue) PlayQueue(org.schabi.newpipe.playlist.PlayQueue) Intent(android.content.Intent) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue)

Example 9 with SinglePlayQueue

use of org.schabi.newpipe.playlist.SinglePlayQueue in project NewPipe by TeamNewPipe.

the class BaseListFragment method showStreamDialog.

protected void showStreamDialog(final StreamInfoItem item) {
    final Context context = getContext();
    final Activity activity = getActivity();
    if (context == null || context.getResources() == null || getActivity() == null)
        return;
    final String[] commands = new String[] { context.getResources().getString(R.string.enqueue_on_background), context.getResources().getString(R.string.enqueue_on_popup), context.getResources().getString(R.string.append_playlist) };
    final DialogInterface.OnClickListener actions = (dialogInterface, i) -> {
        switch(i) {
            case 0:
                NavigationHelper.enqueueOnBackgroundPlayer(context, new SinglePlayQueue(item));
                break;
            case 1:
                NavigationHelper.enqueueOnPopupPlayer(activity, new SinglePlayQueue(item));
                break;
            case 2:
                if (getFragmentManager() != null) {
                    PlaylistAppendDialog.fromStreamInfoItems(Collections.singletonList(item)).show(getFragmentManager(), TAG);
                }
                break;
            default:
                break;
        }
    };
    new InfoItemDialog(getActivity(), item, commands, actions).show();
}
Also used : Context(android.content.Context) InfoListAdapter(org.schabi.newpipe.info_list.InfoListAdapter) Context(android.content.Context) ChannelInfoItem(org.schabi.newpipe.extractor.channel.ChannelInfoItem) Bundle(android.os.Bundle) NavigationHelper(org.schabi.newpipe.util.NavigationHelper) NonNull(android.support.annotation.NonNull) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue) InfoItem(org.schabi.newpipe.extractor.InfoItem) MenuInflater(android.view.MenuInflater) Menu(android.view.Menu) View(android.view.View) OnClickGesture(org.schabi.newpipe.util.OnClickGesture) AnimationUtils.animateView(org.schabi.newpipe.util.AnimationUtils.animateView) ActionBar(android.support.v7.app.ActionBar) R(org.schabi.newpipe.R) Log(android.util.Log) DialogInterface(android.content.DialogInterface) BaseStateFragment(org.schabi.newpipe.fragments.BaseStateFragment) StateSaver(org.schabi.newpipe.util.StateSaver) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) StreamInfoItem(org.schabi.newpipe.extractor.stream.StreamInfoItem) RecyclerView(android.support.v7.widget.RecyclerView) List(java.util.List) PlaylistInfoItem(org.schabi.newpipe.extractor.playlist.PlaylistInfoItem) InfoItemDialog(org.schabi.newpipe.info_list.InfoItemDialog) Queue(java.util.Queue) Activity(android.app.Activity) PlaylistAppendDialog(org.schabi.newpipe.fragments.local.dialog.PlaylistAppendDialog) Collections(java.util.Collections) OnScrollBelowItemsListener(org.schabi.newpipe.fragments.OnScrollBelowItemsListener) InfoItemDialog(org.schabi.newpipe.info_list.InfoItemDialog) DialogInterface(android.content.DialogInterface) Activity(android.app.Activity) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue)

Example 10 with SinglePlayQueue

use of org.schabi.newpipe.playlist.SinglePlayQueue in project NewPipe by TeamNewPipe.

the class LocalPlaylistFragment method getPlayQueue.

private PlayQueue getPlayQueue(final int index) {
    if (itemListAdapter == null) {
        return new SinglePlayQueue(Collections.emptyList(), 0);
    }
    final List<LocalItem> infoItems = itemListAdapter.getItemsList();
    List<StreamInfoItem> streamInfoItems = new ArrayList<>(infoItems.size());
    for (final LocalItem item : infoItems) {
        if (item instanceof PlaylistStreamEntry) {
            streamInfoItems.add(((PlaylistStreamEntry) item).toStreamInfoItem());
        }
    }
    return new SinglePlayQueue(streamInfoItems, index);
}
Also used : StreamInfoItem(org.schabi.newpipe.extractor.stream.StreamInfoItem) PlaylistStreamEntry(org.schabi.newpipe.database.playlist.PlaylistStreamEntry) ArrayList(java.util.ArrayList) LocalItem(org.schabi.newpipe.database.LocalItem) SinglePlayQueue(org.schabi.newpipe.playlist.SinglePlayQueue)

Aggregations

SinglePlayQueue (org.schabi.newpipe.playlist.SinglePlayQueue)11 StreamInfoItem (org.schabi.newpipe.extractor.stream.StreamInfoItem)7 Context (android.content.Context)6 DialogInterface (android.content.DialogInterface)6 ArrayList (java.util.ArrayList)6 InfoItemDialog (org.schabi.newpipe.info_list.InfoItemDialog)6 Activity (android.app.Activity)5 PlayQueue (org.schabi.newpipe.playlist.PlayQueue)5 Bundle (android.os.Bundle)4 NonNull (android.support.annotation.NonNull)4 Nullable (android.support.annotation.Nullable)4 View (android.view.View)4 List (java.util.List)4 R (org.schabi.newpipe.R)4 LocalItem (org.schabi.newpipe.database.LocalItem)4 NavigationHelper (org.schabi.newpipe.util.NavigationHelper)4 Log (android.util.Log)3 LayoutInflater (android.view.LayoutInflater)3 ViewGroup (android.view.ViewGroup)3 AndroidSchedulers (io.reactivex.android.schedulers.AndroidSchedulers)3