How do I manage profile pics of user in chat (QBChatDialog) in Quickblox

280 Views Asked by At

I have to integrate Quickblox chat service in my app. I have done the integration part using its documentation but How so I set profile pics of user and get it to show in QBChatDialog. I have gone through this link but don`t think it will make my work. Please reply soon.

1

There are 1 best solutions below

0
QuickBlox On

To upload or update avatar, please use the following snippet of code:

// just create any file
File avatar = ...; 
// Upload new avatar to Content module
Boolean fileIsPublic = false;

QBContent.uploadFileTask(file1, fileIsPublic, null, new QBEntityCallback<QBFile>() {
@Override
public void onSuccess(QBFile qbFile, Bundle params) {

    int uploadedFileID = qbFile.getId();

    // Connect image to user
    QBUser user = new QBUser();
    user.setId(300);
    user.setFileId(uploadedFileID);

    QBUsers.updateUser(user, new QBEntityCallback<QBUser>(){
        @Override
        public void onSuccess(QBUser user, Bundle args) {

        }

        @Override
        public void onError(QBResponseException errors) {

        }
    });
}

@Override
public void onError(QBResponseException errors) {

}
},new QBProgressCallback() {
@Override
public void onProgressUpdate(int progress) { 
}
});

Now other users can see your avatar:

int userProfilePictureID = user.getFileId(); // user - an instance of QBUser class

QBContent.downloadFileById(userProfilePictureID, new QBEntityCallback<InputStream>(){
@Override
public void onSuccess(InputStream inputStream, Bundle params) {

}

@Override
public void onError(QBResponseException errors) {

}
}, new QBProgressCallback() {
@Override
public void onProgressUpdate(int progress) {

}
});