Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
ccim_sdk_android
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sheteng
ccim_sdk_android
Commits
f0d97809
Commit
f0d97809
authored
Feb 16, 2023
by
liusheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
聊天增加扩展字段
parent
44c81c01
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
83 additions
and
30 deletions
+83
-30
app/src/main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
...main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
+1
-1
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
...main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
+1
-1
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectActivity.java
...n/java/com/ccwangluo/im/ui/dashboard/ConnectActivity.java
+9
-4
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelActivity.java
...ccwangluo/im/ui/notifications/ConnectChannelActivity.java
+8
-4
app/src/main/res/layout/activity_connect.xml
app/src/main/res/layout/activity_connect.xml
+8
-0
app/src/main/res/layout/activity_connect_channel.xml
app/src/main/res/layout/activity_connect_channel.xml
+6
-0
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
+16
-16
ccim/src/main/java/com/ccwangluo/ccim/database/AppDatabase.java
...rc/main/java/com/ccwangluo/ccim/database/AppDatabase.java
+1
-1
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
...c/main/java/com/ccwangluo/ccim/manage/MessageManager.java
+20
-3
ccim/src/main/java/com/ccwangluo/ccim/modle/MessageContent.java
...rc/main/java/com/ccwangluo/ccim/modle/MessageContent.java
+10
-0
ccim/src/main/proto/message.proto
ccim/src/main/proto/message.proto
+2
-0
ccim/src/main/proto/message_spec.proto
ccim/src/main/proto/message_spec.proto
+1
-0
No files found.
app/src/main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
View file @
f0d97809
...
@@ -74,7 +74,7 @@ public class ChannelMsgAdapter extends BaseAdapter {
...
@@ -74,7 +74,7 @@ public class ChannelMsgAdapter extends BaseAdapter {
mHolder
.
msg_content
.
setVisibility
(
View
.
VISIBLE
);
mHolder
.
msg_content
.
setVisibility
(
View
.
VISIBLE
);
// mHolder.msg_content_send.setVisibility(View.GONE);
// mHolder.msg_content_send.setVisibility(View.GONE);
if
(
messageContent
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_TEXT
)
{
if
(
messageContent
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_TEXT
)
{
mHolder
.
msg_content
.
setText
(
messageContent
.
getContent
());
mHolder
.
msg_content
.
setText
(
messageContent
.
getContent
()
+
"\next_data:"
+
messageContent
.
getExtData
()
);
}
else
{
}
else
{
// mHolder..setText(messageContent.getVoiceContent());
// mHolder..setText(messageContent.getVoiceContent());
}
}
...
...
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
View file @
f0d97809
...
@@ -80,7 +80,7 @@ public class PrivateMsgAdapter extends BaseAdapter {
...
@@ -80,7 +80,7 @@ public class PrivateMsgAdapter extends BaseAdapter {
mHolder
.
msg_content_send
.
setVisibility
(
View
.
VISIBLE
);
mHolder
.
msg_content_send
.
setVisibility
(
View
.
VISIBLE
);
}
}
if
(
message
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_TEXT
)
{
if
(
message
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_TEXT
)
{
mHolder
.
msg_content
.
setText
(
message
.
getContent
());
mHolder
.
msg_content
.
setText
(
message
.
getContent
()
+
"\next_data:"
+
message
.
getExtData
()
);
}
else
{
}
else
{
mHolder
.
msg_content
.
setText
(
"语音消息"
);
mHolder
.
msg_content
.
setText
(
"语音消息"
);
}
}
...
...
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectActivity.java
View file @
f0d97809
...
@@ -62,7 +62,9 @@ public class ConnectActivity extends AppCompatActivity {
...
@@ -62,7 +62,9 @@ public class ConnectActivity extends AppCompatActivity {
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
String
content
=
binding
.
sendEdit
.
getText
().
toString
();
String
content
=
binding
.
sendEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
sendTextMessage
(
content
,
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>()
{
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
sendTextMessage
(
content
,
extData
,
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
binding
.
sendEdit
.
setText
(
""
);
binding
.
sendEdit
.
setText
(
""
);
...
@@ -81,7 +83,8 @@ public class ConnectActivity extends AppCompatActivity {
...
@@ -81,7 +83,8 @@ public class ConnectActivity extends AppCompatActivity {
binding
.
startVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
binding
.
startVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
ConnectActivity
.
this
,
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
Void
>()
{
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
ConnectActivity
.
this
,
extData
,
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
Void
>()
{
@Override
@Override
public
void
onSuccess
(
Void
unused
)
{
public
void
onSuccess
(
Void
unused
)
{
isSuccess
=
true
;
isSuccess
=
true
;
...
@@ -111,8 +114,9 @@ public class ConnectActivity extends AppCompatActivity {
...
@@ -111,8 +114,9 @@ public class ConnectActivity extends AppCompatActivity {
binding
.
sendVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
binding
.
sendVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
if
(
isSuccess
)
if
(
isSuccess
){
CCIMClient
.
getInstance
().
stopAndSendAudioMessage
(
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>()
{
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
stopAndSendAudioMessage
(
extData
,
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
message
)
{
public
void
onSuccess
(
MessageContent
message
)
{
binding
.
sendEdit
.
setText
(
""
);
binding
.
sendEdit
.
setText
(
""
);
...
@@ -126,6 +130,7 @@ public class ConnectActivity extends AppCompatActivity {
...
@@ -126,6 +130,7 @@ public class ConnectActivity extends AppCompatActivity {
}
}
});
});
}
}
}
});
});
CCIMClient
.
getInstance
().
getPrivateMessage
(
contact
.
getContactUserId
(),
new
ResultEventCallback
<
List
<
MessageContent
>>()
{
CCIMClient
.
getInstance
().
getPrivateMessage
(
contact
.
getContactUserId
(),
new
ResultEventCallback
<
List
<
MessageContent
>>()
{
...
...
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelActivity.java
View file @
f0d97809
...
@@ -61,7 +61,8 @@ public class ConnectChannelActivity extends AppCompatActivity {
...
@@ -61,7 +61,8 @@ public class ConnectChannelActivity extends AppCompatActivity {
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
String
content
=
binding
.
sendEdit
.
getText
().
toString
();
String
content
=
binding
.
sendEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
sendChannelMessage
(
content
,
channelId
,
new
ResultEventCallback
<
MessageContent
>()
{
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
sendChannelMessage
(
content
,
extData
,
channelId
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
binding
.
sendEdit
.
setText
(
""
);
binding
.
sendEdit
.
setText
(
""
);
...
@@ -94,7 +95,8 @@ public class ConnectChannelActivity extends AppCompatActivity {
...
@@ -94,7 +95,8 @@ public class ConnectChannelActivity extends AppCompatActivity {
binding
.
startVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
binding
.
startVoice
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
startRecordChannelAudioMessage
(
ConnectChannelActivity
.
this
,
channelId
,
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
startRecordChannelAudioMessage
(
ConnectChannelActivity
.
this
,
extData
,
channelId
,
new
ResultEventCallback
<
Void
>()
{
new
ResultEventCallback
<
Void
>()
{
@Override
@Override
public
void
onSuccess
(
Void
unused
)
{
public
void
onSuccess
(
Void
unused
)
{
...
@@ -124,8 +126,9 @@ public class ConnectChannelActivity extends AppCompatActivity {
...
@@ -124,8 +126,9 @@ public class ConnectChannelActivity extends AppCompatActivity {
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
if
(
isSuccess
)
if
(
isSuccess
){
CCIMClient
.
getInstance
().
stopAndSendChannelAudioMessage
(
channelId
,
new
ResultEventCallback
<
MessageContent
>()
{
String
extData
=
binding
.
extDateEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
stopAndSendChannelAudioMessage
(
extData
,
channelId
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
message
)
{
public
void
onSuccess
(
MessageContent
message
)
{
binding
.
sendEdit
.
setText
(
""
);
binding
.
sendEdit
.
setText
(
""
);
...
@@ -139,6 +142,7 @@ public class ConnectChannelActivity extends AppCompatActivity {
...
@@ -139,6 +142,7 @@ public class ConnectChannelActivity extends AppCompatActivity {
}
}
});
});
}
}
}
});
});
EventBus
.
getDefault
().
register
(
this
);
EventBus
.
getDefault
().
register
(
this
);
}
}
...
...
app/src/main/res/layout/activity_connect.xml
View file @
f0d97809
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
tools:layout_editor_absoluteX=
"1dp"
tools:layout_editor_absoluteX=
"1dp"
tools:layout_editor_absoluteY=
"1dp"
/>
tools:layout_editor_absoluteY=
"1dp"
/>
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -41,6 +42,13 @@
...
@@ -41,6 +42,13 @@
android:gravity=
"center"
android:gravity=
"center"
android:layout_marginBottom=
"100dp"
android:layout_marginBottom=
"100dp"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<EditText
android:id=
"@+id/ext_date_edit"
android:hint=
"ext_data"
android:layout_width=
"100dp"
android:layout_height=
"wrap_content"
/>
<Button
<Button
android:id=
"@+id/start_voice"
android:id=
"@+id/start_voice"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
...
app/src/main/res/layout/activity_connect_channel.xml
View file @
f0d97809
...
@@ -43,6 +43,12 @@
...
@@ -43,6 +43,12 @@
android:gravity=
"center"
android:gravity=
"center"
android:layout_marginBottom=
"100dp"
android:layout_marginBottom=
"100dp"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<EditText
android:id=
"@+id/ext_date_edit"
android:hint=
"ext_data"
android:layout_width=
"100dp"
android:layout_height=
"wrap_content"
/>
<Button
<Button
android:id=
"@+id/start_voice"
android:id=
"@+id/start_voice"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
...
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
View file @
f0d97809
...
@@ -443,7 +443,7 @@ public class CCIMClient {
...
@@ -443,7 +443,7 @@ public class CCIMClient {
/**
/**
* 发送消息
* 发送消息
*/
*/
public
void
sendTextMessage
(
String
content
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
sendTextMessage
(
String
content
,
String
extData
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
if
(
TextUtils
.
isEmpty
(
content
))
{
if
(
TextUtils
.
isEmpty
(
content
))
{
callback
.
onFailed
(
ErrorCode
.
MSG_CONTENT_IS_EMPTY
);
callback
.
onFailed
(
ErrorCode
.
MSG_CONTENT_IS_EMPTY
);
return
;
return
;
...
@@ -459,7 +459,7 @@ public class CCIMClient {
...
@@ -459,7 +459,7 @@ public class CCIMClient {
return
;
return
;
}
}
messageManager
.
sendPrivateMessage
(
content
,
receiveUserId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_TEXT
,
new
ResultEventCallback
<
MessageContent
>()
{
messageManager
.
sendPrivateMessage
(
content
,
extData
,
receiveUserId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_TEXT
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
...
@@ -477,7 +477,7 @@ public class CCIMClient {
...
@@ -477,7 +477,7 @@ public class CCIMClient {
/**
/**
* 发送频道消息
* 发送频道消息
*/
*/
public
void
sendChannelMessage
(
String
content
,
Long
channelId
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
sendChannelMessage
(
String
content
,
String
extData
,
Long
channelId
,
ResultEventCallback
<
MessageContent
>
callback
)
{
if
(
TextUtils
.
isEmpty
(
content
))
{
if
(
TextUtils
.
isEmpty
(
content
))
{
callback
.
onFailed
(
ErrorCode
.
MSG_CONTENT_IS_EMPTY
);
callback
.
onFailed
(
ErrorCode
.
MSG_CONTENT_IS_EMPTY
);
return
;
return
;
...
@@ -491,7 +491,7 @@ public class CCIMClient {
...
@@ -491,7 +491,7 @@ public class CCIMClient {
callback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
callback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
return
;
return
;
}
}
messageManager
.
sendChannelMessage
(
content
,
channelId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_TEXT
,
callback
);
messageManager
.
sendChannelMessage
(
content
,
extData
,
channelId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_TEXT
,
callback
);
}
}
/**
/**
...
@@ -538,7 +538,7 @@ public class CCIMClient {
...
@@ -538,7 +538,7 @@ public class CCIMClient {
/**
/**
* 开始录音
* 开始录音
*/
*/
public
void
startRecordAudioMessage
(
Context
context
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
Void
>
resultCallback
,
RecordAutoSendCallback
callback
)
{
public
void
startRecordAudioMessage
(
Context
context
,
String
extData
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
Void
>
resultCallback
,
RecordAutoSendCallback
callback
)
{
if
(!
checkMutedExpired
())
{
if
(!
checkMutedExpired
())
{
resultCallback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
resultCallback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
return
;
return
;
...
@@ -553,7 +553,7 @@ public class CCIMClient {
...
@@ -553,7 +553,7 @@ public class CCIMClient {
logger
.
info
(
"time out ,auto send"
);
logger
.
info
(
"time out ,auto send"
);
Long
release
=
MediaHelper
.
getInstance
().
release
();
Long
release
=
MediaHelper
.
getInstance
().
release
();
if
(
release
/
1000
>=
maxAudioDuration
)
{
if
(
release
/
1000
>=
maxAudioDuration
)
{
uploadAndSendMessage
(
receiveUserId
,
receiveUserName
,
new
ResultEventCallback
<
MessageContent
>()
{
uploadAndSendMessage
(
extData
,
receiveUserId
,
receiveUserName
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
callback
.
onSuccess
(
messageContent
);
callback
.
onSuccess
(
messageContent
);
...
@@ -582,18 +582,18 @@ public class CCIMClient {
...
@@ -582,18 +582,18 @@ public class CCIMClient {
/**
/**
* 停止录音并上传 私聊
* 停止录音并上传 私聊
*/
*/
public
void
stopAndSendAudioMessage
(
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
stopAndSendAudioMessage
(
String
extData
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
if
(
checkAudio
(
callback
))
{
if
(
checkAudio
(
callback
))
{
return
;
return
;
}
}
uploadAndSendMessage
(
receiveUserId
,
receiveUserName
,
callback
);
uploadAndSendMessage
(
extData
,
receiveUserId
,
receiveUserName
,
callback
);
}
}
private
void
uploadAndSendMessage
(
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
private
void
uploadAndSendMessage
(
String
extData
,
Long
receiveUserId
,
String
receiveUserName
,
ResultEventCallback
<
MessageContent
>
callback
)
{
messageManager
.
uploadFileMessage
(
cachePath
,
new
ResultEventCallback
<
String
>()
{
messageManager
.
uploadFileMessage
(
cachePath
,
new
ResultEventCallback
<
String
>()
{
@Override
@Override
public
void
onSuccess
(
String
fileName
)
{
public
void
onSuccess
(
String
fileName
)
{
messageManager
.
sendPrivateMessage
(
fileName
,
receiveUserId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_VOICE
,
new
ResultEventCallback
<
MessageContent
>()
{
messageManager
.
sendPrivateMessage
(
fileName
,
extData
,
receiveUserId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_VOICE
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
contactManager
.
putContactDialog
(
receiveUserId
,
receiveUserName
);
contactManager
.
putContactDialog
(
receiveUserId
,
receiveUserName
);
...
@@ -619,7 +619,7 @@ public class CCIMClient {
...
@@ -619,7 +619,7 @@ public class CCIMClient {
/**
/**
* 开始录音
* 开始录音
*/
*/
public
void
startRecordChannelAudioMessage
(
Context
context
,
Long
channelID
,
ResultEventCallback
<
Void
>
resultCallback
,
RecordAutoSendCallback
callback
)
{
public
void
startRecordChannelAudioMessage
(
Context
context
,
String
extData
,
Long
channelID
,
ResultEventCallback
<
Void
>
resultCallback
,
RecordAutoSendCallback
callback
)
{
if
(!
checkMutedExpired
())
{
if
(!
checkMutedExpired
())
{
resultCallback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
resultCallback
.
onFailed
(
Common
.
StatusCode
.
STATUS_CODE_USER_MUTED_ERROR
.
getNumber
());
return
;
return
;
...
@@ -634,7 +634,7 @@ public class CCIMClient {
...
@@ -634,7 +634,7 @@ public class CCIMClient {
logger
.
info
(
"time out ,auto send"
);
logger
.
info
(
"time out ,auto send"
);
Long
release
=
MediaHelper
.
getInstance
().
release
();
Long
release
=
MediaHelper
.
getInstance
().
release
();
if
(
release
/
1000
>=
maxAudioDuration
)
{
if
(
release
/
1000
>=
maxAudioDuration
)
{
uploadAndSendChannelMessage
(
channelID
,
new
ResultEventCallback
<
MessageContent
>()
{
uploadAndSendChannelMessage
(
extData
,
channelID
,
new
ResultEventCallback
<
MessageContent
>()
{
@Override
@Override
public
void
onSuccess
(
MessageContent
messageContent
)
{
public
void
onSuccess
(
MessageContent
messageContent
)
{
callback
.
onSuccess
(
messageContent
);
callback
.
onSuccess
(
messageContent
);
...
@@ -663,18 +663,18 @@ public class CCIMClient {
...
@@ -663,18 +663,18 @@ public class CCIMClient {
/**
/**
* 停止录音并上传 频道
* 停止录音并上传 频道
*/
*/
public
void
stopAndSendChannelAudioMessage
(
Long
channelID
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
stopAndSendChannelAudioMessage
(
String
extData
,
Long
channelID
,
ResultEventCallback
<
MessageContent
>
callback
)
{
if
(
checkAudio
(
callback
))
{
if
(
checkAudio
(
callback
))
{
return
;
return
;
}
}
uploadAndSendChannelMessage
(
channelID
,
callback
);
uploadAndSendChannelMessage
(
extData
,
channelID
,
callback
);
}
}
private
void
uploadAndSendChannelMessage
(
Long
channelID
,
ResultEventCallback
<
MessageContent
>
callback
)
{
private
void
uploadAndSendChannelMessage
(
String
extData
,
Long
channelID
,
ResultEventCallback
<
MessageContent
>
callback
)
{
messageManager
.
uploadFileMessage
(
cachePath
,
new
ResultEventCallback
<
String
>()
{
messageManager
.
uploadFileMessage
(
cachePath
,
new
ResultEventCallback
<
String
>()
{
@Override
@Override
public
void
onSuccess
(
String
fileName
)
{
public
void
onSuccess
(
String
fileName
)
{
messageManager
.
sendChannelMessage
(
fileName
,
channelID
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_VOICE
,
callback
);
messageManager
.
sendChannelMessage
(
fileName
,
extData
,
channelID
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_VOICE
,
callback
);
}
}
@Override
@Override
...
...
ccim/src/main/java/com/ccwangluo/ccim/database/AppDatabase.java
View file @
f0d97809
...
@@ -4,7 +4,7 @@ import androidx.room.Database;
...
@@ -4,7 +4,7 @@ import androidx.room.Database;
import
androidx.room.RoomDatabase
;
import
androidx.room.RoomDatabase
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.modle.MessageContent
;
@Database
(
entities
=
{
MessageContent
.
class
},
version
=
1
,
exportSchema
=
false
)
@Database
(
entities
=
{
MessageContent
.
class
},
version
=
2
,
exportSchema
=
false
)
public
abstract
class
AppDatabase
extends
RoomDatabase
{
public
abstract
class
AppDatabase
extends
RoomDatabase
{
public
abstract
MessageDao
messageDao
();
public
abstract
MessageDao
messageDao
();
}
}
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
View file @
f0d97809
...
@@ -3,7 +3,10 @@ package com.ccwangluo.ccim.manage;
...
@@ -3,7 +3,10 @@ package com.ccwangluo.ccim.manage;
import
android.content.Context
;
import
android.content.Context
;
import
android.media.MediaMetadataRetriever
;
import
android.media.MediaMetadataRetriever
;
import
androidx.annotation.NonNull
;
import
androidx.room.Room
;
import
androidx.room.Room
;
import
androidx.room.migration.Migration
;
import
androidx.sqlite.db.SupportSQLiteDatabase
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.database.AppDatabase
;
import
com.ccwangluo.ccim.database.AppDatabase
;
...
@@ -48,10 +51,20 @@ public class MessageManager {
...
@@ -48,10 +51,20 @@ public class MessageManager {
public
void
init
(
Context
context
,
Long
userId
)
{
public
void
init
(
Context
context
,
Long
userId
)
{
this
.
userId
=
userId
;
this
.
userId
=
userId
;
if
(
db
==
null
)
{
if
(
db
==
null
)
{
db
=
Room
.
databaseBuilder
(
context
.
getApplicationContext
(),
AppDatabase
.
class
,
"ccim_db"
).
build
();
//添加1到2的迁移策略
db
=
Room
.
databaseBuilder
(
context
.
getApplicationContext
(),
AppDatabase
.
class
,
"ccim_db"
).
addMigrations
(
MIGRATION_1_2
).
build
();
}
}
}
}
//删除原有表中的字段 具体的版本迁移策略
public
static
final
Migration
MIGRATION_1_2
=
new
Migration
(
1
,
2
)
{
@Override
public
void
migrate
(
@NonNull
SupportSQLiteDatabase
database
)
{
//添加ext_data字段
database
.
execSQL
(
"alter table `MessageContent` add column `extData` varchar(2048) "
);
}
};
private
List
<
MessageContent
>
messageContentList
=
new
ArrayList
<>();
private
List
<
MessageContent
>
messageContentList
=
new
ArrayList
<>();
...
@@ -131,10 +144,11 @@ public class MessageManager {
...
@@ -131,10 +144,11 @@ public class MessageManager {
/**
/**
* 发送消息
* 发送消息
*/
*/
public
void
sendPrivateMessage
(
String
content
,
Long
reciveUserId
,
MessageSpec
.
MessageType
messageType
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
sendPrivateMessage
(
String
content
,
String
extData
,
Long
reciveUserId
,
MessageSpec
.
MessageType
messageType
,
ResultEventCallback
<
MessageContent
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Message
.
SendMessageRequest
messageRequest
=
Message
.
SendMessageRequest
.
newBuilder
()
Message
.
SendMessageRequest
messageRequest
=
Message
.
SendMessageRequest
.
newBuilder
()
.
setContent
(
content
)
.
setContent
(
content
)
.
setExtData
(
extData
)
.
setMsgType
(
messageType
)
.
setMsgType
(
messageType
)
.
setReceiverUserId
(
reciveUserId
).
build
();
.
setReceiverUserId
(
reciveUserId
).
build
();
builder
.
setSendMsgReq
(
messageRequest
);
builder
.
setSendMsgReq
(
messageRequest
);
...
@@ -156,6 +170,7 @@ public class MessageManager {
...
@@ -156,6 +170,7 @@ public class MessageManager {
message
.
setReciveUserId
(
reciveUserId
);
message
.
setReciveUserId
(
reciveUserId
);
message
.
setMsgId
(
msgId
);
message
.
setMsgId
(
msgId
);
message
.
setContent
(
text
);
message
.
setContent
(
text
);
message
.
setExtData
(
extData
);
message
.
setMsgType
(
MessageContent
.
MessageType
.
valueOf
(
messageType
.
name
()));
message
.
setMsgType
(
MessageContent
.
MessageType
.
valueOf
(
messageType
.
name
()));
message
.
setCreatedDate
(
sendMsgRes
.
getSendDate
());
message
.
setCreatedDate
(
sendMsgRes
.
getSendDate
());
message
.
setMsgSrcType
(
MessageContent
.
MessageSourceType
.
MESSAGE_SOURCE_TYPE_PRIVATE
);
message
.
setMsgSrcType
(
MessageContent
.
MessageSourceType
.
MESSAGE_SOURCE_TYPE_PRIVATE
);
...
@@ -174,10 +189,11 @@ public class MessageManager {
...
@@ -174,10 +189,11 @@ public class MessageManager {
/**
/**
* 发送频道消息
* 发送频道消息
*/
*/
public
void
sendChannelMessage
(
String
content
,
Long
channelId
,
MessageSpec
.
MessageType
messageType
,
ResultEventCallback
<
MessageContent
>
callback
)
{
public
void
sendChannelMessage
(
String
content
,
String
extData
,
Long
channelId
,
MessageSpec
.
MessageType
messageType
,
ResultEventCallback
<
MessageContent
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Message
.
SendChannelMessageRequest
sendChannelMessageRequest
=
Message
.
SendChannelMessageRequest
.
newBuilder
()
Message
.
SendChannelMessageRequest
sendChannelMessageRequest
=
Message
.
SendChannelMessageRequest
.
newBuilder
()
.
setContent
(
content
)
.
setContent
(
content
)
.
setExtData
(
extData
)
.
setMsgType
(
messageType
)
.
setMsgType
(
messageType
)
.
setChannelId
(
channelId
)
.
setChannelId
(
channelId
)
.
build
();
.
build
();
...
@@ -200,6 +216,7 @@ public class MessageManager {
...
@@ -200,6 +216,7 @@ public class MessageManager {
message
.
setChannelId
(
channelId
);
message
.
setChannelId
(
channelId
);
message
.
setMsgId
(
msgId
);
message
.
setMsgId
(
msgId
);
message
.
setContent
(
text
);
message
.
setContent
(
text
);
message
.
setExtData
(
extData
);
message
.
setMsgType
(
MessageContent
.
MessageType
.
valueOf
(
messageType
.
name
()));
message
.
setMsgType
(
MessageContent
.
MessageType
.
valueOf
(
messageType
.
name
()));
message
.
setCreatedDate
(
sendMsgRes
.
getSendDate
());
message
.
setCreatedDate
(
sendMsgRes
.
getSendDate
());
message
.
setMsgSrcType
(
MessageContent
.
MessageSourceType
.
MESSAGE_SOURCE_TYPE_PRIVATE
);
message
.
setMsgSrcType
(
MessageContent
.
MessageSourceType
.
MESSAGE_SOURCE_TYPE_PRIVATE
);
...
...
ccim/src/main/java/com/ccwangluo/ccim/modle/MessageContent.java
View file @
f0d97809
...
@@ -23,6 +23,8 @@ public class MessageContent {
...
@@ -23,6 +23,8 @@ public class MessageContent {
private
User
senderUser
;
private
User
senderUser
;
private
String
voiceContent
;
//音频的语音转文字
private
String
voiceContent
;
//音频的语音转文字
private
String
extData
;
//扩展字段 verison:2 添加
public
User
getSenderUser
()
{
public
User
getSenderUser
()
{
return
senderUser
;
return
senderUser
;
}
}
...
@@ -120,4 +122,12 @@ public class MessageContent {
...
@@ -120,4 +122,12 @@ public class MessageContent {
public
void
setReciveUserId
(
Long
reciveUserId
)
{
public
void
setReciveUserId
(
Long
reciveUserId
)
{
this
.
reciveUserId
=
reciveUserId
;
this
.
reciveUserId
=
reciveUserId
;
}
}
public
String
getExtData
()
{
return
extData
;
}
public
void
setExtData
(
String
extData
)
{
this
.
extData
=
extData
;
}
}
}
ccim/src/main/proto/message.proto
View file @
f0d97809
...
@@ -10,6 +10,7 @@ message SendMessageRequest {
...
@@ -10,6 +10,7 @@ message SendMessageRequest {
int64
receiver_user_id
=
1
;
int64
receiver_user_id
=
1
;
string
content
=
2
;
string
content
=
2
;
MessageType
msg_type
=
3
;
MessageType
msg_type
=
3
;
string
ext_data
=
4
;
}
}
message
SendMessageResponse
{
message
SendMessageResponse
{
...
@@ -22,6 +23,7 @@ message SendChannelMessageRequest {
...
@@ -22,6 +23,7 @@ message SendChannelMessageRequest {
int64
channel_id
=
1
;
int64
channel_id
=
1
;
string
content
=
2
;
string
content
=
2
;
MessageType
msg_type
=
3
;
MessageType
msg_type
=
3
;
string
ext_data
=
4
;
}
}
message
SendChannelMessageResponse
{
message
SendChannelMessageResponse
{
...
...
ccim/src/main/proto/message_spec.proto
View file @
f0d97809
...
@@ -33,4 +33,5 @@ message ChatMessage {
...
@@ -33,4 +33,5 @@ message ChatMessage {
UserInfo
sender_user
=
9
;
UserInfo
sender_user
=
9
;
string
voice_content
=
10
;
string
voice_content
=
10
;
string
ext_data
=
11
;
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment