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
e9e98975
Commit
e9e98975
authored
Jan 04, 2022
by
sheteng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
历史消息记录
parent
4d734ba7
Changes
20
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
240 additions
and
59 deletions
+240
-59
.idea/deploymentTargetDropDown.xml
.idea/deploymentTargetDropDown.xml
+0
-17
app/src/main/java/com/ccwangluo/im/FirstFragment.java
app/src/main/java/com/ccwangluo/im/FirstFragment.java
+1
-11
app/src/main/java/com/ccwangluo/im/MainActivity2.java
app/src/main/java/com/ccwangluo/im/MainActivity2.java
+0
-5
app/src/main/java/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
...va/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
+1
-1
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
...main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
+2
-1
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
+22
-0
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
...n/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
+14
-1
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelFragment.java
...ccwangluo/im/ui/notifications/ConnectChannelFragment.java
+12
-0
app/src/main/res/layout/activity_login.xml
app/src/main/res/layout/activity_login.xml
+1
-1
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
+16
-2
ccim/src/main/java/com/ccwangluo/ccim/listener/OnPushMsgListener.java
...n/java/com/ccwangluo/ccim/listener/OnPushMsgListener.java
+0
-2
ccim/src/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
...c/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
+21
-0
ccim/src/main/java/com/ccwangluo/ccim/manage/ContactManager.java
...c/main/java/com/ccwangluo/ccim/manage/ContactManager.java
+9
-7
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
...c/main/java/com/ccwangluo/ccim/manage/MessageManager.java
+90
-0
ccim/src/main/java/com/ccwangluo/ccim/modle/Contact.java
ccim/src/main/java/com/ccwangluo/ccim/modle/Contact.java
+1
-8
ccim/src/main/java/com/ccwangluo/ccim/modle/MessageContent.java
...rc/main/java/com/ccwangluo/ccim/modle/MessageContent.java
+1
-2
ccim/src/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
...c/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
+11
-1
ccim/src/main/java/com/ccwangluo/ccim/modle/PullMessageRes.java
...rc/main/java/com/ccwangluo/ccim/modle/PullMessageRes.java
+16
-0
ccim/src/main/proto/chat.proto
ccim/src/main/proto/chat.proto
+6
-0
ccim/src/main/proto/message.proto
ccim/src/main/proto/message.proto
+16
-0
No files found.
.idea/deploymentTargetDropDown.xml
deleted
100644 → 0
View file @
4d734ba7
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"deploymentTargetDropDown"
>
<targetSelectedWithDropDown>
<Target>
<type
value=
"QUICK_BOOT_TARGET"
/>
<deviceKey>
<Key>
<type
value=
"VIRTUAL_DEVICE_PATH"
/>
<value
value=
"C:\Users\she\.android\avd\Nexus_S_API_30.avd"
/>
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown
value=
"2021-12-16T03:22:22.823605200Z"
/>
</component>
</project>
\ No newline at end of file
app/src/main/java/com/ccwangluo/im/FirstFragment.java
View file @
e9e98975
...
...
@@ -96,11 +96,6 @@ public class FirstFragment extends Fragment {
}
@Override
public
void
pushBlockByContact
(
Long
userId
)
{
}
});
binding
.
getChatList
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
...
...
@@ -137,12 +132,7 @@ public class FirstFragment extends Fragment {
binding
.
searchUser
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
// CCIMClient.getInstance().searchUser(binding.userName.getText().toString(), new ResultEventCallback<List<User>>() {
// @Override
// public void onSuccess(List<User> users) {
// refreshLogView(users.toString());
// }
// });
// CCIMClient.getInstance().searchUser(binding.userName.getText().toString(), new ResultEventCallback<List<User>>());
}
});
...
...
app/src/main/java/com/ccwangluo/im/MainActivity2.java
View file @
e9e98975
...
...
@@ -124,11 +124,6 @@ public class MainActivity2 extends AppCompatActivity {
alertDialog
.
show
();
}
@Override
public
void
pushBlockByContact
(
Long
userId
)
{
loginViewModel
.
getContactList
();
}
});
}
...
...
app/src/main/java/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
View file @
e9e98975
...
...
@@ -206,7 +206,7 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
childrenHolder
.
contactId
.
setText
(
"userid: "
+
dataList
.
get
(
childPosition
).
getContactUserId
());
childrenHolder
.
contactName
.
setText
(
"username: "
+
dataList
.
get
(
childPosition
).
getContactUserName
());
childrenHolder
.
netStatus
.
setText
(
"netStatus: "
+
dataList
.
get
(
childPosition
).
getNetStatus
().
toString
());
childrenHolder
.
status
.
setText
(
"status: "
+
dataList
.
get
(
childPosition
).
getStatus
());
//
childrenHolder.status.setText("status: " + dataList.get(childPosition).getStatus());
convertView
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
...
...
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
View file @
e9e98975
...
...
@@ -72,7 +72,8 @@ public class PrivateMsgAdapter extends BaseAdapter {
if
(
message
.
getSenderUserId
()
!=
null
)
{
mHolder
.
msg_content
.
setVisibility
(
View
.
VISIBLE
);
mHolder
.
msg_content_send
.
setVisibility
(
View
.
GONE
);
}
else
if
(
message
.
getReciveUserId
()
!=
null
)
{
}
else
if
(
message
.
getReciveUserId
()
!=
null
)
{
mHolder
.
msg_content
.
setVisibility
(
View
.
GONE
);
mHolder
.
msg_content_send
.
setVisibility
(
View
.
VISIBLE
);
}
...
...
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
View file @
e9e98975
...
...
@@ -97,6 +97,17 @@ public class LoginViewModel extends ViewModel {
privateMsgList
.
postValue
(
value
);
}
public
void
addPrivateMsg
(
List
<
MessageContent
>
res
)
{
List
<
MessageContent
>
value
=
privateMsgList
.
getValue
();
if
(
value
==
null
)
{
value
=
new
ArrayList
<>();
}
for
(
MessageContent
re
:
res
)
{
value
.
add
(
re
);
}
privateMsgList
.
postValue
(
value
);
}
public
void
addChannelMsg
(
MessageContent
res
)
{
List
<
MessageContent
>
value
=
channelMsgList
.
getValue
();
if
(
value
==
null
)
{
...
...
@@ -105,4 +116,15 @@ public class LoginViewModel extends ViewModel {
value
.
add
(
res
);
channelMsgList
.
postValue
(
value
);
}
public
void
addChannelMsg
(
List
<
MessageContent
>
res
)
{
List
<
MessageContent
>
value
=
channelMsgList
.
getValue
();
if
(
value
==
null
)
{
value
=
new
ArrayList
<>();
}
for
(
MessageContent
re
:
res
)
{
value
.
add
(
re
);
}
channelMsgList
.
postValue
(
value
);
}
}
\ No newline at end of file
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
View file @
e9e98975
...
...
@@ -86,13 +86,14 @@ public class ConnectFragment extends Fragment {
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
)
{
CCIMClient
.
getInstance
().
stopAndSendAudioMessage
(
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>(){
CCIMClient
.
getInstance
().
stopAndSendAudioMessage
(
contact
.
getContactUserId
(),
contact
.
getContactUserName
(),
new
ResultEventCallback
<
MessageContent
>()
{
@Override
public
void
onSuccess
(
MessageContent
message
)
{
binding
.
sendEdit
.
setText
(
""
);
loginViewModel
.
addPrivateMsg
(
message
);
ToastUtil
.
show
(
getContext
(),
"send Success"
);
}
@Override
public
void
onFailed
(
int
errorCode
)
{
ToastUtil
.
show
(
getContext
(),
"send onFailed :"
+
errorCode
);
...
...
@@ -117,6 +118,18 @@ public class ConnectFragment extends Fragment {
}
});
CCIMClient
.
getInstance
().
getPrivateMessage
(
contact
.
getContactUserId
(),
new
ResultEventCallback
<
List
<
MessageContent
>>()
{
@Override
public
void
onSuccess
(
List
<
MessageContent
>
messageContents
)
{
loginViewModel
.
addPrivateMsg
(
messageContents
);
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
return
binding
.
getRoot
();
}
}
\ No newline at end of file
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelFragment.java
View file @
e9e98975
...
...
@@ -79,6 +79,18 @@ public class ConnectChannelFragment extends Fragment {
}
});
CCIMClient
.
getInstance
().
getChannelMessage
(
channelId
,
new
ResultEventCallback
<
List
<
MessageContent
>>()
{
@Override
public
void
onSuccess
(
List
<
MessageContent
>
messageContents
)
{
loginViewModel
.
addChannelMsg
(
messageContents
);
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
binding
.
sendVoice
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
...
...
app/src/main/res/layout/activity_login.xml
View file @
e9e98975
...
...
@@ -69,7 +69,7 @@
android:layout_height=
"wrap_content"
android:layout_marginTop=
"8dp"
android:hint=
"ip"
android:text=
"10
6.15.237.67
"
android:text=
"10
.4.5.134
"
android:imeActionLabel=
"@string/action_sign_in_short"
android:imeOptions=
"actionDone"
android:selectAllOnFocus=
"true"
...
...
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
View file @
e9e98975
...
...
@@ -103,6 +103,7 @@ public class CCIMClient {
resultCallback
.
onSocketConnection
();
isConnected
=
true
;
}
channelManager
.
reConnection
();
}
@Override
...
...
@@ -240,7 +241,6 @@ public class CCIMClient {
*/
public
void
addContact
(
Long
userId
,
ResultEventCallback
<
Void
>
callback
)
{
contactManager
.
addContact
(
userId
,
callback
);
}
/**
...
...
@@ -367,7 +367,7 @@ public class CCIMClient {
return
;
}
if
(!
checkTimeInterval
())
{
if
(!
checkTimeInterval
())
{
callback
.
onFailed
(
ErrorCode
.
SEND_MSG_INTERVAL
);
return
;
}
...
...
@@ -402,6 +402,20 @@ public class CCIMClient {
messageManager
.
sendChannelMessage
(
content
,
channelId
,
MessageSpec
.
MessageType
.
MESSAGE_TYPE_TEXT
,
callback
);
}
/**
* 获取私聊消息
*/
public
void
getPrivateMessage
(
Long
userId
,
ResultEventCallback
<
List
<
MessageContent
>>
callback
){
messageManager
.
getPrivateMessage
(
userId
,
callback
);
}
/**
* 获取频道消息
*/
public
void
getChannelMessage
(
Long
channelId
,
ResultEventCallback
<
List
<
MessageContent
>>
callback
){
messageManager
.
getChannelMessage
(
channelId
,
callback
);
}
/**
* 推送私人消息成功ack
*/
...
...
ccim/src/main/java/com/ccwangluo/ccim/listener/OnPushMsgListener.java
View file @
e9e98975
...
...
@@ -19,6 +19,4 @@ public interface OnPushMsgListener {
void
pushContactNewReq
(
User
user
);
void
pushBlockByContact
(
Long
userId
);
}
ccim/src/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
View file @
e9e98975
...
...
@@ -3,6 +3,7 @@ package com.ccwangluo.ccim.manage;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.logging.Logger
;
...
...
@@ -13,6 +14,7 @@ public class ChannelManager {
private
final
Logger
logger
=
Logger
.
getLogger
(
CCIMClient
.
class
.
getName
());
private
SocketManager
socketManager
;
private
CallBackManager
<
Chat
.
ChatResponseMessage
>
callBackManager
;
private
HashSet
<
Long
>
channelIds
=
new
HashSet
<>();
public
ChannelManager
(
SocketManager
socketManager
,
CallBackManager
<
Chat
.
ChatResponseMessage
>
callBackManager
)
{
this
.
socketManager
=
socketManager
;
...
...
@@ -41,6 +43,7 @@ public class ChannelManager {
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
Channel
.
CreateChannelResponse
createChannelRes
=
chatResponseMessage
.
getCreateChannelRes
();
callback
.
onSuccess
(
createChannelRes
.
getChannelId
());
channelIds
.
add
(
createChannelRes
.
getChannelId
());
}
}
...
...
@@ -64,6 +67,7 @@ public class ChannelManager {
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
callback
.
onSuccess
(
null
);
channelIds
.
add
(
channelId
);
}
@Override
...
...
@@ -138,6 +142,7 @@ public class ChannelManager {
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
(
null
);
channelIds
.
remove
(
channelId
);
}
@Override
...
...
@@ -147,4 +152,20 @@ public class ChannelManager {
});
}
public
void
reConnection
()
{
for
(
Long
channelId
:
channelIds
)
{
joinChannel
(
channelId
,
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
(
Void
unused
)
{
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
channelIds
.
clear
();
}
}
ccim/src/main/java/com/ccwangluo/ccim/manage/ContactManager.java
View file @
e9e98975
...
...
@@ -11,12 +11,12 @@ import com.ccwangluo.ccim.modle.Dialog;
import
com.ccwangluo.ccim.modle.NetStatus
;
import
com.ccwangluo.ccim.modle.PullContactsRes
;
import
com.ccwangluo.ccim.modle.SearchRes
;
import
com.ccwangluo.ccim.modle.Status
;
import
com.ccwangluo.ccim.modle.User
;
import
com.google.gson.Gson
;
import
com.google.protobuf.util.JsonFormat
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.logging.Logger
;
...
...
@@ -32,6 +32,7 @@ public class ContactManager {
private
final
HashMap
<
Long
,
Contact
>
contacts
=
new
HashMap
<>();
//联系人列表
private
final
HashMap
<
Long
,
ContactGroup
>
contactGroups
=
new
HashMap
<>();
//群组列表
private
final
HashMap
<
Long
,
Dialog
>
dialogs
=
new
HashMap
<>();
//对话列表
private
final
HashSet
<
Long
>
blocklist
=
new
HashSet
<
Long
>();
//对话列表
public
ContactManager
(
SocketManager
socketManager
,
CallBackManager
<
Chat
.
ChatResponseMessage
>
callBackManager
)
{
this
.
socketManager
=
socketManager
;
...
...
@@ -44,7 +45,7 @@ public class ContactManager {
*/
public
void
getContactList
(
ResultEventCallback
<
PullContactsRes
>
resultEventCallback
,
boolean
isClearCache
)
{
if
(!
isClearCache
&&
(
contacts
.
size
()
>
0
||
contactGroups
.
size
()
>
0
||
dialogs
.
size
()
>
0
))
{
PullContactsRes
pullContactsRes
=
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
());
PullContactsRes
pullContactsRes
=
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
()
,
blocklist
);
resultEventCallback
.
onSuccess
(
pullContactsRes
);
return
;
}
...
...
@@ -63,6 +64,7 @@ public class ContactManager {
contacts
.
clear
();
contactGroups
.
clear
();
dialogs
.
clear
();
blocklist
.
clear
();
if
(
pullContactsRes1
.
getContacts
()
!=
null
)
{
for
(
Contact
contact
:
pullContactsRes1
.
getContacts
())
{
contacts
.
put
(
contact
.
getContactUserId
(),
contact
);
...
...
@@ -80,7 +82,10 @@ public class ContactManager {
}
}
resultEventCallback
.
onSuccess
(
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
()));
if
(
pullContactsRes1
.
getBlocklist
()
!=
null
)
{
blocklist
.
addAll
(
pullContactsRes1
.
getBlocklist
());
}
resultEventCallback
.
onSuccess
(
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
(),
blocklist
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -350,10 +355,7 @@ public class ContactManager {
callBackManager
.
addCallBack
(
id
,
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
Contact
contact
=
contacts
.
get
(
userId
);
if
(
contact
!=
null
)
{
contact
.
setStatus
(
Status
.
CONTACT_STATUS_BLACK_LIST
);
}
blocklist
.
add
(
userId
);
callback
.
onSuccess
(
null
);
}
...
...
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
View file @
e9e98975
...
...
@@ -8,9 +8,12 @@ import com.ccwangluo.ccim.CCIMClient;
import
com.ccwangluo.ccim.database.AppDatabase
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.modle.PullMessageRes
;
import
com.ccwangluo.ccim.util.ErrorCode
;
import
com.ccwangluo.ccim.util.FileUtils
;
import
com.ccwangluo.ccim.util.MediaHelper
;
import
com.google.gson.Gson
;
import
com.google.protobuf.util.JsonFormat
;
import
java.io.File
;
import
java.util.List
;
...
...
@@ -220,7 +223,94 @@ public class MessageManager {
}
/**
* 获取私聊消息记录
*
* @param contactId
* @param callback
*/
public
void
getPrivateMessage
(
Long
contactId
,
ResultEventCallback
<
List
<
MessageContent
>>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Message
.
PullPrivateMessageRequest
build
=
Message
.
PullPrivateMessageRequest
.
newBuilder
().
setUserId
(
contactId
).
build
();
builder
.
setPullPrivateMsgReq
(
build
);
int
id
=
socketManager
.
sendRequest
(
builder
);
callBackManager
.
addCallBack
(
id
,
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasPullPrivateMsgRes
())
{
Gson
gson
=
new
Gson
();
Message
.
PullPrivateMessageResponse
pullPrivateMsgRes
=
chatResponseMessage
.
getPullPrivateMsgRes
();
try
{
String
print
=
JsonFormat
.
printer
().
print
(
pullPrivateMsgRes
);
PullMessageRes
pullPrivateMsgRes1
=
gson
.
fromJson
(
print
,
PullMessageRes
.
class
);
List
<
MessageContent
>
message
=
pullPrivateMsgRes1
.
getMessage
();
for
(
MessageContent
messageContent
:
message
)
{
if
(
messageContent
.
getSenderUserId
().
equals
(
userId
))
{
messageContent
.
setReciveUserId
(
contactId
);
}
else
{
messageContent
.
setReciveUserId
(
userId
);
}
}
callback
.
onSuccess
(
message
);
pushNewMessageList
(
message
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
@Override
public
void
onFailed
(
int
errorCode
)
{
callback
.
onFailed
(
errorCode
);
}
});
}
/**
* @param channelId
* @param callback
*/
public
void
getChannelMessage
(
Long
channelId
,
ResultEventCallback
<
List
<
MessageContent
>>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Message
.
PullChannelMessageRequest
build
=
Message
.
PullChannelMessageRequest
.
newBuilder
().
setChannelId
(
channelId
).
build
();
builder
.
setPullChannelMsgReq
(
build
);
int
id
=
socketManager
.
sendRequest
(
builder
);
callBackManager
.
addCallBack
(
id
,
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasPullChannelMsgRes
())
{
Gson
gson
=
new
Gson
();
Message
.
PullChannelMessageResponse
pullChannelMsgRes
=
chatResponseMessage
.
getPullChannelMsgRes
();
try
{
String
print
=
JsonFormat
.
printer
().
print
(
pullChannelMsgRes
);
PullMessageRes
pullPrivateMsgRes1
=
gson
.
fromJson
(
print
,
PullMessageRes
.
class
);
List
<
MessageContent
>
message
=
pullPrivateMsgRes1
.
getMessage
();
for
(
MessageContent
messageContent
:
message
)
{
messageContent
.
setChannelId
(
channelId
);
}
callback
.
onSuccess
(
message
);
pushNewMessageList
(
message
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
@Override
public
void
onFailed
(
int
errorCode
)
{
callback
.
onFailed
(
errorCode
);
}
});
}
public
void
pushNewMessage
(
MessageContent
messageContent
)
{
executor
.
execute
(()
->
db
.
messageDao
().
insert
(
messageContent
));
}
private
void
pushNewMessageList
(
List
<
MessageContent
>
messageContents
)
{
executor
.
execute
(()
->
db
.
messageDao
().
insertList
(
messageContents
));
}
}
ccim/src/main/java/com/ccwangluo/ccim/modle/Contact.java
View file @
e9e98975
...
...
@@ -9,7 +9,7 @@ public class Contact implements Serializable {
private
NetStatus
netStatus
=
NetStatus
.
NET_STATUS_ONLINE
;
private
String
extData
;
private
Long
contactGroupId
=
0L
;
private
Status
status
=
Status
.
CONTACT_STATUS_NORMAL
;
public
Long
getContactUserId
()
{
return
contactUserId
;
...
...
@@ -59,12 +59,5 @@ public class Contact implements Serializable {
this
.
contactGroupId
=
contactGroupId
;
}
public
Status
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Status
status
)
{
this
.
status
=
status
;
}
}
ccim/src/main/java/com/ccwangluo/ccim/modle/MessageContent.java
View file @
e9e98975
...
...
@@ -3,8 +3,7 @@ package com.ccwangluo.ccim.modle;
import
androidx.room.Entity
;
import
androidx.room.Index
;
@Entity
(
primaryKeys
=
{
"msgId"
},
indices
=
{
@Index
(
"msgId"
),
@Index
(
value
=
{
"senderUserId"
,
"reciveUserId"
})})
@Entity
(
primaryKeys
=
{
"msgId"
},
indices
=
{
@Index
(
value
=
{
"msgId"
},
unique
=
true
)})
public
class
MessageContent
{
private
Long
msgId
;
...
...
ccim/src/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
View file @
e9e98975
...
...
@@ -7,11 +7,21 @@ public class PullContactsRes {
private
Collection
<
ContactGroup
>
contactGroups
;
private
Collection
<
Contact
>
contacts
;
private
Collection
<
Dialog
>
dialogs
;
private
Collection
<
Long
>
blocklist
;
public
PullContactsRes
(
Collection
<
ContactGroup
>
contactGroups
,
Collection
<
Contact
>
contacts
,
Collection
<
Dialog
>
dialogs
)
{
public
Collection
<
Long
>
getBlocklist
()
{
return
blocklist
;
}
public
void
setBlocklist
(
Collection
<
Long
>
blocklist
)
{
this
.
blocklist
=
blocklist
;
}
public
PullContactsRes
(
Collection
<
ContactGroup
>
contactGroups
,
Collection
<
Contact
>
contacts
,
Collection
<
Dialog
>
dialogs
,
Collection
<
Long
>
blocklist
)
{
this
.
contactGroups
=
contactGroups
;
this
.
contacts
=
contacts
;
this
.
dialogs
=
dialogs
;
this
.
blocklist
=
blocklist
;
}
public
Collection
<
ContactGroup
>
getContactGroups
()
{
...
...
ccim/src/main/java/com/ccwangluo/ccim/modle/PullMessageRes.java
0 → 100644
View file @
e9e98975
package
com.ccwangluo.ccim.modle
;
import
java.util.List
;
public
class
PullMessageRes
{
private
List
<
MessageContent
>
message
;
public
List
<
MessageContent
>
getMessage
()
{
return
message
;
}
public
void
setMessage
(
List
<
MessageContent
>
message
)
{
this
.
message
=
message
;
}
}
ccim/src/main/proto/chat.proto
View file @
e9e98975
...
...
@@ -41,6 +41,9 @@ message ChatRequestMessage {
PushPrivateMessageAckRequest
push_private_msg_ack_req
=
61
;
// 推送私人消息成功ack
PushChannelMessageAckRequest
push_channel_msg_ack_req
=
62
;
// 推送频道消息ack
PullPrivateMessageRequest
pull_private_msg_req
=
81
;
// 拉取私聊消息
PullChannelMessageRequest
pull_channel_msg_req
=
82
;
// 拉取频道消息
HeartbeatRequest
heartbeat_req
=
100
;
// 作用于登录返回的心跳间隔heartbeat_interval
ConnectionStateAckRequest
connection_state_ack_req
=
101
;
// 服务端主动返回一个ConnectionStateResponse时客户端必须返回ConnectionStateAckRequest
}
...
...
@@ -84,6 +87,9 @@ message ChatResponseMessage {
PushContactNewReqResponse
push_contact_new_req_res
=
74
;
// 推送新的好友申请
PushUserDeletedResponse
push_user_deleted_res
=
76
;
// 推送与自己有关系(对话过的陌生人或好友)的用户已删除
PullPrivateMessageResponse
pull_private_msg_res
=
81
;
// 拉取私聊消息
PullChannelMessageResponse
pull_channel_msg_res
=
82
;
// 拉取频道消息
HeartbeatResponse
heartbeat_res
=
100
;
ConnectionStateResponse
connection_state_res
=
101
;
}
...
...
ccim/src/main/proto/message.proto
View file @
e9e98975
...
...
@@ -47,3 +47,19 @@ message PullOfflineMessageResponse {
}
repeated
OfflineMessage
offline_msgs
=
1
;
}
message
PullPrivateMessageRequest
{
int64
user_id
=
1
;
}
message
PullPrivateMessageResponse
{
repeated
ChatMessage
message
=
1
;
}
message
PullChannelMessageRequest
{
int64
channel_id
=
1
;
}
message
PullChannelMessageResponse
{
repeated
ChatMessage
message
=
1
;
}
\ 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