Skip to content

Commit 5540a54

Browse files
Merge pull request #19 from MirrorFly/release/V7.10.0
Release/v7.10.0
2 parents 9d6cd19 + 0e51675 commit 5540a54

File tree

61 files changed

+1070
-556
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1070
-556
lines changed

.idea/workspace.xml

Lines changed: 67 additions & 148 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

app/build.gradle

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ android {
3030
abortOnError false
3131
}
3232

33-
compileSdkVersion 33
34-
buildToolsVersion "30.0.2"
35-
3633
defaultConfig {
3734
minSdkVersion 21
3835
targetSdkVersion 33
36+
compileSdk(33)
3937
versionCode 16
40-
versionName "7.9.3"
38+
versionName "7.10.0"
4139
multiDexEnabled true
4240
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + System.currentTimeMillis() + "L)"
4341
vectorDrawables.useSupportLibrary = true
@@ -205,7 +203,7 @@ dependencies {
205203
implementation project(':sdk:googletranslation')
206204
implementation project(path: ':call')
207205

208-
implementation 'com.mirrorfly.sdk:mirrorflysdk:7.9.3'
206+
implementation 'com.mirrorfly.sdk:mirrorflysdk:7.10.0'
209207

210208
//Socket - versions.gradle
211209
implementation 'com.github.nkzawa:socket.io-client:0.6.0'

app/src/main/java/com/contusfly/AppExtensions.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@ fun ChatMessage.getSenderJid(): String =
401401
if (isGroupMessage()) chatUserJid else senderUserJid
402402

403403
fun ChatMessage.isTextMessage() = messageType == com.mirrorflysdk.flycommons.models.MessageType.TEXT
404+
fun ChatMessage.isAutoMessage() = messageType == com.mirrorflysdk.flycommons.models.MessageType.AUTO_TEXT
404405
fun ChatMessage.isMeetMessage() = messageType == com.mirrorflysdk.flycommons.models.MessageType.MEET
405406
fun ChatMessage.isAudioMessage() =
406407
messageType == com.mirrorflysdk.flycommons.models.MessageType.AUDIO

app/src/main/java/com/contusfly/MyFirebaseMessagingService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.contusfly.utils.FirebaseUtils
44
import com.contusfly.utils.LogMessage
55
import com.google.firebase.messaging.FirebaseMessagingService
66
import com.google.firebase.messaging.RemoteMessage
7+
import com.mirrorflysdk.flycall.webrtc.CallLogger
78
import dagger.android.AndroidInjection
89
import javax.inject.Inject
910

@@ -32,6 +33,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
3233
val notificationData: Map<String, String> = remoteMessage.data
3334
if (notificationData.isNotEmpty()) {
3435
LogMessage.d(TAG, "RemoteMessage:$notificationData")
36+
CallLogger().callLog(TAG,"RemoteMessage notification:$notificationData")
3537
firebaseUtils.handleReceivedMessage(this, notificationData)
3638
}
3739
}

app/src/main/java/com/contusfly/activities/BaseActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,4 +529,5 @@ open class BaseActivity : FlyBaseActivity() {
529529
startActivity(intent)
530530
}
531531

532+
532533
}

app/src/main/java/com/contusfly/activities/ChatActivity.kt

Lines changed: 145 additions & 60 deletions
Large diffs are not rendered by default.

app/src/main/java/com/contusfly/activities/CommonEditorActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,10 @@ class CommonEditorActivity : BaseActivity(), View.OnClickListener,
272272
private fun validateMoreAndFinish(text: String) {
273273
var isValid = false
274274
if (type == Constants.TYPE_USER_BUSY_STATUS) {
275+
if(!AppUtils.isNetConnected(context)){
276+
CustomToast.show(this, getString(R.string.error_check_internet))
277+
return
278+
}
275279
if (text.isNotEmpty()) isValid = true else CustomToast.show(this, getString(R.string.error_busy_status_empty))
276280
}
277281
if (isValid) {

app/src/main/java/com/contusfly/activities/DashboardActivity.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -381,9 +381,6 @@ class DashboardActivity : DashboardParent(), View.OnClickListener, ActionMode.Ca
381381
recentChatFragment.updateSearchAdapter(searchItemClickedPosition)
382382
}
383383
viewModel.getRestartActivitygetrecentChatList()
384-
viewModel.getPrivateChatStatus()
385-
viewModel.getArchivedChatStatus()
386-
viewModel.updateUnReadChatCount()
387384
validateMissedCallsCount()
388385
}
389386

