mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-11-11 20:53:01 +00:00
-Reverted dropdown menu UI for list view info items.
This commit is contained in:
@@ -460,9 +460,6 @@ public class VideoDetailFragment extends BaseStateFragment<StreamInfo> implement
|
||||
public void selected(StreamInfoItem selectedItem) {
|
||||
selectAndLoadVideo(selectedItem.service_id, selectedItem.url, selectedItem.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropdownClicked(StreamInfoItem selectedItem, PopupMenu menu) {}
|
||||
});
|
||||
|
||||
videoTitleRoot.setOnClickListener(this);
|
||||
|
||||
@@ -140,9 +140,6 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
||||
useAsFrontPage?getParentFragment().getFragmentManager():getFragmentManager(),
|
||||
selectedItem.service_id, selectedItem.url, selectedItem.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropdownClicked(StreamInfoItem selectedItem, PopupMenu menu) {}
|
||||
});
|
||||
|
||||
infoListAdapter.setOnChannelSelectedListener(new InfoItemBuilder.OnInfoItemSelectedListener<ChannelInfoItem>() {
|
||||
@@ -153,9 +150,6 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
||||
useAsFrontPage?getParentFragment().getFragmentManager():getFragmentManager(),
|
||||
selectedItem.service_id, selectedItem.url, selectedItem.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropdownClicked(ChannelInfoItem selectedItem, PopupMenu menu) {}
|
||||
});
|
||||
|
||||
infoListAdapter.setOnPlaylistSelectedListener(new InfoItemBuilder.OnInfoItemSelectedListener<PlaylistInfoItem>() {
|
||||
@@ -166,9 +160,6 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
||||
useAsFrontPage?getParentFragment().getFragmentManager():getFragmentManager(),
|
||||
selectedItem.service_id, selectedItem.url, selectedItem.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropdownClicked(PlaylistInfoItem selectedItem, PopupMenu menu) {}
|
||||
});
|
||||
|
||||
itemsList.clearOnScrollListeners();
|
||||
|
||||
@@ -10,7 +10,6 @@ import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.PopupMenu;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.database.subscription.SubscriptionEntity;
|
||||
@@ -20,8 +19,6 @@ import org.schabi.newpipe.fragments.BaseStateFragment;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
import org.schabi.newpipe.info_list.InfoListAdapter;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.KioskTranslator;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -135,9 +132,6 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
||||
NavigationHelper.openChannelFragment(getParentFragment().getFragmentManager(), selectedItem.service_id, selectedItem.url, selectedItem.name);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropdownClicked(ChannelInfoItem selectedItem, PopupMenu menu) {}
|
||||
});
|
||||
|
||||
headerRootLayout.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@@ -5,7 +5,6 @@ import android.support.annotation.NonNull;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.PopupMenu;
|
||||
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
@@ -45,7 +44,6 @@ public class InfoItemBuilder {
|
||||
|
||||
public interface OnInfoItemSelectedListener<T extends InfoItem> {
|
||||
void selected(T selectedItem);
|
||||
void dropdownClicked(T selectedItem, PopupMenu menu);
|
||||
}
|
||||
|
||||
private final Context context;
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
@@ -14,9 +10,7 @@ import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.extractor.InfoItem;
|
||||
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
import org.schabi.newpipe.playlist.ChannelPlayQueue;
|
||||
import org.schabi.newpipe.util.Localization;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
|
||||
import de.hdodenhof.circleimageview.CircleImageView;
|
||||
|
||||
@@ -24,7 +18,6 @@ public class ChannelMiniInfoItemHolder extends InfoItemHolder {
|
||||
public final CircleImageView itemThumbnailView;
|
||||
public final TextView itemTitleView;
|
||||
public final TextView itemAdditionalDetailView;
|
||||
public final ImageButton itemActionDropdown;
|
||||
|
||||
ChannelMiniInfoItemHolder(InfoItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) {
|
||||
super(infoItemBuilder, layoutId, parent);
|
||||
@@ -32,7 +25,6 @@ public class ChannelMiniInfoItemHolder extends InfoItemHolder {
|
||||
itemThumbnailView = itemView.findViewById(R.id.itemThumbnailView);
|
||||
itemTitleView = itemView.findViewById(R.id.itemTitleView);
|
||||
itemAdditionalDetailView = itemView.findViewById(R.id.itemAdditionalDetails);
|
||||
itemActionDropdown = itemView.findViewById(R.id.itemActionDropdown);
|
||||
}
|
||||
|
||||
public ChannelMiniInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
@@ -58,55 +50,6 @@ public class ChannelMiniInfoItemHolder extends InfoItemHolder {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
enableActionDropdown(item);
|
||||
}
|
||||
|
||||
private void enableActionDropdown(final ChannelInfoItem item) {
|
||||
itemActionDropdown.setVisibility(View.VISIBLE);
|
||||
itemActionDropdown.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
final PopupMenu actionMenu = getStreamDropdown(itemBuilder.getContext(), itemActionDropdown, item);
|
||||
if (itemBuilder.getOnChannelSelectedListener() != null) {
|
||||
itemBuilder.getOnChannelSelectedListener().dropdownClicked(item, actionMenu);
|
||||
}
|
||||
actionMenu.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private PopupMenu getStreamDropdown(final Context context, final View anchor, final ChannelInfoItem infoItem) {
|
||||
PopupMenu actionMenu = new PopupMenu(context, anchor);
|
||||
|
||||
final MenuItem mainPlay = actionMenu.getMenu().add(R.string.play_all);
|
||||
mainPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnMainPlayer(context, new ChannelPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem popupPlay = actionMenu.getMenu().add(R.string.controls_popup_title);
|
||||
popupPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnPopupPlayer(context, new ChannelPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem backgroundPlay = actionMenu.getMenu().add(R.string.controls_background_title);
|
||||
backgroundPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnBackgroundPlayer(context, new ChannelPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
return actionMenu;
|
||||
}
|
||||
|
||||
protected String getDetailLine(final ChannelInfoItem item) {
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
@@ -15,15 +11,12 @@ import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.extractor.InfoItem;
|
||||
import org.schabi.newpipe.extractor.playlist.PlaylistInfoItem;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
import org.schabi.newpipe.playlist.PlaylistPlayQueue;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
|
||||
public class PlaylistInfoItemHolder extends InfoItemHolder {
|
||||
public final ImageView itemThumbnailView;
|
||||
public final TextView itemStreamCountView;
|
||||
public final TextView itemTitleView;
|
||||
public final TextView itemUploaderView;
|
||||
public final ImageButton itemActionDropdown;
|
||||
|
||||
public PlaylistInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_playlist_item, parent);
|
||||
@@ -32,7 +25,6 @@ public class PlaylistInfoItemHolder extends InfoItemHolder {
|
||||
itemTitleView = itemView.findViewById(R.id.itemTitleView);
|
||||
itemStreamCountView = itemView.findViewById(R.id.itemStreamCountView);
|
||||
itemUploaderView = itemView.findViewById(R.id.itemUploaderView);
|
||||
itemActionDropdown = itemView.findViewById(R.id.itemActionDropdown);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,56 +47,8 @@ public class PlaylistInfoItemHolder extends InfoItemHolder {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
enableActionDropdown(item);
|
||||
}
|
||||
|
||||
private void enableActionDropdown(final PlaylistInfoItem item) {
|
||||
itemActionDropdown.setVisibility(View.VISIBLE);
|
||||
itemActionDropdown.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
final PopupMenu actionMenu = getStreamDropdown(itemBuilder.getContext(), itemActionDropdown, item);
|
||||
if (itemBuilder.getOnPlaylistSelectedListener() != null) {
|
||||
itemBuilder.getOnPlaylistSelectedListener().dropdownClicked(item, actionMenu);
|
||||
}
|
||||
actionMenu.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private PopupMenu getStreamDropdown(final Context context, final View anchor, final PlaylistInfoItem infoItem) {
|
||||
PopupMenu actionMenu = new PopupMenu(context, anchor);
|
||||
|
||||
final MenuItem mainPlay = actionMenu.getMenu().add(R.string.play_all);
|
||||
mainPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnMainPlayer(context, new PlaylistPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem popupPlay = actionMenu.getMenu().add(R.string.controls_popup_title);
|
||||
popupPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnPopupPlayer(context, new PlaylistPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem backgroundPlay = actionMenu.getMenu().add(R.string.controls_background_title);
|
||||
backgroundPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnBackgroundPlayer(context, new PlaylistPlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
return actionMenu;
|
||||
}
|
||||
/**
|
||||
* Display options for playlist thumbnails
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
@@ -17,9 +13,7 @@ import org.schabi.newpipe.extractor.InfoItem;
|
||||
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
||||
import org.schabi.newpipe.extractor.stream.StreamType;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
import org.schabi.newpipe.playlist.SinglePlayQueue;
|
||||
import org.schabi.newpipe.util.Localization;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
|
||||
public class StreamMiniInfoItemHolder extends InfoItemHolder {
|
||||
|
||||
@@ -27,7 +21,6 @@ public class StreamMiniInfoItemHolder extends InfoItemHolder {
|
||||
public final TextView itemVideoTitleView;
|
||||
public final TextView itemUploaderView;
|
||||
public final TextView itemDurationView;
|
||||
public final ImageButton itemActionDropdown;
|
||||
|
||||
StreamMiniInfoItemHolder(InfoItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) {
|
||||
super(infoItemBuilder, layoutId, parent);
|
||||
@@ -36,7 +29,6 @@ public class StreamMiniInfoItemHolder extends InfoItemHolder {
|
||||
itemVideoTitleView = itemView.findViewById(R.id.itemVideoTitleView);
|
||||
itemUploaderView = itemView.findViewById(R.id.itemUploaderView);
|
||||
itemDurationView = itemView.findViewById(R.id.itemDurationView);
|
||||
itemActionDropdown = itemView.findViewById(R.id.itemActionDropdown);
|
||||
}
|
||||
|
||||
public StreamMiniInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
@@ -75,92 +67,6 @@ public class StreamMiniInfoItemHolder extends InfoItemHolder {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
switch (item.stream_type) {
|
||||
case AUDIO_STREAM:
|
||||
case VIDEO_STREAM:
|
||||
case FILE:
|
||||
enableActionDropdown(item);
|
||||
break;
|
||||
case LIVE_STREAM:
|
||||
case AUDIO_LIVE_STREAM:
|
||||
case NONE:
|
||||
default:
|
||||
disableActionDropdown();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void enableActionDropdown(final StreamInfoItem item) {
|
||||
itemActionDropdown.setClickable(true);
|
||||
itemActionDropdown.setVisibility(View.VISIBLE);
|
||||
itemActionDropdown.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
final PopupMenu actionMenu = getStreamDropdown(itemBuilder.getContext(), itemActionDropdown, item);
|
||||
if (itemBuilder.getOnStreamSelectedListener() != null) {
|
||||
itemBuilder.getOnStreamSelectedListener().dropdownClicked(item, actionMenu);
|
||||
}
|
||||
actionMenu.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void disableActionDropdown() {
|
||||
itemActionDropdown.setVisibility(View.GONE);
|
||||
itemActionDropdown.setClickable(false);
|
||||
itemActionDropdown.setOnClickListener(null);
|
||||
}
|
||||
|
||||
private PopupMenu getStreamDropdown(final Context context, final View anchor, final StreamInfoItem infoItem) {
|
||||
PopupMenu actionMenu = new PopupMenu(context, anchor);
|
||||
|
||||
final MenuItem backgroundEnqueue = actionMenu.getMenu().add(R.string.enqueue_on_background);
|
||||
backgroundEnqueue.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.enqueueOnBackgroundPlayer(context, new SinglePlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem popupEnqueue = actionMenu.getMenu().add(R.string.enqueue_on_popup);
|
||||
popupEnqueue.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.enqueueOnPopupPlayer(context, new SinglePlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem mainPlay = actionMenu.getMenu().add(R.string.play_btn_text);
|
||||
mainPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnMainPlayer(context, new SinglePlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem popupPlay = actionMenu.getMenu().add(R.string.controls_popup_title);
|
||||
popupPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnPopupPlayer(context, new SinglePlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final MenuItem backgroundPlay = actionMenu.getMenu().add(R.string.controls_background_title);
|
||||
backgroundPlay.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
NavigationHelper.playOnBackgroundPlayer(context, new SinglePlayQueue(infoItem));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
return actionMenu;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user