Skip to content

Commit 4f0239f

Browse files
committed
refetch avatar image if server indicates a newer one is available
1 parent c4b16bc commit 4f0239f

17 files changed

Lines changed: 104 additions & 220 deletions

src/Exports.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ static void HandleLoginResponse(int nResult, const char* sErrorMessage, rc_clien
331331

332332
// start fetching the avatar image
333333
ra::services::ServiceLocator::GetMutable<ra::ui::IImageRepository>().FetchImage(
334-
ra::ui::ImageType::UserPic, pUser->username, pUser->avatar_url);
334+
ra::ui::ImageType::UserPic, pUser->username, pUser->avatar_url, pUser->avatar_last_updated);
335335

336336
// show the welcome message
337337
std::unique_ptr<ra::ui::viewmodels::PopupMessageViewModel> vmMessage(

src/RA_Integration.vcxproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@
194194
<ClInclude Include="api\FetchAchievementInfo.hh" />
195195
<ClInclude Include="api\FetchBadgeIds.hh" />
196196
<ClInclude Include="api\FetchLeaderboardInfo.hh" />
197-
<ClInclude Include="api\FetchUserFriends.hh" />
198197
<ClInclude Include="api\impl\ConnectedServer.hh" />
199198
<ClInclude Include="api\impl\DisconnectedServer.hh" />
200199
<ClInclude Include="api\impl\OfflineServer.hh" />

src/RA_Integration.vcxproj.filters

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -674,9 +674,6 @@
674674
<ClInclude Include="ui\win32\bindings\GridCheckBoxColumnBinding.hh">
675675
<Filter>UI\Win32\Bindings</Filter>
676676
</ClInclude>
677-
<ClInclude Include="api\FetchUserFriends.hh">
678-
<Filter>API</Filter>
679-
</ClInclude>
680677
<ClInclude Include="ui\viewmodels\OverlayFriendsPageViewModel.hh">
681678
<Filter>UI\ViewModels</Filter>
682679
</ClInclude>

src/api/ApiCall.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ static ra::api::IServer& Server()
1212
return ra::services::ServiceLocator::GetMutable<ra::api::IServer>();
1313
}
1414

15-
FetchUserFriends::Response FetchUserFriends::Request::Call() const { return Server().FetchUserFriends(*this); }
1615
ResolveHash::Response ResolveHash::Request::Call() const { return Server().ResolveHash(*this); }
1716
UpdateAchievement::Response UpdateAchievement::Request::Call() const { return Server().UpdateAchievement(*this); }
1817
FetchAchievementInfo::Response FetchAchievementInfo::Request::Call() const { return Server().FetchAchievementInfo(*this); }

src/api/FetchUserFriends.hh

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/api/IServer.hh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#include "api/FetchAchievementInfo.hh"
66
#include "api/FetchBadgeIds.hh"
77
#include "api/FetchLeaderboardInfo.hh"
8-
#include "api/FetchUserFriends.hh"
98
#include "api/LatestClient.hh"
109
#include "api/ResolveHash.hh"
1110
#include "api/UpdateAchievement.hh"
@@ -21,9 +20,6 @@ class IServer
2120
public:
2221
virtual const char* Name() const noexcept = 0;
2322

24-
// === user functions ===
25-
virtual FetchUserFriends::Response FetchUserFriends(const FetchUserFriends::Request& request) = 0;
26-
2723
// === game functions ===
2824
virtual ResolveHash::Response ResolveHash(const ResolveHash::Request& request) = 0;
2925
virtual UpdateAchievement::Response UpdateAchievement(const UpdateAchievement::Request& request) = 0;

src/api/impl/ConnectedServer.cpp

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -432,67 +432,6 @@ static void HttpResponseToServerResponse(const ra::services::Http::Response& htt
432432
server_response->http_status_code = ra::etoi(httpResponse.StatusCode());
433433
}
434434

435-
FetchUserFriends::Response ConnectedServer::FetchUserFriends(const FetchUserFriends::Request&)
436-
{
437-
FetchUserFriends::Response response;
438-
439-
rc_api_fetch_followed_users_request_t api_params;
440-
memset(&api_params, 0, sizeof(api_params));
441-
442-
const auto& pUserContext = ra::services::ServiceLocator::Get<ra::context::UserContext>();
443-
api_params.username = pUserContext.GetUsername().c_str();
444-
api_params.api_token = pUserContext.GetApiToken().c_str();
445-
446-
rc_api_request_t api_request;
447-
const int result = rc_api_init_fetch_followed_users_request(&api_request, &api_params);
448-
if (result == RC_OK)
449-
{
450-
ra::services::Http::Response httpResponse;
451-
if (DoRequest(api_request, FetchUserFriends::Name(), httpResponse, response))
452-
{
453-
rc_api_fetch_followed_users_response_t api_response;
454-
rc_api_server_response_t server_response;
455-
HttpResponseToServerResponse(httpResponse, &server_response);
456-
457-
const auto nResult = rc_api_process_fetch_followed_users_server_response(&api_response, &server_response);
458-
if (ValidateResponse(nResult, api_response.response, ResolveHash::Name(), httpResponse.StatusCode(),
459-
response))
460-
{
461-
response.Friends.resize(api_response.num_users);
462-
for (uint32_t i = 0; i < api_response.num_users; ++i)
463-
{
464-
auto& pFriend = response.Friends.at(i);
465-
const auto& pUser = api_response.users[i];
466-
pFriend.User = pUser.display_name;
467-
if (pUser.avatar_url)
468-
pFriend.AvatarUrl = pUser.avatar_url;
469-
pFriend.Score = pUser.score;
470-
if (pUser.recent_activity.description)
471-
pFriend.LastActivity = ra::util::String::Widen(pUser.recent_activity.description);
472-
pFriend.LastActivityContextId = pUser.recent_activity.context_id;
473-
if (pUser.recent_activity.context)
474-
pFriend.LastActivityContext = ra::util::String::Widen(pUser.recent_activity.context);
475-
if (pUser.recent_activity.context_image_url)
476-
pFriend.LastActivityImageUrl = pUser.recent_activity.context_image_url;
477-
pFriend.LastActivityTime = pUser.recent_activity.when;
478-
}
479-
480-
response.Result = ApiResult::Success;
481-
}
482-
483-
rc_api_destroy_fetch_followed_users_response(&api_response);
484-
}
485-
}
486-
else
487-
{
488-
response.Result = ApiResult::Failed;
489-
response.ErrorMessage = rc_error_str(result);
490-
}
491-
492-
rc_api_destroy_request(&api_request);
493-
return response;
494-
}
495-
496435
ResolveHash::Response ConnectedServer::ResolveHash(const ResolveHash::Request& request)
497436
{
498437
ResolveHash::Response response;

src/api/impl/ConnectedServer.hh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ public:
1515

1616
const char* Name() const noexcept override { return m_sHost.c_str(); }
1717

18-
FetchUserFriends::Response FetchUserFriends(const FetchUserFriends::Request& request) override;
1918
ResolveHash::Response ResolveHash(const ResolveHash::Request& request) override;
2019
UpdateAchievement::Response UpdateAchievement(const UpdateAchievement::Request& request) override;
2120
FetchAchievementInfo::Response FetchAchievementInfo(const FetchAchievementInfo::Request& request) override;

src/api/impl/ServerBase.hh

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@ namespace impl {
1515
class ServerBase : public IServer
1616
{
1717
public:
18-
// === user functions ===
19-
20-
FetchUserFriends::Response FetchUserFriends(const FetchUserFriends::Request&) override
21-
{
22-
return UnsupportedApi<FetchUserFriends::Response>(FetchUserFriends::Name());
23-
}
24-
2518
// === game functions ===
2619

2720
ResolveHash::Response ResolveHash(const ResolveHash::Request&) override

0 commit comments

Comments
 (0)