app/src/main/java/com/contusfly/activities/MediaPreviewActivity.kt

Lines changed: 122 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,16 @@ import dagger.android.AndroidInjection
7070
import io.github.rockerhieu.emojicon.EmojiconGridFragment
7171
import io.github.rockerhieu.emojicon.EmojiconsFragment
7272
import io.github.rockerhieu.emojicon.emoji.Emojicon
73+
import kotlinx.coroutines.CoroutineScope
7374
import kotlinx.coroutines.Dispatchers
75+
import kotlinx.coroutines.launch
7476
import org.greenrobot.eventbus.EventBus
7577
import org.greenrobot.eventbus.Subscribe
7678
import org.greenrobot.eventbus.ThreadMode
7779
import java.io.File
7880
import java.util.*
7981
import javax.inject.Inject
82+
import kotlin.collections.ArrayList
8083

8184

8285
class MediaPreviewActivity : BaseActivity(), MediaPreviewAdapter.OnItemClickListener,
@@ -604,7 +607,9 @@ class MediaPreviewActivity : BaseActivity(), MediaPreviewAdapter.OnItemClickList
604607
val multipleImages: MediaPreviewModel
605608
mimeType = mimeType ?: intent.type
606609
var filePathFromUri: String? = ""
607-
filePathFromUri = if (uri.scheme == null) uri.path else RealPathUtil.getRealPath(this@MediaPreviewActivity, uri)
610+
filePathFromUri = RealPathUtil.getRealPath(this@MediaPreviewActivity, uri)
611+
612+
// filePathFromUri = if (uri.scheme == null) uri.path else RealPathUtil.getRealPath(this@MediaPreviewActivity, uri)
608613
LogMessage.d(TAG, "file path createAdapterObject = $filePathFromUri")
609614
LogMessage.d(TAG, "log mime type in createAdapterObject = $mimeType")
610615
if (mimeType!!.startsWith("image/")) {
@@ -1014,14 +1019,13 @@ class MediaPreviewActivity : BaseActivity(), MediaPreviewAdapter.OnItemClickList
10141019

10151020
private fun sendMediaFilesForSingleUser() {
10161021
if (AppUtils.isNetConnected(this)) {
1017-
shareMessagesController.sendMediaMessagesForSingleUser(fileObjects, selectedUsers!!)
1018-
1019-
val handler = Handler()
1020-
handler.postDelayed({
1021-
progressDialog!!.dismiss()
1022-
navigateToAppropriateScreen()
1023-
finish()
1024-
}, 500)
1022+
shareMessagesController.sendMediaMessagesForSingleUser(fileObjects, selectedUsers!!,object: QuickShareMessageListener{
1023+
override fun sendMediaSucess() {
1024+
progressDialog!!.dismiss()
1025+
navigateToAppropriateScreen()
1026+
finish()
1027+
}
1028+
})
10251029
} else {
10261030
progressDialog!!.dismiss()
10271031
CustomToast.show(context, getString(R.string.msg_no_internet))
@@ -1058,77 +1062,128 @@ class MediaPreviewActivity : BaseActivity(), MediaPreviewAdapter.OnItemClickList
10581062
return
10591063
}
10601064
setTextIncludingMention(mentionedUsersIds)
1061-
val messageObject = messagingClient.composeVideoMessage(toUser, intent.getStringExtra(Constants.FILE_PATH)!!,
1062-
sendTextMessageWithMentionFormat.toString(), replyMessageId, mentionedUsersIds).second
10631065

1064-
messageObject?.let {
1065-
messagingClient.sendMessage(it, object : MessageListener {
1066-
override fun onSendMessageSuccess(message: ChatMessage) {
1067-
mediaPreviewBinding.previewProgress.previewProgress.gone()
1068-
ReplyHashMap.saveReplyId(toUser, Constants.EMPTY_STRING)
1069-
SharedPreferenceManager.setString(
1070-
Constants.REPLY_MESSAGE_USER,
1071-
Constants.EMPTY_STRING
1072-
)
1073-
SharedPreferenceManager.setString(
1074-
Constants.REPLY_MESSAGE_ID,
1075-
Constants.EMPTY_STRING
1076-
)
1077-
viewModel.setUnSentMessageForAnUser(toUser, Constants.EMPTY_STRING)
1078-
FlyMessenger.saveUnsentMentionedUserId(toUser,"")
1079-
unSentMentionedUserIdList.clear()
1080-
ChatParent.startActivity(
1081-
this@MediaPreviewActivity,
1082-
toUser,
1083-
viewModel.profileDetails.value!!.getChatType()
1084-
)
1085-
}
1086-
})
1066+
CoroutineScope(Dispatchers.IO).launch {
1067+
val messageObject = messagingClient.composeVideoMessage(toUser, intent.getStringExtra(Constants.FILE_PATH)!!,
1068+
sendTextMessageWithMentionFormat.toString(), replyMessageId, mentionedUsersIds).second
1069+
1070+
messageObject?.let {
1071+
messagingClient.sendMessage(it, object : MessageListener {
1072+
override fun onSendMessageSuccess(message: ChatMessage) {
1073+
mediaPreviewBinding.previewProgress.previewProgress.gone()
1074+
ReplyHashMap.saveReplyId(toUser, Constants.EMPTY_STRING)
1075+
SharedPreferenceManager.setString(
1076+
Constants.REPLY_MESSAGE_USER,
1077+
Constants.EMPTY_STRING
1078+
)
1079+
SharedPreferenceManager.setString(
1080+
Constants.REPLY_MESSAGE_ID,
1081+
Constants.EMPTY_STRING
1082+
)
1083+
viewModel.setUnSentMessageForAnUser(toUser, Constants.EMPTY_STRING)
1084+
FlyMessenger.saveUnsentMentionedUserId(toUser,"")
1085+
unSentMentionedUserIdList.clear()
1086+
ChatParent.startActivity(
1087+
this@MediaPreviewActivity,
1088+
toUser,
1089+
viewModel.profileDetails.value!!.getChatType()
1090+
)
1091+
}
1092+
1093+
override fun onSendMessageFailure(message: String) {
1094+
runOnUiThread {
1095+
mediaPreviewBinding.sendMedia.isEnabled = true
1096+
mediaPreviewBinding.previewProgress.previewProgress.gone()
1097+
if(message.isNotEmpty())
1098+
CustomToast.show(this@MediaPreviewActivity, message)
1099+
}
1100+
}
1101+
})
1102+
}
10871103
}
1104+
1105+
10881106
}
10891107
myApp?.clearMediaCaptionObject()
10901108
}
10911109

10921110
private fun sendGalleryAttachments(toUser: String, replyMessageId: String) {
10931111
mediaPreviewBinding.previewProgress.previewProgress.show()
1094-
val sentMessages = arrayListOf<ChatMessage>()
1095-
for (item in selectedImageList) {
1096-
var messageObject: MessageObject?
1097-
if (item.isImage) {
1098-
if (!ChatManager.getAvailableFeatures().isImageAttachmentEnabled) {
1099-
mediaPreviewBinding.previewProgress.previewProgress.gone()
1100-
CustomAlertDialog().showFeatureRestrictionAlert(this)
1101-
mediaPreviewBinding.sendMedia.isEnabled = true
1102-
break
1103-
}
1104-
messageObject = messagingClient.composeImageMessage(toUser, item.path, item.caption, replyMessageId,item.mentionedUsersIds)
1105-
} else {
1106-
if (!ChatManager.getAvailableFeatures().isVideoAttachmentEnabled) {
1107-
mediaPreviewBinding.previewProgress.previewProgress.gone()
1108-
CustomAlertDialog().showFeatureRestrictionAlert(this)
1109-
mediaPreviewBinding.sendMedia.isEnabled = true
1110-
break
1112+
CoroutineScope(Dispatchers.IO).launch {
1113+
val sentMessages = arrayListOf<ChatMessage>()
1114+
var errorMessageList = ArrayList<String>()
1115+
for (item in selectedImageList) {
1116+
var messageObject: MessageObject?
1117+
if (item.isImage) {
1118+
if (!ChatManager.getAvailableFeatures().isImageAttachmentEnabled) {
1119+
mediaPreviewBinding.previewProgress.previewProgress.gone()
1120+
CustomAlertDialog().showFeatureRestrictionAlert(this@MediaPreviewActivity)
1121+
mediaPreviewBinding.sendMedia.isEnabled = true
1122+
break
1123+
}
1124+
messageObject = messagingClient.composeImageMessage(toUser, item.path, item.caption, replyMessageId,item.mentionedUsersIds)
1125+
} else {
1126+
if (!ChatManager.getAvailableFeatures().isVideoAttachmentEnabled) {
1127+
mediaPreviewBinding.previewProgress.previewProgress.gone()
1128+
CustomAlertDialog().showFeatureRestrictionAlert(this@MediaPreviewActivity)
1129+
mediaPreviewBinding.sendMedia.isEnabled = true
1130+
break
1131+
}
1132+
messageObject = messagingClient.composeVideoMessage(toUser, item.path, item.caption, replyMessageId,item.mentionedUsersIds).second
11111133
}
1112-
messageObject = messagingClient.composeVideoMessage(toUser, item.path, item.caption, replyMessageId,item.mentionedUsersIds).second
1134+
sendGalleryAttachmentFiles(messageObject,sentMessages,toUser,errorMessageList)
1135+
11131136
}
1114-
messageObject?.let {
1115-
messagingClient.sendMessage(it, object : MessageListener {
1116-
override fun onSendMessageSuccess(message: ChatMessage) {
1117-
sentMessages.add(message)
1118-
if (sentMessages.size == selectedImageList.size) {
1119-
mediaPreviewBinding.previewProgress.previewProgress.gone()
1120-
ReplyHashMap.saveReplyId(toUser, Constants.EMPTY_STRING)
1121-
SharedPreferenceManager.setString(Constants.REPLY_MESSAGE_USER, Constants.EMPTY_STRING)
1122-
SharedPreferenceManager.setString(Constants.REPLY_MESSAGE_ID, Constants.EMPTY_STRING)
1123-
viewModel.setUnSentMessageForAnUser(toUser, Constants.EMPTY_STRING)
1124-
ChatParent.startActivity(this@MediaPreviewActivity, toUser, viewModel.profileDetails.value!!.getChatType())
1125-
}
1137+
FlyMessenger.saveUnsentMentionedUserId(toUser,"")
1138+
unSentMentionedUserIdList.clear()
1139+
}
1140+
1141+
}
1142+
1143+
private fun sendGalleryAttachmentFiles(
1144+
messageObject: MessageObject?,
1145+
sentMessages: ArrayList<ChatMessage>,
1146+
toUser: String,
1147+
errorMessageList: ArrayList<String>
1148+
) {
1149+
messageObject?.let {
1150+
messagingClient.sendMessage(it, object : MessageListener {
1151+
override fun onSendMessageSuccess(message: ChatMessage) {
1152+
sentMessages.add(message)
1153+
launchChatPage(sentMessages,toUser,errorMessageList)
1154+
}
1155+
1156+
override fun onSendMessageFailure(message: String) {
1157+
if(message.isNotEmpty()) {
1158+
errorMessageList.add(message)
11261159
}
1127-
})
1160+
sentMessages.add(ChatMessage())
1161+
launchChatPage(sentMessages,toUser,errorMessageList)
1162+
}
1163+
})
1164+
}
1165+
1166+
}
1167+
1168+
private fun launchChatPage(
1169+
sentMessages: ArrayList<ChatMessage>,
1170+
toUser: String,
1171+
errorMessageList: ArrayList<String>
1172+
) {
1173+
if (sentMessages.size == selectedImageList.size) {
1174+
runOnUiThread {
1175+
mediaPreviewBinding.sendMedia.isEnabled = true
1176+
mediaPreviewBinding.previewProgress.previewProgress.gone()
1177+
if(errorMessageList.size > 0) {
1178+
CustomToast.show(this@MediaPreviewActivity, errorMessageList.get(0))
1179+
}
11281180
}
1181+
ReplyHashMap.saveReplyId(toUser, Constants.EMPTY_STRING)
1182+
SharedPreferenceManager.setString(Constants.REPLY_MESSAGE_USER, Constants.EMPTY_STRING)
1183+
SharedPreferenceManager.setString(Constants.REPLY_MESSAGE_ID, Constants.EMPTY_STRING)
1184+
viewModel.setUnSentMessageForAnUser(toUser, Constants.EMPTY_STRING)
1185+
ChatParent.startActivity(this@MediaPreviewActivity, toUser, viewModel.profileDetails.value!!.getChatType())
11291186
}
1130-
FlyMessenger.saveUnsentMentionedUserId(toUser,"")
1131-
unSentMentionedUserIdList.clear()
11321187
}
11331188

11341189
private fun removeSelectedFile() {

0 commit comments

Comments
 (0)