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
ef12c5bf
Commit
ef12c5bf
authored
Dec 17, 2021
by
sheteng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改callback
parent
33461bc2
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
331 additions
and
293 deletions
+331
-293
.idea/deploymentTargetDropDown.xml
.idea/deploymentTargetDropDown.xml
+17
-0
app/build.gradle
app/build.gradle
+9
-3
app/libs/ccim-release.aar
app/libs/ccim-release.aar
+0
-0
app/src/main/java/com/ccwangluo/im/FirstFragment.java
app/src/main/java/com/ccwangluo/im/FirstFragment.java
+130
-115
app/src/main/java/com/ccwangluo/im/MainActivity.java
app/src/main/java/com/ccwangluo/im/MainActivity.java
+1
-0
app/src/main/java/com/ccwangluo/im/MainActivity2.java
app/src/main/java/com/ccwangluo/im/MainActivity2.java
+6
-5
app/src/main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
...main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
+4
-5
app/src/main/java/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
...va/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
+11
-11
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
...main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
+4
-5
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
+14
-8
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
...n/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
+2
-3
app/src/main/java/com/ccwangluo/im/ui/dashboard/ContactsFragment.java
.../java/com/ccwangluo/im/ui/dashboard/ContactsFragment.java
+4
-5
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelFragment.java
...ccwangluo/im/ui/notifications/ConnectChannelFragment.java
+2
-3
app/src/main/java/com/ccwangluo/im/ui/notifications/NotificationsFragment.java
.../ccwangluo/im/ui/notifications/NotificationsFragment.java
+10
-11
ccim/build.gradle
ccim/build.gradle
+2
-3
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
+53
-32
ccim/src/main/java/com/ccwangluo/ccim/listener/OnConnectListener.java
...n/java/com/ccwangluo/ccim/listener/OnConnectListener.java
+1
-1
ccim/src/main/java/com/ccwangluo/ccim/listener/ResultCallback.java
...main/java/com/ccwangluo/ccim/listener/ResultCallback.java
+0
-7
ccim/src/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
...c/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
+8
-10
ccim/src/main/java/com/ccwangluo/ccim/manage/ContactManager.java
...c/main/java/com/ccwangluo/ccim/manage/ContactManager.java
+25
-22
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
...c/main/java/com/ccwangluo/ccim/manage/MessageManager.java
+3
-4
ccim/src/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
...c/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
+17
-14
ccim/src/main/java/com/ccwangluo/ccim/util/FileUtils.java
ccim/src/main/java/com/ccwangluo/ccim/util/FileUtils.java
+2
-3
ccim/src/main/java/com/ccwangluo/ccim/util/MediaHelper.java
ccim/src/main/java/com/ccwangluo/ccim/util/MediaHelper.java
+5
-6
ccim/src/main/proto/common.proto
ccim/src/main/proto/common.proto
+1
-0
ccim/src/test/java/com/ccwangluo/ccim/ExampleUnitTest.java
ccim/src/test/java/com/ccwangluo/ccim/ExampleUnitTest.java
+0
-17
No files found.
.idea/deploymentTargetDropDown.xml
0 → 100644
View file @
ef12c5bf
<?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/build.gradle
View file @
ef12c5bf
...
...
@@ -8,7 +8,7 @@ android {
defaultConfig
{
applicationId
"com.ccwangluo.xiyuan22"
minSdkVersion
26
minSdkVersion
17
targetSdkVersion
30
versionCode
1
versionName
"1.0"
...
...
@@ -56,13 +56,19 @@ dependencies {
// implementation(name: 'ccim-release', ext: 'aar')
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-util:3.12.0'
implementation
'com.g
uolindev.permissionx:permissionx:1.6.1
'
implementation
'com.g
oogle.code.gson:gson:2.8.7
'
implementation
'io.netty:netty-all:4.1.4.Final'
implementation
'com.squareup.okhttp3:okhttp:4.9.0'
def
room_version
=
"2.3.0"
implementation
"androidx.room:room-runtime:$room_version"
annotationProcessor
"androidx.room:room-compiler:$room_version"
implementation
'com.karumi:dexter:6.2.3'
// implementation('com.fasterxml.jackson.core:jackson-core:2.11.1')
implementation
'com.fasterxml.jackson.jr:jackson-jr-objects:2.13.0'
// implementation('com.fasterxml.jackson.core:jackson-databind:2.11.1')
}
\ No newline at end of file
app/libs/ccim-release.aar
View file @
ef12c5bf
No preview for this file type
app/src/main/java/com/ccwangluo/im/FirstFragment.java
View file @
ef12c5bf
...
...
@@ -11,22 +11,18 @@ import androidx.annotation.NonNull;
import
androidx.fragment.app.Fragment
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ContactsCallBack
;
import
com.ccwangluo.ccim.listener.OnConnectListener
;
import
com.ccwangluo.ccim.listener.OnPushMsgListener
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.ContactGroup
;
import
com.ccwangluo.ccim.modle.Dialog
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.modle.NetStatus
;
import
com.ccwangluo.ccim.modle.PullContactsRes
;
import
com.ccwangluo.ccim.modle.User
;
import
com.ccwangluo.ccim.util.HmacUtil
;
import
com.ccwangluo.im.databinding.FragmentFirstBinding
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.List
;
public
class
FirstFragment
extends
Fragment
{
...
...
@@ -39,7 +35,6 @@ public class FirstFragment extends Fragment {
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
binding
=
FragmentFirstBinding
.
inflate
(
inflater
,
container
,
false
);
return
binding
.
getRoot
();
}
...
...
@@ -56,7 +51,7 @@ public class FirstFragment extends Fragment {
//sign计算在服务器,本地不要暴露appsecrect
String
sign
=
HmacUtil
.
stringToSign
(
"wW7cR31PwJseIoZMOs311nljHpwUmujs"
,
data
);
CCIMClient
.
getInstance
().
initSDK
(
getContext
(),
appKey
,
userName
,
extData
,
userId
,
ts
,
sign
,
new
OnConnectListener
()
{
CCIMClient
.
getInstance
().
initSDK
(
getContext
(),
appKey
,
userName
,
extData
,
userId
,
ts
,
sign
,
new
OnConnectListener
()
{
@Override
public
void
onSocketConnection
()
{
refreshLogView
(
"connect success"
);
...
...
@@ -93,7 +88,7 @@ public class FirstFragment extends Fragment {
@Override
public
void
pushContactNetStatus
(
Long
contactId
,
NetStatus
status
)
{
refreshLogView
(
"ContactNetStatus is :"
+
contactId
+
" status:"
+
status
);
refreshLogView
(
"ContactNetStatus is :"
+
contactId
+
" status:"
+
status
);
}
@Override
...
...
@@ -112,12 +107,17 @@ public class FirstFragment extends Fragment {
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
getContactList
(
new
ContactsCallBack
()
{
CCIMClient
.
getInstance
().
getContactList
(
true
,
new
ResultEventCallback
<
PullContactsRes
>
()
{
@Override
public
void
onSuccess
(
Collection
<
Contact
>
contacts
,
Collection
<
ContactGroup
>
contactGroups
,
Collection
<
Dialog
>
dialog
s
)
{
public
void
onSuccess
(
PullContactsRes
pullContactsRe
s
)
{
}
},
true
);
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
});
...
...
@@ -150,10 +150,10 @@ public class FirstFragment extends Fragment {
binding
.
addUser
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
addContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
addContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"addContact success"
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -202,10 +202,10 @@ public class FirstFragment extends Fragment {
binding
.
checkContactRequests
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
checkContactReq
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
true
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
checkContactReq
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
true
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"checkContactRequests success"
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -235,27 +235,28 @@ public class FirstFragment extends Fragment {
binding
.
moveContactGroupRequest
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
moveContactGroup
(
Long
.
parseLong
(
binding
.
groupId
.
getText
().
toString
()),
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"moveContactGroupRequest success "
);
}
CCIMClient
.
getInstance
().
moveContactGroup
(
Long
.
parseLong
(
binding
.
groupId
.
getText
().
toString
()),
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
(
Void
unused
)
{
@Override
public
void
onFailed
(
int
errorCode
)
{
}
}
});
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
});
binding
.
deleteContact
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
deleteContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
deleteContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"deleteContact success "
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -269,10 +270,10 @@ public class FirstFragment extends Fragment {
binding
.
blockContact
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
blockContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
blockContact
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"blockContact success "
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -286,17 +287,18 @@ public class FirstFragment extends Fragment {
binding
.
reportIllegalUser
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
reportIllegalUser
(
"搞黄色"
,
"搞黄色"
,
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"reportIllegalUser success "
);
}
CCIMClient
.
getInstance
().
reportIllegalUser
(
"搞黄色"
,
"搞黄色"
,
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
(
Void
unused
)
{
@Override
public
void
onFailed
(
int
errorCode
)
{
}
}
});
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
});
...
...
@@ -312,40 +314,46 @@ public class FirstFragment extends Fragment {
// });
}
});
//
// binding.startRecordAudioMessage.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// CCIMClient.getInstance().startRecordAudioMessage(getActivity(), new ResultEventCallback<Void>() {
// @Override
// public void onSuccess(Void unused) {
//
// }
//
// @Override
// public void onFailed(int errorCode) {
//
// }
// }
// );
// })
binding
.
stopAndSendAudioMessage
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
){
binding
.
startRecordAudioMessage
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
getActivity
(),
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
});
binding
.
stopAndSendAudioMessage
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
});
}
});
binding
.
cancleAudioMessage
.
setOnClickListener
(
new
View
.
OnClickListener
()
binding
.
cancleAudioMessage
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
cancleAudioMessage
();
}
});
});
binding
.
createChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
binding
.
createChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
){
ArrayList
<
Long
>
userIds
=
new
ArrayList
<>();
userIds
.
add
(
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()));
CCIMClient
.
getInstance
().
createChannel
(
"大世界"
,
"112"
,
false
,
userIds
,
new
ResultEventCallback
<
Long
>()
{
...
...
@@ -361,15 +369,17 @@ public class FirstFragment extends Fragment {
}
});
}
});
});
binding
.
joinChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
joinChannel
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
new
ResultCallback
()
{
binding
.
joinChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
){
CCIMClient
.
getInstance
().
joinChannel
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"joinChannel "
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -378,32 +388,37 @@ public class FirstFragment extends Fragment {
}
});
}
});
});
binding
.
removeChannelMember
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
removeChannelMember
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"removeChannelMember: "
);
}
binding
.
removeChannelMember
.
setOnClickListener
(
new
View
.
OnClickListener
()
@Override
public
void
onFailed
(
int
errorCode
)
{
{
@Override
public
void
onClick
(
View
v
){
CCIMClient
.
getInstance
().
removeChannelMember
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
Long
.
parseLong
(
binding
.
userId
.
getText
().
toString
()),
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
(
Void
unused
)
{
}
});
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
});
});
binding
.
exitChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
CCIMClient
.
getInstance
().
exitChannel
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
new
ResultCallback
()
{
binding
.
exitChannel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
){
CCIMClient
.
getInstance
().
exitChannel
(
Long
.
parseLong
(
binding
.
channelId
.
getText
().
toString
()),
new
ResultEventCallback
<
Void
>()
{
@Override
public
void
onSuccess
()
{
refreshLogView
(
"exitChannel: "
);
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
@@ -412,28 +427,28 @@ public class FirstFragment extends Fragment {
}
});
}
});
}
public
void
refreshLogView
(
String
msg
)
{
new
Handler
(
Looper
.
getMainLooper
()).
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
binding
.
txLog
.
append
(
msg
+
"\r\n"
);
int
offset
=
binding
.
txLog
.
getLineCount
()
*
binding
.
txLog
.
getLineHeight
();
if
(
offset
>
binding
.
txLog
.
getHeight
())
{
binding
.
txLog
.
scrollTo
(
0
,
offset
-
binding
.
txLog
.
getHeight
()
+
binding
.
txLog
.
getLineHeight
()
*
2
);
});
}
public
void
refreshLogView
(
String
msg
){
new
Handler
(
Looper
.
getMainLooper
()).
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
binding
.
txLog
.
append
(
msg
+
"\r\n"
);
int
offset
=
binding
.
txLog
.
getLineCount
()
*
binding
.
txLog
.
getLineHeight
();
if
(
offset
>
binding
.
txLog
.
getHeight
())
{
binding
.
txLog
.
scrollTo
(
0
,
offset
-
binding
.
txLog
.
getHeight
()
+
binding
.
txLog
.
getLineHeight
()
*
2
);
}
}
}
});
});
}
}
@Override
public
void
onDestroyView
()
{
super
.
onDestroyView
();
binding
=
null
;
}
@Override
public
void
onDestroyView
()
{
super
.
onDestroyView
();
binding
=
null
;
}
}
\ No newline at end of file
}
app/src/main/java/com/ccwangluo/im/MainActivity.java
View file @
ef12c5bf
...
...
@@ -3,6 +3,7 @@ package com.ccwangluo.im;
import
android.os.Bundle
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.navigation.NavController
;
import
androidx.navigation.Navigation
;
...
...
app/src/main/java/com/ccwangluo/im/MainActivity2.java
View file @
ef12c5bf
...
...
@@ -15,7 +15,7 @@ import androidx.navigation.ui.NavigationUI;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.OnPushMsgListener
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.Result
Event
Callback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.modle.NetStatus
;
...
...
@@ -91,9 +91,9 @@ public class MainActivity2 extends AppCompatActivity {
.
setItems
(
strings
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
checkContactReq
(
user
.
getUserId
(),
true
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
checkContactReq
(
user
.
getUserId
(),
true
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
Toast
.
makeText
(
MainActivity2
.
this
,
"验证好友发送成功"
,
Toast
.
LENGTH_SHORT
).
show
();
loginViewModel
.
getContactList
();
}
...
...
@@ -107,9 +107,9 @@ public class MainActivity2 extends AppCompatActivity {
}).
setNegativeButton
(
"关闭"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
checkContactReq
(
user
.
getUserId
(),
false
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
checkContactReq
(
user
.
getUserId
(),
false
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
}
...
...
@@ -122,6 +122,7 @@ public class MainActivity2 extends AppCompatActivity {
})
.
create
();
alertDialog
.
show
();
}
@Override
...
...
app/src/main/java/com/ccwangluo/im/adapter/ChannelMsgAdapter.java
View file @
ef12c5bf
...
...
@@ -7,13 +7,12 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.Result
Event
Callback
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.im.R
;
...
...
@@ -82,10 +81,10 @@ public class ChannelMsgAdapter extends BaseAdapter {
@Override
public
void
onClick
(
View
v
)
{
if
(
messageContent
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_VOICE
)
{
CCIMClient
.
getInstance
().
startPlayAudio
(
messageContent
.
getMsgId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
startPlayAudio
(
messageContent
.
getMsgId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
Toast
.
makeText
(
context
,
"播放成功"
,
Toast
.
LENGTH_SHORT
).
show
();
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
app/src/main/java/com/ccwangluo/im/adapter/ContactExpandableAdapter.java
View file @
ef12c5bf
...
...
@@ -14,10 +14,10 @@ import android.widget.TextView;
import
android.widget.Toast
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.ContactGroup
;
import
com.ccwangluo.ccim.modle.Dialog
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.im.R
;
import
com.ccwangluo.im.data.LoginViewModel
;
import
com.ccwangluo.im.listener.OnContactClickLisener
;
...
...
@@ -160,9 +160,9 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
.
setPositiveButton
(
"ok"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
deleteContactGroup
(
dataEntity
.
get
(
groupPosition
).
getGroupId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
deleteContactGroup
(
dataEntity
.
get
(
groupPosition
).
getGroupId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
loginViewModel
.
getContactList
();
}
...
...
@@ -233,9 +233,9 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
switch
(
which
)
{
case
0
:
CCIMClient
.
getInstance
().
deleteContact
(
contact
.
getContactUserId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
deleteContact
(
contact
.
getContactUserId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
loginViewModel
.
getContactList
();
}
...
...
@@ -246,9 +246,9 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
});
break
;
case
1
:
CCIMClient
.
getInstance
().
blockContact
(
contact
.
getContactUserId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
blockContact
(
contact
.
getContactUserId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
loginViewModel
.
getContactList
();
}
...
...
@@ -273,9 +273,9 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
String
reason
=
title
.
getText
().
toString
();
String
content
=
contentView
.
getText
().
toString
();
CCIMClient
.
getInstance
().
reportIllegalUser
(
reason
,
content
,
contact
.
getContactUserId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
reportIllegalUser
(
reason
,
content
,
contact
.
getContactUserId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
Toast
.
makeText
(
context
,
"举报成功"
,
Toast
.
LENGTH_SHORT
).
show
();
}
...
...
@@ -312,9 +312,9 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
.
setItems
(
strings
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
moveContactGroup
(
contactGroups
.
get
(
which
).
getGroupId
(),
contact
.
getContactUserId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
moveContactGroup
(
contactGroups
.
get
(
which
).
getGroupId
(),
contact
.
getContactUserId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
Toast
.
makeText
(
context
,
"移动成功"
,
Toast
.
LENGTH_SHORT
).
show
();
loginViewModel
.
getContactList
();
}
...
...
app/src/main/java/com/ccwangluo/im/adapter/PrivateMsgAdapter.java
View file @
ef12c5bf
...
...
@@ -7,13 +7,12 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.Result
Event
Callback
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.im.R
;
...
...
@@ -86,10 +85,10 @@ public class PrivateMsgAdapter extends BaseAdapter {
@Override
public
void
onClick
(
View
v
)
{
if
(
message
.
getMsgType
()
==
MessageContent
.
MessageType
.
MESSAGE_TYPE_VOICE
)
{
CCIMClient
.
getInstance
().
startPlayAudio
(
message
.
getMsgId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
startPlayAudio
(
message
.
getMsgId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
Toast
.
makeText
(
context
,
"播放成功"
,
Toast
.
LENGTH_SHORT
).
show
();
public
void
onSuccess
(
Void
unused
)
{
}
@Override
...
...
app/src/main/java/com/ccwangluo/im/data/LoginViewModel.java
View file @
ef12c5bf
...
...
@@ -6,12 +6,13 @@ import androidx.lifecycle.MutableLiveData;
import
androidx.lifecycle.ViewModel
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.OnConnectListener
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.ContactGroup
;
import
com.ccwangluo.ccim.modle.Dialog
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.listener.ContactsCallBack
;
import
com.ccwangluo.ccim.listener.OnConnectListener
;
import
com.ccwangluo.ccim.modle.PullContactsRes
;
import
com.ccwangluo.ccim.util.HmacUtil
;
import
java.util.ArrayList
;
...
...
@@ -53,14 +54,19 @@ public class LoginViewModel extends ViewModel {
}
public
void
getContactList
()
{
CCIMClient
.
getInstance
().
getContactList
(
new
ContactsCallBack
()
{
CCIMClient
.
getInstance
().
getContactList
(
false
,
new
ResultEventCallback
<
PullContactsRes
>
()
{
@Override
public
void
onSuccess
(
Collection
<
Contact
>
contacts
,
Collection
<
ContactGroup
>
contactGroups
,
Collection
<
Dialog
>
dialog
s
)
{
contactList
.
postValue
(
contacts
);
contactGroupList
.
postValue
(
contactGroups
);
dialogList
.
postValue
(
dialogs
);
public
void
onSuccess
(
PullContactsRes
pullContactsRe
s
)
{
contactList
.
postValue
(
pullContactsRes
.
getContacts
()
);
contactGroupList
.
postValue
(
pullContactsRes
.
getContactGroups
()
);
dialogList
.
postValue
(
pullContactsRes
.
getDialogs
()
);
}
},
false
);
@Override
public
void
onFailed
(
int
errorCode
)
{
}
});
}
public
void
addChannelId
(
long
id
)
{
...
...
app/src/main/java/com/ccwangluo/im/ui/dashboard/ConnectFragment.java
View file @
ef12c5bf
...
...
@@ -11,7 +11,6 @@ import androidx.lifecycle.Observer;
import
androidx.lifecycle.ViewModelProvider
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.MessageContent
;
...
...
@@ -101,9 +100,9 @@ public class ConnectFragment extends Fragment {
});
}
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_DOWN
)
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
getActivity
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
getActivity
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
}
...
...
app/src/main/java/com/ccwangluo/im/ui/dashboard/ContactsFragment.java
View file @
ef12c5bf
...
...
@@ -17,7 +17,6 @@ import androidx.navigation.NavController;
import
androidx.navigation.Navigation
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.ContactGroup
;
...
...
@@ -197,9 +196,9 @@ public class ContactsFragment extends Fragment {
.
setItems
(
strings
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
checkContactReq
(
users
.
get
(
which
).
getUserId
(),
true
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
checkContactReq
(
users
.
get
(
which
).
getUserId
(),
true
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
ToastUtil
.
show
(
getContext
(),
"验证好友发送成功"
);
loginViewModel
.
getContactList
();
}
...
...
@@ -235,9 +234,9 @@ public class ContactsFragment extends Fragment {
.
setItems
(
strings
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
CCIMClient
.
getInstance
().
addContact
(
users
.
get
(
which
).
getUserId
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
addContact
(
users
.
get
(
which
).
getUserId
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
ToastUtil
.
show
(
getContext
(),
"加好友发送成功"
);
}
...
...
app/src/main/java/com/ccwangluo/im/ui/notifications/ConnectChannelFragment.java
View file @
ef12c5bf
...
...
@@ -11,7 +11,6 @@ import androidx.lifecycle.Observer;
import
androidx.lifecycle.ViewModelProvider
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.im.adapter.ChannelMsgAdapter
;
...
...
@@ -99,9 +98,9 @@ public class ConnectChannelFragment extends Fragment {
});
}
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_DOWN
)
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
getActivity
(),
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
startRecordAudioMessage
(
getActivity
(),
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
}
...
...
app/src/main/java/com/ccwangluo/im/ui/notifications/NotificationsFragment.java
View file @
ef12c5bf
...
...
@@ -22,7 +22,6 @@ import androidx.navigation.NavController;
import
androidx.navigation.Navigation
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.im.R
;
import
com.ccwangluo.im.adapter.ChannelAdapter
;
...
...
@@ -54,8 +53,8 @@ public class NotificationsFragment extends Fragment {
@Override
public
void
itemClick
(
Long
id
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putLong
(
"channelId"
,
id
);
navController
.
navigate
(
R
.
id
.
navigation_channel_connect
,
bundle
);
bundle
.
putLong
(
"channelId"
,
id
);
navController
.
navigate
(
R
.
id
.
navigation_channel_connect
,
bundle
);
}
@Override
...
...
@@ -86,14 +85,14 @@ public class NotificationsFragment extends Fragment {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
String
channelId
=
inputServer
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
channelId
)){
ToastUtil
.
show
(
getContext
(),
"channel id is null"
);
if
(
TextUtils
.
isEmpty
(
channelId
))
{
ToastUtil
.
show
(
getContext
(),
"channel id is null"
);
return
;
}
long
Id
=
Long
.
parseLong
(
channelId
);
CCIMClient
.
getInstance
().
joinChannel
(
Id
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
joinChannel
(
Id
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
ToastUtil
.
show
(
getContext
(),
"join success"
);
loginViewModel
.
addChannelId
(
Id
);
}
...
...
@@ -175,11 +174,11 @@ public class NotificationsFragment extends Fragment {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
switch
(
which
)
{
case
0
:
CCIMClient
.
getInstance
().
exitChannel
(
id
,
new
Result
Callback
()
{
CCIMClient
.
getInstance
().
exitChannel
(
id
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
loginViewModel
.
removeChannelId
(
id
);
ToastUtil
.
show
(
getContext
(),
"退出成功"
);
ToastUtil
.
show
(
getContext
(),
"退出成功"
);
}
@Override
...
...
@@ -187,7 +186,7 @@ public class NotificationsFragment extends Fragment {
ToastUtil
.
show
(
getContext
(),
" onFailed :"
+
errorCode
);
}
});
break
;
break
;
}
}
})
...
...
ccim/build.gradle
View file @
ef12c5bf
...
...
@@ -58,15 +58,14 @@ protobuf {
}
}
dependencies
{
implementation
'androidx.appcompat:appcompat:1.3.1'
implementation
'com.google.android.material:material:1.4.0'
implementation
'com.google.protobuf:protobuf-java:3.13.0'
implementation
'com.google.protobuf:protobuf-java-util:3.12.0'
implementation
'com.guolindev.permissionx:permissionx:1.6.1'
implementation
'com.google.code.gson:gson:2.8.7'
implementation
'io.netty:netty-all:4.1.4.Final'
implementation
'com.squareup.okhttp3:okhttp:4.9.0'
def
room_version
=
"2.3.0"
implementation
"androidx.room:room-runtime:$room_version"
annotationProcessor
"androidx.room:room-compiler:$room_version"
implementation
'com.karumi:dexter:6.2.3'
}
\ No newline at end of file
ccim/src/main/java/com/ccwangluo/ccim/CCIMClient.java
View file @
ef12c5bf
...
...
@@ -4,12 +4,10 @@ import android.Manifest;
import
android.content.Context
;
import
android.os.Environment
;
import
android.text.TextUtils
;
import
androidx.fragment.app.FragmentActivity
;
import
com.ccwangluo.ccim.listener.ContactsCallBack
;
import
com.ccwangluo.ccim.listener.OnClientConnectListener
;
import
com.ccwangluo.ccim.listener.OnConnectListener
;
import
com.ccwangluo.ccim.listener.OnPushMsgListener
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.manage.CallBackManager
;
import
com.ccwangluo.ccim.manage.ChannelManager
;
...
...
@@ -19,6 +17,7 @@ import com.ccwangluo.ccim.manage.SocketManager;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.modle.NetStatus
;
import
com.ccwangluo.ccim.modle.PullContactsRes
;
import
com.ccwangluo.ccim.modle.PushPrivateMsgRes
;
import
com.ccwangluo.ccim.modle.SearchRes
;
import
com.ccwangluo.ccim.modle.User
;
...
...
@@ -26,7 +25,13 @@ import com.ccwangluo.ccim.util.ErrorCode;
import
com.ccwangluo.ccim.util.MediaHelper
;
import
com.google.gson.Gson
;
import
com.google.protobuf.util.JsonFormat
;
import
com.permissionx.guolindev.PermissionX
;
import
com.karumi.dexter.Dexter
;
import
com.karumi.dexter.PermissionToken
;
import
com.karumi.dexter.listener.PermissionDeniedResponse
;
import
com.karumi.dexter.listener.PermissionGrantedResponse
;
import
com.karumi.dexter.listener.PermissionRequest
;
import
com.karumi.dexter.listener.single.PermissionListener
;
import
java.io.File
;
import
java.util.List
;
import
java.util.concurrent.ExecutorService
;
...
...
@@ -38,7 +43,7 @@ import ccim.protocol.Message;
import
ccim.protocol.MessageSpec
;
import
ccim.protocol.Push
;
public
class
CCIMClient
{
public
class
CCIMClient
{
private
final
Logger
logger
=
Logger
.
getLogger
(
CCIMClient
.
class
.
getName
());
private
static
SocketManager
socketManager
;
...
...
@@ -91,12 +96,20 @@ public class CCIMClient {
maxSendMsgInterval
=
clientConfig
.
getSendMsgInterval
();
maxAudioDuration
=
clientConfig
.
getMaxAudioDuration
()
*
1000
;
downloadPrefix
=
clientConfig
.
getDownloadPrefix
();
getContactList
((
contacts
,
contactGroups
,
dialog
)
->
{
if
(!
isConnected
)
{
resultCallback
.
onSocketConnection
();
isConnected
=
true
;
getContactList
(
true
,
new
ResultEventCallback
<
PullContactsRes
>()
{
@Override
public
void
onSuccess
(
PullContactsRes
pullContactsRes
)
{
if
(!
isConnected
)
{
resultCallback
.
onSocketConnection
();
isConnected
=
true
;
}
}
@Override
public
void
onFailed
(
int
errorCode
)
{
}
}
,
true
);
});
}
@Override
...
...
@@ -203,7 +216,7 @@ public class CCIMClient {
/**
* 获取联系人列表
*/
public
void
getContactList
(
ContactsCallBack
resultEventCallback
,
boolean
isClearCache
)
{
public
void
getContactList
(
boolean
isClearCache
,
ResultEventCallback
<
PullContactsRes
>
resultEventCallback
)
{
contactManager
.
getContactList
(
resultEventCallback
,
isClearCache
);
}
...
...
@@ -218,7 +231,7 @@ public class CCIMClient {
/**
* 添加好友
*/
public
void
addContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
addContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
addContact
(
userId
,
callback
);
}
...
...
@@ -233,7 +246,7 @@ public class CCIMClient {
/**
* 验证联系人申请
*/
public
void
checkContactReq
(
Long
reqUserId
,
boolean
accept
,
Result
Callback
callback
)
{
public
void
checkContactReq
(
Long
reqUserId
,
boolean
accept
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
checkContactReq
(
reqUserId
,
accept
,
callback
);
}
...
...
@@ -248,7 +261,7 @@ public class CCIMClient {
/**
* 删除联系人群组
*/
public
void
deleteContactGroup
(
Long
groupId
,
Result
Callback
callback
)
{
public
void
deleteContactGroup
(
Long
groupId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
deleteContactGroup
(
groupId
,
callback
);
}
...
...
@@ -256,28 +269,28 @@ public class CCIMClient {
/**
* 移动联系人所在的群组
*/
public
void
moveContactGroup
(
Long
groupId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
moveContactGroup
(
Long
groupId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
moveContactGroup
(
groupId
,
userId
,
callback
);
}
/**
* 删除联系人
*/
public
void
deleteContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
deleteContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
deleteContact
(
userId
,
callback
);
}
/**
* 拉黑联系人
*/
public
void
blockContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
blockContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
blockContact
(
userId
,
callback
);
}
/**
* 举报违规用户
*/
public
void
reportIllegalUser
(
String
title
,
String
content
,
Long
userId
,
Result
Callback
callback
)
{
public
void
reportIllegalUser
(
String
title
,
String
content
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
contactManager
.
reportIllegalUser
(
title
,
content
,
userId
,
callback
);
}
...
...
@@ -292,28 +305,28 @@ public class CCIMClient {
/**
* 加入频道
*/
public
void
joinChannel
(
Long
channelId
,
Result
Callback
callback
)
{
public
void
joinChannel
(
Long
channelId
,
Result
EventCallback
<
Void
>
callback
)
{
channelManager
.
joinChannel
(
channelId
,
callback
);
}
/**
* 移除频道成员
*/
public
void
removeChannelMember
(
Long
channelId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
removeChannelMember
(
Long
channelId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
channelManager
.
removeChannelMember
(
channelId
,
userId
,
callback
);
}
/**
* 频道拉黑
*/
public
void
blockChannelUser
(
Long
channelId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
blockChannelUser
(
Long
channelId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
channelManager
.
blockChannelUser
(
channelId
,
userId
,
callback
);
}
/**
* 退出频道
*/
public
void
exitChannel
(
Long
channelId
,
Result
Callback
callback
)
{
public
void
exitChannel
(
Long
channelId
,
Result
EventCallback
<
Void
>
callback
)
{
channelManager
.
exitChannel
(
channelId
,
callback
);
}
...
...
@@ -412,18 +425,26 @@ public class CCIMClient {
/**
* 开始录音
*/
public
void
startRecordAudioMessage
(
FragmentActivity
activity
,
ResultCallback
resultCallback
)
{
PermissionX
.
init
(
activity
)
.
permissions
(
Manifest
.
permission
.
RECORD_AUDIO
)
.
onExplainRequestReason
((
scope
,
deniedList
,
beforeRequest
)
->
scope
.
showRequestReasonDialog
(
deniedList
,
"即将申请的权限是程序必须依赖的权限"
,
"我已明白"
))
.
onForwardToSettings
((
scope
,
deniedList
)
->
scope
.
showForwardToSettingsDialog
(
deniedList
,
"您需要去应用程序设置当中手动开启权限"
,
"我已明白"
))
.
request
((
allGranted
,
grantedList
,
deniedList
)
->
{
if
(
allGranted
)
{
public
void
startRecordAudioMessage
(
Context
context
,
ResultEventCallback
<
Void
>
resultCallback
)
{
Dexter
.
withContext
(
context
)
.
withPermission
(
Manifest
.
permission
.
RECORD_AUDIO
)
.
withListener
(
new
PermissionListener
()
{
@Override
public
void
onPermissionGranted
(
PermissionGrantedResponse
response
)
{
MediaHelper
.
getInstance
().
prepare
(
cachePath
,
maxAudioDuration
,
resultCallback
);
}
else
{
}
@Override
public
void
onPermissionDenied
(
PermissionDeniedResponse
response
)
{
resultCallback
.
onFailed
(
ErrorCode
.
START_VOICE_FAILED
);
}
});
@Override
public
void
onPermissionRationaleShouldBeShown
(
PermissionRequest
permission
,
PermissionToken
token
)
{
resultCallback
.
onFailed
(
ErrorCode
.
START_VOICE_FAILED
);
}
}).
check
();
}
/**
...
...
@@ -502,7 +523,7 @@ public class CCIMClient {
/**
* 播放音乐
*/
public
void
startPlayAudio
(
Long
msgId
,
Result
Callback
resultCallback
)
{
public
void
startPlayAudio
(
Long
msgId
,
Result
EventCallback
<
Void
>
resultCallback
)
{
messageManager
.
playAudio
(
msgId
,
downloadPrefix
,
cachePath
,
resultCallback
);
}
...
...
ccim/src/main/java/com/ccwangluo/ccim/listener/OnConnectListener.java
View file @
ef12c5bf
...
...
@@ -2,5 +2,5 @@ package com.ccwangluo.ccim.listener;
public
interface
OnConnectListener
{
void
onSocketConnection
();
default
void
onSocketDisconnection
(){}
;
void
onSocketDisconnection
()
;
}
ccim/src/main/java/com/ccwangluo/ccim/listener/ResultCallback.java
deleted
100644 → 0
View file @
33461bc2
package
com.ccwangluo.ccim.listener
;
public
interface
ResultCallback
{
void
onSuccess
();
void
onFailed
(
int
errorCode
);
}
ccim/src/main/java/com/ccwangluo/ccim/manage/ChannelManager.java
View file @
ef12c5bf
package
com.ccwangluo.ccim.manage
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
java.util.List
;
...
...
@@ -55,7 +54,7 @@ public class ChannelManager {
/**
* 加入频道
*/
public
void
joinChannel
(
Long
channelId
,
Result
Callback
callback
)
{
public
void
joinChannel
(
Long
channelId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Channel
.
JoinChannelRequest
.
Builder
joinchannel
=
Channel
.
JoinChannelRequest
.
newBuilder
()
.
setChannelId
(
channelId
);
...
...
@@ -64,8 +63,7 @@ public class ChannelManager {
callBackManager
.
addCallBack
(
id
,
new
ResultEventCallback
<
Chat
.
ChatResponseMessage
>()
{
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
@@ -78,7 +76,7 @@ public class ChannelManager {
/**
* 移除频道成员
*/
public
void
removeChannelMember
(
Long
channelId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
removeChannelMember
(
Long
channelId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Channel
.
RemoveMemberRequest
.
Builder
removeMemberReq
=
Channel
.
RemoveMemberRequest
.
newBuilder
()
.
setChannelId
(
channelId
)
...
...
@@ -90,7 +88,7 @@ public class ChannelManager {
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasRemoveMemberRes
())
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
}
...
...
@@ -104,7 +102,7 @@ public class ChannelManager {
/**
* 频道拉黑
*/
public
void
blockChannelUser
(
Long
channelId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
blockChannelUser
(
Long
channelId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Channel
.
ChannelBlockUserRequest
request
=
Channel
.
ChannelBlockUserRequest
.
newBuilder
()
.
setChannelId
(
channelId
)
...
...
@@ -116,7 +114,7 @@ public class ChannelManager {
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
@@ -129,7 +127,7 @@ public class ChannelManager {
/**
* 退出频道
*/
public
void
exitChannel
(
Long
channelId
,
Result
Callback
callback
)
{
public
void
exitChannel
(
Long
channelId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Channel
.
ExitChannelRequest
.
Builder
exitChannel
=
Channel
.
ExitChannelRequest
.
newBuilder
()
.
setChannelId
(
channelId
);
...
...
@@ -139,7 +137,7 @@ public class ChannelManager {
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
ccim/src/main/java/com/ccwangluo/ccim/manage/ContactManager.java
View file @
ef12c5bf
...
...
@@ -3,6 +3,7 @@ package com.ccwangluo.ccim.manage;
import
android.text.TextUtils
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.Contact
;
import
com.ccwangluo.ccim.modle.ContactGroup
;
import
com.ccwangluo.ccim.modle.ContactRequestsRes
;
...
...
@@ -12,9 +13,6 @@ 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.ccwangluo.ccim.listener.ContactsCallBack
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.google.gson.Gson
;
import
com.google.protobuf.util.JsonFormat
;
...
...
@@ -44,9 +42,10 @@ public class ContactManager {
/**
* 获取联系人列表
*/
public
void
getContactList
(
ContactsCallBack
resultEventCallback
,
boolean
isClearCache
)
{
public
void
getContactList
(
ResultEventCallback
<
PullContactsRes
>
resultEventCallback
,
boolean
isClearCache
)
{
if
(!
isClearCache
&&
(
contacts
.
size
()
>
0
||
contactGroups
.
size
()
>
0
||
dialogs
.
size
()
>
0
))
{
resultEventCallback
.
onSuccess
(
contacts
.
values
(),
contactGroups
.
values
(),
dialogs
.
values
());
PullContactsRes
pullContactsRes
=
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
());
resultEventCallback
.
onSuccess
(
pullContactsRes
);
return
;
}
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
...
...
@@ -80,7 +79,8 @@ public class ContactManager {
dialogs
.
put
(
dialog
.
getContactUserId
(),
dialog
);
}
}
resultEventCallback
.
onSuccess
(
contacts
.
values
(),
contactGroups
.
values
(),
dialogs
.
values
());
resultEventCallback
.
onSuccess
(
new
PullContactsRes
(
contactGroups
.
values
(),
contacts
.
values
(),
dialogs
.
values
()));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -100,7 +100,7 @@ public class ContactManager {
/**
* 搜索好友
*/
public
void
searchUser
(
String
userName
,
Long
userId
,
int
page
,
int
size
,
ResultEventCallback
<
SearchRes
>
resultEventCallback
)
{
public
void
searchUser
(
String
userName
,
Long
userId
,
int
page
,
int
size
,
ResultEventCallback
<
SearchRes
>
resultEventCallback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
SearchRequest
build
=
Chat
.
SearchRequest
.
newBuilder
()
.
setUsername
(
userName
)
...
...
@@ -137,7 +137,7 @@ public class ContactManager {
/**
* 添加好友
*/
public
void
addContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
addContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
builder
.
setAddContactReq
(
Chat
.
AddContactRequest
.
newBuilder
().
setUserId
(
userId
).
build
());
int
id
=
socketManager
.
sendRequest
(
builder
);
...
...
@@ -145,7 +145,7 @@ public class ContactManager {
@Override
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasAddContactRes
())
{
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
}
...
...
@@ -192,7 +192,7 @@ public class ContactManager {
/**
* 验证联系人申请
*/
public
void
checkContactReq
(
Long
reqUserId
,
boolean
accept
,
Result
Callback
callback
)
{
public
void
checkContactReq
(
Long
reqUserId
,
boolean
accept
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
CheckContactReqRequest
checkContactReqRequest
=
Chat
.
CheckContactReqRequest
.
newBuilder
()
.
setReqUserId
(
reqUserId
)
...
...
@@ -211,7 +211,7 @@ public class ContactManager {
Contact
contact
=
new
Gson
().
fromJson
(
print
,
Contact
.
class
);
contacts
.
put
(
contact
.
getContactUserId
(),
contact
);
}
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -257,7 +257,7 @@ public class ContactManager {
/**
* 删除联系人群组
*/
public
void
deleteContactGroup
(
Long
groupId
,
Result
Callback
callback
)
{
public
void
deleteContactGroup
(
Long
groupId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
builder
.
setDeleteContactGroupReq
(
ContactOuterClass
.
DeleteContactGroupRequest
.
newBuilder
().
setContactGroupId
(
groupId
).
build
());
int
id
=
socketManager
.
sendRequest
(
builder
);
...
...
@@ -271,7 +271,7 @@ public class ContactManager {
value
.
setContactGroupId
(
0L
);
}
}
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
@@ -285,7 +285,7 @@ public class ContactManager {
/**
* 移动联系人所在的群组
*/
public
void
moveContactGroup
(
Long
groupId
,
Long
userId
,
Result
Callback
callback
)
{
public
void
moveContactGroup
(
Long
groupId
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
MoveContactGroupRequest
moveContactGroupRequest
=
Chat
.
MoveContactGroupRequest
.
newBuilder
()
.
setContactGroupId
(
groupId
)
...
...
@@ -301,7 +301,7 @@ public class ContactManager {
if
(
contact
!=
null
)
{
contact
.
setContactGroupId
(
groupId
);
}
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
}
...
...
@@ -315,7 +315,7 @@ public class ContactManager {
/**
* 删除联系人
*/
public
void
deleteContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
deleteContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
DeleteContactRequest
deleteContactRequest
=
Chat
.
DeleteContactRequest
.
newBuilder
()
.
setContactUserId
(
userId
)
...
...
@@ -327,7 +327,7 @@ public class ContactManager {
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
contacts
.
remove
(
userId
);
dialogs
.
remove
(
userId
);
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
@@ -340,7 +340,7 @@ public class ContactManager {
/**
* 拉黑联系人
*/
public
void
blockContact
(
Long
userId
,
Result
Callback
callback
)
{
public
void
blockContact
(
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
ccim
.
protocol
.
User
.
BlockUserRequest
blockContactRequest
=
ccim
.
protocol
.
User
.
BlockUserRequest
.
newBuilder
()
.
setBlockedUserId
(
userId
)
...
...
@@ -354,7 +354,7 @@ public class ContactManager {
if
(
contact
!=
null
)
{
contact
.
setStatus
(
Status
.
CONTACT_STATUS_BLACK_LIST
);
}
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
@Override
...
...
@@ -367,7 +367,7 @@ public class ContactManager {
/**
* 举报违规用户
*/
public
void
reportIllegalUser
(
String
title
,
String
content
,
Long
userId
,
Result
Callback
callback
)
{
public
void
reportIllegalUser
(
String
title
,
String
content
,
Long
userId
,
Result
EventCallback
<
Void
>
callback
)
{
Chat
.
ChatRequestMessage
.
Builder
builder
=
Chat
.
ChatRequestMessage
.
newBuilder
();
Chat
.
ReportIllegalUserRequest
reportIllegalUserRequest
=
Chat
.
ReportIllegalUserRequest
.
newBuilder
()
.
setContent
(
content
)
...
...
@@ -381,7 +381,7 @@ public class ContactManager {
public
void
onSuccess
(
Chat
.
ChatResponseMessage
chatResponseMessage
)
{
if
(
chatResponseMessage
.
hasReportIllegalUserRes
())
{
logger
.
info
(
String
.
valueOf
(
chatResponseMessage
));
callback
.
onSuccess
();
callback
.
onSuccess
(
null
);
}
}
...
...
@@ -393,7 +393,6 @@ public class ContactManager {
}
/**
*
* @param strangerDialog
*/
public
void
putStrangerDialog
(
Dialog
strangerDialog
)
{
...
...
@@ -402,6 +401,7 @@ public class ContactManager {
/**
* 新增对话列表
*
* @param senderUserId
* @param userName
*/
...
...
@@ -429,6 +429,7 @@ public class ContactManager {
/**
* 新联系人
*
* @param contact
*/
public
void
pushNewContact
(
Contact
contact
)
{
...
...
@@ -441,6 +442,7 @@ public class ContactManager {
/**
* 删除联系人
*
* @param contactUserId
*/
public
void
pushDeleteContact
(
long
contactUserId
)
{
...
...
@@ -450,6 +452,7 @@ public class ContactManager {
/**
* 更新联系人网络状态
*
* @param contactUserId
* @param netStatus
*/
...
...
ccim/src/main/java/com/ccwangluo/ccim/manage/MessageManager.java
View file @
ef12c5bf
...
...
@@ -6,7 +6,6 @@ import androidx.room.Room;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.database.AppDatabase
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
com.ccwangluo.ccim.modle.MessageContent
;
import
com.ccwangluo.ccim.util.ErrorCode
;
...
...
@@ -164,9 +163,9 @@ public class MessageManager {
String
filename
=
preUploadSignRes
.
getFilename
();
String
filePath
=
MediaHelper
.
getInstance
().
getFilePath
(
filename
,
path
);
String
preSignedUrl
=
preUploadSignRes
.
getPreSignedUrl
();
FileUtils
.
uploadFile
(
filePath
,
preSignedUrl
,
new
Result
Callback
()
{
FileUtils
.
uploadFile
(
filePath
,
preSignedUrl
,
new
Result
EventCallback
<
Void
>
()
{
@Override
public
void
onSuccess
()
{
public
void
onSuccess
(
Void
unused
)
{
callback
.
onSuccess
(
filename
);
}
...
...
@@ -187,7 +186,7 @@ public class MessageManager {
}
public
void
playAudio
(
Long
msgId
,
String
downloadPrefix
,
String
cachePath
,
Result
Callback
resultCallback
)
{
public
void
playAudio
(
Long
msgId
,
String
downloadPrefix
,
String
cachePath
,
Result
EventCallback
<
Void
>
resultCallback
)
{
executor
.
execute
(()
->
{
MessageContent
messageContent
=
db
.
messageDao
().
getMsgById
(
msgId
);
if
(
messageContent
==
null
)
{
...
...
ccim/src/main/java/com/ccwangluo/ccim/modle/PullContactsRes.java
View file @
ef12c5bf
package
com.ccwangluo.ccim.modle
;
import
java.util.
List
;
import
java.util.
Collection
;
public
class
PullContactsRes
{
private
List
<
ContactGroup
>
contactGroups
;
private
List
<
Contact
>
contacts
;
private
List
<
Dialog
>
dialogs
;
private
Collection
<
ContactGroup
>
contactGroups
;
private
Collection
<
Contact
>
contacts
;
private
Collection
<
Dialog
>
dialogs
;
public
List
<
Dialog
>
getDialogs
()
{
return
dialogs
;
}
public
void
setDialogs
(
List
<
Dialog
>
dialogs
)
{
public
PullContactsRes
(
Collection
<
ContactGroup
>
contactGroups
,
Collection
<
Contact
>
contacts
,
Collection
<
Dialog
>
dialogs
)
{
this
.
contactGroups
=
contactGroups
;
this
.
contacts
=
contacts
;
this
.
dialogs
=
dialogs
;
}
public
List
<
ContactGroup
>
getContactGroups
()
{
public
Collection
<
ContactGroup
>
getContactGroups
()
{
return
contactGroups
;
}
public
void
setContactGroups
(
List
<
ContactGroup
>
contactGroups
)
{
public
void
setContactGroups
(
Collection
<
ContactGroup
>
contactGroups
)
{
this
.
contactGroups
=
contactGroups
;
}
public
List
<
Contact
>
getContacts
()
{
public
Collection
<
Contact
>
getContacts
()
{
return
contacts
;
}
public
void
setContacts
(
List
<
Contact
>
contacts
)
{
public
void
setContacts
(
Collection
<
Contact
>
contacts
)
{
this
.
contacts
=
contacts
;
}
public
Collection
<
Dialog
>
getDialogs
()
{
return
dialogs
;
}
public
void
setDialogs
(
Collection
<
Dialog
>
dialogs
)
{
this
.
dialogs
=
dialogs
;
}
}
ccim/src/main/java/com/ccwangluo/ccim/util/FileUtils.java
View file @
ef12c5bf
...
...
@@ -3,7 +3,6 @@ package com.ccwangluo.ccim.util;
import
android.text.TextUtils
;
import
com.ccwangluo.ccim.CCIMClient
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
java.io.File
;
...
...
@@ -25,7 +24,7 @@ import okhttp3.Response;
public
class
FileUtils
{
private
static
final
Logger
logger
=
Logger
.
getLogger
(
CCIMClient
.
class
.
getName
());
public
static
void
uploadFile
(
String
filepath
,
String
url
,
Result
Callback
resultCallback
)
{
public
static
void
uploadFile
(
String
filepath
,
String
url
,
Result
EventCallback
<
Void
>
resultCallback
)
{
MediaType
mediaType
=
MediaType
.
parse
(
"text/x-markdown; charset=utf-8"
);
OkHttpClient
okHttpClient
=
new
OkHttpClient
();
File
file
=
new
File
(
filepath
);
...
...
@@ -43,7 +42,7 @@ public class FileUtils {
@Override
public
void
onResponse
(
Call
call
,
Response
response
)
throws
IOException
{
logger
.
info
(
"upload success : "
+
response
.
toString
());
resultCallback
.
onSuccess
();
resultCallback
.
onSuccess
(
null
);
}
});
}
...
...
ccim/src/main/java/com/ccwangluo/ccim/util/MediaHelper.java
View file @
ef12c5bf
...
...
@@ -3,8 +3,7 @@ package com.ccwangluo.ccim.util;
import
android.media.MediaPlayer
;
import
android.media.MediaRecorder
;
import
android.os.Build
;
import
com.ccwangluo.ccim.listener.ResultCallback
;
import
com.ccwangluo.ccim.listener.ResultEventCallback
;
import
java.io.File
;
...
...
@@ -34,7 +33,7 @@ public class MediaHelper {
/**
* 准备录音
*/
public
void
prepare
(
String
path
,
int
maxAudioDuration
,
Result
Callback
resultCallback
)
{
public
void
prepare
(
String
path
,
int
maxAudioDuration
,
Result
EventCallback
<
Void
>
resultCallback
)
{
try
{
if
(
mMediaRecorder
!=
null
)
{
cancel
();
...
...
@@ -59,7 +58,7 @@ public class MediaHelper {
mMediaRecorder
.
prepare
();
mMediaRecorder
.
start
();
start_record_millis
=
System
.
currentTimeMillis
();
resultCallback
.
onSuccess
();
resultCallback
.
onSuccess
(
null
);
}
catch
(
Exception
e
)
{
resultCallback
.
onFailed
(
ErrorCode
.
START_VOICE_FAILED
);
}
...
...
@@ -101,13 +100,13 @@ public class MediaHelper {
*
* @param filePath
*/
public
void
play
(
String
filePath
,
Result
Callback
resultCallback
)
{
public
void
play
(
String
filePath
,
Result
EventCallback
<
Void
>
resultCallback
)
{
MediaPlayer
mediaPlayer
=
new
MediaPlayer
();
try
{
mediaPlayer
.
setDataSource
(
filePath
);
mediaPlayer
.
prepare
();
mediaPlayer
.
start
();
resultCallback
.
onSuccess
();
resultCallback
.
onSuccess
(
null
);
}
catch
(
Exception
e
)
{
resultCallback
.
onFailed
(
ErrorCode
.
ERROR_VOICE_PLAY
);
}
...
...
ccim/src/main/proto/common.proto
View file @
ef12c5bf
...
...
@@ -19,6 +19,7 @@ enum StatusCode {
STATUS_CODE_SIGN_EXPIRED
=
20004
;
// 签名过期
STATUS_CODE_INVALID_SIGN
=
20005
;
// 无效签名
STATUS_CODE_EXT_DATA_TOO_LARGE
=
20006
;
// 扩展数据过大
STATUS_CODE_SENSITIVE_ERROR
=
20007
;
// 包含敏感信息,被禁止发送
// CHAT_SERVICE_ERROR = 30000;
STATUS_CODE_CHECK_CONTACT_UPDATED_ERROR
=
30001
;
// 好友请求已同意或拒绝
...
...
ccim/src/test/java/com/ccwangluo/ccim/ExampleUnitTest.java
deleted
100644 → 0
View file @
33461bc2
package
com.ccwangluo.ccim
;
import
org.junit.Test
;
import
static
org
.
junit
.
Assert
.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public
class
ExampleUnitTest
{
@Test
public
void
addition_isCorrect
()
{
assertEquals
(
4
,
2
+
2
);
}
}
\ 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