-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:
parent
86c16fa5d8
commit
b0948cf9fc
23 changed files with 65 additions and 29 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue