2018-04-23 22:02:36 +02:00
|
|
|
package org.schabi.newpipe.local.holder;
|
2018-02-06 06:32:23 +01:00
|
|
|
|
|
|
|
import android.view.ViewGroup;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
import org.schabi.newpipe.R;
|
|
|
|
import org.schabi.newpipe.database.LocalItem;
|
2018-04-23 22:02:36 +02:00
|
|
|
import org.schabi.newpipe.local.LocalItemBuilder;
|
2019-08-14 11:42:39 +02:00
|
|
|
import org.schabi.newpipe.local.history.HistoryRecordManager;
|
2018-02-06 06:32:23 +01:00
|
|
|
|
|
|
|
import java.text.DateFormat;
|
|
|
|
|
|
|
|
public abstract class PlaylistItemHolder extends LocalItemHolder {
|
|
|
|
public final ImageView itemThumbnailView;
|
2020-03-31 19:20:15 +02:00
|
|
|
final TextView itemStreamCountView;
|
2018-02-06 06:32:23 +01:00
|
|
|
public final TextView itemTitleView;
|
|
|
|
public final TextView itemUploaderView;
|
|
|
|
|
2020-03-31 19:20:15 +02:00
|
|
|
public PlaylistItemHolder(final LocalItemBuilder infoItemBuilder, final int layoutId,
|
|
|
|
final ViewGroup parent) {
|
2018-02-06 06:32:23 +01:00
|
|
|
super(infoItemBuilder, layoutId, parent);
|
|
|
|
|
|
|
|
itemThumbnailView = itemView.findViewById(R.id.itemThumbnailView);
|
|
|
|
itemTitleView = itemView.findViewById(R.id.itemTitleView);
|
|
|
|
itemStreamCountView = itemView.findViewById(R.id.itemStreamCountView);
|
|
|
|
itemUploaderView = itemView.findViewById(R.id.itemUploaderView);
|
|
|
|
}
|
|
|
|
|
2020-03-31 19:20:15 +02:00
|
|
|
public PlaylistItemHolder(final LocalItemBuilder infoItemBuilder, final ViewGroup parent) {
|
2018-02-06 06:32:23 +01:00
|
|
|
this(infoItemBuilder, R.layout.list_playlist_mini_item, parent);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2020-03-31 19:20:15 +02:00
|
|
|
public void updateFromItem(final LocalItem localItem,
|
|
|
|
final HistoryRecordManager historyRecordManager,
|
|
|
|
final DateFormat dateFormat) {
|
2018-02-06 06:32:23 +01:00
|
|
|
itemView.setOnClickListener(view -> {
|
|
|
|
if (itemBuilder.getOnItemSelectedListener() != null) {
|
|
|
|
itemBuilder.getOnItemSelectedListener().selected(localItem);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
itemView.setLongClickable(true);
|
|
|
|
itemView.setOnLongClickListener(view -> {
|
|
|
|
if (itemBuilder.getOnItemSelectedListener() != null) {
|
|
|
|
itemBuilder.getOnItemSelectedListener().held(localItem);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|