mirror of
				https://framagit.org/tom79/fedilab-tube
				synced 2025-06-05 21:09:11 +02:00 
			
		
		
		
	Fix issue #143
This commit is contained in:
		| @@ -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); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user