Skip to content

Commit

Permalink
UI with SDK v2-beta4
Browse files Browse the repository at this point in the history
  • Loading branch information
yadavmangesh committed Oct 4, 2019
1 parent e8f63b6 commit a0a6eb5
Show file tree
Hide file tree
Showing 10 changed files with 107 additions and 181 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ dependencies {
implementation 'android.arch.lifecycle:extensions:1.1.1'
kapt "android.arch.lifecycle:compiler:1.1.1"
//cometchat sdk
implementation 'com.cometchat:pro-android-chat-sdk:2.0.0-beta2'
implementation 'com.cometchat:pro-android-chat-sdk:2.0.0-beta4'

implementation 'com.facebook.shimmer:shimmer:0.4.0'
api 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0'
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
<activity
android:name=".Activities.MainActivity"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" />
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name=".Activities.ImageViewActivity"
android:launchMode="singleTop" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class GroupDetailActivity : AppCompatActivity() {

private lateinit var groupOptionAdapter: GroupOptionAdapter

private var groupOptionList: MutableList<GroupOption> = mutableListOf()
private var groupOptionList: MutableMap<Int,GroupOption> = mutableMapOf()

private lateinit var groupViewModel: GroupViewModel

Expand Down Expand Up @@ -150,16 +150,16 @@ class GroupDetailActivity : AppCompatActivity() {

}

private fun GroupOptionItemList(): MutableList<GroupOption> {
private fun GroupOptionItemList(): MutableMap<Int,GroupOption> {

groupOptionList.add(GroupOption(getString(R.string.view_members), ContextCompat.getDrawable(this, R.drawable.ic_person_black_24dp)))
groupOptionList.put(0,GroupOption(getString(R.string.view_members), ContextCompat.getDrawable(this, R.drawable.ic_person_black_24dp)))
if(userScope==CometChatConstants.SCOPE_ADMIN||userScope==CometChatConstants.SCOPE_MODERATOR) {
groupOptionList.add(GroupOption(getString(R.string.add_members), ContextCompat.getDrawable(this, R.drawable.ic_person_add_black_24dp)))
groupOptionList.put(1,GroupOption(getString(R.string.add_members), ContextCompat.getDrawable(this, R.drawable.ic_person_add_black_24dp)))
}
groupOptionList.add(GroupOption(getString(R.string.unban_members), ContextCompat.getDrawable(this, R.drawable.ic_supervisor_account_black_24dp)))
groupOptionList.add(GroupOption(getString(R.string.leave_group), ContextCompat.getDrawable(this, R.drawable.ic_exit_to_app_black_24dp)))
groupOptionList.put(2,GroupOption(getString(R.string.unban_members), ContextCompat.getDrawable(this, R.drawable.ic_supervisor_account_black_24dp)))
groupOptionList.put(3,GroupOption(getString(R.string.leave_group), ContextCompat.getDrawable(this, R.drawable.ic_exit_to_app_black_24dp)))
if (userScope==CometChatConstants.SCOPE_ADMIN) {
groupOptionList.add(GroupOption(getString(R.string.delete_group), ContextCompat.getDrawable(this, R.drawable.ic_delete_black_24dp)))
groupOptionList.put(4,GroupOption(getString(R.string.delete_group), ContextCompat.getDrawable(this, R.drawable.ic_delete_black_24dp)))
}
return groupOptionList
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.cometchat.pro.constants.CometChatConstants
import com.cometchat.pro.core.Call
import com.cometchat.pro.core.CometChat
import com.cometchat.pro.models.*
import com.inscripts.cometchatpulse.Activities.ImageViewActivity
import com.inscripts.cometchatpulse.AsyncTask.DownloadFile
Expand Down Expand Up @@ -279,8 +278,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightTextMessageHolder.binding.tvMessage.typeface = StringContract.Font.message
}

setDeliveryIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)
setReadIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)
setStatusIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)

}

Expand Down Expand Up @@ -335,8 +333,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
}

})
setDeliveryIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setReadIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setStatusIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setLongClick(rightImageVideoMessageHolder.binding.imageMessage,baseMessage)
}

