diff --git a/common/src/main/java/com/yunbao/common/Constants.java b/common/src/main/java/com/yunbao/common/Constants.java index fabbf6967..3063290c0 100644 --- a/common/src/main/java/com/yunbao/common/Constants.java +++ b/common/src/main/java/com/yunbao/common/Constants.java @@ -172,6 +172,7 @@ public class Constants { public static final String RECOMMEND_CARD_NOTIFY = "recommendCardNotify";//推荐卡通知消息 public static final String STAR_CHALLENGE_UPDATE = "starChallengeUpdate";//星级助力 public static final String AI_AUTOMATIC_SPEECH = "aiAutomaticSpeech";//机器人助手 + public static final String AI_AUTOMATIC_SPEECH_LIVE = "aiAutomaticSpeechNew";//机器人助手 public static final String STAR_CHALLENGE_UPGRADE_NOTIFY = "starChallengeUpgradeNotify";//星级挑战成功 public static final String SUPER_VISION = "supervision";//超级发言警告 public static final String PK_RANK_UPDATE = "RankingRankUpdate";//PK排位赛更新数据 diff --git a/common/src/main/java/com/yunbao/common/bean/LiveStetUpStatusModel.java b/common/src/main/java/com/yunbao/common/bean/LiveStetUpStatusModel.java new file mode 100644 index 000000000..a4a98aa0d --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/LiveStetUpStatusModel.java @@ -0,0 +1,49 @@ +package com.yunbao.common.bean; + +import android.text.TextUtils; + +import com.google.gson.annotations.SerializedName; + +public class LiveStetUpStatusModel extends BaseModel { + + @SerializedName("wishList") + private String wishList; + @SerializedName("ai_state") + private String aiState; + + /** + * wishList 1设置 0 未设置 + * + * @return + */ + public boolean getWishListState() { + return TextUtils.equals(wishList, "1"); + } + + /** + * aiState 1打开机器人 0 未设置 + * + * @return + */ + public boolean getAiStateState() { + return TextUtils.equals(aiState, "1"); + } + + public String getWishList() { + return wishList; + } + + public LiveStetUpStatusModel setWishList(String wishList) { + this.wishList = wishList; + return this; + } + + public String getAiState() { + return aiState; + } + + public LiveStetUpStatusModel setAiState(String aiState) { + this.aiState = aiState; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java index 1edb1f6ca..50fd3d6a0 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -15,6 +15,7 @@ import com.yunbao.common.bean.LinkMicUserBeanV2; import com.yunbao.common.bean.LiveAiRobotBean; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; +import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.MsgSwitchDetailModel; import com.yunbao.common.bean.NewPeopleInfo; import com.yunbao.common.bean.NobleRankHideUserListModel; @@ -522,11 +523,18 @@ public interface PDLiveApi { /** * 机器人修改话术 */ - @GET("/api/public/?service=Live.updateAiAutomaticSpeech ") + @GET("/api/public/?service=Live.updateAiAutomaticSpeech") Observable>> updateAiAutomaticSpeech( @Query("type") String type, @Query("id") String id, @Query("content") String content ); + /** + * 开播获取机器人状态和心愿单状态 + */ + @GET("/api/public/?service=Live.getLiveStetUpStatus") + Observable> getLiveStetUpStatus( + @Query("liveuid") String liveUid + ); } diff --git a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java index edd422440..cb0e8a0c6 100644 --- a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java +++ b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java @@ -7,7 +7,6 @@ import android.text.TextUtils; import androidx.annotation.NonNull; -import com.cosmos.baseutil.app.AppContext; import com.google.gson.Gson; import com.lzf.easyfloat.EasyFloat; import com.yunbao.common.CommonAppContext; @@ -39,7 +38,25 @@ public class IMLoginManager extends BaseCacheManager { private final String IS_FLOAT = "is_float"; private final String IS_HINT = "is_hint"; private final String IS_HINT2 = "is_hint2"; + private final String SELECT_CLARITY = "selectClarity"; + /** + * 设置清晰度 + * + * @param selectClarity + */ + public void setSelectClarity(int selectClarity) { + put(SELECT_CLARITY, selectClarity); + } + + /** + * 获取清晰度 + * + * @return + */ + public int getSelectClarity() { + return getInt(SELECT_CLARITY, 1); + } public boolean isHint() { return 1 == getInt(IS_HINT, 0); diff --git a/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java b/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java index 8ad8f995a..25a8e22da 100644 --- a/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java @@ -4,6 +4,7 @@ import android.content.Context; import android.text.TextUtils; import android.view.View; import android.widget.EditText; +import android.widget.TextView; import androidx.annotation.NonNull; @@ -17,14 +18,17 @@ import com.yunbao.common.utils.ToastUtil; */ public class InputCustomPopup extends CenterPopupView { private String message = ""; + private int title = R.string.dialog_tip; - public InputCustomPopup(@NonNull Context context, String message) { + public InputCustomPopup(@NonNull Context context, String message, int title) { super(context); this.message = message; + this.title = title; } - public InputCustomPopup(@NonNull Context context) { + public InputCustomPopup(@NonNull Context context,int title) { super(context); + this.title = title; } // 返回自定义弹窗的布局 @@ -38,7 +42,9 @@ public class InputCustomPopup extends CenterPopupView { protected void onCreate() { super.onCreate(); EditText content = findViewById(R.id.content); + TextView titleText = findViewById(R.id.title); content.setText(message); + titleText.setText(title); findViewById(R.id.btn_cancel).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/common/src/main/java/com/yunbao/common/views/LiveClarityCustomPopup.java b/common/src/main/java/com/yunbao/common/views/LiveClarityCustomPopup.java new file mode 100644 index 000000000..13ec97ca9 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/LiveClarityCustomPopup.java @@ -0,0 +1,116 @@ +package com.yunbao.common.views; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.RelativeLayout; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.BottomPopupView; +import com.yunbao.common.R; +import com.yunbao.common.views.weight.ViewClicksAntiShake; + +public class LiveClarityCustomPopup extends BottomPopupView implements View.OnClickListener { + private int selectClarity = 1; + private RelativeLayout lineSd, lineHd, lineFhd; + private ImageView iconSd, iconHd, iconFhd; + + public int getSelectClarity() { + return selectClarity; + } + + public LiveClarityCustomPopup(@NonNull Context context, int selectClarity) { + super(context); + this.selectClarity = selectClarity; + } + + public LiveClarityCustomPopup(@NonNull Context context) { + super(context); + } + + @Override + public void onClick(View v) { + + } + + // 返回自定义弹窗的布局 + @Override + protected int getImplLayoutId() { + return R.layout.dialog_live_clarity; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + initView(); + initDate(); + } + + private void initView() { + lineSd = findViewById(R.id.line_sd); + lineHd = findViewById(R.id.line_hd); + lineFhd = findViewById(R.id.line_fhd); + iconSd = findViewById(R.id.icon_sd); + iconHd = findViewById(R.id.icon_hd); + iconFhd = findViewById(R.id.icon_fhd); + selectClarity(selectClarity); + //流畅 + ViewClicksAntiShake.clicksAntiShake(lineSd, () -> { + selectClarity = 0; + selectClarity(selectClarity); + dismiss(); + }); + //高清 + ViewClicksAntiShake.clicksAntiShake(lineHd, () -> { + selectClarity = 1; + selectClarity(selectClarity); + dismiss(); + + }); + //超高清 + ViewClicksAntiShake.clicksAntiShake(lineFhd, () -> { + selectClarity = 2; + selectClarity(selectClarity); + dismiss(); + }); + } + + /** + * 状态选择 + * + * @param selectClarity + */ + private void selectClarity(int selectClarity) { + switch (selectClarity) { + case 0: + lineSd.setSelected(true); + lineHd.setSelected(false); + lineFhd.setSelected(false); + iconSd.setVisibility(VISIBLE); + iconHd.setVisibility(GONE); + iconFhd.setVisibility(GONE); + break; + case 1: + lineSd.setSelected(false); + lineHd.setSelected(true); + lineFhd.setSelected(false); + iconSd.setVisibility(GONE); + iconHd.setVisibility(VISIBLE); + iconFhd.setVisibility(GONE); + break; + case 2: + lineSd.setSelected(false); + lineHd.setSelected(false); + lineFhd.setSelected(true); + iconSd.setVisibility(GONE); + iconHd.setVisibility(GONE); + iconFhd.setVisibility(VISIBLE); + break; + } + } + + private void initDate() { + } +} diff --git a/common/src/main/java/com/yunbao/common/views/LiveRobotMessageCustomPopup.java b/common/src/main/java/com/yunbao/common/views/LiveRobotMessageCustomPopup.java index 953e9c7fe..f4652a3d6 100644 --- a/common/src/main/java/com/yunbao/common/views/LiveRobotMessageCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/LiveRobotMessageCustomPopup.java @@ -136,7 +136,7 @@ public class LiveRobotMessageCustomPopup extends BottomPopupView { @Override public void onClick(View v) { new XPopup.Builder(getContext()) - .asCustom(new InputCustomPopup(getContext()).setListener(new InputCustomPopup.InputCustomListener() { + .asCustom(new InputCustomPopup(getContext(),R.string.automatic_message_sending).setListener(new InputCustomPopup.InputCustomListener() { @Override public void onConfirm(String text) { //添加消息语 diff --git a/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java b/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java index 93e61f37c..a76fcadef 100644 --- a/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java @@ -82,7 +82,7 @@ public class LiveRobotSayHelloCustomPopup extends BottomPopupView { @Override public void onClick(View v) { new XPopup.Builder(getContext()) - .asCustom(new InputCustomPopup(getContext()).setListener(new InputCustomPopup.InputCustomListener() { + .asCustom(new InputCustomPopup(getContext(), R.string.automatic_greeting_setting).setListener(new InputCustomPopup.InputCustomListener() { @Override public void onConfirm(String text) { //添加消息语 diff --git a/common/src/main/java/com/yunbao/common/views/RobotMessageViewHolder.java b/common/src/main/java/com/yunbao/common/views/RobotMessageViewHolder.java index f182a0c12..c14de79f2 100644 --- a/common/src/main/java/com/yunbao/common/views/RobotMessageViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/RobotMessageViewHolder.java @@ -53,7 +53,7 @@ public class RobotMessageViewHolder extends RecyclerView.ViewHolder { @Override public void onClick(View v) { new XPopup.Builder(itemView.getContext()) - .asCustom(new InputCustomPopup(itemView.getContext(), message.getContent()).setListener(new InputCustomPopup.InputCustomListener() { + .asCustom(new InputCustomPopup(itemView.getContext(), message.getContent(), R.string.automatic_message_sending).setListener(new InputCustomPopup.InputCustomListener() { @Override public void onConfirm(String text) { LiveNetManager.get(itemView.getContext()) diff --git a/common/src/main/java/com/yunbao/common/views/RobotSayHelloViewHoler.java b/common/src/main/java/com/yunbao/common/views/RobotSayHelloViewHoler.java index 359f7ba1a..75ee2e293 100644 --- a/common/src/main/java/com/yunbao/common/views/RobotSayHelloViewHoler.java +++ b/common/src/main/java/com/yunbao/common/views/RobotSayHelloViewHoler.java @@ -53,7 +53,7 @@ public class RobotSayHelloViewHoler extends RecyclerView.ViewHolder { @Override public void onClick(View v) { new XPopup.Builder(itemView.getContext()) - .asCustom(new InputCustomPopup(itemView.getContext(), message.getContent()).setListener(new InputCustomPopup.InputCustomListener() { + .asCustom(new InputCustomPopup(itemView.getContext(), message.getContent(), R.string.automatic_greeting_setting).setListener(new InputCustomPopup.InputCustomListener() { @Override public void onConfirm(String text) { LiveNetManager.get(itemView.getContext()) diff --git a/common/src/main/res/drawable/bg_btn_definition.xml b/common/src/main/res/drawable/bg_btn_definition.xml new file mode 100644 index 000000000..f4a1222ee --- /dev/null +++ b/common/src/main/res/drawable/bg_btn_definition.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/dialog_live_clarity.xml b/common/src/main/res/layout/dialog_live_clarity.xml new file mode 100644 index 000000000..35fd83425 --- /dev/null +++ b/common/src/main/res/layout/dialog_live_clarity.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/mipmap-xxhdpi/icon_fhd.png b/common/src/main/res/mipmap-xxhdpi/icon_fhd.png new file mode 100644 index 000000000..278b37842 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_fhd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_hd.png b/common/src/main/res/mipmap-xxhdpi/icon_hd.png new file mode 100644 index 000000000..4bdd05b04 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_hd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_sd.png b/common/src/main/res/mipmap-xxhdpi/icon_sd.png new file mode 100644 index 000000000..d92be9bb6 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_sd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_selected.png b/common/src/main/res/mipmap-xxhdpi/icon_selected.png new file mode 100644 index 000000000..5aeea828a Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_selected.png differ diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index b0b723181..7371b9465 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -996,4 +996,8 @@ 當有用戶進入直播間時,機器人會@該用戶並自動 隨機以下一句話。最少設置1條,最多20條。 機器人設置 + 高清 + 流暢 + 超高清 + 確定清晰度開播後,需要重新開播才能更改 diff --git a/config.gradle b/config.gradle index 6f21be570..ac60b7e57 100644 --- a/config.gradle +++ b/config.gradle @@ -10,9 +10,9 @@ ext { manifestPlaceholders = [ //正式 - serverHost : "https://napi.yaoulive.com", +// serverHost : "https://napi.yaoulive.com", // 測試 -// serverHost : "https://ceshi.yaoulive.com", + serverHost : "https://ceshi.yaoulive.com", //腾讯地图 txMapAppKey : "EOZBZ-ASLCU-4XPV3-BDCHZ-4E3Q7-H4BWB", diff --git a/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java index 6e02d0be9..8a1dc02df 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java @@ -918,6 +918,10 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl LiveHttpUtil.stopLive(mStream, new HttpCallback() { @Override public void onSuccess(int code, String msg, String[] info) { + if (robotRunnable != null) { + robotHandler.removeCallbacks(robotRunnable); + robotRunnable = null; + } if (code == 0) { JSONObject obj = JSON.parseObject(info[0]); JSONObject datas = obj.getJSONObject("data"); @@ -1622,7 +1626,10 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl @Override public void onSuccess(List messageList) { Random random = new Random(); - int randNumber = random.nextInt(messageList.size() - 1) - 1; + int randNumber = random.nextInt(messageList.size()) - 1; + if (randNumber < 0) { + randNumber = 0; + } Log.e("随机打招呼", "(((((((((((((((((((((((((((((((((((((((((((((((data.randNumber())" + randNumber); Log.e("随机打招呼", "(((((((((((((((((((((((((((((((((((((((((((((((data)" + messageList.toString()); sendRobotMessage(robotName, messageList.get(randNumber).getContent()); @@ -1673,7 +1680,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl .setContent(content); SocketSendBean msg = new SocketSendBean() - .param("_method_", "aiAutomaticSpeech") + .param("_method_", "aiAutomaticSpeechNew") .param("msgtype", "10") .param("ct", GsonUtils.toJson(aiAutomaticSpeechModel, AiAutomaticSpeechModel.class)); msg.create(); diff --git a/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java b/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java index ce6ea69f5..b2685d167 100644 --- a/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java +++ b/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java @@ -529,6 +529,7 @@ public class SocketRyClient { } break; case Constants.AI_AUTOMATIC_SPEECH: + case Constants.AI_AUTOMATIC_SPEECH_LIVE: //{"name_color":"#f19ec2","ai_name":"助手小小P","content":"@1 ","user_name":"1","icon":"https://downs.yaoulive.com/xzs_tab.png","system_bubble":"https://downs.yaoulive.com/xzs_qipao.9.png"} AiAutomaticSpeechModel aiAutomaticSpeechModel = GsonUtils.fromJson(map.getString("ct"), AiAutomaticSpeechModel.class); Bus.get().post(new LiveAudienceEvent() diff --git a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java index 57be40428..019a85805 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java @@ -11,12 +11,15 @@ import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import android.widget.ImageView; import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.content.ContextCompat; import com.lxj.xpopup.XPopup; +import com.lxj.xpopup.core.BasePopupView; +import com.lxj.xpopup.interfaces.XPopupCallback; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.bean.LiveClassBean; @@ -25,6 +28,7 @@ import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.interfaces.CommonCallback; import com.yunbao.common.interfaces.ImageResultCallback; +import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.DialogUitl; import com.yunbao.common.utils.L; import com.yunbao.common.utils.ProcessImageUtil; @@ -32,7 +36,9 @@ import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.AbsViewHolder; +import com.yunbao.common.views.LiveClarityCustomPopup; import com.yunbao.common.views.LiveRobotSettingCustomPopup; +import com.yunbao.common.views.weight.ViewClicksAntiShake; import com.yunbao.faceunity.FaceManager; import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; @@ -59,7 +65,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl private ProcessImageUtil mImageUtil; private File mAvatarFile; private TextView mLiveClass; - private TextView mLiveTypeTextView;//房间类型TextView + private TextView mLiveTypeTextView, liveClarity;//房间类型TextView private TextView mLiveWishListTextView;//心愿单TextView private int mLiveClassID;//直播频道id private int mLiveType;//房间类型 @@ -70,6 +76,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl private LiveClassBean classBean; private FaceManager manager; private TextView faceTextView;//提示人脸未检测到的TextView + private ImageView imgClarity; + private int selectClarity = 1; public LiveNewReadyRyViewHolder(Context context, ViewGroup parentView, int liveSdk) { super(context, parentView, liveSdk); @@ -90,6 +98,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl @Override public void init() { mRootView = (ConstraintLayout) findViewById(R.id.traceroute_rootview); + imgClarity = (ImageView) findViewById(R.id.img_clarity); + liveClarity = (TextView) findViewById(R.id.live_clarity); mRootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -163,6 +173,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl findViewById(R.id.btn_start_live).setOnClickListener(this); findViewById(R.id.btn_wishlist).setOnClickListener(this); findViewById(R.id.btn_horizontally).setOnClickListener(this); + if (manager != null) { manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() { final Handler handler = new Handler(Looper.getMainLooper()); @@ -180,6 +191,83 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl }); //新美颜 setFaceUnity(true); + + } + //设置清晰度 + selectClarity = IMLoginManager.get(mContext).getSelectClarity(); + setSelectClarity(selectClarity); + ViewClicksAntiShake + .clicksAntiShake( + findViewById(R.id.btn_live_clarity), () -> { + LiveClarityCustomPopup liveClarityCustomPopup = new LiveClarityCustomPopup(mContext, selectClarity); + new XPopup.Builder(mContext) + .setPopupCallback(new XPopupCallback() { + @Override + public void onCreated(BasePopupView popupView) { + + } + + @Override + public void beforeShow(BasePopupView popupView) { + + } + + @Override + public void onShow(BasePopupView popupView) { + + } + + @Override + public void onDismiss(BasePopupView popupView) { + setSelectClarity(liveClarityCustomPopup.getSelectClarity()); + } + + @Override + public void beforeDismiss(BasePopupView popupView) { + + } + + @Override + public boolean onBackPressed(BasePopupView popupView) { + return false; + } + + @Override + public void onKeyBoardStateChanged(BasePopupView popupView, int height) { + + } + + @Override + public void onDrag(BasePopupView popupView, int value, float percent, boolean upOrLeft) { + + } + + @Override + public void onClickOutside(BasePopupView popupView) { + + } + }) + .asCustom(liveClarityCustomPopup) + .show(); + }); + } + + private void setSelectClarity(int selectClarity) { + this.selectClarity = selectClarity; + IMLoginManager.get(mContext).setSelectClarity(selectClarity); + switch (selectClarity) { + case 0: + imgClarity.setImageResource(R.mipmap.icon_sd); + liveClarity.setText(R.string.standard_clear); + break; + case 1: + imgClarity.setImageResource(R.mipmap.icon_hd); + liveClarity.setText(R.string.high_definition); + break; + case 2: + imgClarity.setImageResource(R.mipmap.icon_fhd); + liveClarity.setText(R.string.ultra_hd); + break; } } diff --git a/live/src/main/res/layout/view_new_live_ready.xml b/live/src/main/res/layout/view_new_live_ready.xml index 98af6cebf..eadb2a80c 100644 --- a/live/src/main/res/layout/view_new_live_ready.xml +++ b/live/src/main/res/layout/view_new_live_ready.xml @@ -54,6 +54,43 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> + + + + + + + + +