From 30a9f66c4abfe03fa9d2062162adecaa18f2360d Mon Sep 17 00:00:00 2001 From: Mis012 Date: Fri, 26 Apr 2024 14:49:37 +0200 Subject: [PATCH] api-impl: misc stubs for stupid ad stuff in SubwaySurfers --- src/api-impl/android/app/Activity.java | 10 ++++++++ src/api-impl/android/content/Context.java | 18 ++++++++++++++- .../android/content/res/Resources.java | 5 +--- src/api-impl/android/net/NetworkInfo.java | 4 ++++ src/api-impl/android/net/wifi/WifiInfo.java | 7 ++++++ .../android/net/wifi/WifiManager.java | 4 ++++ src/api-impl/android/os/CountDownTimer.java | 12 ++++++++++ .../android/telephony/CellLocation.java | 5 ++++ .../android/telephony/TelephonyManager.java | 23 ++++++++++++++++++- .../android/webkit/WebChromeClient.java | 5 ++++ src/api-impl/android/webkit/WebSettings.java | 18 +++++++-------- src/api-impl/android/webkit/WebView.java | 23 ++++++++++++++----- src/api-impl/meson.build | 4 ++++ 13 files changed, 117 insertions(+), 21 deletions(-) create mode 100644 src/api-impl/android/net/wifi/WifiInfo.java create mode 100644 src/api-impl/android/os/CountDownTimer.java create mode 100644 src/api-impl/android/telephony/CellLocation.java create mode 100644 src/api-impl/android/webkit/WebChromeClient.java diff --git a/src/api-impl/android/app/Activity.java b/src/api-impl/android/app/Activity.java index e186598f..979837ec 100644 --- a/src/api-impl/android/app/Activity.java +++ b/src/api-impl/android/app/Activity.java @@ -466,6 +466,16 @@ public class Activity extends ContextWrapper implements Window.Callback { return getSharedPreferences(getLocalClassName(), mode); } + protected void onNewIntent(Intent intent) {} + + public final Activity getParent() { + return null; + } + + public boolean hasWindowFocus() { + return true; // FIXME? + } + private native void nativeFinish(long native_window); public static native void nativeRecreateActivity(Activity activity); public static native void nativeStartActivity(Activity activity); diff --git a/src/api-impl/android/content/Context.java b/src/api-impl/android/content/Context.java index 72e674e9..b50f0b1f 100644 --- a/src/api-impl/android/content/Context.java +++ b/src/api-impl/android/content/Context.java @@ -67,13 +67,14 @@ public class Context extends Object { public static final String MEDIA_ROUTER_SERVICE = "media_router"; public static final String WINDOW_SERVICE = "window"; public static final String INPUT_METHOD_SERVICE = "input"; + public static final String POWER_SERVICE = "power"; public static AndroidManifestBlock manifest = null; public static Vibrator vibrator; static AssetManager assets; static DisplayMetrics dm; - protected static Resources r; + public static Resources r; static ApplicationInfo application_info; static Resources.Theme theme; private static Map,Service> runningServices = new HashMap<>(); @@ -355,6 +356,21 @@ public class Context extends Object { return prefs_dir; } + public File getDir(String name, int mode) { + File dir = new File(getFilesDir(), name); + if (!dir.exists()) { + if (!dir.mkdirs()) { + if (dir.exists()) { + // spurious failure; probably racing with another process for this app + return dir; + } + Slog.w(TAG, "Unable to create directory >" + dir.getPath() + "<"); + return null; + } + } + return dir; + } + public File getFileStreamPath(String name) { return makeFilename(getFilesDir(), name); } diff --git a/src/api-impl/android/content/res/Resources.java b/src/api-impl/android/content/res/Resources.java index 6b0c28e9..32a9a63e 100644 --- a/src/api-impl/android/content/res/Resources.java +++ b/src/api-impl/android/content/res/Resources.java @@ -22,8 +22,7 @@ import android.icu.text.PluralRules; import android.graphics.drawable.ColorDrawable; // import android.graphics.Movie; import android.graphics.drawable.Drawable; -// import android.graphics.drawable.ColorDrawable; -// import android.graphics.drawable.Drawable.ConstantState; +import android.graphics.drawable.Drawable.ConstantState; import android.os.Build; import android.os.Bundle; // import android.os.IBinder; @@ -51,8 +50,6 @@ import org.xmlpull.v1.XmlPullParserException; class Movie {} -class ConstantState {} - class IBinder {} /** diff --git a/src/api-impl/android/net/NetworkInfo.java b/src/api-impl/android/net/NetworkInfo.java index c850be1d..ae5c70f6 100644 --- a/src/api-impl/android/net/NetworkInfo.java +++ b/src/api-impl/android/net/NetworkInfo.java @@ -27,4 +27,8 @@ public class NetworkInfo { public boolean isConnected() { return state == State.CONNECTED; } + + public boolean isConnectedOrConnecting() { + return false; + } } diff --git a/src/api-impl/android/net/wifi/WifiInfo.java b/src/api-impl/android/net/wifi/WifiInfo.java new file mode 100644 index 00000000..f365e2b0 --- /dev/null +++ b/src/api-impl/android/net/wifi/WifiInfo.java @@ -0,0 +1,7 @@ +package android.net.wifi; + +public class WifiInfo { + public String getMacAddress() { + return ""; + } +} diff --git a/src/api-impl/android/net/wifi/WifiManager.java b/src/api-impl/android/net/wifi/WifiManager.java index 59728e9f..2e7012b0 100644 --- a/src/api-impl/android/net/wifi/WifiManager.java +++ b/src/api-impl/android/net/wifi/WifiManager.java @@ -16,4 +16,8 @@ public class WifiManager { public WifiLock createWifiLock(int lockType, String tag) { return new WifiLock(); } + + public WifiInfo getConnectionInfo() { + return new WifiInfo(); + } } diff --git a/src/api-impl/android/os/CountDownTimer.java b/src/api-impl/android/os/CountDownTimer.java new file mode 100644 index 00000000..89c75cba --- /dev/null +++ b/src/api-impl/android/os/CountDownTimer.java @@ -0,0 +1,12 @@ +package android.os; + +public abstract class CountDownTimer { + public CountDownTimer(long millisInFuture, long countDownInterval) {} + + public final void cancel() {} + public abstract void onFinish(); + public abstract void onTick(long millisUntilFinished); + public final CountDownTimer start() { + return this; + } +} diff --git a/src/api-impl/android/telephony/CellLocation.java b/src/api-impl/android/telephony/CellLocation.java new file mode 100644 index 00000000..7470c6ff --- /dev/null +++ b/src/api-impl/android/telephony/CellLocation.java @@ -0,0 +1,5 @@ +package android.telephony; + +public class CellLocation { + +} diff --git a/src/api-impl/android/telephony/TelephonyManager.java b/src/api-impl/android/telephony/TelephonyManager.java index aa369a2b..5eb47f0d 100644 --- a/src/api-impl/android/telephony/TelephonyManager.java +++ b/src/api-impl/android/telephony/TelephonyManager.java @@ -1,8 +1,20 @@ package android.telephony; +import java.util.ArrayList; +import java.util.List; + public class TelephonyManager { + // FIXME: can we return null instead of ""? + public String getNetworkOperator() { + return ""; + } + public String getNetworkOperatorName() { - return "none"; // FIXME: can we return null here? + return ""; + } + + public String getSimOperator() { + return ""; } public int getPhoneType() { @@ -10,4 +22,13 @@ public class TelephonyManager { } public String getNetworkCountryIso() {return "";} + public String getSimCountryIso() {return "";} + + public List getNeighboringCellInfo() { + return new ArrayList(0); + } + + public CellLocation getCellLocation() { + return new CellLocation(); + } } diff --git a/src/api-impl/android/webkit/WebChromeClient.java b/src/api-impl/android/webkit/WebChromeClient.java new file mode 100644 index 00000000..fdc2fb40 --- /dev/null +++ b/src/api-impl/android/webkit/WebChromeClient.java @@ -0,0 +1,5 @@ +package android.webkit; + +public class WebChromeClient { + +} diff --git a/src/api-impl/android/webkit/WebSettings.java b/src/api-impl/android/webkit/WebSettings.java index 2efc5b80..3d1f41ad 100644 --- a/src/api-impl/android/webkit/WebSettings.java +++ b/src/api-impl/android/webkit/WebSettings.java @@ -2,18 +2,18 @@ package android.webkit; public class WebSettings { public String getUserAgentString() { - return "FUCK YOU"; + return "GDPR VIOLATION"; } - public void setUserAgentString(String userAgentString) { - } + public void setUserAgentString(String userAgentString) {} - public void setSupportMultipleWindows(boolean supportMultipleWindows) { - } + public void setSupportMultipleWindows(boolean supportMultipleWindows) {} - public void setJavaScriptEnabled(boolean javaScriptEnabled) { - } + public void setJavaScriptEnabled(boolean javaScriptEnabled) {} - public void setSavePassword(boolean savePassword) { - } + public void setSavePassword(boolean savePassword) {} + + public void setGeolocationEnabled(boolean enabled) {} + + public void setCacheMode(int dummy) {} } diff --git a/src/api-impl/android/webkit/WebView.java b/src/api-impl/android/webkit/WebView.java index 6851c5d2..47295554 100644 --- a/src/api-impl/android/webkit/WebView.java +++ b/src/api-impl/android/webkit/WebView.java @@ -13,12 +13,23 @@ public class WebView extends View { return new WebSettings(); } - public void setDownloadListener(DownloadListener downloadListener) { - } + public void setDownloadListener(DownloadListener downloadListener) {} - public void setScrollBarStyle(int scrollBarStyle) { - } + public void setScrollBarStyle(int scrollBarStyle) {} - public void setWebViewClient(WebViewClient webViewClient) { - } + public void setWebViewClient(WebViewClient webViewClient) {} + + public void setVerticalScrollBarEnabled(boolean enabled) {} + + public void addJavascriptInterface(Object dummy, String dummy2) {} + + public void setWebChromeClient(WebChromeClient dummy) {} + + public void removeAllViews() {} + + public void destroy() {} + + public void loadUrl(String url) {} + + public void stopLoading() {} } diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build index b20a9a1e..a28c0610 100644 --- a/src/api-impl/meson.build +++ b/src/api-impl/meson.build @@ -244,6 +244,7 @@ hax_jar = jar('hax', [ 'android/net/Uri.java', 'android/net/http/X509TrustManagerExtensions.java', 'android/net/nsd/NsdManager.java', + 'android/net/wifi/WifiInfo.java', 'android/net/wifi/WifiManager.java', 'android/net/wifi/p2p/WifiP2pManager.java', 'android/nfc/NfcManager.java', @@ -261,6 +262,7 @@ hax_jar = jar('hax', [ 'android/os/Bundle.java', 'android/os/CancellationSignal.java', 'android/os/ConditionVariable.java', + 'android/os/CountDownTimer.java', 'android/os/Debug.java', 'android/os/DropBoxManager.java', 'android/os/Environment.java', @@ -298,6 +300,7 @@ hax_jar = jar('hax', [ 'android/provider/BaseColumns.java', 'android/provider/Settings.java', 'android/telecom/TelecomManager.java', + 'android/telephony/CellLocation.java', 'android/telephony/PhoneStateListener.java', 'android/telephony/SubscriptionManager.java', 'android/telephony/TelephonyManager.java', @@ -422,6 +425,7 @@ hax_jar = jar('hax', [ 'android/view/textservice/TextServicesManager.java', 'android/webkit/DownloadListener.java', 'android/webkit/MimeTypeMap.java', + 'android/webkit/WebChromeClient.java', 'android/webkit/WebSettings.java', 'android/webkit/WebView.java', 'android/webkit/WebViewClient.java',