mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 08:30:44 +00:00
Minor improvements
This commit is contained in:
parent
a8fe329678
commit
adbeff11d4
@ -39,14 +39,16 @@ dependencies {
|
|||||||
compile 'com.android.support:support-v4:25.3.1'
|
compile 'com.android.support:support-v4:25.3.1'
|
||||||
compile 'com.android.support:design:25.3.1'
|
compile 'com.android.support:design:25.3.1'
|
||||||
compile 'com.android.support:recyclerview-v7:25.3.1'
|
compile 'com.android.support:recyclerview-v7:25.3.1'
|
||||||
|
|
||||||
|
compile 'com.google.code.gson:gson:2.7'
|
||||||
compile 'org.jsoup:jsoup:1.8.3'
|
compile 'org.jsoup:jsoup:1.8.3'
|
||||||
compile 'org.mozilla:rhino:1.7.7'
|
compile 'org.mozilla:rhino:1.7.7'
|
||||||
compile 'info.guardianproject.netcipher:netcipher:1.2'
|
|
||||||
compile 'de.hdodenhof:circleimageview:2.0.0'
|
|
||||||
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
|
||||||
compile 'com.github.nirhart:parallaxscroll:1.0'
|
|
||||||
compile 'com.google.code.gson:gson:2.7'
|
|
||||||
compile 'com.nononsenseapps:filepicker:3.0.0'
|
|
||||||
compile 'ch.acra:acra:4.9.0'
|
compile 'ch.acra:acra:4.9.0'
|
||||||
|
compile 'info.guardianproject.netcipher:netcipher:1.2'
|
||||||
|
|
||||||
|
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||||
|
compile 'de.hdodenhof:circleimageview:2.0.0'
|
||||||
|
compile 'com.github.nirhart:parallaxscroll:1.0'
|
||||||
|
compile 'com.nononsenseapps:filepicker:3.0.0'
|
||||||
compile 'com.google.android.exoplayer:exoplayer:r2.3.1'
|
compile 'com.google.android.exoplayer:exoplayer:r2.3.1'
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ import org.schabi.newpipe.extractor.NewPipe;
|
|||||||
import org.schabi.newpipe.report.AcraReportSenderFactory;
|
import org.schabi.newpipe.report.AcraReportSenderFactory;
|
||||||
import org.schabi.newpipe.report.ErrorActivity;
|
import org.schabi.newpipe.report.ErrorActivity;
|
||||||
import org.schabi.newpipe.settings.SettingsActivity;
|
import org.schabi.newpipe.settings.SettingsActivity;
|
||||||
|
import org.schabi.newpipe.util.ThemeHelper;
|
||||||
|
|
||||||
import info.guardianproject.netcipher.NetCipher;
|
import info.guardianproject.netcipher.NetCipher;
|
||||||
import info.guardianproject.netcipher.proxy.OrbotHelper;
|
import info.guardianproject.netcipher.proxy.OrbotHelper;
|
||||||
@ -82,6 +83,8 @@ public class App extends Application {
|
|||||||
// DO NOT REMOVE THIS FUNCTION!!!
|
// DO NOT REMOVE THIS FUNCTION!!!
|
||||||
// Otherwise downloadPathPreference has invalid value.
|
// Otherwise downloadPathPreference has invalid value.
|
||||||
SettingsActivity.initSettings(this);
|
SettingsActivity.initSettings(this);
|
||||||
|
|
||||||
|
ThemeHelper.setTheme(getApplicationContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -8,6 +8,7 @@ import android.os.Bundle;
|
|||||||
import android.support.v4.app.NavUtils;
|
import android.support.v4.app.NavUtils;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.webkit.CookieManager;
|
import android.webkit.CookieManager;
|
||||||
import android.webkit.ValueCallback;
|
import android.webkit.ValueCallback;
|
||||||
@ -48,10 +49,15 @@ public class ReCaptchaActivity extends AppCompatActivity {
|
|||||||
// Set return to Cancel by default
|
// Set return to Cancel by default
|
||||||
setResult(RESULT_CANCELED);
|
setResult(RESULT_CANCELED);
|
||||||
|
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
if (actionBar != null) {
|
||||||
actionBar.setTitle(R.string.reCaptcha_title);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
actionBar.setDisplayShowTitleEnabled(true);
|
actionBar.setTitle(R.string.reCaptcha_title);
|
||||||
|
actionBar.setDisplayShowTitleEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
WebView myWebView = (WebView) findViewById(R.id.reCaptchaWebView);
|
WebView myWebView = (WebView) findViewById(R.id.reCaptchaWebView);
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ public class BackgroundPlayer extends Service {
|
|||||||
powerManager = ((PowerManager) getSystemService(POWER_SERVICE));
|
powerManager = ((PowerManager) getSystemService(POWER_SERVICE));
|
||||||
wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));
|
wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));
|
||||||
|
|
||||||
ThemeHelper.setTheme(this, false);
|
ThemeHelper.setTheme(this);
|
||||||
basePlayerImpl = new BasePlayerImpl(this);
|
basePlayerImpl = new BasePlayerImpl(this);
|
||||||
basePlayerImpl.setup();
|
basePlayerImpl.setup();
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ public class MainVideoPlayer extends Activity {
|
|||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
|
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
|
||||||
ThemeHelper.setTheme(this, false);
|
ThemeHelper.setTheme(this);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) getWindow().setStatusBarColor(Color.BLACK);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) getWindow().setStatusBarColor(Color.BLACK);
|
||||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||||
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
|
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
|
||||||
@ -67,7 +67,7 @@ public class MainVideoPlayer extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
showSystemUi();
|
showSystemUi();
|
||||||
setContentView(R.layout.activity_exo_player);
|
setContentView(R.layout.activity_main_player);
|
||||||
playerImpl = new VideoPlayerImpl();
|
playerImpl = new VideoPlayerImpl();
|
||||||
playerImpl.setup(findViewById(android.R.id.content));
|
playerImpl.setup(findViewById(android.R.id.content));
|
||||||
playerImpl.handleIntent(getIntent());
|
playerImpl.handleIntent(getIntent());
|
||||||
@ -474,7 +474,7 @@ public class MainVideoPlayer extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
|
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
|
||||||
//noinspection PointlessBooleanExpression
|
//noinspection PointlessBooleanExpression
|
||||||
if (DEBUG && true) Log.d(TAG, "MainVideoPlayer.onScroll = " +
|
if (DEBUG && false) Log.d(TAG, "MainVideoPlayer.onScroll = " +
|
||||||
", e1.getRaw = [" + e1.getRawX() + ", " + e1.getRawY() + "]" +
|
", e1.getRaw = [" + e1.getRawX() + ", " + e1.getRawY() + "]" +
|
||||||
", e2.getRaw = [" + e2.getRawX() + ", " + e2.getRawY() + "]" +
|
", e2.getRaw = [" + e2.getRawX() + ", " + e2.getRawY() + "]" +
|
||||||
", distanceXy = [" + distanceX + ", " + distanceY + "]");
|
", distanceXy = [" + distanceX + ", " + distanceY + "]");
|
||||||
@ -531,12 +531,14 @@ public class MainVideoPlayer extends Activity {
|
|||||||
if (playerImpl.getBrightnessTextView().getVisibility() == View.VISIBLE) playerImpl.animateView(playerImpl.getBrightnessTextView(), false, 200, 200);
|
if (playerImpl.getBrightnessTextView().getVisibility() == View.VISIBLE) playerImpl.animateView(playerImpl.getBrightnessTextView(), false, 200, 200);
|
||||||
|
|
||||||
if (playerImpl.isControlsVisible() && playerImpl.getCurrentState() == BasePlayer.STATE_PLAYING) {
|
if (playerImpl.isControlsVisible() && playerImpl.getCurrentState() == BasePlayer.STATE_PLAYING) {
|
||||||
playerImpl.animateView(playerImpl.getControlsRoot(), false, 300, VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME);
|
playerImpl.animateView(playerImpl.getControlsRoot(), false, 300, VideoPlayer.DEFAULT_CONTROLS_HIDE_TIME, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onTouch(View v, MotionEvent event) {
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
|
//noinspection PointlessBooleanExpression
|
||||||
|
if (DEBUG && false) Log.d(TAG, "onTouch() called with: v = [" + v + "], event = [" + event + "]");
|
||||||
gestureDetector.onTouchEvent(event);
|
gestureDetector.onTouchEvent(event);
|
||||||
if (event.getAction() == MotionEvent.ACTION_UP && isMoving) {
|
if (event.getAction() == MotionEvent.ACTION_UP && isMoving) {
|
||||||
isMoving = false;
|
isMoving = false;
|
||||||
|
@ -89,7 +89,7 @@ public class PopupVideoPlayer extends Service {
|
|||||||
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
|
notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE));
|
||||||
|
|
||||||
playerImpl = new VideoPlayerImpl();
|
playerImpl = new VideoPlayerImpl();
|
||||||
ThemeHelper.setTheme(this, false);
|
ThemeHelper.setTheme(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -124,7 +124,6 @@ public class PopupVideoPlayer extends Service {
|
|||||||
playerImpl.destroy();
|
playerImpl.destroy();
|
||||||
if (playerImpl.getRootView() != null) windowManager.removeView(playerImpl.getRootView());
|
if (playerImpl.getRootView() != null) windowManager.removeView(playerImpl.getRootView());
|
||||||
}
|
}
|
||||||
if (imageLoader != null) imageLoader.clearMemoryCache();
|
|
||||||
if (notificationManager != null) notificationManager.cancel(NOTIFICATION_ID);
|
if (notificationManager != null) notificationManager.cancel(NOTIFICATION_ID);
|
||||||
if (currentExtractorWorker != null) {
|
if (currentExtractorWorker != null) {
|
||||||
currentExtractorWorker.cancel();
|
currentExtractorWorker.cancel();
|
||||||
|
@ -125,7 +125,7 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
this.aspectRatioFrameLayout = (AspectRatioFrameLayout) rootView.findViewById(R.id.aspectRatioLayout);
|
this.aspectRatioFrameLayout = (AspectRatioFrameLayout) rootView.findViewById(R.id.aspectRatioLayout);
|
||||||
this.surfaceView = (SurfaceView) rootView.findViewById(R.id.surfaceView);
|
this.surfaceView = (SurfaceView) rootView.findViewById(R.id.surfaceView);
|
||||||
this.surfaceForeground = rootView.findViewById(R.id.surfaceForeground);
|
this.surfaceForeground = rootView.findViewById(R.id.surfaceForeground);
|
||||||
this.loadingPanel = rootView.findViewById(R.id.loadingPanel);
|
this.loadingPanel = rootView.findViewById(R.id.loading_panel);
|
||||||
this.endScreen = (ImageView) rootView.findViewById(R.id.endScreen);
|
this.endScreen = (ImageView) rootView.findViewById(R.id.endScreen);
|
||||||
this.controlAnimationView = (ImageView) rootView.findViewById(R.id.controlAnimationView);
|
this.controlAnimationView = (ImageView) rootView.findViewById(R.id.controlAnimationView);
|
||||||
this.controlsRoot = rootView.findViewById(R.id.playbackControlRoot);
|
this.controlsRoot = rootView.findViewById(R.id.playbackControlRoot);
|
||||||
|
@ -15,6 +15,7 @@ import android.support.design.widget.Snackbar;
|
|||||||
import android.support.v4.app.NavUtils;
|
import android.support.v4.app.NavUtils;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@ -205,19 +206,19 @@ public class ErrorActivity extends AppCompatActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
ThemeHelper.setTheme(this, true);
|
ThemeHelper.setTheme(this);
|
||||||
setContentView(R.layout.activity_error);
|
setContentView(R.layout.activity_error);
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
|
||||||
try {
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
ActionBar actionBar = getSupportActionBar();
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
ActionBar actionBar = getSupportActionBar();
|
||||||
|
if (actionBar != null) {
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
actionBar.setTitle(R.string.error_report_title);
|
actionBar.setTitle(R.string.error_report_title);
|
||||||
actionBar.setDisplayShowTitleEnabled(true);
|
actionBar.setDisplayShowTitleEnabled(true);
|
||||||
} catch (Throwable e) {
|
|
||||||
Log.e(TAG, "Error turing exception handling");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
reportButton = (Button) findViewById(R.id.errorReportButton);
|
reportButton = (Button) findViewById(R.id.errorReportButton);
|
||||||
|
@ -5,4 +5,8 @@ public class Constants {
|
|||||||
public static final String KEY_URL = "key_url";
|
public static final String KEY_URL = "key_url";
|
||||||
public static final String KEY_TITLE = "key_title";
|
public static final String KEY_TITLE = "key_title";
|
||||||
public static final String KEY_LINK_TYPE = "key_link_type";
|
public static final String KEY_LINK_TYPE = "key_link_type";
|
||||||
|
public static final String KEY_OPEN_SEARCH = "key_open_search";
|
||||||
|
public static final String KEY_QUERY = "key_query";
|
||||||
|
|
||||||
|
public static final String KEY_THEME_CHANGE = "key_theme_change";
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,10 @@ import org.schabi.newpipe.player.VideoPlayer;
|
|||||||
@SuppressWarnings({"unused", "WeakerAccess"})
|
@SuppressWarnings({"unused", "WeakerAccess"})
|
||||||
public class NavigationHelper {
|
public class NavigationHelper {
|
||||||
|
|
||||||
|
/*//////////////////////////////////////////////////////////////////////////
|
||||||
|
// Players
|
||||||
|
//////////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
public static Intent getOpenVideoPlayerIntent(Context context, Class targetClazz, StreamInfo info, int selectedStreamIndex) {
|
public static Intent getOpenVideoPlayerIntent(Context context, Class targetClazz, StreamInfo info, int selectedStreamIndex) {
|
||||||
Intent mIntent = new Intent(context, targetClazz)
|
Intent mIntent = new Intent(context, targetClazz)
|
||||||
.putExtra(BasePlayer.VIDEO_TITLE, info.title)
|
.putExtra(BasePlayer.VIDEO_TITLE, info.title)
|
||||||
@ -61,7 +65,6 @@ public class NavigationHelper {
|
|||||||
return mIntent;
|
return mIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*//////////////////////////////////////////////////////////////////////////
|
/*//////////////////////////////////////////////////////////////////////////
|
||||||
// Through Interface (faster)
|
// Through Interface (faster)
|
||||||
//////////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////////*/
|
||||||
@ -115,6 +118,14 @@ public class NavigationHelper {
|
|||||||
context.startActivity(mIntent);
|
context.startActivity(mIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void openSearch(Context context, int serviceId, String query) {
|
||||||
|
Intent mIntent = new Intent(context, MainActivity.class);
|
||||||
|
mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId);
|
||||||
|
mIntent.putExtra(Constants.KEY_QUERY, query);
|
||||||
|
mIntent.putExtra(Constants.KEY_OPEN_SEARCH, true);
|
||||||
|
context.startActivity(mIntent);
|
||||||
|
}
|
||||||
|
|
||||||
private static Intent getOpenIntent(Context context, String url, int serviceId, StreamingService.LinkType type) {
|
private static Intent getOpenIntent(Context context, String url, int serviceId, StreamingService.LinkType type) {
|
||||||
Intent mIntent = new Intent(context, MainActivity.class);
|
Intent mIntent = new Intent(context, MainActivity.class);
|
||||||
mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId);
|
mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId);
|
||||||
|
@ -10,25 +10,33 @@ public class ThemeHelper {
|
|||||||
/**
|
/**
|
||||||
* Apply the selected theme (on NewPipe settings) in the context
|
* Apply the selected theme (on NewPipe settings) in the context
|
||||||
*
|
*
|
||||||
* @param context context that the theme will be applied
|
* @param context context that the theme will be applied
|
||||||
* @param useActionbarTheme whether to use an action bar theme or not
|
|
||||||
*/
|
*/
|
||||||
public static void setTheme(Context context, boolean useActionbarTheme) {
|
public static void setTheme(Context context) {
|
||||||
|
|
||||||
String themeKey = context.getString(R.string.theme_key);
|
String themeKey = context.getString(R.string.theme_key);
|
||||||
String darkTheme = context.getResources().getString(R.string.dark_theme_title);
|
String darkTheme = context.getResources().getString(R.string.dark_theme_title);
|
||||||
String blackTheme = context.getResources().getString(R.string.black_theme_title);
|
String blackTheme = context.getResources().getString(R.string.black_theme_title);
|
||||||
|
|
||||||
String sp = PreferenceManager.getDefaultSharedPreferences(context)
|
String sp = PreferenceManager.getDefaultSharedPreferences(context).getString(themeKey, context.getResources().getString(R.string.light_theme_title));
|
||||||
.getString(themeKey, context.getResources().getString(R.string.light_theme_title));
|
|
||||||
|
|
||||||
if (useActionbarTheme) {
|
if (sp.equals(darkTheme)) context.setTheme(R.style.DarkTheme);
|
||||||
if (sp.equals(darkTheme)) context.setTheme(R.style.DarkTheme);
|
else if (sp.equals(blackTheme)) context.setTheme(R.style.BlackTheme);
|
||||||
else if (sp.equals(blackTheme)) context.setTheme(R.style.BlackTheme);
|
else context.setTheme(R.style.AppTheme);
|
||||||
else context.setTheme(R.style.AppTheme);
|
}
|
||||||
} else {
|
|
||||||
if (sp.equals(darkTheme)) context.setTheme(R.style.DarkTheme_NoActionBar);
|
/**
|
||||||
else if (sp.equals(blackTheme)) context.setTheme(R.style.BlackTheme_NoActionBar);
|
* Return true if the selected theme (on NewPipe settings) is the Light theme
|
||||||
else context.setTheme(R.style.AppTheme_NoActionBar);
|
*
|
||||||
}
|
* @param context context to get the preference
|
||||||
|
*/
|
||||||
|
public static boolean isLightThemeSelected(Context context) {
|
||||||
|
String themeKey = context.getString(R.string.theme_key);
|
||||||
|
String darkTheme = context.getResources().getString(R.string.dark_theme_title);
|
||||||
|
String blackTheme = context.getResources().getString(R.string.black_theme_title);
|
||||||
|
|
||||||
|
String sp = PreferenceManager.getDefaultSharedPreferences(context).getString(themeKey, context.getResources().getString(R.string.light_theme_title));
|
||||||
|
|
||||||
|
return !(sp.equals(darkTheme) || sp.equals(blackTheme));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user