mirror of
https://github.com/MaintainTeam/LastPipeBender.git
synced 2025-02-28 21:38:20 +03:00
WIP: build error fix (still has 2)
This commit is contained in:
parent
c6a71195ad
commit
a9e7a34a8d
3 changed files with 37 additions and 27 deletions
|
@ -14,19 +14,19 @@ public class YouTubeAccountSettingsFragment extends BasePreferenceFragment {
|
||||||
@Override
|
@Override
|
||||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||||
addPreferencesFromResource(R.xml.account_settings_youtube);
|
addPreferencesFromResource(R.xml.account_settings_youtube);
|
||||||
Preference login = findPreference(getString(R.string.login_key));
|
final Preference login = findPreference(getString(R.string.login_key));
|
||||||
Preference logout = findPreference(getString(R.string.logout_key));
|
final Preference logout = findPreference(getString(R.string.logout_key));
|
||||||
login.setOnPreferenceClickListener(preference -> {
|
login.setOnPreferenceClickListener(preference -> {
|
||||||
// Open a webview to login and then get cookies
|
// Open a webview to login and then get cookies
|
||||||
// and save them to the shared preferences
|
// and save them to the shared preferences
|
||||||
Intent intent = new Intent(this.getContext(), YouTubeLoginWebViewActivity.class);
|
final Intent intent = new Intent(this.getContext(), YouTubeLoginWebViewActivity.class);
|
||||||
startActivityForResult(intent, REQUEST_LOGIN);
|
startActivityForResult(intent, REQUEST_LOGIN);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
logout.setOnPreferenceClickListener(preference -> {
|
logout.setOnPreferenceClickListener(preference -> {
|
||||||
// Clear cookies
|
// Clear cookies
|
||||||
defaultPreferences.edit().putString(getString(R.string.youtube_cookies_key), "").apply();
|
defaultPreferences.edit().putString(getString(R.string.youtube_cookies_key), "").apply();
|
||||||
// defaultPreferences.edit().putString(getString(R.string.youtube_po_token), "").apply();
|
// defaultPreferences.edit().putString(getString(R.string.youtube_po_token), "").apply();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
if (defaultPreferences.getString(getString(R.string.youtube_cookies_key), "").equals("")) {
|
if (defaultPreferences.getString(getString(R.string.youtube_cookies_key), "").equals("")) {
|
||||||
|
@ -35,17 +35,20 @@ public class YouTubeAccountSettingsFragment extends BasePreferenceFragment {
|
||||||
login.setEnabled(false);
|
login.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Preference override_cookies_niconico_value = findPreference(getString(R.string.override_cookies_youtube_value_key));
|
// Preference override_cookies_niconico_value =
|
||||||
// override_cookies_niconico_value.setEnabled(defaultPreferences.getBoolean(getString(R.string.override_cookies_youtube_key), false));
|
// findPreference(getString(R.string.override_cookies_youtube_value_key));
|
||||||
|
// override_cookies_niconico_value.setEnabled(
|
||||||
|
// defaultPreferences.getBoolean(getString(R.string.override_cookies_youtube_key), false));
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
|
||||||
if (requestCode == REQUEST_LOGIN && resultCode == RESULT_OK) {
|
if (requestCode == REQUEST_LOGIN && resultCode == RESULT_OK) {
|
||||||
String cookies = data.getStringExtra("cookies");
|
final String cookies = data.getStringExtra("cookies");
|
||||||
String pot = data.getStringExtra("pot");
|
final String pot = data.getStringExtra("pot");
|
||||||
// save cookies to shared preferences
|
// save cookies to shared preferences
|
||||||
defaultPreferences.edit().putString(getString(R.string.youtube_cookies_key), cookies).apply();
|
defaultPreferences.edit().putString(
|
||||||
// defaultPreferences.edit().putString(getString(R.string.youtube_po_token), pot).apply();
|
getString(R.string.youtube_cookies_key), cookies).apply();
|
||||||
|
// defaultPreferences.edit().putString(getString(R.string.youtube_po_token), pot).apply();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package org.schabi.newpipe.views;
|
package org.schabi.newpipe.views;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
//import android.app.AlertDialog;
|
||||||
import android.content.DialogInterface;
|
//import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.webkit.*;
|
//import android.webkit.*;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import org.schabi.newpipe.R;
|
import org.schabi.newpipe.R;
|
||||||
|
|
||||||
|
@ -14,15 +14,17 @@ public class YouTubeLoginWebViewActivity extends AppCompatActivity {
|
||||||
String cookies;
|
String cookies;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(final Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.login_webview);
|
setContentView(R.layout.login_webview);
|
||||||
|
|
||||||
WebView webView = findViewById(R.id.login_webview);
|
final WebView webView = findViewById(R.id.login_webview);
|
||||||
this.webView = webView;
|
this.webView = webView;
|
||||||
WebSettings webSettings = webView.getSettings();
|
final WebSettings webSettings = webView.getSettings();
|
||||||
webSettings.setJavaScriptEnabled(true);
|
webSettings.setJavaScriptEnabled(true);
|
||||||
webSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 10; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36");
|
webSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 10; Mobile) "
|
||||||
|
+ "AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||||
|
+ "Chrome/91.0.4472.120 Mobile Safari/537.36");
|
||||||
|
|
||||||
webView.setWebViewClient(new MyWebViewClient());
|
webView.setWebViewClient(new MyWebViewClient());
|
||||||
webView.loadUrl("https://www.youtube.com/signin");
|
webView.loadUrl("https://www.youtube.com/signin");
|
||||||
|
@ -30,22 +32,24 @@ public class YouTubeLoginWebViewActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private class MyWebViewClient extends WebViewClient {
|
private class MyWebViewClient extends WebViewClient {
|
||||||
@Override
|
@Override
|
||||||
public void onPageFinished(WebView view, String url) {
|
public void onPageFinished(final WebView view, final String url) {
|
||||||
super.onPageFinished(view, url);
|
super.onPageFinished(view, url);
|
||||||
if (url.equals("https://m.youtube.com/?noapp=1") || url.equals("https://m.youtube.com/")) {
|
if (url.equals("https://m.youtube.com/?noapp=1")
|
||||||
|
|| url.equals("https://m.youtube.com/")) {
|
||||||
setCookies(CookieManager.getInstance().getCookie(url));
|
setCookies(CookieManager.getInstance().getCookie(url));
|
||||||
webView.loadUrl("https://music.youtube.com/watch?v=09839DpTctU");
|
webView.loadUrl("https://music.youtube.com/watch?v=09839DpTctU");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
|
public WebResourceResponse shouldInterceptRequest(
|
||||||
String url = request.getUrl().toString();
|
final WebView view, final WebResourceRequest request) {
|
||||||
|
final String url = request.getUrl().toString();
|
||||||
// Filter specific requests
|
// Filter specific requests
|
||||||
if (url.contains("googlevideo.com/videoplayback")) {
|
if (url.contains("googlevideo.com/videoplayback")) {
|
||||||
Uri uri = Uri.parse(url);
|
final Uri uri = Uri.parse(url);
|
||||||
String pot = uri.getQueryParameter("pot");
|
final String pot = uri.getQueryParameter("pot");
|
||||||
Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
intent.putExtra("cookies", cookies);
|
intent.putExtra("cookies", cookies);
|
||||||
intent.putExtra("pot", pot);
|
intent.putExtra("pot", pot);
|
||||||
setResult(RESULT_OK, intent);
|
setResult(RESULT_OK, intent);
|
||||||
|
@ -72,7 +76,7 @@ public class YouTubeLoginWebViewActivity extends AppCompatActivity {
|
||||||
// dialog.show();
|
// dialog.show();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
public void setCookies(String cookies) {
|
public void setCookies(final String cookies) {
|
||||||
this.cookies = cookies;
|
this.cookies = cookies;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,4 +10,7 @@
|
||||||
|
|
||||||
<suppress checks="FileLength"
|
<suppress checks="FileLength"
|
||||||
files="VideoDetailFragment.java"/>
|
files="VideoDetailFragment.java"/>
|
||||||
|
|
||||||
|
<suppress checks="MethodLength"
|
||||||
|
files="VideoDetailFragment.java"/>
|
||||||
</suppressions>
|
</suppressions>
|
||||||
|
|
Loading…
Add table
Reference in a new issue