mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	Merge pull request #1884 from TeamNewPipe/remove_4.x
Remove support for android 4.1 - 4.3
This commit is contained in:
		| @@ -6,7 +6,7 @@ android { | ||||
|  | ||||
|     defaultConfig { | ||||
|         applicationId "org.schabi.newpipe" | ||||
|         minSdkVersion 15 | ||||
|         minSdkVersion 19 | ||||
|         targetSdkVersion 28 | ||||
|         versionCode 69 | ||||
|         versionName "0.14.2" | ||||
|   | ||||
| @@ -542,8 +542,7 @@ public class RouterActivity extends AppCompatActivity { | ||||
|  | ||||
|                 final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); | ||||
|                 boolean isExtVideoEnabled = preferences.getBoolean(getString(R.string.use_external_video_player_key), false); | ||||
|                 boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false); | ||||
|                 boolean useOldVideoPlayer = PlayerHelper.isUsingOldPlayer(this); | ||||
|                 boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);; | ||||
|  | ||||
|                 PlayQueue playQueue; | ||||
|                 String playerChoice = choice.playerChoice; | ||||
| @@ -555,9 +554,6 @@ public class RouterActivity extends AppCompatActivity { | ||||
|                     } else if (playerChoice.equals(videoPlayerKey) && isExtVideoEnabled) { | ||||
|                         NavigationHelper.playOnExternalVideoPlayer(this, (StreamInfo) info); | ||||
|  | ||||
|                     } else if (playerChoice.equals(videoPlayerKey) && useOldVideoPlayer) { | ||||
|                         NavigationHelper.playOnOldVideoPlayer(this, (StreamInfo) info); | ||||
|  | ||||
|                     } else { | ||||
|                         playQueue = new SinglePlayQueue((StreamInfo) info); | ||||
|  | ||||
|   | ||||
| @@ -73,7 +73,6 @@ import org.schabi.newpipe.local.history.HistoryRecordManager; | ||||
| import org.schabi.newpipe.player.MainVideoPlayer; | ||||
| import org.schabi.newpipe.player.PopupVideoPlayer; | ||||
| import org.schabi.newpipe.player.helper.PlayerHelper; | ||||
| import org.schabi.newpipe.player.old.PlayVideoActivity; | ||||
| import org.schabi.newpipe.player.playqueue.PlayQueue; | ||||
| import org.schabi.newpipe.player.playqueue.SinglePlayQueue; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| @@ -921,7 +920,7 @@ public class VideoDetailFragment | ||||
|                 .getBoolean(this.getString(R.string.use_external_video_player_key), false)) { | ||||
|             startOnExternalPlayer(activity, currentInfo, selectedVideoStream); | ||||
|         } else { | ||||
|             openNormalPlayer(selectedVideoStream); | ||||
|             openNormalPlayer(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -934,24 +933,13 @@ public class VideoDetailFragment | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void openNormalPlayer(VideoStream selectedVideoStream) { | ||||
|     private void openNormalPlayer() { | ||||
|         Intent mIntent; | ||||
|         boolean useOldPlayer = PlayerHelper.isUsingOldPlayer(activity) || (Build.VERSION.SDK_INT < 16); | ||||
|         if (!useOldPlayer) { | ||||
|             // ExoPlayer | ||||
|         final PlayQueue playQueue = new SinglePlayQueue(currentInfo); | ||||
|         mIntent = NavigationHelper.getPlayerIntent(activity, | ||||
|                 MainVideoPlayer.class, | ||||
|                 playQueue, | ||||
|                 getSelectedVideoStream().getResolution()); | ||||
|         } else { | ||||
|             // Internal Player | ||||
|             mIntent = new Intent(activity, PlayVideoActivity.class) | ||||
|                     .putExtra(PlayVideoActivity.VIDEO_TITLE, currentInfo.getName()) | ||||
|                     .putExtra(PlayVideoActivity.STREAM_URL, selectedVideoStream.getUrl()) | ||||
|                     .putExtra(PlayVideoActivity.VIDEO_URL, currentInfo.getUrl()) | ||||
|                     .putExtra(PlayVideoActivity.START_POSITION, currentInfo.getStartPosition()); | ||||
|         } | ||||
|         startActivity(mIntent); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -68,7 +68,6 @@ import org.schabi.newpipe.extractor.stream.VideoStream; | ||||
| import org.schabi.newpipe.player.event.PlayerEventListener; | ||||
| import org.schabi.newpipe.player.helper.LockManager; | ||||
| import org.schabi.newpipe.player.helper.PlayerHelper; | ||||
| import org.schabi.newpipe.player.old.PlayVideoActivity; | ||||
| import org.schabi.newpipe.player.resolver.MediaSourceTag; | ||||
| import org.schabi.newpipe.player.resolver.VideoPlaybackResolver; | ||||
| import org.schabi.newpipe.util.ListHelper; | ||||
| @@ -80,7 +79,6 @@ import java.util.List; | ||||
| import static org.schabi.newpipe.player.BasePlayer.STATE_PLAYING; | ||||
| import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_DURATION; | ||||
| import static org.schabi.newpipe.player.VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME; | ||||
| import static org.schabi.newpipe.player.helper.PlayerHelper.isUsingOldPlayer; | ||||
| import static org.schabi.newpipe.util.AnimationUtils.animateView; | ||||
|  | ||||
| /** | ||||
| @@ -554,9 +552,7 @@ public final class PopupVideoPlayer extends Service { | ||||
|             if (DEBUG) Log.d(TAG, "onFullScreenButtonClicked() called"); | ||||
|  | ||||
|             setRecovery(); | ||||
|             Intent intent; | ||||
|             if (!isUsingOldPlayer(getApplicationContext())) { | ||||
|                 intent = NavigationHelper.getPlayerIntent( | ||||
|             final Intent intent = NavigationHelper.getPlayerIntent( | ||||
|                     context, | ||||
|                     MainVideoPlayer.class, | ||||
|                     this.getPlayQueue(), | ||||
| @@ -567,14 +563,6 @@ public final class PopupVideoPlayer extends Service { | ||||
|                     this.getPlaybackQuality() | ||||
|             ); | ||||
|             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||
|             } else { | ||||
|                 intent = new Intent(PopupVideoPlayer.this, PlayVideoActivity.class) | ||||
|                         .putExtra(PlayVideoActivity.VIDEO_TITLE, getVideoTitle()) | ||||
|                         .putExtra(PlayVideoActivity.STREAM_URL, getSelectedVideoStream().getUrl()) | ||||
|                         .putExtra(PlayVideoActivity.VIDEO_URL, getVideoUrl()) | ||||
|                         .putExtra(PlayVideoActivity.START_POSITION, Math.round(getPlayer().getCurrentPosition() / 1000f)); | ||||
|                 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||
|             } | ||||
|             context.startActivity(intent); | ||||
|             closePopup(); | ||||
|         } | ||||
|   | ||||
| @@ -177,10 +177,6 @@ public class PlayerHelper { | ||||
|         return isBrightnessGestureEnabled(context, true); | ||||
|     } | ||||
|  | ||||
|     public static boolean isUsingOldPlayer(@NonNull final Context context) { | ||||
|         return isUsingOldPlayer(context, false); | ||||
|     } | ||||
|  | ||||
|     public static boolean isRememberingPopupDimensions(@NonNull final Context context) { | ||||
|         return isRememberingPopupDimensions(context, true); | ||||
|     } | ||||
| @@ -318,10 +314,6 @@ public class PlayerHelper { | ||||
|         return getPreferences(context).getBoolean(context.getString(R.string.brightness_gesture_control_key), b); | ||||
|     } | ||||
|  | ||||
|     private static boolean isUsingOldPlayer(@NonNull final Context context, final boolean b) { | ||||
|         return getPreferences(context).getBoolean(context.getString(R.string.use_old_player_key), b); | ||||
|     } | ||||
|  | ||||
|     private static boolean isRememberingPopupDimensions(@NonNull final Context context, final boolean b) { | ||||
|         return getPreferences(context).getBoolean(context.getString(R.string.popup_remember_size_pos_key), b); | ||||
|     } | ||||
|   | ||||
| @@ -1,369 +0,0 @@ | ||||
| package org.schabi.newpipe.player.old; | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.content.SharedPreferences; | ||||
| import android.content.pm.ActivityInfo; | ||||
| import android.content.res.Configuration; | ||||
| import android.media.AudioManager; | ||||
| import android.media.MediaPlayer; | ||||
| import android.net.Uri; | ||||
| import android.os.Build; | ||||
| import android.os.Bundle; | ||||
| import android.os.Handler; | ||||
| import android.support.v7.app.ActionBar; | ||||
| import android.support.v7.app.AppCompatActivity; | ||||
| import android.util.DisplayMetrics; | ||||
| import android.util.Log; | ||||
| import android.view.Display; | ||||
| import android.view.KeyEvent; | ||||
| import android.view.Menu; | ||||
| import android.view.MenuInflater; | ||||
| import android.view.MenuItem; | ||||
| import android.view.View; | ||||
| import android.view.WindowManager; | ||||
| import android.widget.Button; | ||||
| import android.widget.MediaController; | ||||
| import android.widget.ProgressBar; | ||||
| import android.widget.VideoView; | ||||
|  | ||||
| import org.schabi.newpipe.R; | ||||
|  | ||||
| /* | ||||
|  * Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org> | ||||
|  * PlayVideoActivity.java is part of NewPipe. | ||||
|  * | ||||
|  * NewPipe is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * NewPipe is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with NewPipe.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| public class PlayVideoActivity extends AppCompatActivity { | ||||
|  | ||||
|     //// TODO: 11.09.15 add "choose stream" menu  | ||||
|      | ||||
|     private static final String TAG = PlayVideoActivity.class.toString(); | ||||
|     public static final String VIDEO_URL = "video_url"; | ||||
|     public static final String STREAM_URL = "stream_url"; | ||||
|     public static final String VIDEO_TITLE = "video_title"; | ||||
|     private static final String POSITION = "position"; | ||||
|     public static final String START_POSITION = "start_position"; | ||||
|  | ||||
|     private static final long HIDING_DELAY = 3000; | ||||
|  | ||||
|     private String videoUrl = ""; | ||||
|  | ||||
|     private ActionBar actionBar; | ||||
|     private VideoView videoView; | ||||
|     private int position; | ||||
|     private MediaController mediaController; | ||||
|     private ProgressBar progressBar; | ||||
|     private View decorView; | ||||
|     private boolean uiIsHidden; | ||||
|     private static long lastUiShowTime; | ||||
|     private boolean isLandscape = true; | ||||
|     private boolean hasSoftKeys; | ||||
|  | ||||
|     private SharedPreferences prefs; | ||||
|     private static final String PREF_IS_LANDSCAPE = "is_landscape"; | ||||
|  | ||||
|     @Override | ||||
|     protected void onCreate(Bundle savedInstanceState) { | ||||
|         super.onCreate(savedInstanceState); | ||||
|  | ||||
|         setContentView(R.layout.activity_play_video); | ||||
|         setVolumeControlStream(AudioManager.STREAM_MUSIC); | ||||
|  | ||||
|         //set background arrow style | ||||
|         getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_arrow_back_white_24dp); | ||||
|  | ||||
|         isLandscape = checkIfLandscape(); | ||||
|         hasSoftKeys = checkIfHasSoftKeys(); | ||||
|  | ||||
|         actionBar = getSupportActionBar(); | ||||
|         assert actionBar != null; | ||||
|         actionBar.setDisplayHomeAsUpEnabled(true); | ||||
|         Intent intent = getIntent(); | ||||
|         if(mediaController == null) { | ||||
|             //prevents back button hiding media controller controls (after showing them) | ||||
|             //instead of exiting video | ||||
|             //see http://stackoverflow.com/questions/6051825 | ||||
|             //also solves https://github.com/theScrabi/NewPipe/issues/99 | ||||
|             mediaController = new MediaController(this) { | ||||
|                 @Override | ||||
|                 public boolean dispatchKeyEvent(KeyEvent event) { | ||||
|                     int keyCode = event.getKeyCode(); | ||||
|                     final boolean uniqueDown = event.getRepeatCount() == 0 | ||||
|                             && event.getAction() == KeyEvent.ACTION_DOWN; | ||||
|                     if (keyCode == KeyEvent.KEYCODE_BACK) { | ||||
|                         if (uniqueDown) | ||||
|                         { | ||||
|                             if (isShowing()) { | ||||
|                                 finish(); | ||||
|                             } else { | ||||
|                                 hide(); | ||||
|                             } | ||||
|                         } | ||||
|                         return true; | ||||
|                     } | ||||
|                     return super.dispatchKeyEvent(event); | ||||
|                 } | ||||
|             }; | ||||
|         } | ||||
|  | ||||
|         position = intent.getIntExtra(START_POSITION, 0)*1000;//convert from seconds to milliseconds | ||||
|  | ||||
|         videoView = findViewById(R.id.video_view); | ||||
|         progressBar = findViewById(R.id.play_video_progress_bar); | ||||
|         try { | ||||
|             videoView.setMediaController(mediaController); | ||||
|             videoView.setVideoURI(Uri.parse(intent.getStringExtra(STREAM_URL))); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         videoView.requestFocus(); | ||||
|         videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { | ||||
|             @Override | ||||
|             public void onPrepared(MediaPlayer mp) { | ||||
|                 progressBar.setVisibility(View.GONE); | ||||
|                 videoView.seekTo(position); | ||||
|                 if (position <= 0) { | ||||
|                     videoView.start(); | ||||
|                     showUi(); | ||||
|                 } else { | ||||
|                     videoView.pause(); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         videoUrl = intent.getStringExtra(VIDEO_URL); | ||||
|  | ||||
|         Button button = findViewById(R.id.content_button); | ||||
|         button.setOnClickListener(new View.OnClickListener() { | ||||
|             @Override | ||||
|             public void onClick(View v) { | ||||
|                 if(uiIsHidden) { | ||||
|                     showUi(); | ||||
|                 } else { | ||||
|                     hideUi(); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         decorView = getWindow().getDecorView(); | ||||
|         decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { | ||||
|             @Override | ||||
|             public void onSystemUiVisibilityChange(int visibility) { | ||||
|                 if (visibility == View.VISIBLE && uiIsHidden) { | ||||
|                     showUi(); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|  | ||||
|         if (android.os.Build.VERSION.SDK_INT >= 17) { | ||||
|             decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | ||||
|                     | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | ||||
|                     | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); | ||||
|         } | ||||
|  | ||||
|         prefs = getPreferences(Context.MODE_PRIVATE); | ||||
|         if(prefs.getBoolean(PREF_IS_LANDSCAPE, false) && !isLandscape) { | ||||
|             toggleOrientation(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCreatePanelMenu(int featured, Menu menu) { | ||||
|         super.onCreatePanelMenu(featured, menu); | ||||
|         MenuInflater inflater = getMenuInflater(); | ||||
|         inflater.inflate(R.menu.video_player, menu); | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onPause() { | ||||
|         super.onPause(); | ||||
|         videoView.pause(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onResume() { | ||||
|         super.onResume(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected void onDestroy() { | ||||
|         super.onDestroy(); | ||||
|         prefs = getPreferences(Context.MODE_PRIVATE); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean onOptionsItemSelected(MenuItem item) { | ||||
|         int id = item.getItemId(); | ||||
|         switch(id) { | ||||
|             case android.R.id.home: | ||||
|                 finish(); | ||||
|                 break; | ||||
|             case R.id.menu_item_share: | ||||
|                 Intent intent = new Intent(); | ||||
|                 intent.setAction(Intent.ACTION_SEND); | ||||
|                 intent.putExtra(Intent.EXTRA_TEXT, videoUrl); | ||||
|                 intent.setType("text/plain"); | ||||
|                 startActivity(Intent.createChooser(intent, getString(R.string.share_dialog_title))); | ||||
|                 break; | ||||
|             case R.id.menu_item_screen_rotation: | ||||
|                 toggleOrientation(); | ||||
|                 break; | ||||
|             default: | ||||
|                 Log.e(TAG, "Error: MenuItem not known"); | ||||
|                 return false; | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onConfigurationChanged(Configuration config) { | ||||
|         super.onConfigurationChanged(config); | ||||
|  | ||||
|         if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { | ||||
|             isLandscape = true; | ||||
|             adjustMediaControlMetrics(); | ||||
|         } else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){ | ||||
|             isLandscape = false; | ||||
|             adjustMediaControlMetrics(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onSaveInstanceState(Bundle savedInstanceState) { | ||||
|         super.onSaveInstanceState(savedInstanceState); | ||||
|         //savedInstanceState.putInt(POSITION, videoView.getCurrentPosition()); | ||||
|         //videoView.pause(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onRestoreInstanceState(Bundle savedInstanceState) { | ||||
|         super.onRestoreInstanceState(savedInstanceState); | ||||
|         position = savedInstanceState.getInt(POSITION); | ||||
|         //videoView.seekTo(position); | ||||
|     } | ||||
|  | ||||
|     private void showUi() { | ||||
|         try { | ||||
|             uiIsHidden = false; | ||||
|             mediaController.show(100000); | ||||
|             actionBar.show(); | ||||
|             adjustMediaControlMetrics(); | ||||
|             getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); | ||||
|             Handler handler = new Handler(); | ||||
|             handler.postDelayed(new Runnable() { | ||||
|                 @Override | ||||
|                 public void run() { | ||||
|                     if ((System.currentTimeMillis() - lastUiShowTime) >= HIDING_DELAY) { | ||||
|                         hideUi(); | ||||
|                     } | ||||
|                 } | ||||
|             }, HIDING_DELAY); | ||||
|             lastUiShowTime = System.currentTimeMillis(); | ||||
|         }catch(Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void hideUi() { | ||||
|         uiIsHidden = true; | ||||
|         actionBar.hide(); | ||||
|         mediaController.hide(); | ||||
|         if (android.os.Build.VERSION.SDK_INT >= 17) { | ||||
|             decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | ||||
|                     | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | ||||
|                     | View.SYSTEM_UI_FLAG_FULLSCREEN | ||||
|                     | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | ||||
|                     | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); | ||||
|         } | ||||
|         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, | ||||
|                 WindowManager.LayoutParams.FLAG_FULLSCREEN); | ||||
|     } | ||||
|  | ||||
|     private void adjustMediaControlMetrics() { | ||||
|         MediaController.LayoutParams mediaControllerLayout | ||||
|                 = new MediaController.LayoutParams(MediaController.LayoutParams.MATCH_PARENT, | ||||
|                 MediaController.LayoutParams.WRAP_CONTENT); | ||||
|  | ||||
|         if(!hasSoftKeys) { | ||||
|             mediaControllerLayout.setMargins(20, 0, 20, 20); | ||||
|         } else { | ||||
|             int width = getNavigationBarWidth(); | ||||
|             int height = getNavigationBarHeight(); | ||||
|             mediaControllerLayout.setMargins(width + 20, 0, width + 20, height + 20); | ||||
|         } | ||||
|         mediaController.setLayoutParams(mediaControllerLayout); | ||||
|     } | ||||
|  | ||||
|     private boolean checkIfHasSoftKeys(){ | ||||
|         return Build.VERSION.SDK_INT >= 17 || | ||||
|                 getNavigationBarHeight() != 0 || | ||||
|                 getNavigationBarWidth() != 0; | ||||
|     } | ||||
|  | ||||
|     private int getNavigationBarHeight() { | ||||
|         if(Build.VERSION.SDK_INT >= 17) { | ||||
|             Display d = getWindowManager().getDefaultDisplay(); | ||||
|  | ||||
|             DisplayMetrics realDisplayMetrics = new DisplayMetrics(); | ||||
|             d.getRealMetrics(realDisplayMetrics); | ||||
|             DisplayMetrics displayMetrics = new DisplayMetrics(); | ||||
|             d.getMetrics(displayMetrics); | ||||
|  | ||||
|             int realHeight = realDisplayMetrics.heightPixels; | ||||
|             int displayHeight = displayMetrics.heightPixels; | ||||
|             return realHeight - displayHeight; | ||||
|         } else { | ||||
|             return 50; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private int getNavigationBarWidth() { | ||||
|         if(Build.VERSION.SDK_INT >= 17) { | ||||
|             Display d = getWindowManager().getDefaultDisplay(); | ||||
|  | ||||
|             DisplayMetrics realDisplayMetrics = new DisplayMetrics(); | ||||
|             d.getRealMetrics(realDisplayMetrics); | ||||
|             DisplayMetrics displayMetrics = new DisplayMetrics(); | ||||
|             d.getMetrics(displayMetrics); | ||||
|  | ||||
|             int realWidth = realDisplayMetrics.widthPixels; | ||||
|             int displayWidth = displayMetrics.widthPixels; | ||||
|             return realWidth - displayWidth; | ||||
|         } else { | ||||
|             return 50; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private boolean checkIfLandscape() { | ||||
|         DisplayMetrics displayMetrics = new DisplayMetrics(); | ||||
|         getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); | ||||
|         return displayMetrics.heightPixels < displayMetrics.widthPixels; | ||||
|     } | ||||
|  | ||||
|     private void toggleOrientation() { | ||||
|         if(isLandscape)  { | ||||
|             isLandscape = false; | ||||
|             setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); | ||||
|         } else { | ||||
|             isLandscape = true; | ||||
|             setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); | ||||
|         } | ||||
|         SharedPreferences.Editor editor = prefs.edit(); | ||||
|         editor.putBoolean(PREF_IS_LANDSCAPE, isLandscape); | ||||
|         editor.apply(); | ||||
|     } | ||||
| } | ||||
| @@ -49,7 +49,6 @@ import org.schabi.newpipe.player.MainVideoPlayer; | ||||
| import org.schabi.newpipe.player.PopupVideoPlayer; | ||||
| import org.schabi.newpipe.player.PopupVideoPlayerActivity; | ||||
| import org.schabi.newpipe.player.VideoPlayer; | ||||
| import org.schabi.newpipe.player.old.PlayVideoActivity; | ||||
| import org.schabi.newpipe.player.playqueue.PlayQueue; | ||||
| import org.schabi.newpipe.settings.SettingsActivity; | ||||
|  | ||||
| @@ -117,26 +116,6 @@ public class NavigationHelper { | ||||
|         context.startActivity(playerIntent); | ||||
|     } | ||||
|  | ||||
|     public static void playOnOldVideoPlayer(Context context, StreamInfo info) { | ||||
|         ArrayList<VideoStream> videoStreamsList = new ArrayList<>(ListHelper.getSortedStreamVideosList(context, info.getVideoStreams(), null, false)); | ||||
|         int index = ListHelper.getDefaultResolutionIndex(context, videoStreamsList); | ||||
|  | ||||
|         if (index == -1) { | ||||
|             Toast.makeText(context, R.string.video_streams_empty, Toast.LENGTH_SHORT).show(); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         VideoStream videoStream = videoStreamsList.get(index); | ||||
|         Intent intent = new Intent(context, PlayVideoActivity.class) | ||||
|                 .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) | ||||
|                 .putExtra(PlayVideoActivity.VIDEO_TITLE, info.getName()) | ||||
|                 .putExtra(PlayVideoActivity.STREAM_URL, videoStream.getUrl()) | ||||
|                 .putExtra(PlayVideoActivity.VIDEO_URL, info.getUrl()) | ||||
|                 .putExtra(PlayVideoActivity.START_POSITION, info.getStartPosition()); | ||||
|  | ||||
|         context.startActivity(intent); | ||||
|     } | ||||
|  | ||||
|     public static void playOnPopupPlayer(final Context context, final PlayQueue queue) { | ||||
|         if (!PermissionHelper.isPopupEnabled(context)) { | ||||
|             PermissionHelper.showPopupEnablementToast(context); | ||||
|   | ||||
| @@ -165,8 +165,6 @@ | ||||
|     <string name="audio">الصوت</string> | ||||
|     <string name="retry">إعادة المحاولة</string> | ||||
|     <string name="storage_permission_denied">تم رفض إذن الوصول إلى التخزين</string> | ||||
|     <string name="use_old_player_title">استخدام المشغل القديم</string> | ||||
|     <string name="use_old_player_summary">المشغل القديم المدمج في إطار Mediaframework</string> | ||||
|  | ||||
|     <string name="short_thousand">ألف</string> | ||||
|     <string name="short_million">مليون</string> | ||||
|   | ||||
| @@ -17,7 +17,6 @@ | ||||
|     <string name="use_external_video_player_key" translatable="false">use_external_video_player</string> | ||||
|     <string name="use_external_audio_player_key" translatable="false">use_external_audio_player</string> | ||||
|     <string name="autoplay_through_intent_key" translatable="false">autoplay_through_intent</string> | ||||
|     <string name="use_old_player_key" translatable="false">use_oldplayer</string> | ||||
|  | ||||
|     <string name="volume_gesture_control_key" translatable="false">volume_gesture_control</string> | ||||
|     <string name="brightness_gesture_control_key" translatable="false">brightness_gesture_control</string> | ||||
|   | ||||
| @@ -239,8 +239,6 @@ | ||||
|     <string name="audio">Audio</string> | ||||
|     <string name="retry">Retry</string> | ||||
|     <string name="storage_permission_denied">Storage access permission denied</string> | ||||
|     <string name="use_old_player_title">Use old player</string> | ||||
|     <string name="use_old_player_summary">Old built-in Mediaframework player</string> | ||||
|  | ||||
|     <string name="short_thousand">K</string> | ||||
|     <string name="short_million">M</string> | ||||
|   | ||||
| @@ -29,12 +29,6 @@ | ||||
|         android:summary="@string/show_search_suggestions_summary" | ||||
|         android:title="@string/show_search_suggestions_title"/> | ||||
|  | ||||
|     <SwitchPreference | ||||
|         android:defaultValue="false" | ||||
|         android:key="@string/auto_queue_key" | ||||
|         android:summary="@string/auto_queue_summary" | ||||
|         android:title="@string/auto_queue_title"/> | ||||
|  | ||||
|     <SwitchPreference | ||||
|         android:defaultValue="true" | ||||
|         android:key="@string/download_thumbnail_key" | ||||
|   | ||||
| @@ -64,12 +64,6 @@ | ||||
|             android:key="@string/use_external_audio_player_key" | ||||
|             android:title="@string/use_external_audio_player_title"/> | ||||
|  | ||||
|         <SwitchPreference | ||||
|             android:defaultValue="false" | ||||
|             android:key="@string/use_old_player_key" | ||||
|             android:summary="@string/use_old_player_summary" | ||||
|             android:title="@string/use_old_player_title"/> | ||||
|  | ||||
|         <SwitchPreference | ||||
|             android:defaultValue="false" | ||||
|             android:key="@string/show_play_with_kodi_key" | ||||
| @@ -98,6 +92,12 @@ | ||||
|             android:summary="@string/minimize_on_exit_summary" | ||||
|             android:title="@string/minimize_on_exit_title"/> | ||||
|  | ||||
|         <SwitchPreference | ||||
|             android:defaultValue="false" | ||||
|             android:key="@string/auto_queue_key" | ||||
|             android:summary="@string/auto_queue_summary" | ||||
|             android:title="@string/auto_queue_title"/> | ||||
|  | ||||
|         <SwitchPreference | ||||
|             android:defaultValue="false" | ||||
|             android:key="@string/resume_on_audio_focus_gain_key" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Christian Schabesberger
					Christian Schabesberger