mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-10-20 18:07:38 +00:00
-Modified selected play queue item to highlight entire item instead of text.
-Added selected item bullet. -Modified play queue panel darker on main video player. -Fixed color issue on play queue panel on light-themed main video player. -Fixed hold-to-enqueue tooltip flashing when clicked on earlier sdk versions. -Fixed queue item removal causing metadata for currently playing to refresh.
This commit is contained in:
@@ -483,9 +483,12 @@ public class VideoDetailFragment extends BaseStateFragment<StreamInfo> implement
|
||||
if (!PreferenceManager.getDefaultSharedPreferences(activity).getBoolean(getString(R.string.show_hold_to_append_key), true)) return false;
|
||||
|
||||
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
appendControlsDetail.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
appendControlsDetail.setVisibility(View.GONE);
|
||||
animateView(appendControlsDetail, true, 250, 0, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
animateView(appendControlsDetail, false, 1500, 1000);
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -178,7 +178,8 @@ public class MediaSourceManager {
|
||||
case REMOVE:
|
||||
final RemoveEvent removeEvent = (RemoveEvent) event;
|
||||
remove(removeEvent.getRemoveIndex());
|
||||
sync();
|
||||
// Sync only when the currently playing is removed
|
||||
if (removeEvent.getQueueIndex() == removeEvent.getRemoveIndex()) sync();
|
||||
break;
|
||||
case MOVE:
|
||||
final MoveEvent moveEvent = (MoveEvent) event;
|
||||
|
@@ -188,10 +188,15 @@ public class PlayQueueAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
if(holder instanceof PlayQueueItemHolder) {
|
||||
final PlayQueueItemHolder itemHolder = (PlayQueueItemHolder) holder;
|
||||
|
||||
// Build the list item
|
||||
playQueueItemBuilder.buildStreamInfoItem((PlayQueueItemHolder) holder, playQueue.getStreams().get(position));
|
||||
playQueueItemBuilder.buildStreamInfoItem(itemHolder, playQueue.getStreams().get(position));
|
||||
|
||||
// Check if the current item should be selected/highlighted
|
||||
holder.itemView.setSelected(playQueue.getIndex() == position);
|
||||
final boolean isSelected = playQueue.getIndex() == position;
|
||||
itemHolder.itemSelected.setVisibility(isSelected ? View.VISIBLE : View.INVISIBLE);
|
||||
itemHolder.itemView.setSelected(isSelected);
|
||||
} else if(holder instanceof HFHolder && position == playQueue.getStreams().size() && footer != null && showFooter) {
|
||||
((HFHolder) holder).view = footer;
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ import org.schabi.newpipe.info_list.holder.InfoItemHolder;
|
||||
public class PlayQueueItemHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public final TextView itemVideoTitleView, itemDurationView, itemAdditionalDetailsView;
|
||||
public final ImageView itemThumbnailView, itemHandle;
|
||||
public final ImageView itemSelected, itemThumbnailView, itemHandle;
|
||||
|
||||
public final View itemRoot;
|
||||
|
||||
@@ -42,6 +42,7 @@ public class PlayQueueItemHolder extends RecyclerView.ViewHolder {
|
||||
itemVideoTitleView = v.findViewById(R.id.itemVideoTitleView);
|
||||
itemDurationView = v.findViewById(R.id.itemDurationView);
|
||||
itemAdditionalDetailsView = v.findViewById(R.id.itemAdditionalDetails);
|
||||
itemSelected = v.findViewById(R.id.itemSelected);
|
||||
itemThumbnailView = v.findViewById(R.id.itemThumbnailView);
|
||||
itemHandle = v.findViewById(R.id.itemHandle);
|
||||
}
|
||||
|
Reference in New Issue
Block a user