mirror of
				https://framagit.org/tom79/fedilab-tube
				synced 2025-06-05 21:09:11 +02:00 
			
		
		
		
	Some fixes
This commit is contained in:
		| @@ -304,6 +304,8 @@ | |||||||
|         <item>Moyenne</item> |         <item>Moyenne</item> | ||||||
|         <item>Faible</item> |         <item>Faible</item> | ||||||
|     </string-array> |     </string-array> | ||||||
|  |     <string name="nsfw_title_warning">Contenu explicite ou sensible</string> | ||||||
|  |     <string name="nsfw_message_warning">Cette vidéo contient du contenu sensible. Êtes-vous sûr·e de vouloir la regarder ?</string> | ||||||
|     <string name="set_autoplay_next_video_settings">Lecture automatique</string> |     <string name="set_autoplay_next_video_settings">Lecture automatique</string> | ||||||
|     <string name="unfollow_confirm">Voulez-vous vous désabonner de ce compte ?</string> |     <string name="unfollow_confirm">Voulez-vous vous désabonner de ce compte ?</string> | ||||||
|     <string name="no_playlist">Aucune liste de lecture !</string> |     <string name="no_playlist">Aucune liste de lecture !</string> | ||||||
|   | |||||||
| @@ -160,6 +160,9 @@ | |||||||
|  |  | ||||||
|     <string name="action_mute">Mute</string> |     <string name="action_mute">Mute</string> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <string name="nsfw_title_warning">Mature or explicit content</string> | ||||||
|  |     <string name="nsfw_message_warning">This video contains mature or explicit content. Are you sure you want to watch it?</string> | ||||||
|     <string name="search">Search</string> |     <string name="search">Search</string> | ||||||
|     <string name="delete">Delete</string> |     <string name="delete">Delete</string> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -219,7 +219,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onStreamStarted(Torrent torrent) { |     public void onStreamStarted(Torrent torrent) { | ||||||
|         startStream(torrent.getVideoFile().getAbsolutePath(), null, autoPlay, -1, null, null); |         startStream(torrent.getVideoFile().getAbsolutePath(), null, autoPlay, -1, null, null, true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
| @@ -325,6 +325,11 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|             playInMinimized = false; |             playInMinimized = false; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         if (peertube != null && peertube.isNsfw()) { | ||||||
|  |             binding.videoSensitive.setVisibility(View.VISIBLE); | ||||||
|  |         } else { | ||||||
|  |             binding.videoSensitive.setVisibility(View.INVISIBLE); | ||||||
|  |         } | ||||||
|         if (mode == Helper.VIDEO_MODE_WEBVIEW) { |         if (mode == Helper.VIDEO_MODE_WEBVIEW) { | ||||||
|             binding.webviewVideo.setVisibility(View.VISIBLE); |             binding.webviewVideo.setVisibility(View.VISIBLE); | ||||||
|             binding.mediaVideo.setVisibility(View.GONE); |             binding.mediaVideo.setVisibility(View.GONE); | ||||||
| @@ -436,6 +441,11 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         peertube = apiResponse.getPeertubes().get(0); |         peertube = apiResponse.getPeertubes().get(0); | ||||||
|  |         if (peertube.isNsfw()) { | ||||||
|  |             binding.videoSensitive.setVisibility(View.VISIBLE); | ||||||
|  |         } else { | ||||||
|  |             binding.videoSensitive.setVisibility(View.INVISIBLE); | ||||||
|  |         } | ||||||
|         if (peertube.getUserHistory() != null) { |         if (peertube.getUserHistory() != null) { | ||||||
|             player.seekTo(peertube.getUserHistory().getCurrentTime() * 1000); |             player.seekTo(peertube.getUserHistory().getCurrentTime() * 1000); | ||||||
|         } |         } | ||||||
| @@ -595,7 +605,6 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|             openFullscreenDialog(); |             openFullscreenDialog(); | ||||||
|         } |         } | ||||||
|         binding.peertubePlaylist.setVisibility(View.VISIBLE); |         binding.peertubePlaylist.setVisibility(View.VISIBLE); | ||||||
|         binding.peertubeBookmark.setVisibility(View.GONE); |  | ||||||
|         TimelineVM feedsViewModel = new ViewModelProvider(PeertubeActivity.this).get(TimelineVM.class); |         TimelineVM feedsViewModel = new ViewModelProvider(PeertubeActivity.this).get(TimelineVM.class); | ||||||
|         if (!isRemote) { |         if (!isRemote) { | ||||||
|             feedsViewModel.getVideo(sepiaSearch ? peertubeInstance : null, videoUuid, isMyVideo).observe(PeertubeActivity.this, this::manageVIewVideo); |             feedsViewModel.getVideo(sepiaSearch ? peertubeInstance : null, videoUuid, isMyVideo).observe(PeertubeActivity.this, this::manageVIewVideo); | ||||||
| @@ -810,6 +819,12 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|             binding.writeCommentContainer.setVisibility(View.GONE); |             binding.writeCommentContainer.setVisibility(View.GONE); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         if (peertube.isNsfw()) { | ||||||
|  |             binding.videoSensitive.setVisibility(View.VISIBLE); | ||||||
|  |         } else { | ||||||
|  |             binding.videoSensitive.setVisibility(View.INVISIBLE); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         binding.peertubePlaylist.setOnClickListener(v -> { |         binding.peertubePlaylist.setOnClickListener(v -> { | ||||||
|             PlaylistsVM viewModelOwnerPlaylist = new ViewModelProvider(PeertubeActivity.this).get(PlaylistsVM.class); |             PlaylistsVM viewModelOwnerPlaylist = new ViewModelProvider(PeertubeActivity.this).get(PlaylistsVM.class); | ||||||
|             viewModelOwnerPlaylist.manage(PlaylistsVM.action.GET_PLAYLISTS, null, null).observe(PeertubeActivity.this, this::manageVIewPlaylists); |             viewModelOwnerPlaylist.manage(PlaylistsVM.action.GET_PLAYLISTS, null, null).observe(PeertubeActivity.this, this::manageVIewPlaylists); | ||||||
| @@ -1001,7 +1016,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|             startStream( |             startStream( | ||||||
|                     apiResponse.getPeertubes().get(0).getFileUrl(null, PeertubeActivity.this), |                     apiResponse.getPeertubes().get(0).getFileUrl(null, PeertubeActivity.this), | ||||||
|                     apiResponse.getPeertubes().get(0).getStreamingPlaylists().size() > 0 ? apiResponse.getPeertubes().get(0).getStreamingPlaylists().get(0).getPlaylistUrl() : null, |                     apiResponse.getPeertubes().get(0).getStreamingPlaylists().size() > 0 ? apiResponse.getPeertubes().get(0).getStreamingPlaylists().get(0).getPlaylistUrl() : null, | ||||||
|                     autoPlay, position, null, null); |                     autoPlay, position, null, null, true); | ||||||
|             player.prepare(); |             player.prepare(); | ||||||
|             player.setPlayWhenReady(autoPlay); |             player.setPlayWhenReady(autoPlay); | ||||||
|             if (autoPlay) { |             if (autoPlay) { | ||||||
| @@ -1088,7 +1103,8 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void startStream(String videoURL, String streamingPlaylistsURLS, boolean autoPlay, long position, Uri subtitles, String lang) { |  | ||||||
|  |     private void stream(String videoURL, String streamingPlaylistsURLS, boolean autoPlay, long position, Uri subtitles, String lang) { | ||||||
|         if (videoURL != null && !videoURL.endsWith("m3u8")) { |         if (videoURL != null && !videoURL.endsWith("m3u8")) { | ||||||
|             if (videoURL.endsWith(".torrent")) { |             if (videoURL.endsWith(".torrent")) { | ||||||
|                 torrentStream.startStream(videoURL); |                 torrentStream.startStream(videoURL); | ||||||
| @@ -1145,6 +1161,32 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private void startStream(String videoURL, String streamingPlaylistsURLS, boolean autoPlay, long position, Uri subtitles, String lang, boolean promptNSFW) { | ||||||
|  |  | ||||||
|  |         SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); | ||||||
|  |         String nsfwAction = sharedpreferences.getString(getString(R.string.set_video_sensitive_choice), Helper.BLUR); | ||||||
|  |         if (promptNSFW && peertube != null && peertube.isNsfw() && (nsfwAction.compareTo(Helper.BLUR) == 0 || nsfwAction.compareTo(Helper.DO_NOT_LIST) == 0)) { | ||||||
|  |             AlertDialog alertDialog; | ||||||
|  |             AlertDialog.Builder dialogBuilder; | ||||||
|  |             dialogBuilder = new AlertDialog.Builder(PeertubeActivity.this); | ||||||
|  |             dialogBuilder.setTitle(R.string.nsfw_title_warning); | ||||||
|  |             dialogBuilder.setMessage(R.string.nsfw_message_warning); | ||||||
|  |             dialogBuilder.setNegativeButton(R.string.no, (dialog, id) -> { | ||||||
|  |                 dialog.dismiss(); | ||||||
|  |                 finish(); | ||||||
|  |             }); | ||||||
|  |             dialogBuilder.setPositiveButton(R.string.play, (dialog, id) -> { | ||||||
|  |                 stream(videoURL, streamingPlaylistsURLS, autoPlay, position, subtitles, lang); | ||||||
|  |                 dialog.dismiss(); | ||||||
|  |             }); | ||||||
|  |             alertDialog = dialogBuilder.create(); | ||||||
|  |             alertDialog.show(); | ||||||
|  |         } else { | ||||||
|  |             stream(videoURL, streamingPlaylistsURLS, autoPlay, position, subtitles, lang); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onConfigurationChanged(@NotNull Configuration newConfig) { |     public void onConfigurationChanged(@NotNull Configuration newConfig) { | ||||||
|         super.onConfigurationChanged(newConfig); |         super.onConfigurationChanged(newConfig); | ||||||
| @@ -1512,7 +1554,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|                     startStream( |                     startStream( | ||||||
|                             peertube.getFileUrl(res, PeertubeActivity.this), |                             peertube.getFileUrl(res, PeertubeActivity.this), | ||||||
|                             peertube.getStreamingPlaylists().size() > 0 ? peertube.getStreamingPlaylists().get(0).getPlaylistUrl() : null, |                             peertube.getStreamingPlaylists().size() > 0 ? peertube.getStreamingPlaylists().get(0).getPlaylistUrl() : null, | ||||||
|                             true, position, null, null); |                             true, position, null, null, false); | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|             case SPEED: |             case SPEED: | ||||||
| @@ -1555,7 +1597,8 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd | |||||||
|                         true, |                         true, | ||||||
|                         newPosition, |                         newPosition, | ||||||
|                         uri, |                         uri, | ||||||
|                         item.getStrId() |                         item.getStrId(), | ||||||
|  |                         false | ||||||
|                 ); |                 ); | ||||||
|                 break; |                 break; | ||||||
|             case AUTONEXT: |             case AUTONEXT: | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								app/src/main/res/drawable/ic_sensitive_content.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/src/main/res/drawable/ic_sensitive_content.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="24dp" | ||||||
|  |     android:height="24dp" | ||||||
|  |     android:tint="@color/red_1" | ||||||
|  |     android:viewportWidth="24" | ||||||
|  |     android:viewportHeight="24"> | ||||||
|  |   <path | ||||||
|  |       android:fillColor="@android:color/white" | ||||||
|  |       android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z" /> | ||||||
|  | </vector> | ||||||
| @@ -122,11 +122,32 @@ | |||||||
|                             android:orientation="vertical" |                             android:orientation="vertical" | ||||||
|                             android:padding="10dp"> |                             android:padding="10dp"> | ||||||
|  |  | ||||||
|                             <TextView |                             <LinearLayout | ||||||
|                                 android:id="@+id/peertube_title" |  | ||||||
|                                 android:layout_width="match_parent" |                                 android:layout_width="match_parent" | ||||||
|                                 android:layout_height="wrap_content" |                                 android:layout_height="wrap_content" | ||||||
|                                 android:layout_marginTop="5dp" /> |                                 android:orientation="horizontal"> | ||||||
|  |  | ||||||
|  |                                 <TextView | ||||||
|  |                                     android:id="@+id/peertube_title" | ||||||
|  |                                     android:layout_width="0dp" | ||||||
|  |                                     android:layout_height="wrap_content" | ||||||
|  |                                     android:layout_marginTop="5dp" | ||||||
|  |                                     android:layout_weight="1" /> | ||||||
|  |  | ||||||
|  |                                 <ImageView | ||||||
|  |                                     android:id="@+id/video_sensitive" | ||||||
|  |                                     android:layout_width="wrap_content" | ||||||
|  |                                     android:layout_height="wrap_content" | ||||||
|  |                                     android:layout_gravity="center_horizontal" | ||||||
|  |                                     android:layout_marginStart="10dp" | ||||||
|  |                                     android:layout_marginLeft="10dp" | ||||||
|  |                                     android:layout_marginEnd="10dp" | ||||||
|  |                                     android:layout_marginRight="10dp" | ||||||
|  |                                     android:contentDescription="@string/sensitive_content" | ||||||
|  |                                     android:gravity="center_horizontal" | ||||||
|  |                                     android:src="@drawable/ic_sensitive_content" | ||||||
|  |                                     android:visibility="invisible" /> | ||||||
|  |                             </LinearLayout> | ||||||
|  |  | ||||||
|                             <LinearLayout |                             <LinearLayout | ||||||
|                                 android:layout_width="match_parent" |                                 android:layout_width="match_parent" | ||||||
| @@ -189,21 +210,8 @@ | |||||||
|                                     app:drawableTopCompat="@drawable/ic_baseline_thumb_down_alt_24" |                                     app:drawableTopCompat="@drawable/ic_baseline_thumb_down_alt_24" | ||||||
|                                     tools:ignore="HardcodedText" /> |                                     tools:ignore="HardcodedText" /> | ||||||
|  |  | ||||||
|                                 <TextView |  | ||||||
|                                     android:id="@+id/peertube_bookmark" |  | ||||||
|                                     android:layout_width="wrap_content" |  | ||||||
|                                     android:layout_height="wrap_content" |  | ||||||
|                                     android:layout_gravity="center_horizontal" |  | ||||||
|                                     android:layout_marginStart="10dp" |  | ||||||
|                                     android:layout_marginLeft="10dp" |  | ||||||
|                                     android:layout_marginEnd="10dp" |  | ||||||
|                                     android:layout_marginRight="10dp" |  | ||||||
|                                     android:drawablePadding="5dp" |  | ||||||
|                                     android:gravity="center_horizontal" |  | ||||||
|                                     android:text="" |  | ||||||
|                                     app:drawableTopCompat="@drawable/ic_baseline_bookmark_border_24" /> |  | ||||||
|  |  | ||||||
|                                 <TextView |                                 <ImageView | ||||||
|                                     android:id="@+id/peertube_playlist" |                                     android:id="@+id/peertube_playlist" | ||||||
|                                     android:layout_width="wrap_content" |                                     android:layout_width="wrap_content" | ||||||
|                                     android:layout_height="wrap_content" |                                     android:layout_height="wrap_content" | ||||||
| @@ -214,11 +222,11 @@ | |||||||
|                                     android:layout_marginRight="10dp" |                                     android:layout_marginRight="10dp" | ||||||
|                                     android:drawablePadding="5dp" |                                     android:drawablePadding="5dp" | ||||||
|                                     android:gravity="center_horizontal" |                                     android:gravity="center_horizontal" | ||||||
|                                     android:text="" |                                     android:contentDescription="@string/playlists" | ||||||
|                                     android:visibility="gone" |                                     android:visibility="gone" | ||||||
|                                     app:drawableTopCompat="@drawable/ic_baseline_list_24" /> |                                     android:src="@drawable/ic_baseline_list_24" /> | ||||||
|  |  | ||||||
|                                 <TextView |                                 <ImageView | ||||||
|                                     android:id="@+id/video_information" |                                     android:id="@+id/video_information" | ||||||
|                                     android:layout_width="wrap_content" |                                     android:layout_width="wrap_content" | ||||||
|                                     android:layout_height="wrap_content" |                                     android:layout_height="wrap_content" | ||||||
| @@ -227,10 +235,10 @@ | |||||||
|                                     android:layout_marginLeft="10dp" |                                     android:layout_marginLeft="10dp" | ||||||
|                                     android:layout_marginEnd="10dp" |                                     android:layout_marginEnd="10dp" | ||||||
|                                     android:layout_marginRight="10dp" |                                     android:layout_marginRight="10dp" | ||||||
|                                     android:drawablePadding="5dp" |  | ||||||
|                                     android:gravity="center_horizontal" |                                     android:gravity="center_horizontal" | ||||||
|                                     android:text="" |                                     android:contentDescription="@string/information" | ||||||
|                                     app:drawableTopCompat="@drawable/ic_baseline_info_24" /> |                                     android:src="@drawable/ic_baseline_info_24" /> | ||||||
|  |  | ||||||
|  |  | ||||||
|                                 <LinearLayout |                                 <LinearLayout | ||||||
|                                     android:layout_width="0dp" |                                     android:layout_width="0dp" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user