Expand All @@ -353,8 +350,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightFileViewHolder.binding.timeStamp.typeface = StringContract.Font.status
val finalMediaFile = mediaFile
setLongClick(rightFileViewHolder.binding.root,baseMessage)
setDeliveryIcon(rightFileViewHolder.binding.messageStatus,baseMessage)
setReadIcon(rightFileViewHolder.binding.messageStatus,baseMessage)
setStatusIcon(rightFileViewHolder.binding.messageStatus,baseMessage)

rightFileViewHolder.binding.fileName.setOnClickListener(View.OnClickListener { context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(finalMediaFile))) })
} catch (e: Exception) {
Expand All @@ -369,10 +365,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightLocationViewHolder.binding.message = baseMessage as TextMessage
rightLocationViewHolder.binding.timestamp.typeface = StringContract.Font.status
rightLocationViewHolder.bindView(p1, messagesList)
setDeliveryIcon(rightLocationViewHolder.binding.imgMessageStatus,baseMessage)
setReadIcon(rightLocationViewHolder.binding.imgMessageStatus,baseMessage)


setStatusIcon(rightLocationViewHolder.binding.imgMessageStatus,baseMessage)
}

StringContract.ViewType.LEFT_LOCATION_MESSAGE -> {
Expand All @@ -390,8 +383,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightReplyMessageHolder.binding.message = baseMessage
rightReplyMessageHolder.binding.rlMain.background.setColorFilter(StringContract.Color.rightMessageColor,
PorterDuff.Mode.SRC_ATOP)
baseMessage?.let { setDeliveryIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setReadIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setStatusIcon(rightReplyMessageHolder.binding.messageStatus, it) }
if (baseMessage is TextMessage) {

rightReplyMessageHolder.binding.txtNewmsg.visibility = View.VISIBLE
Expand Down Expand Up @@ -460,8 +452,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightReplyMessageHolder.binding.message = baseMessage
rightReplyMessageHolder.binding.rlMain.background.setColorFilter(StringContract.Color.rightMessageColor,
PorterDuff.Mode.SRC_ATOP)
baseMessage?.let { setDeliveryIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setReadIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setStatusIcon(rightReplyMessageHolder.binding.messageStatus, it) }

if (baseMessage is MediaMessage) {

Expand Down Expand Up @@ -941,8 +932,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
}

})
setDeliveryIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setReadIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setStatusIcon(rightImageVideoMessageHolder.binding.messageStatus,baseMessage)
setLongClick(rightImageVideoMessageHolder.binding.root,baseMessage)
}

