Kontaktliste wird bei neuer Nachricht aktualisiert

Text ist markierbar
This commit is contained in:
LynJet
2022-05-27 11:50:37 +02:00
parent 63d2ea05c2
commit 7d25cac6ca
12 changed files with 192 additions and 41 deletions

View File

@@ -30,13 +30,13 @@ namespace ChatController.Utilities
public static DateTime DefaultDate = new DateTime(1, 1, 1);
public static void DownloadProfilePictureAsync(string pathToProfilePicture, string key, Action<ImageSource> callback)
public static void DownloadGroupProfilePictureAsync(string pathToProfilePicture, string key, Action<ImageSource> callback)
{
var cache = OwnChatCache.GetInstance();
var cachedProfileImage = cache.GetCachedProfilePicture(key, pathToProfilePicture);
if (cachedProfileImage != null)
if (!(cachedProfileImage is null))
{
callback?.Invoke(cachedProfileImage);
return;
@@ -49,6 +49,24 @@ namespace ChatController.Utilities
});
}
public static void DownloadUserProfilePicturesAsync(Dictionary<long, string> userIds2Uris)
{
var cache = OwnChatCache.GetInstance();
foreach(var userId2Uri in userIds2Uris)
{
if(cache.IsUserProfilePictureInCache(userId2Uri.Key))
{
continue;
}
DownloadImage(userId2Uri.Value, imageSource =>
{
cache.AddUserProfilePictureToCache(imageSource, userId2Uri.Key, userId2Uri.Value);
});
}
}
private static void DownloadImage(string uri, Action<ImageSource> callback)
{
var client = new RestClient(uri);