Skip to content

Commit 17e6a48

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents af39f70 + 432724d commit 17e6a48

12 files changed

+387
-99
lines changed

ease-call-kit/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,15 @@ android {
3636
dependencies {
3737
//implementation fileTree(dir: 'libs', include: ['*.jar'])
3838
//api project(':hyphenatechatsdk')
39-
implementation 'io.hyphenate:hyphenate-chat:3.8.0'
39+
implementation 'io.hyphenate:hyphenate-chat:3.8.1'
4040
implementation 'androidx.appcompat:appcompat:1.2.0'
4141
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
4242
implementation 'com.google.android.material:material:1.2.1'
4343
implementation 'androidx.navigation:navigation-fragment:2.3.2'
4444
implementation 'androidx.navigation:navigation-ui:2.3.2'
4545
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
46-
implementation 'io.agora.rtc:full-sdk:3.2.1'
46+
implementation 'io.agora.rtc:full-sdk:3.3.0'
47+
implementation 'com.github.bumptech.glide:glide:4.9.0'
4748
}
4849

4950
//apply from: "../upload_aar.gradle"

ease-call-kit/src/main/java/com/hyphenate/easecallkit/base/EaseCallKitConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,11 @@ public boolean isEnableRTCToken() {
8585
public void setEnableRTCToken(boolean enableRTCToken) {
8686
this.enableRTCToken = enableRTCToken;
8787
}
88+
89+
public void setUserInfo(String userName, EaseCallUserInfo userInfo){
90+
if(userInfoMap == null){
91+
userInfoMap = new HashMap<>();
92+
}
93+
userInfoMap.put(userName,userInfo);
94+
}
8895
}

ease-call-kit/src/main/java/com/hyphenate/easecallkit/base/EaseCallKitListener.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,10 @@ public interface EaseCallKitListener{
6363
*
6464
*/
6565
void onInViteCallMessageSent();
66+
67+
68+
/**
69+
*远端用户加入频道回调
70+
*/
71+
void onRemoteUserJoinChannel(String channelName, String userName, int uid, EaseGetUserAccountCallback callback);
6672
}

ease-call-kit/src/main/java/com/hyphenate/easecallkit/base/EaseCallKitTokenCallback.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public interface EaseCallKitTokenCallback {
1212
*
1313
* @param token token的值
1414
*/
15-
void onSetToken(String token);
15+
void onSetToken(String token,int uId);
1616

1717
/**
1818
* \~chinese

ease-call-kit/src/main/java/com/hyphenate/easecallkit/base/EaseCallMemberView.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import android.widget.RelativeLayout;
1515
import android.widget.TextView;
1616

17+
import com.bumptech.glide.Glide;
18+
import com.bumptech.glide.request.FutureTarget;
1719
import com.hyphenate.easecallkit.R;
1820
import com.hyphenate.easecallkit.utils.EaseCallKitUtils;
1921
import io.agora.rtc.models.UserInfo;
@@ -77,7 +79,6 @@ private void init() {
7779
audioOffView = (ImageView) findViewById(R.id.icon_mute);
7880
talkingView = (ImageView) findViewById(R.id.icon_talking);
7981
nameView = (TextView) findViewById(R.id.text_name);
80-
// animator = new ValueAnimator();
8182
loading_dialog = findViewById(R.id.member_loading);
8283
}
8384

@@ -102,11 +103,26 @@ public void setUserInfo(UserInfo info){
102103
if(headUrl != null){
103104
loadHeadImage();
104105
}else{
105-
avatarView.setBackgroundResource(R.drawable.call_memberview_background);
106+
avatarView.setImageResource(R.drawable.call_memberview_background);
106107
}
107108
}
108109
}
109110

111+
public void updateUserInfo(){
112+
if(userInfo != null){
113+
nameView.setText(EaseCallKitUtils.getUserNickName(userInfo.userAccount));
114+
headUrl = EaseCallKitUtils.getUserHeadImage(userInfo.userAccount);
115+
if(headUrl != null){
116+
loadHeadImage();
117+
}else{
118+
avatarView.setImageResource(R.drawable.call_memberview_background);
119+
}
120+
}
121+
}
122+
123+
public UserInfo getUserInfo(){
124+
return userInfo;
125+
}
110126
public String getUserAccount(){
111127
if(userInfo != null){
112128
return userInfo.userAccount;
@@ -160,46 +176,32 @@ public void setSpeak(boolean speak,int volume) {
160176
audioOffView.setVisibility(VISIBLE);
161177
if(value == 1){
162178
audioOffView.setImageResource(R.drawable.ease_mic_level_01);
163-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_01));
164179
}else if(value == 2){
165180
audioOffView.setImageResource(R.drawable.ease_mic_level_02);
166-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_02));
167181
}else if(value == 3){
168182
audioOffView.setImageResource(R.drawable.ease_mic_level_03);
169-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_03));
170183
}else if(value ==4){
171184
audioOffView.setImageResource(R.drawable.ease_mic_level_04);
172-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_04));
173185
}else if(value ==5){
174186
audioOffView.setImageResource(R.drawable.ease_mic_level_05);
175-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_05));
176187
}else if(value ==6){
177188
audioOffView.setImageResource(R.drawable.ease_mic_level_06);
178-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_06));
179189
}else if(value ==7){
180190
audioOffView.setImageResource(R.drawable.ease_mic_level_07);
181-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_07));
182191
}else if(value ==8){
183192
audioOffView.setImageResource(R.drawable.ease_mic_level_08);
184-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_08));
185193
}else if(value ==9){
186194
audioOffView.setImageResource(R.drawable.ease_mic_level_09);
187-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_09));
188195
}else if(value ==10){
189196
audioOffView.setImageResource(R.drawable.ease_mic_level_10);
190-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_10));
191197
}else if(value ==11){
192198
audioOffView.setImageResource(R.drawable.ease_mic_level_11);
193-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_11));
194199
}else if(value ==12){
195200
audioOffView.setImageResource(R.drawable.ease_mic_level_12);
196-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_12));
197201
}else if(value ==13){
198202
audioOffView.setImageResource(R.drawable.ease_mic_level_13);
199-
//audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_13));
200203
}else if(value == 14){
201204
audioOffView.setImageResource(R.drawable.ease_mic_level_14);
202-
// audioOffView.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.ease_mic_level_14));
203205
}
204206
}else{
205207
audioOffView.setVisibility(GONE);
@@ -245,7 +247,7 @@ public void setUsername(String username) {
245247
if(headUrl != null){
246248
avatarView.setImageResource(R.drawable.call_memberview_background);
247249
}else{
248-
avatarView.setImageResource(R.drawable.call_memberview_background);
250+
loadHeadImage();
249251
}
250252
nameView.setText(EaseCallKitUtils.getUserNickName(username));
251253
}
@@ -289,19 +291,17 @@ private void loadHeadImage() {
289291
@Override
290292
protected Bitmap doInBackground(String... params) {
291293
Bitmap bitmap = null;
294+
FutureTarget<Bitmap> futureTarget =
295+
Glide.with(getContext())
296+
.asBitmap()
297+
.load(headUrl)
298+
.submit(200, 200);
292299
try {
293-
String url = params[0];
294-
URL HttpURL = new URL(url);
295-
HttpURLConnection conn = (HttpURLConnection) HttpURL.openConnection();
296-
conn.setDoInput(true);
297-
conn.connect();
298-
InputStream is = conn.getInputStream();
299-
bitmap = BitmapFactory.decodeStream(is);
300-
is.close();
301-
} catch (IOException e) {
302-
e.printStackTrace();
300+
bitmap = futureTarget.get();
301+
}catch (Exception e){
302+
e.getStackTrace();
303303
}
304-
return bitmap;
304+
return bitmap;
305305
}
306306

307307
//在doInBackground 执行完成后,onPostExecute 方法将被UI 线程调用,
@@ -310,7 +310,7 @@ protected Bitmap doInBackground(String... params) {
310310
protected void onPostExecute(Bitmap bitmap) {
311311
if (bitmap != null) {
312312
avatarView.setImageBitmap(bitmap);
313-
avatarView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
313+
avatarView.setScaleType(ImageView.ScaleType.CENTER);
314314
}
315315
}
316316
}.execute(headUrl);

ease-call-kit/src/main/java/com/hyphenate/easecallkit/base/EaseCallUserInfo.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,17 @@
88
public class EaseCallUserInfo {
99
private String nickName;
1010
private String headImage;
11+
private String userId;
1112

1213
public EaseCallUserInfo(String nickName,String headImage){
1314
this.nickName = nickName;
1415
this.headImage = headImage;
1516
}
1617

18+
public EaseCallUserInfo(){
19+
}
20+
21+
1722
public String getNickName() {
1823
return nickName;
1924
}
@@ -29,4 +34,8 @@ public String getHeadImage() {
2934
public void setHeadImage(String headImage) {
3035
this.headImage = headImage;
3136
}
37+
38+
public String getUserId() { return userId; }
39+
40+
public void setUserId(String userId) { this.userId = userId; }
3241
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.hyphenate.easecallkit.base;
2+
3+
import java.util.List;
4+
5+
6+
/**
7+
* 用户返回EaseUserAccount(加入频道的uId及对应的环信ID)
8+
* onUserAccount 为返回channel里面存在用户的EaseUserAccount
9+
* onSetUserAccountError 为返回channel信息错误的回调(错误码和错误描述)
10+
*/
11+
public interface EaseGetUserAccountCallback {
12+
/**
13+
* \~chinese
14+
* 获取到channel里面的用户信息
15+
*
16+
* @param userAccounts 用于加入channel用户Id信息
17+
*/
18+
void onUserAccount(List<EaseUserAccount> userAccounts);
19+
20+
/**
21+
* \~chinese
22+
* 获取uid失败的错误回调
23+
*
24+
* @param error 获取uid失败的错误码
25+
* @param errorMsg 获取uid失败的错误信息描述
26+
*/
27+
void onSetUserAccountError(int error, final String errorMsg);
28+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.hyphenate.easecallkit.base;
2+
3+
/**
4+
* 用户账号信息
5+
* uid 加入声网频道的uId
6+
* userName uid对应的环信Id
7+
*/
8+
public class EaseUserAccount {
9+
private int uid;
10+
private String userName;
11+
12+
public EaseUserAccount(){
13+
14+
}
15+
16+
public EaseUserAccount(int uid,String userName){
17+
this.uid = uid;
18+
this.userName = userName;
19+
}
20+
21+
public int getUid() {
22+
return uid;
23+
}
24+
25+
public void setUid(int uid) {
26+
this.uid = uid;
27+
}
28+
29+
public String getUserName() {
30+
return userName;
31+
}
32+
33+
public void setUserName(String userName) {
34+
this.userName = userName;
35+
}
36+
}

ease-call-kit/src/main/java/com/hyphenate/easecallkit/ui/EaseCommingCallView.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
import android.widget.TextView;
1515

1616

17+
import com.bumptech.glide.Glide;
18+
import com.bumptech.glide.request.FutureTarget;
19+
import com.hyphenate.easecallkit.EaseCallKit;
20+
import com.hyphenate.easecallkit.base.EaseCallUserInfo;
21+
import com.hyphenate.easecallkit.livedatas.EaseLiveDataBus;
1722
import com.hyphenate.util.EMLog;
1823

1924
import java.io.IOException;
@@ -103,19 +108,17 @@ private void loadHeadImage() {
103108
@Override
104109
protected Bitmap doInBackground(String... params) {
105110
Bitmap bitmap = null;
111+
FutureTarget<Bitmap> futureTarget =
112+
Glide.with(getContext())
113+
.asBitmap()
114+
.load(headUrl)
115+
.submit(500, 500);
106116
try {
107-
String url = params[0];
108-
URL HttpURL = new URL(url);
109-
HttpURLConnection conn = (HttpURLConnection) HttpURL.openConnection();
110-
conn.setDoInput(true);
111-
conn.connect();
112-
InputStream is = conn.getInputStream();
113-
bitmap = BitmapFactory.decodeStream(is);
114-
is.close();
115-
} catch (IOException e) {
116-
e.printStackTrace();
117+
bitmap = futureTarget.get();
118+
}catch (Exception e){
119+
e.getStackTrace();
117120
}
118-
return bitmap;
121+
return bitmap;
119122
}
120123

121124
//在doInBackground 执行完成后,onPostExecute 方法将被UI 线程调用,

0 commit comments

Comments
 (0)