修复测试反馈问题

调整小助手、机器人图标
调整PD一号的IM消息
调整PD一号的红包UI
调整翻译
This commit is contained in:
zlzw 2024-05-05 16:13:28 +08:00
parent 8e2acc3417
commit 2093306d36
27 changed files with 190 additions and 46 deletions

View File

@ -18,10 +18,14 @@ import com.yunbao.common.views.InteractionGamesChildViewHolder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* 侧边栏游戏列表适配器改游戏列表数量在这里改
*/
public class InteractionGamesAdapter extends RecyclerView.Adapter { public class InteractionGamesAdapter extends RecyclerView.Adapter {
private Context mContext; private Context mContext;
private boolean rigts; private boolean rigts;
private List<CustomSidebarChildModel> child = new ArrayList<>(); private List<CustomSidebarChildModel> child = new ArrayList<>();
private List<CustomSidebarChildModel> srcChild = new ArrayList<>();
public InteractionGamesAdapter(Context mContext, boolean rigts) { public InteractionGamesAdapter(Context mContext, boolean rigts) {
this.mContext = mContext; this.mContext = mContext;
@ -46,7 +50,7 @@ public class InteractionGamesAdapter extends RecyclerView.Adapter {
long activityID = TextUtils.isEmpty(model.getSrc()) ? 0 : Long.parseLong(model.getSrc()); long activityID = TextUtils.isEmpty(model.getSrc()) ? 0 : Long.parseLong(model.getSrc());
if (activityID != 0) { if (activityID != 0) {
Bus.get().post(new CustomDrawerPopupEvent() Bus.get().post(new CustomDrawerPopupEvent()
.setDisMiss(true).setInteractionID(activityID).setInteraction(true).setChild(child)); .setDisMiss(true).setInteractionID(activityID).setInteraction(true).setChild(srcChild));
} }
@ -61,6 +65,7 @@ public class InteractionGamesAdapter extends RecyclerView.Adapter {
public void updateData(List<CustomSidebarChildModel> mChild) { public void updateData(List<CustomSidebarChildModel> mChild) {
child.clear(); child.clear();
srcChild.clear();
if (mChild.size() > 8) { if (mChild.size() > 8) {
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
child.add(mChild.get(i)); child.add(mChild.get(i));
@ -68,6 +73,7 @@ public class InteractionGamesAdapter extends RecyclerView.Adapter {
} else { } else {
child.addAll(mChild); child.addAll(mChild);
} }
srcChild.addAll(mChild);
notifyDataSetChanged(); notifyDataSetChanged();
} }

View File

@ -53,8 +53,9 @@ public class AiAutomaticSpeechModel extends BaseModel {
return iconEn; return iconEn;
} }
public void setIconEn(String iconEn) { public AiAutomaticSpeechModel setIconEn(String iconEn) {
this.iconEn = iconEn; this.iconEn = iconEn;
return this;
} }
public String getContent() { public String getContent() {

View File

@ -49,6 +49,16 @@ public class RedPacketInfoModel extends BaseModel {
//超级红包ID //超级红包ID
@SerializedName("super_jackpot_id") @SerializedName("super_jackpot_id")
private String superJackpotId; private String superJackpotId;
@SerializedName("red_packet_type")
private int redPacketType;// 1.普通红包 2.特殊红包
public int getRedPacketType() {
return redPacketType;
}
public void setRedPacketType(int redPacketType) {
this.redPacketType = redPacketType;
}
public String getSuperJackpotId() { public String getSuperJackpotId() {
return superJackpotId; return superJackpotId;

View File

@ -865,11 +865,20 @@ public class UserBean implements Parcelable {
private String medal; private String medal;
private String bubble; private String bubble;
private String medal_new; private String medal_new;
private String medal_new_en;
public String getMedal_new() { public String getMedal_new() {
return medal_new; return medal_new;
} }
public String getMedal_new_en() {
return medal_new_en;
}
public void setMedal_new_en(String medal_new_en) {
this.medal_new_en = medal_new_en;
}
public void setMedal_new(String medal_new) { public void setMedal_new(String medal_new) {
this.medal_new = medal_new; this.medal_new = medal_new;
} }

View File

@ -45,6 +45,9 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Random; import java.util.Random;
/**
* 半屏创建游戏房间
*/
public class CreateSudGamePopup extends BottomPopupView { public class CreateSudGamePopup extends BottomPopupView {
private List<CustomSidebarChildModel> customSidebarChildModels = new ArrayList<>(); private List<CustomSidebarChildModel> customSidebarChildModels = new ArrayList<>();
private TextView createGameType, selectCurrencyType; private TextView createGameType, selectCurrencyType;

View File

@ -115,6 +115,36 @@ public class SendBlindGiftEvent extends BaseModel {
private String liveGiftNotify; private String liveGiftNotify;
@SerializedName("userNiceName") @SerializedName("userNiceName")
private String userNiceName; private String userNiceName;
@SerializedName("special_gift")
private int specialGift;
@SerializedName("special_gift_name")
private String specialGiftName;
@SerializedName("special_gift_name_en")
private String specialGiftNameEn;
public int getSpecialGift() {
return specialGift;
}
public void setSpecialGift(int specialGift) {
this.specialGift = specialGift;
}
public String getSpecialGiftName() {
return specialGiftName;
}
public void setSpecialGiftName(String specialGiftName) {
this.specialGiftName = specialGiftName;
}
public String getSpecialGiftNameEn() {
return specialGiftNameEn;
}
public void setSpecialGiftNameEn(String specialGiftNameEn) {
this.specialGiftNameEn = specialGiftNameEn;
}
public String getUserNiceName() { public String getUserNiceName() {
return userNiceName; return userNiceName;

View File

@ -20,6 +20,7 @@ import com.yunbao.common.sud.state.MGStateResponse;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.SudJsonUtils; import com.yunbao.common.utils.SudJsonUtils;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import tech.sud.mgp.core.ISudFSMStateHandle; import tech.sud.mgp.core.ISudFSMStateHandle;
import tech.sud.mgp.core.ISudFSTAPP; import tech.sud.mgp.core.ISudFSTAPP;
@ -148,7 +149,7 @@ public abstract class BaseGameViewModel implements SudFSMMGListener {
sudFSMMGDecorator.setGameId(gameId); sudFSMMGDecorator.setGameId(gameId);
sudFSMMGDecorator.setRoomId(gameRoomId); sudFSMMGDecorator.setRoomId(gameRoomId);
sudFSMMGDecorator.setUserId(getUserId()); sudFSMMGDecorator.setUserId(getUserId());
Log.i("游戏回调",code+" "+gameId+" "+gameRoomId+" "); Log.i("游戏回调", code + " " + gameId + " " + gameRoomId + " ");
// 调用游戏sdk加载游戏 // 调用游戏sdk加载游戏
ISudFSTAPP iSudFSTAPP = SudMGP.loadMG(activity, getUserId(), gameRoomId, code, gameId, getLanguageCode(), sudFSMMGDecorator); ISudFSTAPP iSudFSTAPP = SudMGP.loadMG(activity, getUserId(), gameRoomId, code, gameId, getLanguageCode(), sudFSMMGDecorator);
@ -288,17 +289,25 @@ public abstract class BaseGameViewModel implements SudFSMMGListener {
public void onGameLog(String str) { public void onGameLog(String str) {
SudFSMMGListener.super.onGameLog(str); SudFSMMGListener.super.onGameLog(str);
Log.e("onGameStarted", "游戏日志:" + str); Log.e("onGameStarted", "游戏日志:" + str);
if(!StringUtil.isEmpty()){ if (!StringUtil.isEmpty()) {
try{ try {
JSONObject json=JSONObject.parseObject(str); JSONObject json = JSONObject.parseObject(str);
if("error".equals(json.getString("level"))){ if ("error".equals(json.getString("level"))) {
String msg = json.getString("msg"); String msg = json.getString("msg");
JSONObject error=JSONObject.parseObject(msg); JSONObject error = JSONObject.parseObject(msg);
if(error.containsKey("msg")) { if (error.containsKey("msg")) {
ToastUtil.show(error.getString("msg") + ":" + error.getInteger("resultCode")); int resultCode = error.getInteger("resultCode");
switch (resultCode) {
case 100503:
ToastUtil.show(WordUtil.isNewZh()?"有玩家未点击准备":"There are players who haven't clicked \"Ready\" yet.");
break;
case 100504:
ToastUtil.show(WordUtil.isNewZh()?"小于游戏最小开始人数":"The number of players is less than the minimum required to start the game.");
break;
}
} }
} }
}catch (Exception ignore){ } catch (Exception ignore) {
} }
} }

View File

@ -358,6 +358,8 @@ public class DialogUitl {
private boolean mCancelable; private boolean mCancelable;
private boolean mBackgroundDimEnabled;//显示区域以外是否使用黑色半透明背景 private boolean mBackgroundDimEnabled;//显示区域以外是否使用黑色半透明背景
private boolean mInput;//是否是输入框的 private boolean mInput;//是否是输入框的
private boolean isShowCancelButton=true;
private boolean isSHowConfirmButton=true;
private String mHint; private String mHint;
private int mInputType; private int mInputType;
private int mLength; private int mLength;
@ -454,6 +456,16 @@ public class DialogUitl {
return this; return this;
} }
public Builder setShowCancelButton(boolean showCancelButton) {
isShowCancelButton = showCancelButton;
return this;
}
public Builder setShowConfirmButton(boolean showConfirmButton) {
isSHowConfirmButton = showConfirmButton;
return this;
}
public Dialog build() { public Dialog build() {
final Dialog dialog = new Dialog(mContext, mBackgroundDimEnabled ? R.style.dialog : R.style.dialog2); final Dialog dialog = new Dialog(mContext, mBackgroundDimEnabled ? R.style.dialog : R.style.dialog2);
if (mView != 0) { if (mView != 0) {
@ -495,13 +507,19 @@ public class DialogUitl {
btnConfirm.setText(mConfirmString); btnConfirm.setText(mConfirmString);
btnConfirm.setVisibility(View.VISIBLE); btnConfirm.setVisibility(View.VISIBLE);
}else if(mConfirmString==null){ }else if(mConfirmString==null){
btnConfirm.setVisibility(View.GONE); // btnConfirm.setVisibility(View.GONE);
} }
TextView btnCancel = (TextView) dialog.findViewById(R.id.btn_cancel); TextView btnCancel = (TextView) dialog.findViewById(R.id.btn_cancel);
if (!TextUtils.isEmpty(mCancelString)) { if (!TextUtils.isEmpty(mCancelString)) {
btnCancel.setText(mCancelString); btnCancel.setText(mCancelString);
btnCancel.setVisibility(View.VISIBLE); btnCancel.setVisibility(View.VISIBLE);
}else if(mCancelString==null){ }else if(mCancelString==null){
//btnCancel.setVisibility(View.GONE);
}
if(!isSHowConfirmButton){
btnConfirm.setVisibility(View.GONE);
}
if(!isShowCancelButton){
btnCancel.setVisibility(View.GONE); btnCancel.setVisibility(View.GONE);
} }
View.OnClickListener listener = new View.OnClickListener() { View.OnClickListener listener = new View.OnClickListener() {

View File

@ -9,7 +9,6 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.yunbao.common.R; import com.yunbao.common.R;
import com.yunbao.common.adapter.InteractionGamesAdapter;
import com.yunbao.common.adapter.LiveNewRoleInteractionGamesAdapter; import com.yunbao.common.adapter.LiveNewRoleInteractionGamesAdapter;
import com.yunbao.common.bean.CustomSidebarChildModel; import com.yunbao.common.bean.CustomSidebarChildModel;
import com.yunbao.common.bean.CustomSidebarInfoModel; import com.yunbao.common.bean.CustomSidebarInfoModel;

View File

@ -234,7 +234,7 @@ public class LiveSudGamePopup extends BottomPopupView {
if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
ToastUtil.show("貨幣数量不足 "); ToastUtil.show("貨幣数量不足 ");
} else { } else {
ToastUtil.show("Shortage of money"); ToastUtil.show("Insufficient number of currency");
} }
} }
@ -245,7 +245,7 @@ public class LiveSudGamePopup extends BottomPopupView {
if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
ToastUtil.show("貨幣数量不足 "); ToastUtil.show("貨幣数量不足 ");
} else { } else {
ToastUtil.show("Shortage of money"); ToastUtil.show("Insufficient number of currency");
} }
} }
}); });

View File

@ -6,7 +6,7 @@
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<!--身份特权-->
<RelativeLayout <RelativeLayout
android:layout_width="40dp" android:layout_width="40dp"

View File

@ -46,12 +46,21 @@
<TextView <TextView
android:id="@+id/fun_game_name" android:id="@+id/fun_game_name"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:gravity="center"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:maxLines="1" android:maxLines="1"
android:text="@string/guard_guard" android:text="@string/guard_guard"
android:textColor="#9A9A9A" android:textColor="#9A9A9A"
app:autoSizeMaxTextSize="14sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>

View File

@ -1373,11 +1373,11 @@ Limited ride And limited avatar frame</string>
<string name="sud_in_game_game_game_peer_user">"Paired Users "</string> <string name="sud_in_game_game_game_peer_user">"Paired Users "</string>
<string name="sud_in_game_game_game_peer_user_nodata">" Currently No Records~"</string> <string name="sud_in_game_game_game_peer_user_nodata">" Currently No Records~"</string>
<string name="sud_in_game_game_game_peer_today">"Today "</string> <string name="sud_in_game_game_game_peer_today">"Today "</string>
<string name="sud_in_game_rule_hint1">1. Interactive games are a new section provided by PDLIVE for users, who can participate in the game section on the homepage or in the live room;</string> <string name="sud_in_game_rule_hint1">1.Interactive games are a new section provided by PDLIVE for users, who can participate in the game section on the homepage or in the live room;</string>
<string name="sud_in_game_rule_hint2">Currently, [Backgammon], [Flying Chess], [Bumper Im the Strongest], [Monster Match], [Jump], [Friendly Challenge], [Magic Battle], [American 8 Ball] More game types will be provided in the future, so stay tuned;</string> <string name="sud_in_game_rule_hint2">2.Currently, [Backgammon], [Flying Chess], [Bumper Im the Strongest], [Monster Match], [Jump], [Friendly Challenge], [Magic Battle], [American 8 Ball] More game types will be provided in the future, so stay tuned;</string>
<string name="sud_in_game_rule_hint3">3.Users can customize the game threshold, which must be between 100 to 50000 gold beans , and the amount must be a multiple of 10;</string> <string name="sud_in_game_rule_hint3">3.Users can customize the game threshold, which must be between 100 to 50000 gold beans , and the amount must be a multiple of 10;</string>
<string name="sud_in_game_rule_hint4">4.At the beginning of the game, chips from participating users will be collected. After the game ends, 10% of the chips will be collected as tickets, and all remaining chips will be given to the winning users.In a draw, the corresponding chips will be deducted from the tickets and returned to the users;</string> <string name="sud_in_game_rule_hint4">4.At the beginning of the game, chips from participating users will be collected. After the game ends, 10% of the chips will be collected as tickets, and all remaining chips will be given to the winning users.In a draw, the corresponding chips will be deducted from the tickets and returned to the users;</string>
<string name="sud_in_game_rule_hint5">5. The final interpretation right of the event belongs to PDLIVE.</string> <string name="sud_in_game_rule_hint5">5.The final interpretation right of the event belongs to PDLIVE.</string>
<string name="sud_in_game_game_currency_item">Currency</string> <string name="sud_in_game_game_currency_item">Currency</string>
<string name="sud_in_game_game_currency">Currency:</string> <string name="sud_in_game_game_currency">Currency:</string>
<string name="sud_in_game_game_time">Time:</string> <string name="sud_in_game_game_time">Time:</string>

View File

@ -1381,9 +1381,9 @@ Limited ride And limited avatar frame</string>
<string name="sud_in_game_game_game_peer_today">"Today "</string> <string name="sud_in_game_game_game_peer_today">"Today "</string>
<string name="sud_in_game_game_game_peer_today_7">"≤7 days "</string> <string name="sud_in_game_game_game_peer_today_7">"≤7 days "</string>
<string name="sud_in_game_game_game_peer_today_30">≤ 30 days</string> <string name="sud_in_game_game_game_peer_today_30">≤ 30 days</string>
<string name="sud_in_game_rule_hint1">1. Interactive games are a new section provided by PDLIVE for users, who can participate in the game section on the homepage or in the live room;</string> <string name="sud_in_game_rule_hint1">1.Interactive games are a new section provided by PDLIVE for users, who can participate in the game section on the homepage or in the live room;</string>
<string name="sud_in_game_rule_hint2">2.Currently, we have launched \'GoBang\',\' Bumper car \',\' Flying Chess\', \'Minesweeping\', \'Dart Master\', and \'Monster Eliminating\'. We will provide more game types in the future. Stay tuned;</string> <string name="sud_in_game_rule_hint2">2.Currently, [Backgammon], [Flying Chess], [Bumper Im the Strongest], [Monster Match], [Jump], [Friendly Challenge], [Magic Battle], [American 8 Ball] More game types will be provided in the future, so stay tuned;</string>
<string name="sud_in_game_rule_hint3">3.. Users can customize the game threshold, which must be between 100 to 50000 gold beans , and the amount must be a multiple of 10;</string> <string name="sud_in_game_rule_hint3">3. Users can customize the game threshold, which must be between 100 to 50000 gold beans , and the amount must be a multiple of 10;</string>
<string name="sud_in_game_rule_hint4">4.At the beginning of the game, chips from participating users will be collected. After the game ends, 10% of the chips will be collected as tickets, and all remaining chips will be given to the winning users.In a draw, the corresponding chips will be deducted from the tickets and returned to the users;</string> <string name="sud_in_game_rule_hint4">4.At the beginning of the game, chips from participating users will be collected. After the game ends, 10% of the chips will be collected as tickets, and all remaining chips will be given to the winning users.In a draw, the corresponding chips will be deducted from the tickets and returned to the users;</string>
<string name="sud_in_game_rule_hint5">5. The final interpretation right of the event belongs to PDLIVE.</string> <string name="sud_in_game_rule_hint5">5. The final interpretation right of the event belongs to PDLIVE.</string>
<string name="room_sill0_100">0-100 coins</string> <string name="room_sill0_100">0-100 coins</string>

View File

@ -1712,6 +1712,15 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
liveInputDialogFragment.setArguments(liveInputBundle); liveInputDialogFragment.setArguments(liveInputBundle);
liveInputDialogFragment.show(getSupportFragmentManager(), "LiveInputDialogFragment"); liveInputDialogFragment.show(getSupportFragmentManager(), "LiveInputDialogFragment");
break; break;
case LIVE_DIALOG_ANCHOR_TIPS:
new DialogUitl.Builder(mContext)
.setContent(event.getObject().toString())
.setConfirmString(WordUtil.isNewZh() ? "確定" : "confirm")
.setCancelable(true)
.setShowCancelButton(false)
.build()
.show();
break;
} }
} }
@ -1850,6 +1859,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
.setIcon("https://downs.yaoulive.com/xzs_tab.png") .setIcon("https://downs.yaoulive.com/xzs_tab.png")
.setNameColor("#f19ec2") .setNameColor("#f19ec2")
.setSystemBubble("https://downs.yaoulive.com/xzs_qipao.9.png") .setSystemBubble("https://downs.yaoulive.com/xzs_qipao.9.png")
.setIconEn("https://downs.yaoulive.com/Robot_en.png")
.setUserName("") .setUserName("")
.setContent(content); .setContent(content);
SocketSendBean msg = SocketSendBean msg =

View File

@ -465,7 +465,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
ToastUtil.show("貨幣数量不足 "); ToastUtil.show("貨幣数量不足 ");
} else { } else {
ToastUtil.show("Shortage of money"); ToastUtil.show("Insufficient number of currency");
} }
} }
@ -478,7 +478,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
ToastUtil.show("貨幣数量不足 "); ToastUtil.show("貨幣数量不足 ");
} else { } else {
ToastUtil.show("Shortage of money"); ToastUtil.show("Insufficient number of currency");
} }
} }

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.annotation.JSONField;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.yunbao.common.bean.AiAutomaticSpeechModel; import com.yunbao.common.bean.AiAutomaticSpeechModel;
import com.yunbao.common.bean.MsgModel; import com.yunbao.common.bean.MsgModel;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
/** /**
@ -28,7 +29,7 @@ public class LiveChatBean {
public static final int XYD_COMPLETE = 207;//心愿单完成通知 public static final int XYD_COMPLETE = 207;//心愿单完成通知
public static final int WISH_LIST_PROGRESS = 307;//心愿单进度通知 public static final int WISH_LIST_PROGRESS = 307;//心愿单进度通知
public static final int BLIND_BOX = 409;//盲盒礼物消息 public static final int BLIND_BOX = 409;//盲盒礼物消息
public static final int TYPE_TO_USER_MSG=500;//指定信息 public static final int TYPE_TO_USER_MSG = 500;//指定信息
private String id; private String id;
@ -47,6 +48,7 @@ public class LiveChatBean {
private String bubble;//气泡 private String bubble;//气泡
private String medal;//勋章 private String medal;//勋章
private String medal_new; private String medal_new;
private String medal_new_en;
private String medal_honor;//荣誉勋章 private String medal_honor;//荣誉勋章
private String hot_num; private String hot_num;
private String good_nub; private String good_nub;
@ -63,7 +65,7 @@ public class LiveChatBean {
} }
public String getGiftName() { public String getGiftName() {
return WordUtil.isNewZh()?giftName:giftname_en; return WordUtil.isNewZh() ? giftName : giftname_en;
} }
public LiveChatBean setGiftName(String giftName) { public LiveChatBean setGiftName(String giftName) {
@ -215,6 +217,9 @@ public class LiveChatBean {
} }
public String getMedal_new() { public String getMedal_new() {
if (!WordUtil.isNewZh() && !StringUtil.isEmpty(medal_new_en)) {
return medal_new_en;
}
return medal_new; return medal_new;
} }
@ -222,6 +227,10 @@ public class LiveChatBean {
this.medal_new = medal_new; this.medal_new = medal_new;
} }
public void setMedal_new_en(String medal_new_en) {
this.medal_new_en = medal_new_en;
}
public String getPrankIcon() { public String getPrankIcon() {
return prankIcon; return prankIcon;
} }

View File

@ -4,6 +4,7 @@ import android.content.Context;
import android.os.Handler; import android.os.Handler;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
@ -97,6 +98,12 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
.getString(R.string.together_to_achieve_goal), .getString(R.string.together_to_achieve_goal),
redPacketInfoModel.getUserNicename())); redPacketInfoModel.getUserNicename()));
} }
if(redPacketInfoModel.getRedPacketType()==2){
((ImageView)findViewById(R.id.value_icon)).setImageResource(R.mipmap.gold_coin);
redPacketValue.setText(redPacketInfoModel.getRedPacketMoney());
findViewById(R.id.red_packet_list).setVisibility(View.INVISIBLE);
findViewById(R.id.tips).setVisibility(View.INVISIBLE);
}
userID = redPacketInfoModel.getUserId(); userID = redPacketInfoModel.getUserId();

View File

@ -489,7 +489,8 @@ public class LiveAudienceEvent extends BaseModel {
UPDATE_FANS_TASK_STATUS(74, "更新粉丝任务状态"), UPDATE_FANS_TASK_STATUS(74, "更新粉丝任务状态"),
SUD_GAME_CREATE_ROOM(75, "主播创建sud游戏"), SUD_GAME_CREATE_ROOM(75, "主播创建sud游戏"),
PK_RANK_START(76, "PK排位赛开始"), PK_RANK_START(76, "PK排位赛开始"),
GuardSpecialEffect(77, "PK排位赛开始"); GuardSpecialEffect(77, "PK排位赛开始"),
LIVE_DIALOG_ANCHOR_TIPS(78, "主播公会赛tips");
private int type; private int type;
private String name; private String name;

View File

@ -99,6 +99,7 @@ public class SocketRyChatUtil {
.param("medal_honor", u.getMedal_no_display_src()) .param("medal_honor", u.getMedal_no_display_src())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("uid", u.getId()) .param("uid", u.getId())
.param("liangname", u.getGoodName()) .param("liangname", u.getGoodName())
.param("vip_type", u.getVip().getType()) .param("vip_type", u.getVip().getType())
@ -180,6 +181,7 @@ public class SocketRyChatUtil {
.param("bubble", u.getDress().getBubble()) .param("bubble", u.getDress().getBubble())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("guard_type", IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getGuardType()) .param("guard_type", IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getGuardType())
.param("medal_name", u.getMedalName()) .param("medal_name", u.getMedalName())
.param("medal_level", u.getMedalLevel()) .param("medal_level", u.getMedalLevel())
@ -308,6 +310,7 @@ public class SocketRyChatUtil {
.param("bubble", u.getDress().getBubble()) .param("bubble", u.getDress().getBubble())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("medal_name", u.getMedalName()) .param("medal_name", u.getMedalName())
.param("medal_level", u.getMedalLevel()) .param("medal_level", u.getMedalLevel())
.param("guard_type", guard_type + "") .param("guard_type", guard_type + "")
@ -347,6 +350,7 @@ public class SocketRyChatUtil {
.param("bubble", u.getDress().getBubble()) .param("bubble", u.getDress().getBubble())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("ct", giftToken) .param("ct", giftToken)
.param("ancherName", ancherName) .param("ancherName", ancherName)
.param("medal_name", u.getMedalName()) .param("medal_name", u.getMedalName())
@ -712,6 +716,7 @@ public class SocketRyChatUtil {
.param("bubble", u.getDress().getBubble()) .param("bubble", u.getDress().getBubble())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("uname", u.getUserNiceName()) .param("uname", u.getUserNiceName())
.param("uhead", u.getAvatar()) .param("uhead", u.getAvatar())
.param("votestotal", votes) .param("votestotal", votes)
@ -742,6 +747,7 @@ public class SocketRyChatUtil {
.param("bubble", u.getDress().getBubble()) .param("bubble", u.getDress().getBubble())
.param("medal", u.getDress().getMedal()) .param("medal", u.getDress().getMedal())
.param("medal_new", u.getDress().getMedal_new()) .param("medal_new", u.getDress().getMedal_new())
.param("medal_new_en", u.getDress().getMedal_new_en())
.param("guard_type", IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getGuardType()); .param("guard_type", IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getGuardType());
msg.create(); msg.create();

View File

@ -390,7 +390,7 @@ public class SocketRyClient {
receiveGiftBean.setSendtype(map.getIntValue("action")); receiveGiftBean.setSendtype(map.getIntValue("action"));
receiveGiftBean.setAllServerNotify(true); receiveGiftBean.setAllServerNotify(true);
mListener.onSys(receiveGiftBean); mListener.onSys(receiveGiftBean);
} else if (action2 == 61) {//赠送礼物 } else if (action2 == 61) {//赠送礼物 超级头条
sendGiftByNotify(map); sendGiftByNotify(map);
} else if (action2 == 62) {//购买守护 } else if (action2 == 62) {//购买守护
// buyGuardByNotify(map); // buyGuardByNotify(map);
@ -403,7 +403,7 @@ public class SocketRyClient {
buyZuoJiByNotify(map); buyZuoJiByNotify(map);
} else if (action2 == 66) {//购买贵族 } else if (action2 == 66) {//购买贵族
buyVipByNotify(map); buyVipByNotify(map);
} else if (action2 == 88) { } else if (action2 == 88) {//盲盒
JSONObject mCt = map.getJSONObject("ct"); JSONObject mCt = map.getJSONObject("ct");
String boxType = map.getString("box_type"); String boxType = map.getString("box_type");
String boxTypeName = ""; String boxTypeName = "";
@ -446,7 +446,7 @@ public class SocketRyClient {
NewAllServerNotifyGuardEvent notifyGuardEvent = GsonUtils.fromJson(map.toString(), NewAllServerNotifyGuardEvent.class); NewAllServerNotifyGuardEvent notifyGuardEvent = GsonUtils.fromJson(map.toString(), NewAllServerNotifyGuardEvent.class);
Bus.get().post(notifyGuardEvent); Bus.get().post(notifyGuardEvent);
buyGuardInSameRoom(map); buyGuardInSameRoom(map);
} else if (action2 == 91) { } else if (action2 == 91) {//通用模板
AllServerNotifyFFGGGDJANEvent notifyFFGGGDJANEvent = GsonUtils.fromJson(map.toString(), AllServerNotifyFFGGGDJANEvent.class); AllServerNotifyFFGGGDJANEvent notifyFFGGGDJANEvent = GsonUtils.fromJson(map.toString(), AllServerNotifyFFGGGDJANEvent.class);
Bus.get().post(notifyFFGGGDJANEvent); Bus.get().post(notifyFFGGGDJANEvent);
} }
@ -824,12 +824,9 @@ public class SocketRyClient {
case Constants.SOCKET_LIVE_ANCHOR_PK_DIALOG: case Constants.SOCKET_LIVE_ANCHOR_PK_DIALOG:
item = map.getJSONObject("ct"); item = map.getJSONObject("ct");
//DialogUitl.showSimpleDialog(mContext,WordUtil.isNewZh()?item.getString("text"):item.getString("text_en"),null); //DialogUitl.showSimpleDialog(mContext,WordUtil.isNewZh()?item.getString("text"):item.getString("text_en"),null);
new DialogUitl.Builder(mContext) Bus.get().post(new LiveAudienceEvent()
.setContent(WordUtil.isNewZh() ? item.getString("text") : item.getString("text_en")) .setType(LiveAudienceEvent.LiveAudienceType.LIVE_DIALOG_ANCHOR_TIPS)
.setConfirmString(WordUtil.isNewZh() ? "確定" : "confirm") .setObject(WordUtil.isNewZh() ? item.getString("text") : item.getString("text_en")));
.setCancelString(null)
.build()
.show();
break; break;
} }
@ -993,6 +990,7 @@ public class SocketRyClient {
chatBean.setBubble(map.getString("bubble")); chatBean.setBubble(map.getString("bubble"));
chatBean.setMedal(map.getString("medal")); chatBean.setMedal(map.getString("medal"));
chatBean.setMedal_new(map.getString("medal_new")); chatBean.setMedal_new(map.getString("medal_new"));
chatBean.setMedal_new_en(map.getString("medal_new_en"));
chatBean.setVipType(map.getIntValue("vip_type")); chatBean.setVipType(map.getIntValue("vip_type"));
chatBean.setVipType(map.getIntValue("vip_type")); chatBean.setVipType(map.getIntValue("vip_type"));
chatBean.setMedal_honor(map.getString("medal_honor")); chatBean.setMedal_honor(map.getString("medal_honor"));
@ -1050,6 +1048,7 @@ public class SocketRyClient {
chatBean.setBubble(obj.getString("bubble")); chatBean.setBubble(obj.getString("bubble"));
chatBean.setMedal(obj.getString("medal")); chatBean.setMedal(obj.getString("medal"));
chatBean.setMedal_new(obj.getString("medal_new")); chatBean.setMedal_new(obj.getString("medal_new"));
chatBean.setMedal_new_en(map.getString("medal_new_en"));
chatBean.setHot_num(obj.getString("hot_num")); chatBean.setHot_num(obj.getString("hot_num"));
UserBean.DressBean dressBean = new UserBean.DressBean(); UserBean.DressBean dressBean = new UserBean.DressBean();
dressBean.setAvatar_frame(obj.getString("avatar_frame")); dressBean.setAvatar_frame(obj.getString("avatar_frame"));
@ -1165,6 +1164,7 @@ public class SocketRyClient {
chatBean.setBubble(map.getString("bubble")); chatBean.setBubble(map.getString("bubble"));
chatBean.setMedal(map.getString("medal")); chatBean.setMedal(map.getString("medal"));
chatBean.setMedal_new(map.getString("medal_new")); chatBean.setMedal_new(map.getString("medal_new"));
chatBean.setMedal_new_en(map.getString("medal_new_en"));
chatBean.setGood_nub(map.getString("good_num")); chatBean.setGood_nub(map.getString("good_num"));
chatBean.setType(LiveChatBean.GIFT); chatBean.setType(LiveChatBean.GIFT);
if (map.get("guard_type") != null && !"".equals(map.get("guard_type")) && !"null".equals(map.get("guard_type"))) { if (map.get("guard_type") != null && !"".equals(map.get("guard_type")) && !"null".equals(map.get("guard_type"))) {
@ -1212,16 +1212,26 @@ public class SocketRyClient {
chatBean.setBubble(map.getString("bubble")); chatBean.setBubble(map.getString("bubble"));
chatBean.setMedal(map.getString("medal")); chatBean.setMedal(map.getString("medal"));
chatBean.setMedal_new(map.getString("medal_new")); chatBean.setMedal_new(map.getString("medal_new"));
chatBean.setMedal_new_en(map.getString("medal_new_en"));
chatBean.setGood_nub(map.getString("good_num")); chatBean.setGood_nub(map.getString("good_num"));
chatBean.setType(LiveChatBean.GIFT); chatBean.setType(LiveChatBean.GIFT);
if (map.get("guard_type") != null && !"".equals(map.get("guard_type")) && !"null".equals(map.get("guard_type"))) { if (map.get("guard_type") != null && !"".equals(map.get("guard_type")) && !"null".equals(map.get("guard_type"))) {
chatBean.setGuardType(map.getInteger("guard_type")); chatBean.setGuardType(map.getInteger("guard_type"));
} }
String special = "";
if (WordUtil.isNewZh()) { if (sendBlindGiftEvent.getSpecialGift() == 1) {
chatBean.setContent(mContext.getString(R.string.live_send_gift_1) + receiveGiftBean.getGiftCount() + mContext.getString(R.string.live_send_gift_2) + receiveGiftBean.getGiftName()); if (WordUtil.isNewZh()) {
special = "送出" + receiveGiftBean.getGiftName() + sendBlindGiftEvent.getSpecialGiftName();
} else {
special = "Send " + receiveGiftBean.getGiftName() + sendBlindGiftEvent.getSpecialGiftNameEn();
}
chatBean.setContent(special);
} else { } else {
chatBean.setContent(mContext.getString(R.string.live_send_gift_1) + " " + +receiveGiftBean.getGiftCount() + " " + mContext.getString(R.string.live_send_gift_2) + receiveGiftBean.getGiftnameen()); if (WordUtil.isNewZh()) {
chatBean.setContent(mContext.getString(R.string.live_send_gift_1) + receiveGiftBean.getGiftCount() + mContext.getString(R.string.live_send_gift_2) + receiveGiftBean.getGiftName() + special);
} else {
chatBean.setContent(mContext.getString(R.string.live_send_gift_1) + " " + +receiveGiftBean.getGiftCount() + " " + mContext.getString(R.string.live_send_gift_2) + receiveGiftBean.getGiftnameen() + special);
}
} }
//增加粉丝徽章信息 //增加粉丝徽章信息
chatBean.setMedalNmae(map.getString("medal_name")); chatBean.setMedalNmae(map.getString("medal_name"));

View File

@ -1637,6 +1637,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
private Runnable timeRunnable = new Runnable() { private Runnable timeRunnable = new Runnable() {
@Override @Override
public void run() { public void run() {
Log.i("红包", "run: 红包倒计时 "+redTimeCountdown);
if (redTimeCountdown > 1) { if (redTimeCountdown > 1) {
timeHandler.postDelayed(timeRunnable, 1000); timeHandler.postDelayed(timeRunnable, 1000);
redPacketCountdown.setText(String.format(mContext.getString(R.string.red_packet_countdown), TimeUtils.getTime(redTimeCountdown))); redPacketCountdown.setText(String.format(mContext.getString(R.string.red_packet_countdown), TimeUtils.getTime(redTimeCountdown)));
@ -1662,6 +1663,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
private Runnable anchorTimeRunnable = new Runnable() { private Runnable anchorTimeRunnable = new Runnable() {
@Override @Override
public void run() { public void run() {
Log.i("红包", "anchorTimeRunnable run: "+mCountdown);
if (mCountdown > 0) { if (mCountdown > 0) {
mCountdown = mCountdown - 1; mCountdown = mCountdown - 1;
anchorTimeHandler.postDelayed(anchorTimeRunnable, 1000); anchorTimeHandler.postDelayed(anchorTimeRunnable, 1000);

View File

@ -99,7 +99,7 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/hor_recycler" android:id="@+id/hor_recycler"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="120dp" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="5dp" android:layout_marginLeft="5dp"
android:scrollbars="none" /> android:scrollbars="none" />

View File

@ -2,7 +2,8 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="100dp" android:layout_width="100dp"
android:layout_height="180dp" android:minHeight="180dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal|top" android:gravity="center_horizontal|top"
android:paddingTop="10dp" android:paddingTop="10dp"
android:orientation="vertical" android:orientation="vertical"

View File

@ -1206,12 +1206,14 @@
</LinearLayout> </LinearLayout>
</FrameLayout> </FrameLayout>
<!--全服通知 通用模板-->
<FrameLayout <FrameLayout
android:id="@+id/full_service_notice_new" android:id="@+id/full_service_notice_new"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="51dp" android:layout_height="51dp"
android:translationX="500dp" android:translationX="500dp"
tools:translationX="0dp"
tools:visibility="visible"
android:visibility="invisible"> android:visibility="invisible">
<ImageView <ImageView
android:id="@+id/full_service_notice_new_bg" android:id="@+id/full_service_notice_new_bg"
@ -2317,7 +2319,7 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="50dp" android:layout_height="50dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:visibility="gone"> android:visibility="invisible">
<View <View
android:layout_width="41dp" android:layout_width="41dp"

View File

@ -70,6 +70,7 @@
android:textSize="12sp" /> android:textSize="12sp" />
<ImageView <ImageView
android:id="@+id/value_icon"
android:layout_width="16dp" android:layout_width="16dp"
android:layout_height="14dp" android:layout_height="14dp"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
@ -145,6 +146,7 @@
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/tips"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/red_packet_list" android:layout_below="@id/red_packet_list"

View File

@ -27,7 +27,7 @@
<string name="activity_feedback_success_sub">Confirm</string> <string name="activity_feedback_success_sub">Confirm</string>
<string name="activity_feedback_edit_feedback_top">Feedback</string> <string name="activity_feedback_edit_feedback_top">Feedback</string>
<string name="activity_feedback_edit_feedback_title">Problem Description</string> <string name="activity_feedback_edit_feedback_title">Problem Description</string>
<string name="activity_feedback_edit_feedback_hint">Please Describe The Problem You Need To See</string> <string name="activity_feedback_edit_feedback_hint">Please describe the problem you need to solve</string>
<string name="activity_feedback_edit_feedback_img_title">Problem Pictures</string> <string name="activity_feedback_edit_feedback_img_title">Problem Pictures</string>
<string name="activity_feedback_edit_feedback_ci_title">Contact Information</string> <string name="activity_feedback_edit_feedback_ci_title">Contact Information</string>
<string name="activity_feedback_edit_feedback_ci_hint">Leave Your Phone Or Email For Us To Contact You</string> <string name="activity_feedback_edit_feedback_ci_hint">Leave Your Phone Or Email For Us To Contact You</string>