Merge pull request #13583 from LillyJadeKatrin/retroachievements-android

Android Support for RetroAchievements
This commit is contained in:
JosJuice
2025-11-22 17:00:03 +01:00
committed by GitHub
18 changed files with 473 additions and 3 deletions
+10
View File
@@ -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()};
+1
View File
@@ -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);