diff options
| author | Simonx22 <simon@oatmealdome.me> | 2025-11-08 10:47:24 -0500 |
|---|---|---|
| committer | Simonx22 <simon@oatmealdome.me> | 2025-11-08 12:14:40 -0500 |
| commit | 82f658a28fef217e2270082206a08fed4b579903 (patch) | |
| tree | fafdf7face35cc2c5cf418a087eba09aa0d5b386 /Source/Android | |
| parent | 9d27c145b9a43d58f4a2827d60626357aba428af (diff) | |
Android: Use the shared HTTP analytics backend
We can now route Android analytics through Common::HttpAnalyticsBackend, drop the Volley sender, and keep the JNI layer limited to only transfer metadata since https://bugs.dolphin-emu.org/issues/11772 has been fixed.
Diffstat (limited to 'Source/Android')
7 files changed, 0 insertions, 75 deletions
diff --git a/Source/Android/app/build.gradle.kts b/Source/Android/app/build.gradle.kts index 1e564e75e1..54a12a6058 100644 --- a/Source/Android/app/build.gradle.kts +++ b/Source/Android/app/build.gradle.kts @@ -144,9 +144,6 @@ dependencies { implementation("androidx.leanback:leanback:1.0.0") implementation("androidx.tvprovider:tvprovider:1.0.0") - // For REST calls - implementation("com.android.volley:volley:1.2.1") - // For loading game covers from disk and GameTDB implementation("io.coil-kt:coil:2.6.0") diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java index 91200852a1..7978a1165e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java @@ -11,7 +11,6 @@ import org.dolphinemu.dolphinemu.utils.ActivityTracker; import org.dolphinemu.dolphinemu.utils.DirectoryInitialization; import org.dolphinemu.dolphinemu.utils.GCAdapter; import org.dolphinemu.dolphinemu.utils.WiimoteAdapter; -import org.dolphinemu.dolphinemu.utils.VolleyUtil; public class DolphinApplication extends Application { @@ -25,7 +24,6 @@ public class DolphinApplication extends Application application = this; sActivityTracker = new ActivityTracker(); registerActivityLifecycleCallbacks(sActivityTracker); - VolleyUtil.init(getApplicationContext()); System.loadLibrary("main"); GCAdapter.manager = (UsbManager) getSystemService(Context.USB_SERVICE); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.kt index c265db5945..3138609266 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.kt @@ -5,8 +5,6 @@ package org.dolphinemu.dolphinemu.utils import android.os.Build import androidx.annotation.Keep import androidx.fragment.app.FragmentActivity -import com.android.volley.Response -import com.android.volley.toolbox.StringRequest import org.dolphinemu.dolphinemu.DolphinApplication import org.dolphinemu.dolphinemu.dialogs.AnalyticsDialog import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting @@ -39,21 +37,6 @@ object Analytics { @Keep @JvmStatic - fun sendReport(endpoint: String, data: ByteArray) { - val request: StringRequest = object : StringRequest( - Method.POST, - endpoint, - null, - Response.ErrorListener { Log.debug("Failed to send report") }) { - override fun getBody(): ByteArray { - return data - } - } - VolleyUtil.getQueue().add(request) - } - - @Keep - @JvmStatic fun getValue(key: String?): String { return when (key) { DEVICE_MODEL -> Build.MODEL diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/VolleyUtil.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/VolleyUtil.java deleted file mode 100644 index 2ac6035461..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/VolleyUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.utils; - -import android.content.Context; - -import com.android.volley.RequestQueue; -import com.android.volley.toolbox.Volley; - -public class VolleyUtil -{ - private static RequestQueue queue; - - public static void init(Context context) - { - if (queue == null) - queue = Volley.newRequestQueue(context); - } - - public static RequestQueue getQueue() - { - return queue; - } -} diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp index d8dfa2b7c4..67ce1dc554 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.cpp +++ b/Source/Android/jni/AndroidCommon/IDCache.cpp @@ -26,7 +26,6 @@ static jclass s_game_file_cache_class; static jfieldID s_game_file_cache_pointer; static jclass s_analytics_class; -static jmethodID s_send_analytics_report; static jmethodID s_get_analytics_value; static jclass s_pair_class; @@ -191,11 +190,6 @@ jclass GetAnalyticsClass() return s_analytics_class; } -jmethodID GetSendAnalyticsReport() -{ - return s_send_analytics_report; -} - jmethodID GetAnalyticsValue() { return s_get_analytics_value; @@ -623,8 +617,6 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) const jclass analytics_class = env->FindClass("org/dolphinemu/dolphinemu/utils/Analytics"); s_analytics_class = reinterpret_cast<jclass>(env->NewGlobalRef(analytics_class)); - s_send_analytics_report = - env->GetStaticMethodID(s_analytics_class, "sendReport", "(Ljava/lang/String;[B)V"); s_get_analytics_value = env->GetStaticMethodID(s_analytics_class, "getValue", "(Ljava/lang/String;)Ljava/lang/String;"); env->DeleteLocalRef(analytics_class); diff --git a/Source/Android/jni/AndroidCommon/IDCache.h b/Source/Android/jni/AndroidCommon/IDCache.h index e44e68e431..0aaa9feec3 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.h +++ b/Source/Android/jni/AndroidCommon/IDCache.h @@ -19,7 +19,6 @@ jmethodID GetOnTitleChanged(); jmethodID GetFinishEmulationActivity(); jclass GetAnalyticsClass(); -jmethodID GetSendAnalyticsReport(); jmethodID GetAnalyticsValue(); jclass GetGameFileClass(); diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp index 646f745a13..45addcfe1e 100644 --- a/Source/Android/jni/MainAndroid.cpp +++ b/Source/Android/jni/MainAndroid.cpp @@ -18,7 +18,6 @@ #include <fmt/format.h> #include <jni.h> -#include "Common/AndroidAnalytics.h" #include "Common/Assert.h" #include "Common/CPUDetect.h" #include "Common/CommonPaths.h" @@ -221,24 +220,6 @@ static bool MsgAlert(const char* caption, const char* text, bool yes_no, Common: return result != JNI_FALSE; } -static void ReportSend(const std::string& endpoint, const std::string& report) -{ - JNIEnv* env = IDCache::GetEnvForThread(); - - jbyteArray output_array = env->NewByteArray(report.size()); - jbyte* output = env->GetByteArrayElements(output_array, nullptr); - memcpy(output, report.data(), report.size()); - env->ReleaseByteArrayElements(output_array, output, 0); - - jstring j_endpoint = ToJString(env, endpoint); - - env->CallStaticVoidMethod(IDCache::GetAnalyticsClass(), IDCache::GetSendAnalyticsReport(), - j_endpoint, output_array); - - env->DeleteLocalRef(output_array); - env->DeleteLocalRef(j_endpoint); -} - static std::string GetAnalyticValue(const std::string& key) { JNIEnv* env = IDCache::GetEnvForThread(); @@ -565,7 +546,6 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Initialize(J UICommon::CreateDirectories(); Common::RegisterMsgAlertHandler(&MsgAlert); - Common::AndroidSetReportHandler(&ReportSend); DolphinAnalytics::AndroidSetGetValFunc(&GetAnalyticValue); WiimoteReal::InitAdapterClass(); |
