Merge pull request #478 from okcaptain/dev

Dev
pull/480/head^2
okcaptain 2 years ago committed by GitHub
commit 8d38317c2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      app/src/leanback/AndroidManifest.xml
  2. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 1
      app/src/main/AndroidManifest.xml
  4. 5
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  5. 3
      app/src/mobile/AndroidManifest.xml
  6. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 2
      catvod/src/main/AndroidManifest.xml
  8. 76
      catvod/src/main/java/com/github/catvod/net/OkCookieJar.java
  9. 2
      catvod/src/main/java/com/github/catvod/net/OkHttp.java
  10. 2
      catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java
  11. 3
      forcetech/src/main/AndroidManifest.xml
  12. 2
      hook/src/main/AndroidManifest.xml
  13. 2
      ijkplayer/src/main/AndroidManifest.xml
  14. 2
      jianpian/src/main/AndroidManifest.xml
  15. 2
      pyramid/src/main/AndroidManifest.xml
  16. 2
      quickjs/src/main/AndroidManifest.xml
  17. 2
      thunder/src/main/AndroidManifest.xml
  18. 2
      tvbus/src/main/AndroidManifest.xml
  19. 2
      youtube/src/main/AndroidManifest.xml

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fongmi.android.tv">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature
android:name="android.hardware.touchscreen"

@ -203,7 +203,6 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
mBinding.control.speed.setEnabled(mPlayers.canAdjustSpeed());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
}
private void setDecodeView() {

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.fongmi.android.tv"
tools:ignore="ImpliedTouchscreenHardware,MissingLeanbackLauncher,MissingLeanbackSupport,LeanbackUsesWifi,ScopedStorage">
<uses-permission android:name="android.permission.INTERNET" />

@ -14,6 +14,7 @@ import com.tencent.smtt.export.external.interfaces.SslError;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
import com.tencent.smtt.export.external.interfaces.WebResourceResponse;
import com.tencent.smtt.sdk.CookieManager;
import com.tencent.smtt.sdk.QbSdk;
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebView;
@ -31,7 +32,6 @@ import com.fongmi.android.tv.impl.ParseCallback;
import com.fongmi.android.tv.ui.dialog.WebDialog;
import com.fongmi.android.tv.utils.Sniffer;
import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkCookieJar;
import com.google.common.net.HttpHeaders;
import com.orhanobut.logger.Logger;
@ -108,14 +108,13 @@ public class CustomWebView extends WebView implements DialogInterface.OnDismissL
}
private void start(String url, Map<String, String> headers) {
OkCookieJar.setAcceptThirdPartyCookies(this);
CookieManager.getInstance().setAcceptThirdPartyCookies(this, true);
checkHeader(url, headers);
loadUrl(url, headers);
}
private void checkHeader(String url, Map<String, String> headers) {
for (String key : headers.keySet()) {
if (HttpHeaders.COOKIE.equalsIgnoreCase(key)) OkCookieJar.sync(url, headers.get(key));
if (HttpHeaders.USER_AGENT.equalsIgnoreCase(key)) getSettings().setUserAgentString(headers.get(key));
}
}

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fongmi.android.tv">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature
android:name="android.hardware.camera"

@ -225,7 +225,6 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom
mBinding.control.action.speed.setEnabled(mPlayers.canAdjustSpeed());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.action.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view));
}

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.github.catvod.crawler" />
<manifest />

@ -1,76 +0,0 @@
package com.github.catvod.net;
import android.text.TextUtils;
import com.tencent.smtt.sdk.CookieManager;
import com.tencent.smtt.sdk.WebView;
import androidx.annotation.NonNull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
public class OkCookieJar implements CookieJar {
private CookieManager manager;
private static class Loader {
static volatile OkCookieJar INSTANCE = new OkCookieJar();
}
public static OkCookieJar get() {
return Loader.INSTANCE;
}
private OkCookieJar() {
try {
manager = CookieManager.getInstance();
} catch (Throwable ignored) {
}
}
public static void setAcceptThirdPartyCookies(WebView view) {
try {
get().manager.setAcceptThirdPartyCookies(view, true);
} catch (Throwable ignored) {
}
}
public static void sync(String url, String cookie) {
try {
if (TextUtils.isEmpty(cookie)) return;
for (String split : cookie.split(";")) get().manager.setCookie(url, split);
} catch (Throwable ignored) {
}
}
private void add(List<Cookie> items, Cookie cookie) {
if (cookie != null) items.add(cookie);
}
@NonNull
@Override
public synchronized List<Cookie> loadForRequest(@NonNull HttpUrl url) {
try {
List<Cookie> items = new ArrayList<>();
String cookie = manager.getCookie(url.toString());
if (TextUtils.isEmpty(cookie)) return Collections.emptyList();
for (String split : cookie.split(";")) add(items, Cookie.parse(url, split));
return items;
} catch (Throwable e) {
return Collections.emptyList();
}
}
@Override
public synchronized void saveFromResponse(@NonNull HttpUrl url, @NonNull List<Cookie> cookies) {
try {
for (Cookie cookie : cookies) manager.setCookie(url.toString(), cookie.toString());
} catch (Throwable ignored) {
}
}
}

@ -142,7 +142,7 @@ public class OkHttp {
}
private static OkHttpClient.Builder getBuilder() {
OkHttpClient.Builder builder = new OkHttpClient.Builder().cookieJar(OkCookieJar.get()).addInterceptor(new RequestInterceptor()).addNetworkInterceptor(new ResponseInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).followRedirects(true).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
OkHttpClient.Builder builder = new OkHttpClient.Builder().addInterceptor(new RequestInterceptor()).addNetworkInterceptor(new ResponseInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).followRedirects(true).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
builder.proxySelector(get().proxy ? selector() : defaultSelector);
return builder;
}

@ -3,7 +3,6 @@ package com.github.catvod.net.interceptor;
import androidx.annotation.NonNull;
import com.github.catvod.Proxy;
import com.github.catvod.net.OkCookieJar;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
@ -23,7 +22,6 @@ public class RequestInterceptor implements Interceptor {
URI uri = request.url().uri();
String url = request.url().toString();
Request.Builder builder = request.newBuilder();
OkCookieJar.sync(url, request.header(HttpHeaders.COOKIE));
boolean local = url.contains(":" + Proxy.getPort() + "/");
if (url.contains("+") && local) builder.url(url.replace("+", "%2B"));
if (url.contains("gitcode.net")) builder.header(HttpHeaders.USER_AGENT, Util.CHROME);

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.forcetech">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.fongmi.hook" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="tv.danmaku.ijk.media.player" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.p2p" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.undcover.freedom.pyramid" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.fongmi.android.tv.quickjs" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.ghost.thunder" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tvbus.engine" />
<manifest />

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.github.kiulian.downloader" />
<manifest />
Loading…
Cancel
Save