Skip to content

Instantly share code, notes, and snippets.

@mooner1022
Last active October 20, 2024 16:03
Show Gist options
  • Save mooner1022/4473bc39241a9b4af6ebf44fb17a2f26 to your computer and use it in GitHub Desktop.
Save mooner1022/4473bc39241a9b4af6ebf44fb17a2f26 to your computer and use it in GitHub Desktop.
MessageEvent.kt Implementation
data class MessageEvent(
val message : String,
val image : Bitmap?,
val sender : ChatSender,
val room : ChatRoom,
val packageName : String,
val hasMention : Boolean,
val chatLogId : Long,
)
interface ChatRoom {
val id: String
val name: String
val isGroupChat: Boolean
val isDebugRoom: Boolean
fun send(message: String): Boolean
fun markAsRead(): Boolean
}
data class ChatSender(
val name : String,
val id : String?,
val profileBitmap : Bitmap
val profileBase64 : String,
val profileHash : Int
)
@mooner1022
Copy link
Author

mooner1022 commented Sep 9, 2021

{
    message : String, // 수신된 메시지
    image   : Bitmap?, // 전송된 이미지(실험적)
    sender  : (ChatSender) {
        name          : String, // 전송자 이름
        id            : String?, // 유저 고유 ID, 방마다 상이
        profileBitmap : Bitmap, // 프로필 이미지
        profileBase64 : String, // 프로필 이미지의 Base64 인코딩 값
        profileHash   : Int // profileBase64의 hashCode
    },
    room    : (ChatRoom) {
        id          : String, // 채팅방 고유 ID
        name        : String, // 채팅방의 이름,
        isGroupChat : Boolean, // 그룹 채팅방 유무
        isDebugRoom : Boolean, // 디버그룸 유무
        send        : function(message: String): Boolean, // message를 방에 전송, 전송 성공시 true 반환
        markAsRead  : function(): Boolean // 방의 메세지를 읽음 처리, 성공시 true 반환
    },
    hasMention  : Boolean, // 멘션을 포함하고 있을 시 true
    chatLogId   : Long
}

@mooner1022
Copy link
Author

room session은 ChatRoom 객체에 종속됨, send()나 markAsRead() 호출시 ChatRoom 객체 내의 session으로 처리

@mooner1022
Copy link
Author

mooner1022 commented Sep 9, 2021

@tangible-idea
Copy link

image : Bitmap? 은 혹시 루팅을 해야 가져올 수 있을까요?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment