mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	-Updated ExoPlayer to r2.5.1.
-Fixes some more deprecations due to Exoplayer and Android O notification updates.
This commit is contained in:
		| @@ -67,7 +67,7 @@ dependencies { | |||||||
|     compile 'de.hdodenhof:circleimageview:2.0.0' |     compile 'de.hdodenhof:circleimageview:2.0.0' | ||||||
|     compile 'com.github.nirhart:parallaxscroll:1.0' |     compile 'com.github.nirhart:parallaxscroll:1.0' | ||||||
|     compile 'com.nononsenseapps:filepicker:3.0.0' |     compile 'com.nononsenseapps:filepicker:3.0.0' | ||||||
|     compile 'com.google.android.exoplayer:exoplayer:r2.4.2' |     compile 'com.google.android.exoplayer:exoplayer:r2.5.1' | ||||||
|  |  | ||||||
|     debugCompile 'com.facebook.stetho:stetho:1.5.0' |     debugCompile 'com.facebook.stetho:stetho:1.5.0' | ||||||
|     debugCompile 'com.facebook.stetho:stetho-urlconnection:1.5.0' |     debugCompile 'com.facebook.stetho:stetho-urlconnection:1.5.0' | ||||||
|   | |||||||
| @@ -342,6 +342,11 @@ public class BackgroundPlayer extends Service { | |||||||
|             // Disable default behavior |             // Disable default behavior | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         @Override | ||||||
|  |         public void onRepeatModeChanged(int i) { | ||||||
|  |  | ||||||
|  |         } | ||||||
|  |  | ||||||
|         @Override |         @Override | ||||||
|         public void destroy() { |         public void destroy() { | ||||||
|             super.destroy(); |             super.destroy(); | ||||||
|   | |||||||
| @@ -19,10 +19,12 @@ import android.view.View; | |||||||
|  |  | ||||||
| import com.google.android.exoplayer2.C; | import com.google.android.exoplayer2.C; | ||||||
| import com.google.android.exoplayer2.DefaultLoadControl; | import com.google.android.exoplayer2.DefaultLoadControl; | ||||||
|  | import com.google.android.exoplayer2.DefaultRenderersFactory; | ||||||
| import com.google.android.exoplayer2.ExoPlaybackException; | import com.google.android.exoplayer2.ExoPlaybackException; | ||||||
| import com.google.android.exoplayer2.ExoPlayer; |  | ||||||
| import com.google.android.exoplayer2.ExoPlayerFactory; | import com.google.android.exoplayer2.ExoPlayerFactory; | ||||||
| import com.google.android.exoplayer2.PlaybackParameters; | import com.google.android.exoplayer2.PlaybackParameters; | ||||||
|  | import com.google.android.exoplayer2.Player; | ||||||
|  | import com.google.android.exoplayer2.RenderersFactory; | ||||||
| import com.google.android.exoplayer2.SimpleExoPlayer; | import com.google.android.exoplayer2.SimpleExoPlayer; | ||||||
| import com.google.android.exoplayer2.Timeline; | import com.google.android.exoplayer2.Timeline; | ||||||
| import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; | import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; | ||||||
| @@ -62,7 +64,7 @@ import java.util.concurrent.atomic.AtomicBoolean; | |||||||
|  * @author mauriciocolli |  * @author mauriciocolli | ||||||
|  */ |  */ | ||||||
| @SuppressWarnings({"WeakerAccess", "unused"}) | @SuppressWarnings({"WeakerAccess", "unused"}) | ||||||
| public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManager.OnAudioFocusChangeListener { | public abstract class BasePlayer implements Player.EventListener, AudioManager.OnAudioFocusChangeListener { | ||||||
|     public static final boolean DEBUG = false; |     public static final boolean DEBUG = false; | ||||||
|     public static final String TAG = "BasePlayer"; |     public static final String TAG = "BasePlayer"; | ||||||
|  |  | ||||||
| @@ -158,7 +160,8 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|         DefaultTrackSelector defaultTrackSelector = new DefaultTrackSelector(trackSelectionFactory); |         DefaultTrackSelector defaultTrackSelector = new DefaultTrackSelector(trackSelectionFactory); | ||||||
|         DefaultLoadControl loadControl = new DefaultLoadControl(); |         DefaultLoadControl loadControl = new DefaultLoadControl(); | ||||||
|  |  | ||||||
|         simpleExoPlayer = ExoPlayerFactory.newSimpleInstance(context, defaultTrackSelector, loadControl); |         final RenderersFactory renderFactory = new DefaultRenderersFactory(context); | ||||||
|  |         simpleExoPlayer = ExoPlayerFactory.newSimpleInstance(renderFactory, defaultTrackSelector, loadControl); | ||||||
|         simpleExoPlayer.addListener(this); |         simpleExoPlayer.addListener(this); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -220,7 +223,7 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|         isPrepared = false; |         isPrepared = false; | ||||||
|         mediaSource = buildMediaSource(url, format); |         mediaSource = buildMediaSource(url, format); | ||||||
|  |  | ||||||
|         if (simpleExoPlayer.getPlaybackState() != ExoPlayer.STATE_IDLE) simpleExoPlayer.stop(); |         if (simpleExoPlayer.getPlaybackState() != Player.STATE_IDLE) simpleExoPlayer.stop(); | ||||||
|         if (videoStartPos > 0) simpleExoPlayer.seekTo(videoStartPos); |         if (videoStartPos > 0) simpleExoPlayer.seekTo(videoStartPos); | ||||||
|         simpleExoPlayer.prepare(mediaSource); |         simpleExoPlayer.prepare(mediaSource); | ||||||
|         simpleExoPlayer.setPlayWhenReady(autoPlay); |         simpleExoPlayer.setPlayWhenReady(autoPlay); | ||||||
| @@ -477,13 +480,13 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         switch (playbackState) { |         switch (playbackState) { | ||||||
|             case ExoPlayer.STATE_IDLE: // 1 |             case Player.STATE_IDLE: // 1 | ||||||
|                 isPrepared = false; |                 isPrepared = false; | ||||||
|                 break; |                 break; | ||||||
|             case ExoPlayer.STATE_BUFFERING: // 2 |             case Player.STATE_BUFFERING: // 2 | ||||||
|                 if (isPrepared && getCurrentState() != STATE_LOADING) changeState(STATE_BUFFERING); |                 if (isPrepared && getCurrentState() != STATE_LOADING) changeState(STATE_BUFFERING); | ||||||
|                 break; |                 break; | ||||||
|             case ExoPlayer.STATE_READY: //3 |             case Player.STATE_READY: //3 | ||||||
|                 if (!isPrepared) { |                 if (!isPrepared) { | ||||||
|                     isPrepared = true; |                     isPrepared = true; | ||||||
|                     onPrepared(playWhenReady); |                     onPrepared(playWhenReady); | ||||||
| @@ -492,7 +495,7 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|                 if (currentState == STATE_PAUSED_SEEK) break; |                 if (currentState == STATE_PAUSED_SEEK) break; | ||||||
|                 changeState(playWhenReady ? STATE_PLAYING : STATE_PAUSED); |                 changeState(playWhenReady ? STATE_PLAYING : STATE_PAUSED); | ||||||
|                 break; |                 break; | ||||||
|             case ExoPlayer.STATE_ENDED: // 4 |             case Player.STATE_ENDED: // 4 | ||||||
|                 changeState(STATE_COMPLETED); |                 changeState(STATE_COMPLETED); | ||||||
|                 isPrepared = false; |                 isPrepared = false; | ||||||
|                 break; |                 break; | ||||||
| @@ -569,7 +572,7 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     public boolean isPlaying() { |     public boolean isPlaying() { | ||||||
|         return simpleExoPlayer.getPlaybackState() == ExoPlayer.STATE_READY && simpleExoPlayer.getPlayWhenReady(); |         return simpleExoPlayer.getPlaybackState() == Player.STATE_READY && simpleExoPlayer.getPlayWhenReady(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /*////////////////////////////////////////////////////////////////////////// |     /*////////////////////////////////////////////////////////////////////////// | ||||||
| @@ -715,7 +718,7 @@ public abstract class BasePlayer implements ExoPlayer.EventListener, AudioManage | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     public boolean isCompleted() { |     public boolean isCompleted() { | ||||||
|         return simpleExoPlayer != null && simpleExoPlayer.getPlaybackState() == ExoPlayer.STATE_ENDED; |         return simpleExoPlayer != null && simpleExoPlayer.getPlaybackState() == Player.STATE_ENDED; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public boolean isPrepared() { |     public boolean isPrepared() { | ||||||
|   | |||||||
| @@ -422,6 +422,11 @@ public class MainVideoPlayer extends Activity { | |||||||
|         public ImageButton getPlayPauseButton() { |         public ImageButton getPlayPauseButton() { | ||||||
|             return playPauseButton; |             return playPauseButton; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         @Override | ||||||
|  |         public void onRepeatModeChanged(int i) { | ||||||
|  |  | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private class MySimpleOnGestureListener extends GestureDetector.SimpleOnGestureListener implements View.OnTouchListener { |     private class MySimpleOnGestureListener extends GestureDetector.SimpleOnGestureListener implements View.OnTouchListener { | ||||||
|   | |||||||
| @@ -431,7 +431,7 @@ public class PopupVideoPlayer extends Service { | |||||||
|                 hideControls(100, 0); |                 hideControls(100, 0); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| /*////////////////////////////////////////////////////////////////////////// |         /*////////////////////////////////////////////////////////////////////////// | ||||||
|         // Broadcast Receiver |         // Broadcast Receiver | ||||||
|         //////////////////////////////////////////////////////////////////////////*/ |         //////////////////////////////////////////////////////////////////////////*/ | ||||||
|  |  | ||||||
| @@ -511,6 +511,10 @@ public class PopupVideoPlayer extends Service { | |||||||
|         public TextView getResizingIndicator() { |         public TextView getResizingIndicator() { | ||||||
|             return resizingIndicator; |             return resizingIndicator; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         @Override | ||||||
|  |         public void onRepeatModeChanged(int i) { | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private class MySimpleOnGestureListener extends GestureDetector.SimpleOnGestureListener implements View.OnTouchListener { |     private class MySimpleOnGestureListener extends GestureDetector.SimpleOnGestureListener implements View.OnTouchListener { | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ import android.widget.SeekBar; | |||||||
| import android.widget.TextView; | import android.widget.TextView; | ||||||
|  |  | ||||||
| import com.google.android.exoplayer2.ExoPlayer; | import com.google.android.exoplayer2.ExoPlayer; | ||||||
|  | import com.google.android.exoplayer2.Player; | ||||||
| import com.google.android.exoplayer2.SimpleExoPlayer; | import com.google.android.exoplayer2.SimpleExoPlayer; | ||||||
| import com.google.android.exoplayer2.source.ExtractorMediaSource; | import com.google.android.exoplayer2.source.ExtractorMediaSource; | ||||||
| import com.google.android.exoplayer2.source.MediaSource; | import com.google.android.exoplayer2.source.MediaSource; | ||||||
| @@ -52,7 +53,7 @@ import static org.schabi.newpipe.util.AnimationUtils.animateView; | |||||||
|  * @author mauriciocolli |  * @author mauriciocolli | ||||||
|  */ |  */ | ||||||
| @SuppressWarnings({"WeakerAccess", "unused"}) | @SuppressWarnings({"WeakerAccess", "unused"}) | ||||||
| public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.VideoListener, SeekBar.OnSeekBarChangeListener, View.OnClickListener, ExoPlayer.EventListener, PopupMenu.OnMenuItemClickListener, PopupMenu.OnDismissListener { | public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.VideoListener, SeekBar.OnSeekBarChangeListener, View.OnClickListener, Player.EventListener, PopupMenu.OnMenuItemClickListener, PopupMenu.OnDismissListener { | ||||||
|     public static final boolean DEBUG = BasePlayer.DEBUG; |     public static final boolean DEBUG = BasePlayer.DEBUG; | ||||||
|     public final String TAG; |     public final String TAG; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -98,7 +98,7 @@ public class DownloadManagerService extends Service { | |||||||
|  |  | ||||||
|         Drawable icon = ContextCompat.getDrawable(this, R.mipmap.ic_launcher); |         Drawable icon = ContextCompat.getDrawable(this, R.mipmap.ic_launcher); | ||||||
|  |  | ||||||
|         Builder builder = new Builder(this) |         Builder builder = new Builder(this, getString(R.string.notification_channel_id)) | ||||||
|                 .setContentIntent(pendingIntent) |                 .setContentIntent(pendingIntent) | ||||||
|                 .setSmallIcon(android.R.drawable.stat_sys_download) |                 .setSmallIcon(android.R.drawable.stat_sys_download) | ||||||
|                 .setLargeIcon(((BitmapDrawable) icon).getBitmap()) |                 .setLargeIcon(((BitmapDrawable) icon).getBitmap()) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 John Zhen M
					John Zhen M