From 5ca13b770c1314d188ea9c0e0631b42b3cff1da4 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Fri, 12 Jan 2024 09:34:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=88=BFbug=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/SudGameUserListAdapter.java | 18 ++++++-- .../yunbao/common/bean/SudGameUserModel.java | 11 +++++ .../dialog/SudGameInputPopupWindow.java | 12 +++++- .../dialog/SudGameSmallPopupPindow.java | 6 +++ .../manager/imrongcloud/GameMicManager.java | 1 + .../views/SudGameUserListViewHolder.java | 23 +++++++++-- .../layout/view_sud_game_user_list_holder.xml | 1 + .../res/mipmap-b+en+us/icon_game_hang_up.png | Bin 0 -> 8040 bytes .../res/mipmap-b+en+us/icon_game_seat.png | Bin 0 -> 6666 bytes common/src/main/res/values-en-rUS/string.xml | 4 ++ common/src/main/res/values-zh-rHK/strings.xml | 4 ++ common/src/main/res/values-zh-rTW/strings.xml | 4 ++ common/src/main/res/values-zh/strings.xml | 4 ++ common/src/main/res/values/strings.xml | 10 ++--- .../yunbao/live/activity/SudGameActivity.java | 39 +++++++++++------- 15 files changed, 108 insertions(+), 29 deletions(-) create mode 100644 common/src/main/res/mipmap-b+en+us/icon_game_hang_up.png create mode 100644 common/src/main/res/mipmap-b+en+us/icon_game_seat.png diff --git a/common/src/main/java/com/yunbao/common/adapter/SudGameUserListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/SudGameUserListAdapter.java index f20aeea94..e8893b9f1 100644 --- a/common/src/main/java/com/yunbao/common/adapter/SudGameUserListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/SudGameUserListAdapter.java @@ -43,12 +43,18 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter { } - public void refreshSudGameUserList(List gameUserModels) { + public void refreshSudGameUserList(List gameUserModels, List muteUser) { this.gameUserModels.clear(); if (gameUserModels.size() < 7) { micMax = false; this.gameUserModels.addAll(gameUserModels); for (int i = 0; i < this.gameUserModels.size(); i++) { + for (String userID : muteUser) { + if (TextUtils.equals(userID, String.valueOf(this.gameUserModels.get(i).getId()))) { + this.gameUserModels.get(i).setMute(true); + } + + } this.gameUserModels.get(i).setNullUser(false); } int size = 7 - gameUserModels.size(); @@ -65,6 +71,12 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter { micMax = true; for (int i = 0; i < 7; i++) { + for (String userID : muteUser) { + if (TextUtils.equals(userID, String.valueOf(this.gameUserModels.get(i).getId()))) { + this.gameUserModels.get(i).setMute(true); + } + + } this.gameUserModels.add(gameUserModels.get(i).setNullUser(false)); } } @@ -81,7 +93,7 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter { @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { SudGameUserListViewHolder sudGameUserListViewHolder = (SudGameUserListViewHolder) holder; - sudGameUserListViewHolder.upData(gameUserModels.get(position), sudGameSmallCallBack,position); + sudGameUserListViewHolder.upData(gameUserModels.get(position), sudGameSmallCallBack, position); } @Override @@ -98,7 +110,7 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter { SudGameUserModel sudGameUserModel = gameUserModels.get(i); if (!sudGameUserModel.isNullUser()) { if (TextUtils.equals(userID, String.valueOf(sudGameUserModel.getId()))) { - gameUserModels.get(i).setMicStatus(mute ? 1 : 3); + gameUserModels.get(i).setMute(mute); } } diff --git a/common/src/main/java/com/yunbao/common/bean/SudGameUserModel.java b/common/src/main/java/com/yunbao/common/bean/SudGameUserModel.java index 2a55fac19..a614ee9d7 100644 --- a/common/src/main/java/com/yunbao/common/bean/SudGameUserModel.java +++ b/common/src/main/java/com/yunbao/common/bean/SudGameUserModel.java @@ -15,6 +15,17 @@ public class SudGameUserModel extends BaseModel { @SerializedName("mic_status") private int micStatus; //麦克风状态 2.打开麦克风 3.关闭麦克风 + private boolean mute = false; + + public boolean isMute() { + return mute; + } + + public SudGameUserModel setMute(boolean mute) { + this.mute = mute; + return this; + } + public boolean isNullUser() { return nullUser; } diff --git a/common/src/main/java/com/yunbao/common/dialog/SudGameInputPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/SudGameInputPopupWindow.java index 6cac0cc25..08c1f08d5 100644 --- a/common/src/main/java/com/yunbao/common/dialog/SudGameInputPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/SudGameInputPopupWindow.java @@ -1,7 +1,10 @@ package com.yunbao.common.dialog; +import static android.content.Context.INPUT_METHOD_SERVICE; + import android.content.Context; import android.text.TextUtils; +import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import androidx.annotation.NonNull; @@ -18,7 +21,7 @@ import com.yunbao.common.views.weight.ViewClicksAntiShake; public class SudGameInputPopupWindow extends BottomPopupView { private EditText textMessage; private SudGameInputCallBack sudGameInputCallBack; - + private InputMethodManager imm; public SudGameInputPopupWindow(@NonNull Context context, SudGameInputCallBack sudGameInputCallBack) { super(context); this.sudGameInputCallBack = sudGameInputCallBack; @@ -40,6 +43,7 @@ public class SudGameInputPopupWindow extends BottomPopupView { } private void initView() { + imm = (InputMethodManager) getContext().getSystemService(INPUT_METHOD_SERVICE); textMessage = findViewById(R.id.text_message); ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.send), new ViewClicksAntiShake.ViewClicksCallBack() { @Override @@ -60,7 +64,11 @@ public class SudGameInputPopupWindow extends BottomPopupView { } } }); - + textMessage.postDelayed(() -> { + //软键盘弹出 + imm.showSoftInput(textMessage, InputMethodManager.SHOW_FORCED); + textMessage.requestFocus(); + }, 200); } private void initDate() { diff --git a/common/src/main/java/com/yunbao/common/dialog/SudGameSmallPopupPindow.java b/common/src/main/java/com/yunbao/common/dialog/SudGameSmallPopupPindow.java index 089e34caa..5c2d527d8 100644 --- a/common/src/main/java/com/yunbao/common/dialog/SudGameSmallPopupPindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/SudGameSmallPopupPindow.java @@ -1,6 +1,7 @@ package com.yunbao.common.dialog; import android.content.Context; +import android.text.TextUtils; import android.widget.TextView; import androidx.annotation.NonNull; @@ -8,6 +9,7 @@ import androidx.annotation.NonNull; import com.lxj.xpopup.core.AttachPopupView; import com.yunbao.common.R; import com.yunbao.common.bean.SudGameUserModel; +import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.weight.ViewClicksAntiShake; @@ -41,6 +43,10 @@ public class SudGameSmallPopupPindow extends AttachPopupView { ViewClicksAntiShake.clicksAntiShake(viewUnMute, new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { + if (TextUtils.equals(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()), String.valueOf(sudGameUserModel.getId()))) { + ToastUtil.show(WordUtil.isNewZh() ? "無法對本人靜音" : "Unable to mute myself"); + return; + } if (sudGameUserModel.getMicStatus() == 3) { ToastUtil.show("对方未开麦!"); return; diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/GameMicManager.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/GameMicManager.java index 357197f1a..efd2497e3 100644 --- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/GameMicManager.java +++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/GameMicManager.java @@ -181,6 +181,7 @@ public class GameMicManager { public void refreshStreams(List personList) { + final List inputStreams = new ArrayList<>(); for (SudGameUserModel sudGameUserModel : personList) { diff --git a/common/src/main/java/com/yunbao/common/views/SudGameUserListViewHolder.java b/common/src/main/java/com/yunbao/common/views/SudGameUserListViewHolder.java index 6dce6f6ef..98ba77a66 100644 --- a/common/src/main/java/com/yunbao/common/views/SudGameUserListViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/SudGameUserListViewHolder.java @@ -1,8 +1,11 @@ package com.yunbao.common.views; +import android.app.Activity; import android.view.View; +import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -16,12 +19,14 @@ import com.yunbao.common.bean.SudGameUserModel; import com.yunbao.common.dialog.SudGameSmallPopupPindow; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.utils.Bus; +import com.yunbao.common.utils.DeviceUtils; import com.yunbao.common.views.weight.ViewClicksAntiShake; public class SudGameUserListViewHolder extends RecyclerView.ViewHolder { private ImageView vacancy_sud_game, mic_status; private FrameLayout user_layout; private RoundedImageView sud_game_user; + private LinearLayout layout; public SudGameUserListViewHolder(@NonNull View itemView) { super(itemView); @@ -29,9 +34,18 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder { sud_game_user = itemView.findViewById(R.id.sud_game_user); user_layout = itemView.findViewById(R.id.user_layout); mic_status = itemView.findViewById(R.id.mic_status); + layout = itemView.findViewById(R.id.layout); } public void upData(SudGameUserModel sudGameUserModel, SudGameUserListAdapter.SudGameSmallCallBack sudGameSmallCallBack, int position) { +// layout.post(new Runnable() { +// @Override +// public void run() { +// RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); +// params.width = DeviceUtils.getScreenWidth((Activity) itemView.getContext()) / 7; +// layout.setLayoutParams(params); +// } +// }); if (sudGameUserModel.isNullUser()) { vacancy_sud_game.setVisibility(View.VISIBLE); user_layout.setVisibility(View.GONE); @@ -49,7 +63,8 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder { ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_open_wheat, mic_status); } else if (sudGameUserModel.getMicStatus() == 3) { ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat, mic_status); - } else if (sudGameUserModel.getMicStatus() == 1) { + } + if (sudGameUserModel.isMute()) { ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat_mute, mic_status); } ViewClicksAntiShake.clicksAntiShake(user_layout, new ViewClicksAntiShake.ViewClicksCallBack() { @@ -62,16 +77,16 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder { .popupPosition(PopupPosition.Bottom) .asCustom(new SudGameSmallPopupPindow(itemView.getContext(), sudGameUserModel, - sudGameUserModel.getMicStatus() == 1, + sudGameUserModel.isMute(), new SudGameSmallPopupPindow.SudGameSmallCallBack() { @Override public void unMute() { - sudGameSmallCallBack.unMute(sudGameUserModel.getId() + "",position); + sudGameSmallCallBack.unMute(sudGameUserModel.getId() + "", position); } @Override public void mute() { - sudGameSmallCallBack.mute(sudGameUserModel.getId() + "",position); + sudGameSmallCallBack.mute(sudGameUserModel.getId() + "", position); } @Override diff --git a/common/src/main/res/layout/view_sud_game_user_list_holder.xml b/common/src/main/res/layout/view_sud_game_user_list_holder.xml index 4f6049b06..2d86b7c83 100644 --- a/common/src/main/res/layout/view_sud_game_user_list_holder.xml +++ b/common/src/main/res/layout/view_sud_game_user_list_holder.xml @@ -1,5 +1,6 @@ Py9B1uF+RCr$Hoe7v!)s@G8w|ZY#+GZ1ElYQxCM?e!3;|?QkAv!^w(TPz>Aa0px zGKv|KI3_G%B$`ZO#%N45QPc!UtGKoxo5&`hvI+{yPSf=MhV$;bU9VriSMODIfqdW8 z_w`3nb>Cgi|D69l_uO-DDNf>-wT^6R$fuq>a>%EKkz_C!i&7M)0R<=uuqY%(8!SL^ z062oh5n}egJBYCwi#5OsGN>evqf}C<22pde4qu&Y9kZ6ulNcq$=#OG34fgxKv?iN6 zpaG}{8wB%mzn2lkoG;A#3_$)efkV^~VD6}XPSIuq| zbExB&Y6wS;7eL1i80&4uQ_n-h=#Dz3XUS-Gs=|&UT<=^J^%>JAO>Y)4wvxejR6kxk z9^j-M80$51?TI~;IZgbTWCf5)`DDOP)tN9fC(p~esLp1C->5!RrxT#G0%N_w02DLH z<3g$;tUtmm!~Om7_SS;tvM>cHuwCp0#F(ZA@?pBbNgFWM8w|tZWnvWjE(lMAHiro@ zks}f2WCSUZj7vuv_5kOrL99#%IB5aKTFCk2P}U?=;;p$QLQCb@WE3IHa)a7;gDGXQ zZE8DT4dmsPg41GPtc84+7{BxcJ^Vu`sR-CRLT?@EaEHBhgteL2x+I$SZ8ezRwgj9O z0b{+w3}W2Y*ny~mPez+lous4o#m`z=LTl2l{55c|D&@zif|D{Z)7cTfT24#mj-dV@&vA*TR>_@e2)_uknowY@1zb)h&)B<+ zQ3VlZ{>f-w6fI6?eTl}H%(#M-PND-fT%m?K4paa_34yU*p_ppkvr~nVp_z18LNe`z zffq&Ci7cq4blsf#Kc*EWsuu@?EGIEAf9F0F_t+1|av>uJtOlq*oci8;MmEIq^hDKg z1S}`lAst{Q3s5rPw`5)9mcAaRC300mxj$)OtYN6pywqI-6LkVLEz4kfOoM*2q5cT0ya*1wrN4~=Zj|<-2sNlo zvKG|b5~7bq=9*fbQ^U9{GBDN)j3S?XOMq}co6K0!MQg3>c-m++jAdSMd@aU$o^oQGX{V!_5?)}UQki$~2AH}E zSUDc{zm+~JOSITKo&cvxYdU|RT#evMp}<)4_!^2AP;n&2tzDcU82)4fqm<0}%B})Zjfjy_f zfY~4xBf#u)EGBGX4vYAPJ@2&`uN2JlsemGVbIT%`zG$m?gb_?p%I2tMQ!dtgI#JDs zC<>c2B>(XO(-JBh=mU(mM@m7R1z9m@Ga7Qcfs(Wo1vR_i@Vij8UuUYgh3c+HhH2Z`y{eX9lQ|eCiL(Gu%QhbL~VNFJB8V{T(WM(M4s+SdEkwDl@>WaON04 zZ5D5E*l*#Kb0Di2ViKY?1FeO+18{H&Y`PncY}8+wKVw}Tu7uO3LVXo%z7r0tf<8Zn zj^Bi=ju3OS%c|4P$i4;e;q|T~20osr^wmzlP;mPHK+%Pe(H3HkH)Pj!01o^EHr}9* ze{}s36pe@4&tda*8a%grWm$KW@2FAC4FYBh8T5!7l&fO{9AGN9fdC`@NCp(?h-l5} zE?|}iP+9v6q4bZCb&8{fl~D7!)_BoA0V*RORE7p<&DF5)AIZ&&I4C+xFI2PJL+u_Y@2MjR z?h{SjrpAG(SPgB)!Twia=R;8OE>vuT{PxiH%h2JUq21+r6h~IWdt;!%2*ahIQg+~c z$SBlGvEx6XVg(#}6Y4G9$99)OyQ`si5>zbKKom`cy3b&BiT>9sFLAZ%DN#dM+k`-@ zr};CPe8V>bUrGuv1Ezymi~wU6m_dN}tqY{A8<=G-cUj7dMU8tMPB~kLeO~R{RM<^; zUg^-z*PQg>T~EO3YczG3$yk8tJ3FpvyZ#6puGbc0tiVuHW)5_}2fE!2RxND29(F$w zKbEl;U2T-6AS zHHREdWgF13(OSGTHP8X(=uTKz0$Ht_b|@09)kC)%pzpofD-&SED|4&J#g0_h-2&Sl zZYmh>1S~-Idk}iw2@O?HmKS#hq?+yq7zLFd!LnhRzM80{Yd$R;216G@W)W=vDQx*+ zQ_AV`J?J${KfiG@2+%@9L5owB4gH>hq6zvL0Yogu4;WoyH>c2D_G|2+T7PB?G0Kjm zx3+F(V&($_Oxy@t_O9-*24=70E{lgV;6CVckEXCUPS@U2kVP8dX0?N_ey&R`8UPg= z;=*hM2H0>5?0BR(&~BlM!*Rx9XgvlFFN0O*>A6E*(!aBIKz0|XSPsiZHT4Mnz?Qn( z2=y(1SiS~iRRERg=MQ0Vff~a*8kncJ37Cr_<{ST#LITXd>6!)(uF(^3V5H53nKyiq zRRnq6w8boSP5v^7?6#0upd-#TpXrG;Y)z2U1-`Of`=T3fgDtb-!WUrdxZF`#b0zF? zXeTJ7BEm0uLVImBpTe>sQ1`jEh=TqwYP}xViV~DV9#n98m2Y|rLinRj94wkK1c)YIoCDE*ZNW{HQ&+;vFV zj9g8b!q+OxAEfM#Fjh|DDcE>BY@QjPXT&wPfpNvQ9=x=YES*d3NBRpxsp(nD-J;na+WJgwae<))TZQlb2AO(S)14*3byd zHhA9g%A%~2-BcvP?ll!k9Is4(F;r%#K+0t1L#Ioj^EaSq9Ap>!EUbK(bi?hiWoA>0 zF#*#kaXC4zUg`skO|y?c=WlCwdby+he)Q#~UU_!lW6=KEroi}7w06&zpg3Pyzo!$q zY;2rg{Ddu)3^o?y02Ahw`86z`xq*4dLuIl~k^bsg|eyaF*wx`;u1%@?av>Fj+5h-B`>S$J};suB;0btoNZZcU;aL$qov!h{XsnLS=4X`aS^N{~c=g!qS0S z``uRVjXD_cZ7TZ%bht)8Bfv=AL33v=P(=@AJ;{0G@sho;3@U6a#tlp|8)fbVq*#mr zX0gXB8#)V4|DFbA_06#9w{g!Wa3Edaob7tWZGdrGOb{@B3Mks`2aE`})7N3}(;AHO z_IefX9#;^p2|W%ggQD{_Fz-4RPEH3nceid$fZ61k{QUx^iKuLd%VOSf2~of~ z&xwd`p8+4<(e!E*?_6puD5o0?Uj|tc$@olrbV7qcdpHs|t74i={(m5gYwUYkf>4x7 z1en1Nl|7pxl}SAU%n*ml7P+XbO(}fo4ajN>YrY4Yot$+qMY#KDbN@^@{Z{?y`yOB< z%HR%|nk|MP?Uwq6dVmqyk(XdH;zcOFNDKI_PC9O9tTTw#y4(!C=jh0|0me|7pWCj} zn|`OP$9aiN&a)R#iKxr~BcbsiiwWDFmCk#C+2hPH?Y|6T=j(OM>Z!2#A^&i`5rFi! z{a83t(t(|h8(@sE+`yQCsaKF*pxwYMb}Yt(cx3xw^b-BVp82r$D(#B9gPo>6d8So~ zjwDF1GghF1S?;nzujecO*9UH25nz^+!H6bn7_We(u~Nrk1Q@XxGsgri)`F<4kH=yJ z7^y=9Jz*#0c7{*>3d^pxd*~bP5bbR@7Dhj>gP4+WBZC)UK5|i+H(=`Cl=D*}V=QGs^i^^m$!$pwa6V`cvku3%j$u@Dhumz@AOcxh0hRV!y5=R?44~k@)KBi-I z`xe6Pr(jatoKrxos>csNA`gDAs_n4pF8K6G80@oX4Vveq zfA#DXVC1eY@t*a|JI@$?9riOA^aH5b2Y)K|r?N0wlluGL0i{3JZM|_0eD+#gSkhKu z4;b|%6p!^EuzdR20(k#NaPVEo=?Ld-)#01Sw4*eB1xJ4V?`81p8y{gR%G)=bn{s6q16&+igof+v4JTJz2u$p||g z0!pM1QI#c?aoG{(X*%^vUN0!faR#4gT&;$|@P#1T9h-gxTYr*xD??YgMSxjO%;PR6 z(!Q|o(kc9~by1K~B-6)az|3w3Uy=E&0CqkGtNuk(YEXN2H2q%aHC=m`YbNRSkDCF! zW7LTmE0pyp3(4S|CYdqEixz_FO^1Mk6e21}Q4~s2lmwuctwPr z+ZMXs1igQ(Bi{nZdlQ`nn`_?k_D?S`Usl%t@D$lhYP`ZKN(ZCR*YOl~ls+b732xzp zS!sSR7+VfG5|XKh%1yBUO`TIc0l&aRKIs z(J2)nu1ewzJnv))Dh4hO7=|wIdHExuJb}C>I`v1{e6QMS)dE^MA zWM)?BEKYePiZTSThrX<#x3cEai7Yk}qjjW>AFpOdHUCrqPvq@HRRnJx-hGfnPD48T z9F@jpYq?IgmVZr~V~qI<8H{vimxiVdd1)c#K`5womelS%f<*O6aiMG}VBQ*lq%WC}L$Z}8 zn90I=2H%Rh^AZnk!uGI6uhM(%(=tM^_l5sv#m7k2Eo=3QVDYiaXk8l&pJ_4W<{!*QE zQ=v5h=6XjXB*{az6~gMt>jD#rbpf-^O=S)+hL6iHg&i+w z*VT`rW$>-~!g(t-i2IkqOJ@XMFp;W~hAEq#U!GFqUB@tNU>;^Pxhx4>XogiBl}Ekx zh{b%%0Y%7>@T(gB3JsRoE?TNU}KNS#yyc#z!vSl5G$_jjdF;pgV zi~u8XtYzPZO^^B?*)vpR#+BO<#&6Rhmi0e@)jx`RX+eMnF-x+Hqqo+#stNS;!w+jN zw~)hJI||?@$S~AXS*%H0H#!z0z(lo}%blYaVliu7lYf5)7@1Svx)gT3qI;caPLS_& zis9VlP|yQDc@EyZEEt%UDydhFvf8g9-7~{q~8tvo>ttbz8cSm^{!a39&)ZM zvB(cK|5SkSJ|k3ilVdR=NI6LyRW|I$qhH_EDAEaserP&7gV zQx*}JmeZOf09>plCb+W1v|&9&If^qwgPQ4}HL;kR9blez%`skZ+?FW7eBA}i8fT7? zG6tC1L-5MEuy?utYTj!F*+uZRH=)g7*!?QJ^0n|YmQmOtQ5oHbay2o+B|kQU&1MvZ zENwiR5rqoEv^=PTatp^T4lqyoP??|k=XZih&g~w{9E&kjCcuo6<9*doel=`=F0of; zlq;_TT(k~y+QH^WVet*&lYdLRHIawxy;L(=T@vwHEE}9T&P8%2XDiIBNd*{rMyTv& z$+V2Yyi(XFzq}g|%8@?Enq$y3IK#!<5zz7eoybIPo5U($h8!MJF-f6r1 za@amE_?ShQr9_d1P;4E~smqeMNX`L9e#>}u;|17ZjipL!0?c(E>-5-9--LN*>zlp( z+LJc2TfwDkps>3xBfzY7QJEW49dPbDrla>n@@i5YgzT%F^E>Ewy$&SKKN~(NkB3m)^$P8s z_ZalP)(jVxIu>K7On@0J3(N++&%X6(c3%^|Snw`NEXb z4MHM^BZh^=J?e@SE-STxd5B^fco&Oq2|cth_clz^BuRVnPMv>T@iDwS5e}?}I%kVE zGYe!682JG7o~%8$++xTq)W8^vF;pfrS9=(Cy$)S3fz6M@JGbcM2)AX+l~$*J6GqL^ z=J8oMymo;OczUTjjJ}dvTyLX+A!<^J*ZVqFGyd4_=HDB445M@~Sz40_@93YxkUMql zBA6X7!{>{k?g$hQhttjn@y7P9f+e@Yg=P9$D*bDB}s z1<8UV$1H~44I}Sy?*8)W$@afN`Au4ISMSsXmfr;{oeY2Z|DdVbF%V#0zF31h>OmMV zO#|Zh+WZGtaud`Y4G-OfS-&6MHF|z_2F&eh5;Off68|(BFtT4$&-28%Akt#Z4N5Y+ zY;M6D^!c z@=t}sTjB5~_~6%Y_+wp1BG0p>bgiE+qZJcnza=fe*pxPdzGSc%klWo7ZzTCmf>EE5 za>hkB&&Z%m(nX?rjK#Qt+2uMIWp11_iX%~7^B0ApgSaNliZm$usb#FX#*RgXz9LzS zsm1ywGIVL$kd6*^Sz zkQ6YEIaMtjwV@Gs;AooeU_+)7s_gYUV`+#Ve-B&snp$ z4aE%K1GP~Gp9(->bYXh$1;$uRnBb#WlwX;!u~n(#)A zM3ZUQfZRd|6RMlaN<0?xX~==tAV8wF>1T~nr@k5X0X6vq{@h|CI5YS!6yHB-XibD! zG6l|!nPW%Gu64vD|l*^@U@ zz@utXGgWL6Kxqf2(RzN)cw)@8w+!?dg7Bn>R4w8}(waUcCi^Md?W=hIEpe1MRdkLU zFm~_fQb;A=6*DJ`c8$q7L6nmSn5Z8_WUDfKMOepi}Qh7 z$z`Oy57YQ7T|TN4Rq(0MngAky)%Kp#Y-)Lpee6}!eJ^uKm;3|k`NDu{W<~eYom_6m z;!0w6dTuNGM?4N7-!e1v1Fm6d$GZ{$( zBai*;<8WZ4r16nYPU9tX0+a#ED?;}|)c|02Kjq(}RHJxbZa5;76pXW5MFo~^1>(-i@#fVuu$CCh q$)S=;j?#t0Dt@)m7mY)+_Wuu1b6g>f^?Kg`0000Py3#7RU!RCr$Poe7jw<(0>OU-jNiLxT`jSw!}I6%ZGY00K%B4q4P_T$vz}hp~%Ca77^-T0E)xF2@FmU zG5>x+gpC+%0@jnpNpd*FNlvOx6rZi+tFvuj#u{1?p$ie(qv%e#`ME8%$)pr02g<+% z!Ft(03q_IW57y^2K;G%VQHqJM4cLUi2FlnfpH(+@oK3tqYk)DPNuJHI3j-%6W)P=F^sMl`{3S#$RUy7-JRvN#hn2SCdU0N}}dT zMiY;z_U|n=B?8Z_OgvER-;2r1GIi+CXolhw8+ZngXasfHBt6h*BOTk6UBRl^+TAD&yr}!k9H@pQ1%# z=8iE7#r>)i`>PwEY6ZsFKpsb!L>hOHNkcO@wR%jI4+*PL&U${#qL{cM4xpG$DbrLp zPE;2_)dq~QijkD@BoSJmPRm&k$qvhGKg@OdD!+BCF=_K=5Md{2+^*X3dUb%4a$t;Q zWSfpXo#`?0Oi%`dDIWy!arI`gMwz)1=iV=+^RaA(B; z{4zd>G>3K4e#hdbEy4UDmb|0J7Vm`*;3DF{n+kUpHC1QCR= z{W$5;LBS)cE58f_PAFiEh1@}!X}%JJ;?}zLT~LV*%CKZK&7RG68*ieqRHf@@s*8hH zK9C9wjIo5PDCZw$+o^EyH6hJGg&_5GjZj@#-~$g=(ffNza47SImGY7}*=XiHED3tHYyJ8KG5H?wB%+mE@{We$-+f7O9c z{D9*N7~^%ah%o;&FvHA7?dHeL-iBpbO_{ZL{doDYAaptV(5tZv$z`;k^o>7YUgJ*k zm=cp_Nrfp(R&$c^9r4Croped0c9OeQH-6`(HJ-p23%Hte=9#OEei`AV{y`+qj})h} zy+kwyp(~!yNp_%^F{*nsfQo}qLST%=oI?>Gnp=f}n3+^)LXiHv!1KfGL>iQ=xvpyZ z_mEE))tV#mG$%1Iuks*@`(k3anqXK>Ye3DLHADESy7N$AV2pV*Ba@A%^I&y-?Ocf` zwL#QBSwND}oS=1+r|VlHbXDE>!VR3b8e_b|OJwjpSKksuYyP*HHMfW~h(KBO#n+VZ zPt}8~d;?>=OdoPt%gH1++SyG+P>HmU)^E@ewvV8uELC*noB6c9st4~m!Ex0XV?Ha1 zaG|*!HI+{fsFYkb>3?OPAh1uu}EnB2Qq9m$(eY%P4chjyEHMnzb-QB-4jq zAe~?b?K6yq>po7P7@>NyB3=_150Fkb{z!xy13Ua6g!lnG*$_2sA2n^(wARd|7Za2+ zZB!MbfbklQDB@ETwR~wyDu@p&(LwqSQr3@|j8`T+Ei#|!pn9{<9hiCilx$|08*#!6 zFo@PT9jM>_lIbHXRHcvx78RRw`5gfPxG@RZ)#!Fq6@knxISe zrGdrk!*mVNH~g_DhRwTrXj+>c9ss12zr@3g3Ng)wVdNY|hks*Kq*BAaa${>6`qx(zTb0|vYb^)H4< zb|rgD5+9;da@X#xC9 zsCAj66wyu@f1?Fi>@?S1{798s8DaR~ccGvc7-evHJ?viqA3vZkOR$I%h8MJfcE5r~ zBO$Ya{%y}3c>nr;U9*%EHWpSVSJ06s~j*J zTHXNVC9vrp*z!c>O%%=nN}5jIba-t=c>Jj)`|`L5{;{0_v1AuX8`XhCqBd^xC>jc^z5?>jqc0 zC0KNu1C6hLfJi3KB##zZn{i&|~=W zIaqTYWZLFN^1U#%_3h9}qCXkyYS{UEIKBlAZP1L%Er5ax;X9+C*)3Z7_x&9<-v~yL zjwl-pg}jcH5oAVPI8UYqC*jjOwUC%yD=0YtU;jgAJNyW`@T!b21sJ)jt8zx@lx9DS zR1xU+S7>>y?!2rJPHcy--hxl3!J%y$AWOsj3{c8sRBs(;)x0k%I?*{9G^yB%C2_w+c(FCM_y$B`&F5W?F}(wdX~9f*hzh`vtj zfIa^WpG<}FQYii=mKpW|TY?~e+x{H7PSwA@b0zG3rK&TwM`+S#-hp^lC@|~E9oC0V%0_qQd#+O5_^I}Ep_~)?eZ*Xi2eEBjIpVH3S83GGa#vX#q zy0GsRSaGE;=N0lc8UcOgfoSpj*TCKvbsh0zgWiLJ-r5gsye;}=ba-y<3O#)U=J#jcF1i7n{?IyhOVDJq@jH)@E;Edni2UFRBq{Ub++-41#_Cgmpgz z$!NO?S%xq%S37v~9jn}?vzI`j(O3=Uf;eVMOxYznK~gdc^n16#$Ftz#Ioiz0YUk^1ph(Vy_-xziU;bKiC-Ehh zZPb%d@nvhr!r_mr=C$m72rxaLfpdQn3ygCd0?Z&AFm7r8ctM7f-?EN)ip!PpM_QB3 zXB7)&ewb=6)9X>_d^eoj3$Jv7BAY$;Yu0j`!00_X#Qoqd*fa%t-VdE0&?%Fbn`v|8 z*The=X*C2oN3)uQw-EQmKp!*E%OWqv~UoA-tj5YpY`?Wt3U|vaJ z$_7U@M*NVqg6T()oMmKbxm1>x|41EK2_cQ%F{x}X&9S7V*10fh9prom_Ph*BM{DzB zHI}d)1%(D&z5tpG*L7w`FcU=LXD(l*C#vEr<~P$>u>D9IE79$#suaFye>)A04BGpiIeHe5M?|- zgeKALOZGJezY;GD95@X+L>Ie0e-;-1STomZBc6SgJ83SN32kH+j@F9xlPl9G1s!3; zX8qglxv=yHx?N{`^1F;ZGas(puQz-gSOm+5Rr;6~*F&$TbzAFY-RSS}HAdR%^f0u! zN2l^-z9qoCoWPV_CTsqMFh3`DvK&NfbY^)b!er%3@oiA#lNSke;Xg(b9`SCa%`LwY=sqc#U2VlPtBY`$(cyOq=ye z&xG_^(DN_Q_zK<6x*x%XZ)#xX$1`Q;!jRp%m94+hTeGZX2+1&%TRZhVG^w0&B1}-j znW=$!ihiWAQ1Y)8OsO2Mca$ZjOBg?BF0>j~S@YC>IKC4Ou7#pQke;ngR&GYH>~dqgF_W!8ZU{shg(>UM=$U$2CNtDvkHByeav5(>KL-%ss<_ill`3u9M8 z#gR9=90o?ONfwiK;0-wVwpKSufY$8|O~>f8&Ea*h?#DXOdHG%_iE50s8fiDFl6o5W zHsp8KW03ii@I%_&_G{Svw7=zc#nID?WW&@5Ym2OGD$isWiiWNi_*fEbu{@rgmx!nN z70~-psC~X2TKCV#x5M%=dY!*G>OY)q3w;^6P^Udywp=d-#Cz?07S@f|>mu>YUA-PK zXjNr8$k~=Kb=O~E%fIU^L~ctM7JanLiz;@4Y44+U7wGmh)Q#OY$;bD=XOHu=&9eEwx8k;dr zUa0RM?Np+sBkJl8g>CXc;g5$$qjT zI;-KB(T=@&@ijY$(6Yju#q18TaW3ef;%Q(qni-E!uSu<&iSuHbo6yD6#zf!8>qnnl z-l;~>%B={-41P)$Gt9}I8-YOyuxmjWFvIp&Q-a{v_j=JTv;ATws8KxS4$R{;Cd+)V zTBV1LCoQQORHAm00VZf&`wFTTBa@}wJ~k~x$4R4&8d>>VnpjgN7ckUk77>18*7Y(A zVF&2du3h4TGT2@|NIx;02rzRG+J|!qU7UV7v&rXHHK=kwtaCURPe!jSG062iN)QH^ zFm=L6aIy>w+GlvWWCd`98lB+E5=+>OCs~Q&LeHe;nNt5`w8&50nxadCzfz6%amkNq z!JeQGwOCtmG{cWG4J$E0B-;;DQx&a+0VgOevi4F$Uv;I=Yq3mlrbjQ5v*rz9!ay%Z zh6U5B-Rcf+z54e+cg+pDuM66Qr> zat`IZk3sW5C#1Zz%S}_l)bR^`G9h%bn(0p0F3Rbq#)Z7zH>x!wPp@viYDU<884*Up zQeoCorBT%>IO1E18KuVYn$?Zl-zxJMw?f9_+(nMy=0Ts zIHEh{<3r;Q7+J3=V?Ggvd1eDrA+=!{5LD}e2w1Xo>G})FXSA%hB+?cq`3cJ!Q)o*X ztAToE!Jt|Yq)t!<2k{}vv~A~*U-~V&4Zfv>{^~k27wP%(r7>13#xw?yX?w6w7?b0d zpqiBCO6K|7xNgzlmloMTa*7Mp4|&HEk!XQHz?i|n6vhzY#ZV!17_A9Y$1lTzXj(iW z^rwMWs~_@`Ur+*>GJB)OslDVN7Kb zipP;BqWIMUzvaUCig+fe=CsbBoJs0>qG#4av9*e|4AqM91j9(L*GOI6Qn7V;Qp%`ha6gVo2*P$`Rd~E!yq|v0}DH?vl>FRR2VcT^IiyuKS zoi2M(j8fO1MURcI@HvmroJ^*W$=He$YF-R-{vJk)y!r^kY`@7%eT~&T6nCoYiEdy{ zR$r#hefB_fH6lugIb(qqNq6; z)UVi_6OSp0Oi~y|`Y~}qv`(KWK7e968B9|@#&*U%EClZLsuh?D-!qk_lrfcD#+eh+ zMD{zZ^ao*Z&`hzE*ZHm&PG6LDhq{FWsfD3xYc&E)1wd2ihQV|cJt}s4CYOV%q^LSH zN*{WXyG=eMjfv_eHdHqtZc1KLeM%y9!0EGBKcJjz$)>Jp;u1Zm&W}k7t7%TE#azjJ zq!4*drJTulUft?HE1W7O)~LqV2W_7HtVKNxh5|n)o8IOTi;AaoMN5a#gfM1J0Fif* zx#si)B`o6*->3&%FLOy1|KqlE#(=33#XUp|vYCv*SR&^3+ie04KOj)QxPn@KpJ0~M?!KaA(wP|0bMZY zYCbU?@=(z?6h!MCL2(?z)B*`- The quantity of goods exchanged has reached the upper limit Successfully opened You have purchased the BattlePass + Comment + See Information + Unmute + Mute diff --git a/common/src/main/res/values-zh-rHK/strings.xml b/common/src/main/res/values-zh-rHK/strings.xml index 315906b80..55086a50c 100644 --- a/common/src/main/res/values-zh-rHK/strings.xml +++ b/common/src/main/res/values-zh-rHK/strings.xml @@ -1423,4 +1423,8 @@ 商品兌換數量已達到上限 開通成功 您已購買該戰令 + 評論 + 查看信息 + 取消靜音 + 靜音 diff --git a/common/src/main/res/values-zh-rTW/strings.xml b/common/src/main/res/values-zh-rTW/strings.xml index b8d60456c..3aa31fb72 100644 --- a/common/src/main/res/values-zh-rTW/strings.xml +++ b/common/src/main/res/values-zh-rTW/strings.xml @@ -1422,4 +1422,8 @@ 商品兌換數量已達到上限 開通成功 您已購買該戰令 + 評論 + 查看信息 + 取消靜音 + 靜音 diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index da10bc513..a4f2e870a 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -1421,4 +1421,8 @@ 商品兌換數量已達到上限 開通成功 您已購買該戰令 + 評論 + 查看信息 + 取消靜音 + 靜音 diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index dfea3feca..a1ea01a49 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -666,7 +666,7 @@ ReceiveAwards One free gift privilege! - Send out + Send I am sorry video myname.pdlive.shayu.fileprovider @@ -1428,8 +1428,8 @@ Limited ride And limited avatar frame The quantity of goods exchanged has reached the upper limit Successfully opened You have purchased the BattlePass - 評論 - 查看信息 - 取消靜音 - 靜音 + Comment + See Information + Unmute + Mute diff --git a/live/src/main/java/com/yunbao/live/activity/SudGameActivity.java b/live/src/main/java/com/yunbao/live/activity/SudGameActivity.java index c0cff3132..5ffbe0506 100644 --- a/live/src/main/java/com/yunbao/live/activity/SudGameActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/SudGameActivity.java @@ -32,7 +32,6 @@ import com.yunbao.common.bean.SudGameUserModel; import com.yunbao.common.dialog.SudGameInputPopupWindow; import com.yunbao.common.event.CheckRemainingBalanceEvent; import com.yunbao.common.event.SudGameSocketImEvent; -import com.yunbao.common.event.SudGameUserEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.live.LiveNetManager; @@ -53,7 +52,6 @@ import com.yunbao.common.views.TopGradual; import com.yunbao.common.views.weight.ViewClicksAntiShake; import com.yunbao.live.dialog.LiveUserDialogFragment; -import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -66,6 +64,7 @@ import cn.rongcloud.rtc.api.RCRTCRemoteUser; import cn.rongcloud.rtc.api.RCRTCRoom; import cn.rongcloud.rtc.api.stream.RCRTCInputStream; import cn.rongcloud.rtc.base.RTCErrorCode; + @Route(path = RouteUtil.PATH_SudGameActivity) public class SudGameActivity extends AbsActivity implements GameMicManager.MeetingCallback { private FrameLayout gameContainer; @@ -83,6 +82,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti private SudGameChatAdapter mLiveChatAdapter; private SudGameUserListAdapter sudGameUserListAdapter; private ProcessResultUtil mProcessResultUtil; + private List muteUser = new ArrayList<>(); @Override protected int getLayoutId() { @@ -126,18 +126,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti RCRTCEngine.getInstance().getDefaultAudioStream().setMicrophoneDisable(disable); ImgLoader.display(mContext, R.mipmap.icon_game_close_wheat, gameCloseWheat); gameCloseWheat.setVisibility(View.INVISIBLE); - LiveNetManager.get(mContext).getRoomMicData(mLiveUid, new HttpCallback>() { - @Override - public void onSuccess(List data) { - gameMicManager.refreshStreams(data); - sudGameUserListAdapter.refreshSudGameUserList(data); - } - @Override - public void onError(String error) { - ToastUtil.show(error); - } - }); new Handler().postDelayed(new Runnable() { @Override public void run() { @@ -215,11 +204,12 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti } else { ToastUtil.show(WordUtil.isNewZh() ? "無法對本人靜音" : "Unable to mute myself"); } - + muteUser.remove(userID); } @Override public void mute(String userID, int position) { + muteUser.add(userID); if (!TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), userID)) { gameMicManager.refreshStreams(userID, true, position); } else { @@ -245,6 +235,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti roomName.setText(mCreateSudRoomModel.getRoomName()); roomNumber.setText(mCreateSudRoomModel.getSudGameRoomId()); } + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.exit), new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { @@ -312,6 +303,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti } }); + ToastUtil.show(WordUtil.isNewZh() ? "麥克風已開啟" : "Microphone turned on"); } else { disable = true; // 设置禁用麦克风采集 @@ -329,6 +321,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti } }); + ToastUtil.show(WordUtil.isNewZh() ? "麥克風已關閉" : "Microphone turned off"); } } else { @@ -466,7 +459,18 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti @Override public void onJoinRoomSuccess(RCRTCRoom rcrtcRoom) { + LiveNetManager.get(mContext).getRoomMicData(mLiveUid, new HttpCallback>() { + @Override + public void onSuccess(List data) { + gameMicManager.refreshStreams(data); + sudGameUserListAdapter.refreshSudGameUserList(data, muteUser); + } + @Override + public void onError(String error) { + ToastUtil.show(error); + } + }); // 主动订阅远端用户发布的资源 // gameMicManager.subscribeAVStream(); } @@ -525,6 +529,11 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti runOnUiThread(new Runnable() { @Override public void run() { + if (mute) { + ToastUtil.show(WordUtil.isNewZh() ? "已靜音該用戶" : "The user has been muted"); + } else { + ToastUtil.show(WordUtil.isNewZh() ? "已取消該用戶靜音" : "The user has been unmuted"); + } sudGameUserListAdapter.muteUser(userID, mute, position); } }); @@ -553,7 +562,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti @Override public void refreshSudGameUserList(List personList) { - sudGameUserListAdapter.refreshSudGameUserList(personList); + sudGameUserListAdapter.refreshSudGameUserList(personList, muteUser); } @Override