Expand All @@ -955,8 +945,7 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
rightAudioMessageHolder.binding.timeStamp.typeface = StringContract.Font.status
rightAudioMessageHolder.binding.audioLength.typeface = StringContract.Font.status
setLongClick(rightAudioMessageHolder.binding.root, baseMessage)
setDeliveryIcon(rightAudioMessageHolder.binding.messageStatus,baseMessage)
setReadIcon(rightAudioMessageHolder.binding.messageStatus,baseMessage)
setStatusIcon(rightAudioMessageHolder.binding.messageStatus,baseMessage)
try {

if (timeStampLong?.let { GroupChatAdapter.audioDurations.get(it) } == null) {
Expand Down Expand Up @@ -1446,21 +1435,25 @@ class GroupChatAdapter(val context: Context, val guid: String, val ownerId: Stri
notifyDataSetChanged()
}

private fun setDeliveryIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {
if (baseMessage.deliveredAt != 0L) {
circleImageView.setImageResource(R.drawable.ic_double_tick)
}
}
private fun setStatusIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {

private fun setReadIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {
if (baseMessage.readAt != 0L) {
val drawable= ContextCompat.getDrawable(context,R.drawable.ic_double_tick_blue);
val drawable=ContextCompat.getDrawable(context,R.drawable.ic_double_tick_blue);
drawable?.setColorFilter(StringContract.Color.primaryColor,PorterDuff.Mode.SRC_ATOP)
circleImageView.setImageDrawable(drawable)
circleImageView.setCircleBackgroundColor(context.resources.getColor(android.R.color.transparent))
circleImageView.circleBackgroundColor = context.resources.getColor(android.R.color.transparent)
}
else if (baseMessage.deliveredAt != 0L) {
circleImageView.setImageResource(R.drawable.ic_double_tick)
circleImageView.circleBackgroundColor = StringContract.Color.primaryColor
}
else{
circleImageView.setImageResource(R.drawable.ic_check_24dp)
circleImageView.circleBackgroundColor = StringContract.Color.primaryColor
}
}


fun setDeletedMessage(deletedMessage: BaseMessage) {
messagesList.put(deletedMessage.id.toLong(),deletedMessage)
notifyDataSetChanged()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import com.inscripts.cometchatpulse.ViewHolder.GroupOptionViewHolder
import com.inscripts.cometchatpulse.databinding.GroupOptionItemBinding


class GroupOptionAdapter(val context:Context,val groupOptionList: MutableList<GroupOption>,
class GroupOptionAdapter(val context:Context,val groupOptionList: MutableMap<Int,GroupOption>,
val ownerId:String,val guid:String, onOptionClickListener: OnOptionClickListener): RecyclerView.Adapter<GroupOptionViewHolder>() {

private var onOptionClickListener:OnOptionClickListener
Expand All @@ -38,7 +38,7 @@ class GroupOptionAdapter(val context:Context,val groupOptionList: MutableList<Gr

override fun onBindViewHolder(p0: GroupOptionViewHolder, p1: Int) {

val groupOption=groupOptionList.get(p1)
val groupOption=groupOptionList.values.toMutableList()[p1]

p0.binding.groupOption=groupOption

Expand All @@ -48,7 +48,7 @@ class GroupOptionAdapter(val context:Context,val groupOptionList: MutableList<Gr
p0.binding.root.setOnClickListener(object :View.OnClickListener{
override fun onClick(v: View?) {

onOptionClickListener.OnOptionClick(p0.adapterPosition)
onOptionClickListener.OnOptionClick(groupOptionList.keys.toMutableList()[p1])

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import android.os.AsyncTask
import android.os.Handler
import android.support.v4.content.ContextCompat
import android.support.v4.util.LongSparseArray
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.RecyclerView
import android.text.TextUtils
import android.util.Log
Expand All @@ -28,8 +27,6 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.cometchat.pro.constants.CometChatConstants
import com.cometchat.pro.core.Call
import com.cometchat.pro.core.CometChat
import com.cometchat.pro.exceptions.CometChatException
import com.cometchat.pro.models.*
import com.inscripts.cometchatpulse.Activities.ImageViewActivity
import com.inscripts.cometchatpulse.AsyncTask.DownloadFile
Expand All @@ -45,7 +42,6 @@ import com.inscripts.cometchatpulse.Utils.FileUtil
import com.inscripts.cometchatpulse.ViewHolder.*
import com.inscripts.cometchatpulse.databinding.*
import org.json.JSONException
import org.json.JSONObject
import java.io.File
import java.io.IOException
import java.util.*
Expand Down Expand Up @@ -425,8 +421,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightTextMessageHolder.binding.timestamp.typeface = StringContract.Font.status
rightTextMessageHolder.binding.tvMessage.background.setColorFilter(StringContract.Color.rightMessageColor, PorterDuff.Mode.SRC_ATOP)
setLongClick(rightTextMessageHolder.binding.root, baseMessage)
setDeliveryIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)
setReadIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)
setStatusIcon(rightTextMessageHolder.binding.imgMessageStatus,baseMessage)

if (baseMessage.deletedAt!=0L){
rightTextMessageHolder.binding.tvMessage.text="message deleted"
Expand Down Expand Up @@ -470,8 +465,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightReplyMessageHolder.binding.message = baseMessage
rightReplyMessageHolder.binding.rlMain.background.setColorFilter(StringContract.Color.rightMessageColor,
PorterDuff.Mode.SRC_ATOP)
baseMessage?.let { setDeliveryIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setReadIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setStatusIcon(rightReplyMessageHolder.binding.messageStatus, it) }
if (baseMessage is TextMessage) {
rightReplyMessageHolder.binding.txtNewmsg.visibility = View.VISIBLE
rightReplyMessageHolder.binding.txtNewmsg.text = baseMessage.text
Expand Down Expand Up @@ -539,8 +533,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightReplyMessageHolder.binding.rlMain.background.setColorFilter(StringContract.Color.rightMessageColor,
PorterDuff.Mode.SRC_ATOP)

baseMessage?.let { setDeliveryIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setReadIcon(rightReplyMessageHolder.binding.messageStatus, it) }
baseMessage?.let { setStatusIcon(rightReplyMessageHolder.binding.messageStatus, it) }
if (baseMessage is MediaMessage) {


Expand Down Expand Up @@ -980,8 +973,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
}

})
setDeliveryIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)
setReadIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)
setStatusIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)
setLongClick(rightImageVideoMessageHolder.binding.imageMessage, baseMessage)

}
Expand All @@ -991,8 +983,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightLocationViewHolder.binding.message = baseMessage as TextMessage
rightLocationViewHolder.binding.timestamp.typeface = StringContract.Font.status
rightLocationViewHolder.bindView(p1, messagesList)
setDeliveryIcon(rightLocationViewHolder.binding.imgMessageStatus, baseMessage)
setReadIcon(rightLocationViewHolder.binding.imgMessageStatus, baseMessage)
setStatusIcon(rightLocationViewHolder.binding.imgMessageStatus, baseMessage)
}

StringContract.ViewType.LEFT_LOCATION_MESSAGE -> {
Expand All @@ -1018,8 +1009,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightFileViewHolder.binding.fileName.setOnClickListener(View.OnClickListener {
context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(finalMediaFile)))
})
setDeliveryIcon(rightFileViewHolder.binding.messageStatus, baseMessage)
setReadIcon(rightFileViewHolder.binding.messageStatus, baseMessage)
setStatusIcon(rightFileViewHolder.binding.messageStatus, baseMessage)
setLongClick(rightFileViewHolder.binding.root, baseMessage)
} catch (e: Exception) {
e.printStackTrace()
Expand Down Expand Up @@ -1104,9 +1094,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,

})

setDeliveryIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)
setReadIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)

