diff --git a/app/src/main/java/io/github/chronosx88/influence/presenters/ChatPresenter.kt b/app/src/main/java/io/github/chronosx88/influence/presenters/ChatPresenter.kt index ef746a6..a37331e 100644 --- a/app/src/main/java/io/github/chronosx88/influence/presenters/ChatPresenter.kt +++ b/app/src/main/java/io/github/chronosx88/influence/presenters/ChatPresenter.kt @@ -17,6 +17,8 @@ package io.github.chronosx88.influence.presenters import android.graphics.BitmapFactory +import com.amulyakhare.textdrawable.TextDrawable +import com.amulyakhare.textdrawable.util.ColorGenerator import com.google.gson.Gson import com.stfalcon.chatkit.commons.ImageLoader import com.stfalcon.chatkit.messages.MessagesListAdapter @@ -48,7 +50,13 @@ class ChatPresenter(private val view: CoreContracts.IChatViewContract, private v this.chatEntity = LocalDBWrapper.getChatByChatID(chatID) gson = Gson() chatAdapter = MessagesListAdapter(AppHelper.getJid(), ImageLoader { imageView, url, _ -> - imageView.setImageResource(R.mipmap.ic_launcher) + val firstLetter = Character.toString(Character.toUpperCase(url!!.get(0))) + imageView.setImageDrawable(TextDrawable.builder() + .beginConfig() + .width(64) + .height(64) + .endConfig() + .buildRound(firstLetter, ColorGenerator.MATERIAL.getColor(firstLetter))) CompletableFuture.supplyAsync { while (AppHelper.getXmppConnection() == null) ; while (!AppHelper.getXmppConnection().isConnectionAlive) ; var jid: EntityBareJid? = null diff --git a/app/src/main/java/io/github/chronosx88/influence/presenters/DialogListPresenter.java b/app/src/main/java/io/github/chronosx88/influence/presenters/DialogListPresenter.java index 60810a2..fec1fbd 100644 --- a/app/src/main/java/io/github/chronosx88/influence/presenters/DialogListPresenter.java +++ b/app/src/main/java/io/github/chronosx88/influence/presenters/DialogListPresenter.java @@ -54,12 +54,12 @@ public class DialogListPresenter implements CoreContracts.IDialogListPresenterCo private ConcurrentHashMap avatarsMap = new ConcurrentHashMap<>(); private CoreContracts.IChatListViewContract view; private CoreContracts.IDialogListLogicContract logic; - private DialogsListAdapter dialogListAdapter = new DialogsListAdapter<>((imageView, url, payload) -> { + private DialogsListAdapter dialogListAdapter = new DialogsListAdapter<>(R.layout.item_dialog_custom, (imageView, url, payload) -> { String firstLetter = Character.toString(Character.toUpperCase(url.charAt(0))); imageView.setImageDrawable(TextDrawable.builder() .beginConfig() - .width(32) - .height(32) + .width(64) + .height(64) .endConfig() .buildRound(firstLetter, ColorGenerator.MATERIAL.getColor(firstLetter))); CompletableFuture.supplyAsync(() -> { diff --git a/app/src/main/java/io/github/chronosx88/influence/views/ChatActivity.kt b/app/src/main/java/io/github/chronosx88/influence/views/ChatActivity.kt index ebb2f02..97af647 100644 --- a/app/src/main/java/io/github/chronosx88/influence/views/ChatActivity.kt +++ b/app/src/main/java/io/github/chronosx88/influence/views/ChatActivity.kt @@ -100,8 +100,8 @@ class ChatActivity : AppCompatActivity(), CoreContracts.IChatViewContract { val firstLetter = Character.toString(chatName[0].toUpperCase()) chatAvatar!!.setImageDrawable(TextDrawable.builder() .beginConfig() - .width(32) - .height(32) + .width(64) + .height(64) .endConfig() .buildRound(firstLetter, ColorGenerator.MATERIAL.getColor(firstLetter))) } diff --git a/app/src/main/res/layout/item_dialog_custom.xml b/app/src/main/res/layout/item_dialog_custom.xml new file mode 100644 index 0000000..b1c9235 --- /dev/null +++ b/app/src/main/res/layout/item_dialog_custom.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file