mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-23 13:35:33 +03:00
Fix avatar loading for conversations list
This commit is contained in:
parent
312570e51c
commit
2ec45391de
2 changed files with 26 additions and 23 deletions
|
@ -73,6 +73,7 @@ import com.nextcloud.talk.models.database.UserEntity;
|
|||
import com.nextcloud.talk.models.json.participants.Participant;
|
||||
import com.nextcloud.talk.models.json.rooms.Conversation;
|
||||
import com.nextcloud.talk.utils.ApiUtils;
|
||||
import com.nextcloud.talk.utils.DisplayUtils;
|
||||
import com.nextcloud.talk.utils.KeyboardUtils;
|
||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||
import com.nextcloud.talk.utils.database.user.UserUtils;
|
||||
|
@ -191,15 +192,15 @@ public class ConversationsListController extends BaseController implements Searc
|
|||
}
|
||||
|
||||
private void loadUserAvatar(MenuItem menuItem) {
|
||||
int avatarSize = menuItem.getIcon().getIntrinsicHeight();
|
||||
if (getActivity() != null) {
|
||||
int avatarSize = (int) DisplayUtils.convertDpToPixel(menuItem.getIcon().getIntrinsicHeight(), getActivity());
|
||||
|
||||
GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithName(currentUser.getBaseUrl(),
|
||||
currentUser.getUserId(), R.dimen.avatar_size), new LazyHeaders.Builder()
|
||||
GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithNameAndPixels(currentUser.getBaseUrl(),
|
||||
currentUser.getUserId(), avatarSize), new LazyHeaders.Builder()
|
||||
.setHeader("Accept", "image/*")
|
||||
.setHeader("User-Agent", ApiUtils.getUserAgent())
|
||||
.build());
|
||||
|
||||
menuItem.getActionView().getima
|
||||
GlideApp.with(getActivity())
|
||||
.asBitmap()
|
||||
.centerInside()
|
||||
|
@ -213,16 +214,14 @@ public class ConversationsListController extends BaseController implements Searc
|
|||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttach(@NonNull View view) {
|
||||
super.onAttach(view);
|
||||
eventBus.register(this);
|
||||
|
||||
UserEntity tempUser;
|
||||
if (currentUser != (tempUser = userUtils.getCurrentUser())) {
|
||||
currentUser = tempUser;
|
||||
}
|
||||
currentUser = userUtils.getCurrentUser();
|
||||
|
||||
if (currentUser != null) {
|
||||
credentials = ApiUtils.getCredentials(currentUser.getUsername(), currentUser.getToken());
|
||||
|
|
|
@ -195,6 +195,10 @@ public class ApiUtils {
|
|||
return "/status.php";
|
||||
}
|
||||
|
||||
public static String getUrlForAvatarWithNameAndPixels(String baseUrl, String name, int avatarSize) {
|
||||
return baseUrl + "/index.php/avatar/" + Uri.encode(name) + "/" + avatarSize;
|
||||
}
|
||||
|
||||
public static String getUrlForAvatarWithName(String baseUrl, String name, @DimenRes int avatarSize) {
|
||||
avatarSize = Math.round(NextcloudTalkApplication
|
||||
.getSharedApplication().getResources().getDimension(avatarSize));
|
||||
|
|
Loading…
Reference in a new issue