setStatusIcon(rightImageVideoMessageHolder.binding.messageStatus, baseMessage)
setLongClick(rightImageVideoMessageHolder.binding.root, baseMessage)

}
Expand All @@ -1120,8 +1108,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
rightAudioMessageHolder.binding.audioLength.typeface = StringContract.Font.status
setLongClick(rightAudioMessageHolder.binding.root, baseMessage)

setDeliveryIcon(rightAudioMessageHolder.binding.messageStatus, baseMessage)
setReadIcon(rightAudioMessageHolder.binding.messageStatus, baseMessage)
setStatusIcon(rightAudioMessageHolder.binding.messageStatus, baseMessage)

try {

Expand Down Expand Up @@ -1374,7 +1361,7 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
}
}

private fun setDeliveryIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {
private fun setStatusIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {

if (baseMessage.readAt != 0L) {
val drawable=ContextCompat.getDrawable(context,R.drawable.ic_double_tick_blue);
Expand All @@ -1392,14 +1379,6 @@ class OneToOneAdapter(val context: Context, val ownerId: String,
}
}

private fun setReadIcon(circleImageView: CircleImageView, baseMessage: BaseMessage) {
// if (baseMessage.readAt != 0L) {
// val drawable=ContextCompat.getDrawable(context,R.drawable.ic_double_tick_blue);
// drawable?.setColorFilter(StringContract.Color.primaryColor,PorterDuff.Mode.SRC_ATOP)
// circleImageView.setImageDrawable(drawable)
// circleImageView.circleBackgroundColor = context.resources.getColor(android.R.color.transparent)
// }
}

private fun startIntent(baseMessage: MediaMessage) {
val imageIntent = Intent(context, ImageViewActivity::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,6 @@ class RecordMicButton : android.support.v7.widget.AppCompatImageView, View.OnTou

MotionEvent.ACTION_DOWN ->{ recordAudio!!.onActionDown(view as RecordMicButton, context)}

MotionEvent.ACTION_MOVE -> {recordAudio!!.onActionMove(view as RecordMicButton, motionEvent)}

MotionEvent.ACTION_UP -> {recordAudio!!.onActionUp(view as RecordMicButton)}
}

Expand Down
Loading

0 comments on commit a0a6eb5

Please sign in to comment.