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
a3d105f5
Commit
a3d105f5
authored
Nov 18, 2021
by
sheteng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix1
parent
2b73dc9c
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
117 additions
and
18 deletions
+117
-18
app/build.gradle
app/build.gradle
+10
-0
app/libs/ccim-release.aar
app/libs/ccim-release.aar
+0
-0
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
...n/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
+84
-0
app/src/main/java/com/ccwangluo/im/ui/notifications/NotificationsFragment.java
.../ccwangluo/im/ui/notifications/NotificationsFragment.java
+9
-3
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
+10
-10
ccim/src/main/java/com/ccwangluo/ccim/manage/SocketManageer.java
...c/main/java/com/ccwangluo/ccim/manage/SocketManageer.java
+4
-5
No files found.
app/build.gradle
View file @
a3d105f5
...
@@ -31,6 +31,12 @@ android {
...
@@ -31,6 +31,12 @@ android {
}
}
}
}
repositories
{
flatDir
{
dirs
'libs'
}
}
dependencies
{
dependencies
{
implementation
'androidx.annotation:annotation:1.2.0'
implementation
'androidx.annotation:annotation:1.2.0'
implementation
'androidx.vectordrawable:vectordrawable:1.1.0'
implementation
'androidx.vectordrawable:vectordrawable:1.1.0'
...
@@ -40,6 +46,7 @@ dependencies {
...
@@ -40,6 +46,7 @@ dependencies {
implementation
"androidx.multidex:multidex:$multidex_version"
implementation
"androidx.multidex:multidex:$multidex_version"
def
lifecycle_version
=
"2.3.1"
def
lifecycle_version
=
"2.3.1"
implementation
"androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation
"androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation
"androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation
"androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation
'androidx.appcompat:appcompat:1.3.1'
implementation
'androidx.appcompat:appcompat:1.3.1'
...
@@ -48,9 +55,12 @@ dependencies {
...
@@ -48,9 +55,12 @@ dependencies {
implementation
'androidx.navigation:navigation-fragment:2.3.0'
implementation
'androidx.navigation:navigation-fragment:2.3.0'
implementation
'androidx.navigation:navigation-ui:2.3.0'
implementation
'androidx.navigation:navigation-ui:2.3.0'
// implementation(name: 'ccim-release', ext: 'aar')
implementation
project
(
path:
':ccim'
)
implementation
project
(
path:
':ccim'
)
implementation
'com.google.protobuf:protobuf-java:3.13.0'
implementation
'com.google.protobuf:protobuf-java:3.13.0'
implementation
'com.google.protobuf:protobuf-java:3.13.0'
implementation
'com.google.protobuf:protobuf-java:3.13.0'
implementation
'com.google.protobuf:protobuf-java-util:3.12.0'
implementation
'com.google.protobuf:protobuf-java-util:3.12.0'
implementation
'com.guolindev.permissionx:permissionx:1.6.1'
implementation
'com.guolindev.permissionx:permissionx:1.6.1'
implementation
'com.tonystark.android:socket:latest.release'
implementation
'com.tonystark.android:socket-server:latest.release'
}
}
\ No newline at end of file
app/libs/ccim-release.aar
0 → 100644
View file @
a3d105f5
File added
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
0 → 100644
View file @
a3d105f5
package
com.ccwangluo.im.ui.dashboard
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Toast
;
import
androidx.fragment.app.Fragment
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProvider
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.data.Contact
;
import
com.ccwangluo.ccim.data.PushPrivateMsgRes
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.im.adapter.PrivateMsgAdapter
;
import
com.ccwangluo.im.data.LoginViewModel
;
import
com.ccwangluo.im.databinding.FragmentConnectBinding
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
ConnectFragment
extends
Fragment
{
private
FragmentConnectBinding
binding
;
private
LoginViewModel
loginViewModel
;
private
PrivateMsgAdapter
privaetMsgAdapter
;
private
List
<
PushPrivateMsgRes
.
MessageDTO
>
list
=
new
ArrayList
<>();
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
binding
=
FragmentConnectBinding
.
inflate
(
inflater
,
container
,
false
);
loginViewModel
=
new
ViewModelProvider
(
getActivity
())
.
get
(
LoginViewModel
.
class
);
privaetMsgAdapter
=
new
PrivateMsgAdapter
(
list
,
getContext
());
binding
.
msgList
.
setAdapter
(
privaetMsgAdapter
);
Contact
contact
=
(
Contact
)
getArguments
().
getSerializable
(
"contact"
);
loginViewModel
.
privateMsgList
.
observe
(
getViewLifecycleOwner
(),
new
Observer
<
List
<
PushPrivateMsgRes
>>()
{
@Override
public
void
onChanged
(
List
<
PushPrivateMsgRes
>
pushPrivateMsgRes
)
{
list
.
clear
();
for
(
PushPrivateMsgRes
pushPrivateMsgRe
:
pushPrivateMsgRes
)
{
if
((
contact
.
getContactUserId
().
equals
(
pushPrivateMsgRe
.
getMessage
().
getSenderUserId
())||
contact
.
getContactUserId
().
equals
(
pushPrivateMsgRe
.
getMessage
().
getReciveUserId
())))
{
list
.
add
(
pushPrivateMsgRe
.
getMessage
());
}
}
privaetMsgAdapter
.
refreshData
();
binding
.
msgList
.
setSelection
(
privaetMsgAdapter
.
getCount
()
-
1
);
}
});
binding
.
sendBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
String
content
=
binding
.
sendEdit
.
getText
().
toString
();
CCIMClient
.
getInstance
().
sendTextMessage
(
content
,
contact
.
getContactUserId
(),
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
binding
.
sendEdit
.
setText
(
""
);
PushPrivateMsgRes
.
MessageDTO
messageDTO
=
new
PushPrivateMsgRes
.
MessageDTO
();
messageDTO
.
setReciveUserId
(
contact
.
getContactUserId
());
messageDTO
.
setContent
(
content
);
PushPrivateMsgRes
pushPrivateMsgRes
=
new
PushPrivateMsgRes
();
pushPrivateMsgRes
.
setMessage
(
messageDTO
);
loginViewModel
.
addPrivateMsg
(
pushPrivateMsgRes
);
Toast
.
makeText
(
getContext
(),
"send Success"
,
Toast
.
LENGTH_LONG
).
show
();
}
});
}
});
return
binding
.
getRoot
();
}
}
\ No newline at end of file
app/src/main/java/com/ccwangluo/im/ui/notifications/NotificationsFragment.java
View file @
a3d105f5
...
@@ -3,6 +3,7 @@ package com.ccwangluo.im.ui.notifications;
...
@@ -3,6 +3,7 @@ package com.ccwangluo.im.ui.notifications;
import
android.app.AlertDialog
;
import
android.app.AlertDialog
;
import
android.content.DialogInterface
;
import
android.content.DialogInterface
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
...
@@ -82,6 +83,9 @@ public class NotificationsFragment extends Fragment {
...
@@ -82,6 +83,9 @@ public class NotificationsFragment extends Fragment {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
String
channelId
=
inputServer
.
getText
().
toString
();
String
channelId
=
inputServer
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
channelId
)){
Toast
.
makeText
(
getContext
(),
"channel id is null"
,
Toast
.
LENGTH_SHORT
).
show
();
}
long
Id
=
Long
.
parseLong
(
channelId
);
long
Id
=
Long
.
parseLong
(
channelId
);
CCIMClient
.
getInstance
().
joinChannel
(
Id
,
new
ResultCallback
()
{
CCIMClient
.
getInstance
().
joinChannel
(
Id
,
new
ResultCallback
()
{
@Override
@Override
...
@@ -123,10 +127,12 @@ public class NotificationsFragment extends Fragment {
...
@@ -123,10 +127,12 @@ public class NotificationsFragment extends Fragment {
boolean
checked
=
checkBox
.
isChecked
();
boolean
checked
=
checkBox
.
isChecked
();
String
users
=
userList
.
getText
().
toString
();
String
users
=
userList
.
getText
().
toString
();
ArrayList
<
Long
>
longs
=
new
ArrayList
<>();
ArrayList
<
Long
>
longs
=
new
ArrayList
<>();
if
(!
TextUtils
.
isEmpty
(
users
))
{
String
[]
split
=
users
.
split
(
","
);
String
[]
split
=
users
.
split
(
","
);
for
(
int
i
=
0
;
i
<
split
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
split
.
length
;
i
++)
{
longs
.
add
(
Long
.
parseLong
(
split
[
i
]));
longs
.
add
(
Long
.
parseLong
(
split
[
i
]));
}
}
}
CCIMClient
.
getInstance
().
createChannel
(
name
,
tag
,
checked
,
longs
,
new
ResultEventCallback
<
Long
>()
{
CCIMClient
.
getInstance
().
createChannel
(
name
,
tag
,
checked
,
longs
,
new
ResultEventCallback
<
Long
>()
{
@Override
@Override
public
void
onSuccess
(
Long
aLong
)
{
public
void
onSuccess
(
Long
aLong
)
{
...
...
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
View file @
a3d105f5
...
@@ -26,7 +26,6 @@ import com.google.gson.Gson;
...
@@ -26,7 +26,6 @@ import com.google.gson.Gson;
import
com.google.protobuf.util.JsonFormat
;
import
com.google.protobuf.util.JsonFormat
;
import
com.permissionx.guolindev.PermissionX
;
import
com.permissionx.guolindev.PermissionX
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -77,14 +76,15 @@ public class CCIMClient {
...
@@ -77,14 +76,15 @@ public class CCIMClient {
@Override
@Override
public
void
onSocketConnection
()
{
public
void
onSocketConnection
()
{
resultCallback
.
onSocketConnection
();
resultCallback
.
onSocketConnection
();
if
(!
isNeedFresh
)
{
isNeedFresh
=
true
;
isNeedFresh
=
true
;
getContactList
(
new
ContactsCallBack
()
{
contacts
.
clear
();
@Override
contactGroups
.
clear
();
public
void
onSuccess
(
Collection
<
Contact
>
contacts
,
Collection
<
ContactGroup
>
contactGroups
)
{
getContactList
((
contacts
,
contactGroups
)
->
{
}
});
});
}
}
}
@Override
@Override
public
void
onSocketDisconnection
()
{
public
void
onSocketDisconnection
()
{
...
@@ -109,6 +109,7 @@ public class CCIMClient {
...
@@ -109,6 +109,7 @@ public class CCIMClient {
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
if
(
chatResponseMessage
.
hasPushChannelMsgRes
())
{
if
(
chatResponseMessage
.
hasPushChannelMsgRes
())
{
Push
.
PushChannelMessageResponse
channelMsgRes
=
chatResponseMessage
.
getPushChannelMsgRes
();
Push
.
PushChannelMessageResponse
channelMsgRes
=
chatResponseMessage
.
getPushChannelMsgRes
();
pushChannelMessage
(
channelMsgRes
.
getChannelId
(),
channelMsgRes
.
getMessage
().
getMsgId
());
pushChannelMessage
(
channelMsgRes
.
getChannelId
(),
channelMsgRes
.
getMessage
().
getMsgId
());
...
@@ -158,7 +159,7 @@ public class CCIMClient {
...
@@ -158,7 +159,7 @@ public class CCIMClient {
Push
.
PushBlockedByContactResponse
pushContactNewReqRes
=
chatResponseMessage
.
getPushBlockedByContactRes
();
Push
.
PushBlockedByContactResponse
pushContactNewReqRes
=
chatResponseMessage
.
getPushBlockedByContactRes
();
long
contactUserId
=
pushContactNewReqRes
.
getContactUserId
();
long
contactUserId
=
pushContactNewReqRes
.
getContactUserId
();
ContactOuterClass
.
ContactStatus
contactStatus
=
pushContactNewReqRes
.
getContactStatus
();
ContactOuterClass
.
ContactStatus
contactStatus
=
pushContactNewReqRes
.
getContactStatus
();
contacts
.
get
(
contactUserId
).
setStatus
(
Status
.
valueOf
(
contactStatus
.
name
()));
Objects
.
requireNonNull
(
contacts
.
get
(
contactUserId
)
).
setStatus
(
Status
.
valueOf
(
contactStatus
.
name
()));
pushMsgListener
.
pushBlockByContact
(
contactUserId
);
pushMsgListener
.
pushBlockByContact
(
contactUserId
);
}
}
...
@@ -337,9 +338,8 @@ public class CCIMClient {
...
@@ -337,9 +338,8 @@ public class CCIMClient {
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasCheckContactReqRes
())
{
if
(
chatResponseMessage
.
hasCheckContactReqRes
())
{
ContactOuterClass
.
Contact
newContact
=
chatResponseMessage
.
getCheckContactReqRes
().
getNewContact
();
ContactOuterClass
.
Contact
newContact
=
chatResponseMessage
.
getCheckContactReqRes
().
getNewContact
();
String
print
=
null
;
try
{
try
{
print
=
JsonFormat
.
printer
().
print
(
newContact
);
String
print
=
JsonFormat
.
printer
().
print
(
newContact
);
Contact
contact
=
new
Gson
().
fromJson
(
print
,
Contact
.
class
);
Contact
contact
=
new
Gson
().
fromJson
(
print
,
Contact
.
class
);
contacts
.
put
(
contact
.
getContactUserId
(),
contact
);
contacts
.
put
(
contact
.
getContactUserId
(),
contact
);
callback
.
onSuccess
();
callback
.
onSuccess
();
...
...
ccim/src/main/java/com/ccwangluo/ccim/manage/SocketManageer.java
View file @
a3d105f5
...
@@ -66,11 +66,8 @@ public class SocketManageer {
...
@@ -66,11 +66,8 @@ public class SocketManageer {
.
setTs
(
ts
)
.
setTs
(
ts
)
.
setSign
(
sign
)
.
setSign
(
sign
)
.
build
();
.
build
();
Common
.
RequestMessageHeader
header
=
Common
.
RequestMessageHeader
.
newBuilder
().
setVersion
(
1
).
setSeq
(
1
).
build
();
int
idPlus
=
sendRequest
(
builder
);
Chat
.
ChatRequestMessage
build
=
Chat
.
ChatRequestMessage
.
newBuilder
().
setConnectReq
(
builder
).
setHeader
(
header
).
build
();
callBackManager
.
addCallBack
(
idPlus
,
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
OkSocket
.
open
(
getChatInfo
())
.
send
(
new
IrequestData
(
build
.
toByteArray
()));
callBackManager
.
addCallBack
(
idPlus
(),
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
@Override
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
onConnectListener
.
onSocketConnection
();
onConnectListener
.
onSocketConnection
();
...
@@ -251,6 +248,8 @@ public class SocketManageer {
...
@@ -251,6 +248,8 @@ public class SocketManageer {
builder
.
setConnectionStateAckReq
((
Chat
.
ConnectionStateAckRequest
)
request
);
builder
.
setConnectionStateAckReq
((
Chat
.
ConnectionStateAckRequest
)
request
);
}
else
if
(
request
instanceof
ContactOuterClass
.
DeleteContactGroupRequest
)
{
}
else
if
(
request
instanceof
ContactOuterClass
.
DeleteContactGroupRequest
)
{
builder
.
setDeleteContactGroupReq
((
ContactOuterClass
.
DeleteContactGroupRequest
)
request
);
builder
.
setDeleteContactGroupReq
((
ContactOuterClass
.
DeleteContactGroupRequest
)
request
);
}
else
if
(
request
instanceof
Chat
.
ConnectRequest
){
builder
.
setConnectReq
((
Chat
.
ConnectRequest
)
request
);
}
}
...
...
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