diff options
| author | JosJuice <josjuice@gmail.com> | 2025-11-22 17:00:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-22 17:00:03 +0100 |
| commit | f4f7424a9f059a25ec09b22a280d03fcf0e751eb (patch) | |
| tree | da9b25179aad7e305bada139bb2062951e68542d /Source/Core | |
| parent | e526c1ffde96e619bc764167f6fc337db74551ed (diff) | |
| parent | ddced1a070848d935bd1d140eed549a4cae89566 (diff) | |
Merge pull request #13583 from LillyJadeKatrin/retroachievements-android
Android Support for RetroAchievements
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/AchievementManager.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/Core/AchievementManager.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index 7a41d57c84..4dc581d125 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -49,8 +49,13 @@ #include <shlwapi.h> #endif // RC_CLIENT_SUPPORTS_RAINTEGRATION +#ifdef ANDROID +static const Common::HttpRequest::Headers USER_AGENT_HEADER = { + {"User-Agent", Common::GetUserAgentStr() + " (Android)"}}; +#else // ANDROID static const Common::HttpRequest::Headers USER_AGENT_HEADER = { {"User-Agent", Common::GetUserAgentStr()}}; +#endif // ANDROID AchievementManager& AchievementManager::GetInstance() { @@ -911,6 +916,7 @@ void AchievementManager::LoginCallback(int result, const char* error_message, rc Config::Get(Config::RA_USERNAME)); Config::SetBaseOrCurrent(Config::RA_API_TOKEN, ""); instance.update_event.Trigger({.failed_login_code = result}); + instance.login_event.Trigger(result); return; } @@ -923,6 +929,7 @@ void AchievementManager::LoginCallback(int result, const char* error_message, rc { WARN_LOG_FMT(ACHIEVEMENTS, "Failed to retrieve user information from client."); instance.update_event.Trigger({.failed_login_code = RC_INVALID_STATE}); + instance.login_event.Trigger(RC_INVALID_STATE); return; } @@ -942,9 +949,12 @@ void AchievementManager::LoginCallback(int result, const char* error_message, rc user->username, Config::Get(Config::RA_USERNAME)); rc_client_logout(client); instance.update_event.Trigger({.failed_login_code = RC_INVALID_STATE}); + instance.login_event.Trigger(RC_INVALID_STATE); return; } } + instance.login_event.Trigger(RC_OK); + INFO_LOG_FMT(ACHIEVEMENTS, "Successfully logged in {} to RetroAchievements server.", user->username); std::lock_guard lg{instance.GetLock()}; diff --git a/Source/Core/Core/AchievementManager.h b/Source/Core/Core/AchievementManager.h index b666b3f862..0c486deeba 100644 --- a/Source/Core/Core/AchievementManager.h +++ b/Source/Core/Core/AchievementManager.h @@ -121,6 +121,7 @@ public: int failed_login_code = 0; }; Common::HookableEvent<const UpdatedItems&> update_event; + Common::HookableEvent<int> login_event; static AchievementManager& GetInstance(); void Init(void* hwnd); |
