Fix issue #143
This commit is contained in:
parent
500584b9ef
commit
a3714a4ecf
|
@ -55,6 +55,7 @@ import app.fedilab.fedilabtube.R;
|
||||||
import app.fedilab.fedilabtube.ShowChannelActivity;
|
import app.fedilab.fedilabtube.ShowChannelActivity;
|
||||||
import app.fedilab.fedilabtube.client.APIResponse;
|
import app.fedilab.fedilabtube.client.APIResponse;
|
||||||
import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI;
|
import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI;
|
||||||
|
import app.fedilab.fedilabtube.client.data.AccountData;
|
||||||
import app.fedilab.fedilabtube.client.data.ChannelData;
|
import app.fedilab.fedilabtube.client.data.ChannelData;
|
||||||
import app.fedilab.fedilabtube.client.data.PlaylistData;
|
import app.fedilab.fedilabtube.client.data.PlaylistData;
|
||||||
import app.fedilab.fedilabtube.client.data.VideoData;
|
import app.fedilab.fedilabtube.client.data.VideoData;
|
||||||
|
@ -84,12 +85,14 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||||
private TimelineVM.TimelineType timelineType;
|
private TimelineVM.TimelineType timelineType;
|
||||||
private boolean sepiaSearch;
|
private boolean sepiaSearch;
|
||||||
private ChannelData.Channel forChannel;
|
private ChannelData.Channel forChannel;
|
||||||
|
private AccountData.Account forAccount;
|
||||||
|
|
||||||
public PeertubeAdapter(List<VideoData.Video> videos, TimelineVM.TimelineType timelineType, boolean sepiaSearch, ChannelData.Channel forChannel) {
|
public PeertubeAdapter(List<VideoData.Video> videos, TimelineVM.TimelineType timelineType, boolean sepiaSearch, ChannelData.Channel forChannel, AccountData.Account forAccount) {
|
||||||
this.videos = videos;
|
this.videos = videos;
|
||||||
this.timelineType = timelineType;
|
this.timelineType = timelineType;
|
||||||
this.sepiaSearch = sepiaSearch || timelineType == SEPIA_SEARCH;
|
this.sepiaSearch = sepiaSearch || timelineType == SEPIA_SEARCH;
|
||||||
this.forChannel = forChannel;
|
this.forChannel = forChannel;
|
||||||
|
this.forAccount = forAccount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -129,13 +132,17 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||||
ownVideos = Helper.isVideoOwner(context, video);
|
ownVideos = Helper.isVideoOwner(context, video);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
String instance = null;
|
String instance = null;
|
||||||
if (sepiaSearch) {
|
if (sepiaSearch) {
|
||||||
instance = video.getAccount().getHost();
|
instance = video.getAccount().getHost();
|
||||||
} else if (forChannel != null) {
|
} else if (forChannel != null) {
|
||||||
instance = forChannel.getHost();
|
instance = forChannel.getHost();
|
||||||
|
} else if (forAccount != null) {
|
||||||
|
instance = forAccount.getHost();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
holder.binding.peertubeAccountName.setText(video.getChannel().getAcct());
|
holder.binding.peertubeAccountName.setText(video.getChannel().getAcct());
|
||||||
Helper.loadGiF(context, instance, video.getChannel().getAvatar() != null ? video.getChannel().getAvatar().getPath() : null, holder.binding.peertubeProfile);
|
Helper.loadGiF(context, instance, video.getChannel().getAvatar() != null ? video.getChannel().getAvatar().getPath() : null, holder.binding.peertubeProfile);
|
||||||
|
|
||||||
|
@ -176,8 +183,8 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||||
Intent intent = new Intent(context, ShowChannelActivity.class);
|
Intent intent = new Intent(context, ShowChannelActivity.class);
|
||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
b.putParcelable("channel", video.getChannel());
|
b.putParcelable("channel", video.getChannel());
|
||||||
b.putBoolean("sepia_search", sepiaSearch);
|
b.putBoolean("sepia_search", sepiaSearch || forChannel != null);
|
||||||
if (sepiaSearch) {
|
if (sepiaSearch || forChannel != null) {
|
||||||
b.putString("peertube_instance", video.getAccount().getHost());
|
b.putString("peertube_instance", video.getAccount().getHost());
|
||||||
}
|
}
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
|
|
|
@ -96,7 +96,7 @@ public class DisplaySepiaSearchFragment extends Fragment implements AccountsHori
|
||||||
binding.loader.setVisibility(View.VISIBLE);
|
binding.loader.setVisibility(View.VISIBLE);
|
||||||
binding.loadingNextVideos.setVisibility(View.GONE);
|
binding.loadingNextVideos.setVisibility(View.GONE);
|
||||||
|
|
||||||
peertubeAdapater = new PeertubeAdapter(this.peertubes, SEPIA_SEARCH, true, null);
|
peertubeAdapater = new PeertubeAdapter(this.peertubes, SEPIA_SEARCH, true, null, null);
|
||||||
binding.lvVideos.setAdapter(peertubeAdapater);
|
binding.lvVideos.setAdapter(peertubeAdapater);
|
||||||
|
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ public class DisplaySepiaSearchFragment extends Fragment implements AccountsHori
|
||||||
|
|
||||||
//If no item were inserted previously the adapter is created
|
//If no item were inserted previously the adapter is created
|
||||||
if (previousPosition == 0) {
|
if (previousPosition == 0) {
|
||||||
peertubeAdapater = new PeertubeAdapter(this.peertubes, SEPIA_SEARCH, true, null);
|
peertubeAdapater = new PeertubeAdapter(this.peertubes, SEPIA_SEARCH, true, null, null);
|
||||||
binding.lvVideos.setAdapter(peertubeAdapater);
|
binding.lvVideos.setAdapter(peertubeAdapater);
|
||||||
} else
|
} else
|
||||||
peertubeAdapater.notifyItemRangeInserted(previousPosition, videoData.data.size());
|
peertubeAdapater.notifyItemRangeInserted(previousPosition, videoData.data.size());
|
||||||
|
|
|
@ -143,7 +143,7 @@ public class DisplayVideosFragment extends Fragment implements AccountsHorizonta
|
||||||
binding.loader.setVisibility(View.VISIBLE);
|
binding.loader.setVisibility(View.VISIBLE);
|
||||||
binding.loadingNextVideos.setVisibility(View.GONE);
|
binding.loadingNextVideos.setVisibility(View.GONE);
|
||||||
|
|
||||||
peertubeAdapater = new PeertubeAdapter(this.peertubes, type, sepiaSearch, forChannel);
|
peertubeAdapater = new PeertubeAdapter(this.peertubes, type, sepiaSearch, forChannel, account);
|
||||||
peertubeAdapater.playlistListener = this;
|
peertubeAdapater.playlistListener = this;
|
||||||
peertubeAdapater.relationShipListener = this;
|
peertubeAdapater.relationShipListener = this;
|
||||||
binding.lvVideos.setAdapter(peertubeAdapater);
|
binding.lvVideos.setAdapter(peertubeAdapater);
|
||||||
|
@ -360,7 +360,7 @@ public class DisplayVideosFragment extends Fragment implements AccountsHorizonta
|
||||||
|
|
||||||
//If no item were inserted previously the adapter is created
|
//If no item were inserted previously the adapter is created
|
||||||
if (previousPosition == 0) {
|
if (previousPosition == 0) {
|
||||||
peertubeAdapater = new PeertubeAdapter(this.peertubes, type, sepiaSearch, forChannel);
|
peertubeAdapater = new PeertubeAdapter(this.peertubes, type, sepiaSearch, forChannel, account);
|
||||||
peertubeAdapater.playlistListener = DisplayVideosFragment.this;
|
peertubeAdapater.playlistListener = DisplayVideosFragment.this;
|
||||||
peertubeAdapater.relationShipListener = DisplayVideosFragment.this;
|
peertubeAdapater.relationShipListener = DisplayVideosFragment.this;
|
||||||
binding.lvVideos.setAdapter(peertubeAdapater);
|
binding.lvVideos.setAdapter(peertubeAdapater);
|
||||||
|
|
Loading…
Reference in New Issue