add CookieManager and WebStorage, but disable them in NewPipe for now

These classes are needed for WhatsApp, but having them available makes
NewPipe try to generate PoTokens in the WebView, which does not work yet,
so we just throw an Exception in NewPipe based on the package name.
This commit is contained in:
Julian Winkler
2025-03-01 16:49:27 +01:00
parent 911b6dff9a
commit fa3292dcb5
3 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package android.webkit;
import android.content.Context;
class ValueCallback {}
public class CookieManager {
public static CookieManager getInstance() {
// HACK: disable NewPipe's WebView based PoToken generator for now
if (Context.this_application.getPackageName().equals("org.schabi.newpipe")) {
throw new RuntimeException("CookieManager not yet fully implemented");
}
return new CookieManager();
}
public void removeAllCookies(ValueCallback callback) {}
public void removeSessionCookies(ValueCallback callback) {}
public void flush() {}
}

View File

@@ -0,0 +1,10 @@
package android.webkit;
public class WebStorage {
public static WebStorage getInstance() {
return new WebStorage();
}
public void deleteAllData() {}
}

View File

@@ -529,6 +529,7 @@ srcs = [
'android/view/inputmethod/InputConnection.java', 'android/view/inputmethod/InputConnection.java',
'android/view/inputmethod/InputMethodManager.java', 'android/view/inputmethod/InputMethodManager.java',
'android/view/textservice/TextServicesManager.java', 'android/view/textservice/TextServicesManager.java',
'android/webkit/CookieManager.java',
'android/webkit/DownloadListener.java', 'android/webkit/DownloadListener.java',
'android/webkit/MimeTypeMap.java', 'android/webkit/MimeTypeMap.java',
'android/webkit/URLUtil.java', 'android/webkit/URLUtil.java',
@@ -536,6 +537,7 @@ srcs = [
'android/webkit/WebChromeClient.java', 'android/webkit/WebChromeClient.java',
'android/webkit/WebResourceResponse.java', 'android/webkit/WebResourceResponse.java',
'android/webkit/WebSettings.java', 'android/webkit/WebSettings.java',
'android/webkit/WebStorage.java',
'android/webkit/WebView.java', 'android/webkit/WebView.java',
'android/webkit/WebViewClient.java', 'android/webkit/WebViewClient.java',
'android/widget/AbsListView.java', 'android/widget/AbsListView.java',