Merge branch 'master' into dev_6.5.5_语聊
# Conflicts: # Share/src/main/java/com/yunbao/share/ui/InvitePopDialog.java # Share/src/main/java/com/yunbao/share/ui/SharePopDialog.java # app/proguard-rules.pro # app/src/main/AndroidManifest.xml # build.gradle # common/build.gradle # common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java # common/src/main/java/com/yunbao/common/utils/ToastUtil.java # common/src/main/java/com/yunbao/common/utils/WordUtil.java # config.gradle
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.yunbao.live.activity;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
@@ -15,6 +17,7 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
@@ -36,11 +39,13 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.KeyBoardHeightChangeListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.KeyBoardHeightUtil2;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ProcessImageUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.utils.formatBigNum;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.GuardUserBean;
|
||||
@@ -898,7 +903,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&tabIndex=1";
|
||||
WebViewActivity.forward(mContext, url,true);
|
||||
WebViewActivity.forward(mContext, url, true);
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
@@ -924,7 +929,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
if (!mIsAnchor) {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u != null && u.getLevel() < mDanMuLevel) {
|
||||
ToastUtil.show(String.format(mContext.getString(R.string.live_level_danmu_limit), mDanMuLevel+""));
|
||||
ToastUtil.show(String.format(mContext.getString(R.string.live_level_danmu_limit), mDanMuLevel + ""));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -945,7 +950,20 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
onCoinChanged(coin);
|
||||
}
|
||||
String[] data = new String[]{obj.getString("barragetoken")};
|
||||
SocketRyChatUtil.sendDanmuMessage(mLiveUid, contents,obj.getIntValue("level_fans"));
|
||||
SocketRyChatUtil.sendDanmuMessage(mLiveUid, contents, obj.getIntValue("level_fans"));
|
||||
} else if (code==1001) {
|
||||
DialogUitl.showSimpleDialog(mContext, msg, new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
dialog.dismiss();
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
@@ -961,7 +979,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
if (!mIsAnchor) {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u != null && u.getLevel() < mChatLevel) {
|
||||
ToastUtil.show(String.format(mContext.getString(R.string.live_level_chat_limit), mChatLevel+""));
|
||||
ToastUtil.show(String.format(mContext.getString(R.string.live_level_chat_limit), mChatLevel + ""));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1271,13 +1289,13 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
//粉絲團粉絲團
|
||||
//不是粉絲
|
||||
if (LiveAudienceActivity.is_fans != null && LiveAudienceActivity.is_fans.equals("2")) {
|
||||
bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/joinFansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid);
|
||||
bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/joinFansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0));
|
||||
} else {
|
||||
bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/fansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid);
|
||||
bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/fansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0));
|
||||
}
|
||||
bundle.putString("liveUid",mLiveUid);
|
||||
bundle.putString("anchorName",mAncherName);
|
||||
bundle.putString("mStream",mStream);
|
||||
bundle.putString("liveUid", mLiveUid);
|
||||
bundle.putString("anchorName", mAncherName);
|
||||
bundle.putString("mStream", mStream);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
|
||||
}
|
||||
@@ -1313,7 +1331,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
Log.e("LiveUserMoreDialog", error);
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@@ -1452,7 +1470,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
*/
|
||||
public void openLuckGiftTip() {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&anchorUid=" + mLiveUid + "&anchorName=" + mAncherName;
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&anchorUid=" + mLiveUid + "&anchorName=" + mAncherName+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
|
||||
startActivity(new Intent(this, ZhuangBanActivity.class).putExtra("url", url).putExtra("title", ""));
|
||||
}
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
|
||||
@Override
|
||||
public void onPushFailed() {
|
||||
//推流失败回调
|
||||
ToastUtil.show(R.string.live_push_failed);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed));
|
||||
}
|
||||
});
|
||||
mLivePushViewHolder.addToParent();
|
||||
@@ -370,7 +370,7 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
|
||||
*/
|
||||
private void openMusicWindow() {
|
||||
if (isLinkMicAnchor() || isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.link_mic_not_bgm);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_not_bgm));
|
||||
return;
|
||||
}
|
||||
LiveMusicDialogFragment fragment = new LiveMusicDialogFragment();
|
||||
@@ -442,7 +442,7 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
|
||||
*/
|
||||
private void openGameWindow() {
|
||||
if (isLinkMic() || isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_game);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_game));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.lxj.xpopup.core.BasePopupView;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.lxj.xpopup.interfaces.XPopupCallback;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
@@ -44,6 +45,7 @@ import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.AnchorRecommendItemModel;
|
||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||
import com.yunbao.common.bean.CrashSaveBean;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
@@ -57,13 +59,19 @@ import com.yunbao.common.dialog.EffectsSettingsDialog;
|
||||
import com.yunbao.common.dialog.FloatSettingsDialog;
|
||||
import com.yunbao.common.dialog.LiveChargeDialogFragment;
|
||||
import com.yunbao.common.dialog.SlideSettingsDialog;
|
||||
import com.yunbao.common.dialog.SudGameListPopup;
|
||||
import com.yunbao.common.dialog.YoursystemisolderDialog;
|
||||
import com.yunbao.common.event.CustomDrawerPopupEvent;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.event.GiftWallIlluminateEvent;
|
||||
import com.yunbao.common.event.HideShowEvent;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.event.LiveErrorEvent;
|
||||
import com.yunbao.common.event.LiveOpenSudRoomEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent;
|
||||
import com.yunbao.common.event.NewRoleCustomDrawerPopupEvent;
|
||||
import com.yunbao.common.event.ShowHideEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
@@ -75,6 +83,7 @@ import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.http.main.MainNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.pay.PayCallback;
|
||||
import com.yunbao.common.pay.PayPresenter;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
@@ -87,13 +96,17 @@ import com.yunbao.common.utils.ProcessResultUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.CustomDrawerPopupView;
|
||||
import com.yunbao.common.views.HintCustomPopup;
|
||||
import com.yunbao.common.views.LiveSudGamePopup;
|
||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||
import com.yunbao.common.views.weight.VerticalViewPager;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.VerticalPagerAdapter;
|
||||
import com.yunbao.live.bean.ImUserBean;
|
||||
import com.yunbao.live.bean.LiveChatBean;
|
||||
import com.yunbao.live.bean.LiveGuardInfo;
|
||||
import com.yunbao.live.dialog.LiveFansFragment;
|
||||
import com.yunbao.live.dialog.LiveGameDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGiftPopup;
|
||||
@@ -107,6 +120,7 @@ import com.yunbao.live.event.LinkMicTxAccEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.http.ImHttpUtil;
|
||||
import com.yunbao.live.views.LiveRoomPlayViewHolder;
|
||||
import com.yunbao.live.views.LiveRoomViewHolder;
|
||||
import com.yunbao.live.views.PortraitLiveManager;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
|
||||
@@ -117,7 +131,9 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/10.
|
||||
@@ -393,9 +409,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
mLiveTypeVal = 0;
|
||||
}
|
||||
mLiveType = liveType;
|
||||
String giftId = mLiveBean.getGiftId();
|
||||
String json = GsonUtils.toJson(data);
|
||||
mLiveBean = GsonUtils.fromJson(json, LiveBean.class);
|
||||
mLiveBean.setUserNiceName(data.getUserNicename());
|
||||
mLiveBean.setGiftId(giftId);
|
||||
mLiveUid = mLiveBean.getUid();
|
||||
mStream = mLiveBean.getStream();
|
||||
mAncherName = mLiveBean.getUserNiceName();
|
||||
@@ -551,20 +569,59 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
try {
|
||||
manager.onBackPressed();
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
manager.micIngTypeOne(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
manager.micIngTypeTwo(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else {
|
||||
manager.onRemove(true);
|
||||
if (manager != null && manager.getsudGameMin()) {
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new HintCustomPopup(mContext,
|
||||
mContext.getString(com.yunbao.common.R.string.dialog_tip),
|
||||
mContext.getString(com.yunbao.common.R.string.the_live_room))
|
||||
.setLiveOpenOk(mContext.getString(com.yunbao.common.R.string.confirm))
|
||||
.setLiveOpenCancel(mContext.getString(com.yunbao.common.R.string.cancel))
|
||||
.setCallBack(new HintCustomPopup.HintCustomCallBack() {
|
||||
@Override
|
||||
public void onSure() {
|
||||
MobclickAgent.onEvent(mContext, "live_room_close", "退出直播间");
|
||||
OpenAdManager.getInstance().dismiss();
|
||||
try {
|
||||
manager.onBackPressed();
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
manager.micIngTypeOne(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
manager.micIngTypeTwo(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else {
|
||||
manager.onRemove(true);
|
||||
|
||||
}
|
||||
Bus.get().post(new HideShowEvent().setClose(true));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
|
||||
|
||||
}
|
||||
})).show();
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "live_room_close", "退出直播间");
|
||||
OpenAdManager.getInstance().dismiss();
|
||||
try {
|
||||
manager.onBackPressed();
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
manager.micIngTypeOne(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
manager.micIngTypeTwo(mLiveBean, mLiveType, mLiveTypeVal);
|
||||
} else {
|
||||
manager.onRemove(true);
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void end() {
|
||||
@@ -724,25 +781,36 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveRoomChangeEvent(LiveRoomChangeEvent e) {
|
||||
if (manager != null && manager.getsudGameMin()) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "小遊戲進行中,無法切換直播間" : "Game in progress, unable to switch to live room");
|
||||
} else {
|
||||
LiveBean liveBean = e.getLiveBean();
|
||||
if (TextUtils.equals(mLiveUid, liveBean.getUid())) {
|
||||
ToastUtil.show(mContext.getString(R.string.current_live_room));
|
||||
} else {
|
||||
if (e.isLiveEnd()) {
|
||||
manager.removeLiveEnd();
|
||||
}
|
||||
if (LiveRoomViewHolder.mHandler != null) {
|
||||
LiveRoomViewHolder.mHandler.removeCallbacksAndMessages(null);
|
||||
}
|
||||
if (liveBean != null) {
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
|
||||
manager.onRemove(false);
|
||||
mLiveType = e.getLiveType();
|
||||
mLiveTypeVal = e.getLiveTypeVal();
|
||||
mLiveBean = liveBean;
|
||||
mLiveUid = liveBean.getUid();
|
||||
mStream = liveBean.getStream();
|
||||
mAncherName = liveBean.getUserNiceName();
|
||||
mAncherIcon = liveBean.getAvatar();
|
||||
manager.onAdd(liveBean, mLiveType, mLiveTypeVal, mLiveSDK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LiveBean liveBean = e.getLiveBean();
|
||||
if (e.isLiveEnd()) {
|
||||
manager.removeLiveEnd();
|
||||
}
|
||||
if (liveBean != null) {
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
|
||||
manager.onRemove(false);
|
||||
mLiveType = e.getLiveType();
|
||||
mLiveTypeVal = e.getLiveTypeVal();
|
||||
mLiveBean = liveBean;
|
||||
mLiveUid = liveBean.getUid();
|
||||
mStream = liveBean.getStream();
|
||||
mAncherName = liveBean.getUserNiceName();
|
||||
mAncherIcon = liveBean.getAvatar();
|
||||
manager.onAdd(liveBean, mLiveType, mLiveTypeVal, mLiveSDK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -755,10 +823,15 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
if (manager != null && !StringUtil.isEmpty(is_fans)) {
|
||||
if (is_fans.equals("-2")) {
|
||||
manager.setAttention(0);
|
||||
mLiveRoomViewHolder.setFansGroup("0");
|
||||
is_fans = "2";
|
||||
}
|
||||
}
|
||||
GiftCacheUtil.getInstance().restart();
|
||||
if (manager.isEnterRoom()) {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> OpenAdManager.getInstance().show(OpenAdManager.TYPE_LIVE,
|
||||
LiveGuardInfo.isGuard(mLiveGuardInfo)), 400);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -888,7 +961,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
RouteUtil.forwardEditProfileActivity();
|
||||
} else {
|
||||
if (!screen) {
|
||||
ZhuangBanActivity.forward(mContext, htmlUrl, false,1);
|
||||
ZhuangBanActivity.forward(mContext, htmlUrl, false, 1);
|
||||
} else {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl);
|
||||
@@ -966,6 +1039,23 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
.setBean(mLiveBean)
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.FONT_SIZE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void interaction(long interactionID, List<CustomSidebarChildModel> child) {
|
||||
if (manager != null && manager.getsudGameMin()) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在游戏房间中" : "You are already in the game room");
|
||||
} else {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
// .dismissOnTouchOutside(false)
|
||||
// .dismissOnBackPressed(false)
|
||||
.moveUpToKeyboard(false)
|
||||
.asCustom(new SudGameListPopup(mContext, interactionID, child, mLiveUid))
|
||||
|
||||
.show();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
new XPopup.Builder(mContext)
|
||||
.hasShadowBg(false)
|
||||
@@ -1061,6 +1151,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
fragment.setActivityId(6);
|
||||
fragment.setRoomId(mLiveUid);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGameDialogFragment");
|
||||
|
||||
break;
|
||||
case FAN_CLUB:
|
||||
|
||||
@@ -1069,14 +1160,14 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
//不是粉絲
|
||||
if (LiveAudienceActivity.is_fans == null || "2".equals(LiveAudienceActivity.is_fans)) {
|
||||
bundle.putString(Constants.URL,
|
||||
CommonAppConfig.HOST + "/h5/live/joinFansClub.html" +
|
||||
(CommonAppConfig.HOST + "/h5/live/joinFansClub.html" +
|
||||
"?uid=" + userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid);
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid) + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0));
|
||||
} else {
|
||||
bundle.putString(Constants.URL,
|
||||
CommonAppConfig.HOST + "/h5/live/fansClub.html" +
|
||||
(CommonAppConfig.HOST + "/h5/live/fansClub.html" +
|
||||
"?uid=" + userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid);
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid) + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0));
|
||||
}
|
||||
bundle.putString("liveUid", mLiveUid);
|
||||
bundle.putString("anchorName", mAncherName);
|
||||
@@ -1094,8 +1185,8 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
case LIVE_WKS://周星榜
|
||||
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
|
||||
+ userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false,1);
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false, 1);
|
||||
break;
|
||||
case NOBLE:
|
||||
Constants.isTitle = true;
|
||||
@@ -1104,8 +1195,8 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
+ "&token=" + userInfo.getToken()
|
||||
+ "&anchorUid=" + mLiveBean.getUid()
|
||||
+ "&ancherName=" + mLiveBean.getUserNiceName()
|
||||
+ "&uid=" + userInfo.getId();
|
||||
ZhuangBanActivity.forward(mContext, nobleUrl, false,1);
|
||||
+ "&uid=" + userInfo.getId() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(mContext, nobleUrl, false, 1);
|
||||
break;
|
||||
case LIAN_MAI:
|
||||
if (event.getMicIng() == 1) {
|
||||
@@ -1133,7 +1224,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveUserMoreDialogFragment");
|
||||
LiveMicUserDialogFragment.activity = ((LiveAudienceActivity) mContext);
|
||||
} else {
|
||||
ToastUtil.show(R.string.no_mic_opn);
|
||||
ToastUtil.show(mContext.getString(R.string.no_mic_opn));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1181,7 +1272,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
case ACTIVITY_CENTER://活动中心
|
||||
String url = CommonAppConfig.HOST + "/h5/live/hallOfFame/index.html?g=Appapi&m=Turntable&a=tricky";
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Log.i("tag", url);
|
||||
Intent intent = new Intent(mContext, ZhuangBanActivity.class);
|
||||
intent.putExtra("url", url);
|
||||
@@ -1206,7 +1297,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
url += "?anchorUid=" + mLiveUid
|
||||
+ "&stream=" + mStream
|
||||
+ "&uid=" + CommonAppConfig.getInstance().getUid()
|
||||
+ "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
+ "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
LiveHDDialogFragment liveHDDialogFragment = new LiveHDDialogFragment();
|
||||
bundle.putString("url", url);
|
||||
bundle.putInt("show_type", 0);
|
||||
@@ -1274,13 +1365,13 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
manager.lucky100(event.getMsgModel());
|
||||
break;
|
||||
case LINK_MIC:
|
||||
if (!StringUtil.isEmpty(((LinkMicUserBean) event.getObject()).getUid())) {
|
||||
mMicQueueList.put(((LinkMicUserBean) event.getObject()).getUid(), (LinkMicUserBean) event.getObject());
|
||||
if (!StringUtil.isEmpty(((LinkMicUserBean) event.getObject()).getId())) {
|
||||
mMicQueueList.put(((LinkMicUserBean) event.getObject()).getId(), (LinkMicUserBean) event.getObject());
|
||||
}
|
||||
if (micListener != null) {
|
||||
micListener.updateMicList(mMicQueueList);
|
||||
DialogUitl.showSimpleDialog(mContext,
|
||||
String.format(mContext.getString(R.string.live_mic_user_apply), ((LinkMicUserBean) event.getObject()).getUname()),
|
||||
String.format(mContext.getString(R.string.live_mic_user_apply), ((LinkMicUserBean) event.getObject()).getUserNicename()),
|
||||
new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
@@ -1292,7 +1383,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
}
|
||||
break;
|
||||
case LINK_MIC_CANCEL:
|
||||
mMicQueueList.remove(((LinkMicUserBean) event.getObject()).getUid());
|
||||
mMicQueueList.remove(((LinkMicUserBean) event.getObject()).getId());
|
||||
if (micListener != null) {
|
||||
micListener.updateMicList(mMicQueueList);
|
||||
}
|
||||
@@ -1301,8 +1392,8 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
List<LinkMicUserBean> list = (List<LinkMicUserBean>) event.getObject();
|
||||
mMicQueueList.clear();
|
||||
for (LinkMicUserBean bean : list) {
|
||||
if (!StringUtil.isEmpty(bean.getUid())) {
|
||||
mMicQueueList.put(bean.getUid(), bean);
|
||||
if (!StringUtil.isEmpty(bean.getId())) {
|
||||
mMicQueueList.put(bean.getId(), bean);
|
||||
}
|
||||
}
|
||||
if (micListener != null) {
|
||||
@@ -1457,6 +1548,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
manager.showGiftWall(event.getUid(), event.isVoicePress(), event.getUname(), event.getAvatar());
|
||||
}
|
||||
break;
|
||||
case SUD_GAME_CREATE_ROOM:
|
||||
if (manager != null) {
|
||||
manager.setSudName(event.getAvatar(), event.getCreateSudRoomModel());
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
@@ -1535,10 +1631,12 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
private List<AnchorRecommendItemModel> list = new ArrayList<>();
|
||||
|
||||
private void getDrawer() {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("num", "9");
|
||||
map.put("live_recommend", "sidebar");
|
||||
//推荐位
|
||||
MainNetManager.get(mContext)
|
||||
.anchorRecommend("9", new com.yunbao.common.http.base.HttpCallback<AnchorRecommendModel>() {
|
||||
.anchorRecommend(map, new com.yunbao.common.http.base.HttpCallback<AnchorRecommendModel>() {
|
||||
@Override
|
||||
public void onSuccess(AnchorRecommendModel anchorRecommendModel) {
|
||||
list.clear();
|
||||
@@ -1551,7 +1649,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "抱歉!出錯了!" : "i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1605,6 +1703,130 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onShowHideEvent(ShowHideEvent event) {
|
||||
if (manager != null) {
|
||||
manager.onShowHideEvent();
|
||||
verticalViewPager.setEnableScroll(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onHideShow(HideShowEvent event) {
|
||||
verticalViewPager.setEnableScroll(true);
|
||||
}
|
||||
|
||||
private LiveSudGamePopup liveSudGamePopupXPopup = null;
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveSudGamePopupShowOrHideEvent(LiveSudGamePopupShowOrHideEvent event) {
|
||||
switch (event.getType()) {
|
||||
case 0:
|
||||
if (liveSudGamePopupXPopup == null) {
|
||||
liveSudGamePopupXPopup = new LiveSudGamePopup(mContext, event.getCreateSudRoomModel());
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.dismissOnTouchOutside(false)
|
||||
.dismissOnBackPressed(false)
|
||||
.asCustom(liveSudGamePopupXPopup).show();
|
||||
}else {
|
||||
if (liveSudGamePopupXPopup != null) {
|
||||
liveSudGamePopupXPopup.dialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (liveSudGamePopupXPopup != null) {
|
||||
liveSudGamePopupXPopup.dialog.hide();
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (liveSudGamePopupXPopup != null) {
|
||||
liveSudGamePopupXPopup.BusGetOff();
|
||||
liveSudGamePopupXPopup.dialog.dismiss();
|
||||
verticalViewPager.setEnableScroll(true);
|
||||
liveSudGamePopupXPopup = null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveOpenSudRoomEvent(LiveOpenSudRoomEvent liveOpenSudRoomEvent) {
|
||||
if (manager != null) {
|
||||
manager.setCreateSudRoomModel(liveOpenSudRoomEvent.getCreateSudRoomModel());
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onNewRoleCustomDrawerPopupEvent(NewRoleCustomDrawerPopupEvent event) {
|
||||
//是否关闭弹窗
|
||||
|
||||
if (!TextUtils.isEmpty(event.getHtmlUrl())) {
|
||||
if (TextUtils.equals(event.getHtmlUrl(), "recharge")) {
|
||||
RouteUtil.forwardMyCoin(mContext);
|
||||
} else if (TextUtils.equals(event.getHtmlUrl(), "to_me_information")) {
|
||||
RouteUtil.forwardEditProfileActivity();
|
||||
} else {
|
||||
if (!event.isScreen()) {
|
||||
ZhuangBanActivity.forward(mContext, event.getHtmlUrl(), false, 1);
|
||||
} else {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", event.getHtmlUrl());
|
||||
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.getActivityId() != 0) {
|
||||
LiveGameDialogFragment fragment = new LiveGameDialogFragment();
|
||||
fragment.setActivityId(event.getActivityId());
|
||||
fragment.setRoomId(mLiveUid);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGameDialogFragment");
|
||||
}
|
||||
if (!TextUtils.isEmpty(event.getRightsInterests())) {
|
||||
//跳转贵族
|
||||
if (TextUtils.equals(event.getRightsInterests(), getString(com.yunbao.common.R.string.noble))) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.NOBLE));
|
||||
//跳转守护
|
||||
} else if (TextUtils.equals(event.getRightsInterests(), getString(com.yunbao.common.R.string.guard_guard))) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.GUARD));
|
||||
//跳转粉丝团
|
||||
} else if (TextUtils.equals(event.getRightsInterests(), getString(com.yunbao.common.R.string.fan_club))) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.FAN_CLUB));
|
||||
}
|
||||
}
|
||||
//互动游戏
|
||||
if (event.isInteraction()) {
|
||||
// callBack.interaction(event.getInteractionID());
|
||||
if (manager != null && manager.getsudGameMin()) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在游戏房间中" : "You are already in the game room");
|
||||
} else {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
// .dismissOnTouchOutside(false)
|
||||
// .dismissOnBackPressed(false)
|
||||
.moveUpToKeyboard(false)
|
||||
.asCustom(new SudGameListPopup(mContext, event.getInteractionID(), event.getChild(), mLiveUid))
|
||||
|
||||
.show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void showMsgRed(int num) {
|
||||
if (manager == null || manager.mLiveAudienceViewHolder == null || manager.mLiveAudienceViewHolder.mRedPoint == null) {
|
||||
@@ -1626,7 +1848,12 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
if (isShow) {
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.GONE);
|
||||
if (IMLoginManager.get(mContext).getRedPoint()) {
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ public class LiveReportActivity extends AbsActivity implements LiveReportAdapter
|
||||
// return;
|
||||
// }
|
||||
// if (bean == null) {
|
||||
// ToastUtil.show(R.string.video_report_tip_3);
|
||||
// ToastUtil.show(mContext.getString(R.string.video_report_tip_3);
|
||||
// return;
|
||||
// }
|
||||
// String content = bean.getName();
|
||||
@@ -120,7 +120,7 @@ public class LiveReportActivity extends AbsActivity implements LiveReportAdapter
|
||||
mToUid = "";
|
||||
}
|
||||
if (bean == null) {
|
||||
ToastUtil.show(R.string.video_report_tip_3);
|
||||
ToastUtil.show(mContext.getString(R.string.video_report_tip_3));
|
||||
return;
|
||||
}
|
||||
String content = "";
|
||||
@@ -137,7 +137,7 @@ public class LiveReportActivity extends AbsActivity implements LiveReportAdapter
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show(R.string.video_report_tip_4);
|
||||
ToastUtil.show(mContext.getString(R.string.video_report_tip_4));
|
||||
onBackPressed();
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
@@ -149,7 +149,7 @@ public class LiveReportActivity extends AbsActivity implements LiveReportAdapter
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show(R.string.video_report_tip_4);
|
||||
ToastUtil.show(mContext.getString(R.string.video_report_tip_4));
|
||||
onBackPressed();
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
|
||||
@@ -53,13 +53,18 @@ import com.yunbao.common.dialog.NotCancelableDialog;
|
||||
import com.yunbao.common.event.GiftWallIlluminateEvent;
|
||||
import com.yunbao.common.event.LoginInvalidEvent;
|
||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.event.ShowHideEvent;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.IMRTCManager;
|
||||
import com.yunbao.common.manager.MicUserManager;
|
||||
import com.yunbao.common.manager.MicedUserManager;
|
||||
import com.yunbao.common.manager.RandomPkManager;
|
||||
import com.yunbao.common.utils.BitmapUtil;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
@@ -70,6 +75,7 @@ import com.yunbao.common.utils.LogUtil;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.LiveNewWishListPopup;
|
||||
import com.yunbao.common.views.LiveRobotSettingCustomPopup;
|
||||
import com.yunbao.faceunity.FaceManager;
|
||||
@@ -86,8 +92,6 @@ import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
|
||||
import com.yunbao.live.dialog.RandomPkDialogFragment;
|
||||
import com.yunbao.live.event.LinkMicTxMixStreamEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.interfaces.LiveFunctionClickListener;
|
||||
import com.yunbao.live.interfaces.LivePushListener;
|
||||
import com.yunbao.live.music.LiveMusicDialogFragment;
|
||||
@@ -287,7 +291,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
@Override
|
||||
public void onPushFailed() {
|
||||
//推流失败回调
|
||||
ToastUtil.show(R.string.live_push_failed);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -378,7 +382,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
if (isDRPK != 1) {
|
||||
openMicWindow(1);
|
||||
} else {
|
||||
ToastUtil.show("您已在PK中");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在PK中" : "You are already in the PK");
|
||||
}
|
||||
break;
|
||||
case Constants.LIVE_FUNC_DR://多人PK
|
||||
@@ -459,7 +463,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show("您已在PK中");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在PK中" : "You are already in the PK");
|
||||
}
|
||||
break;
|
||||
case Constants.LIVE_FUNC_BEAUTY://美颜
|
||||
@@ -488,14 +492,14 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
break;
|
||||
case Constants.LIVE_FUNC_WKS:
|
||||
String url = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
ZhuangBanActivity.forward(mContext, url, false, 0);
|
||||
break;
|
||||
case Constants.LIVE_FUNC_LINK_MIC://连麦
|
||||
if (isDRPK != 1) {
|
||||
//openLinkMicAnchorWindow(false);
|
||||
openFreePkWindow();
|
||||
} else {
|
||||
ToastUtil.show("您已在PK中");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在PK中" : "You are already in the PK");
|
||||
}
|
||||
break;
|
||||
case Constants.LIVE_FUNC_WISHLIST://心愿单
|
||||
@@ -516,7 +520,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
if (isDRPK != 1) {
|
||||
openRandomPkWindow();
|
||||
} else {
|
||||
ToastUtil.show("您已在PK中");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已在PK中" : "You are already in the PK");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -637,7 +641,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
*/
|
||||
private void openMusicWindow() {
|
||||
if (isLinkMicAnchor() || isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.link_mic_not_bgm);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_not_bgm));
|
||||
return;
|
||||
}
|
||||
LiveMusicDialogFragment fragment = new LiveMusicDialogFragment();
|
||||
@@ -735,7 +739,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
*/
|
||||
private void openGameWindow() {
|
||||
if (isLinkMic() || isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_game);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_game));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -794,7 +798,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mLiveRoomViewHolder.startAnchorLight();
|
||||
//初始化女神说
|
||||
mLiveRoomViewHolder.initAnchorSay();
|
||||
mLiveRoomViewHolder.setGiftWall(obj.getString("gift_wall_lighten_number"),obj.getString("gift_wall_lighten_total"));
|
||||
mLiveRoomViewHolder.setGiftWall(obj.getString("gift_wall_lighten_number"), obj.getString("gift_wall_lighten_total"));
|
||||
}
|
||||
if (mLiveAnchorViewHolder == null) {
|
||||
mLiveAnchorViewHolder = new LiveRyAnchorViewHolder(mContext, mContainer);
|
||||
@@ -859,6 +863,8 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mGameList = JSON.parseArray(obj.getString("game_switch"), Integer.class);
|
||||
}
|
||||
getAiRobotStatus();
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -868,6 +874,9 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(R.string.live_end_live), new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
MicStatusManager.getInstance().closeMic(mContext);
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
PKing = false;
|
||||
isDRPK = 0;
|
||||
endLive();
|
||||
@@ -1244,7 +1253,11 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
});
|
||||
//todo 安卓端状态码说明文档:https://docs.rongcloud.cn/v4/views/rtc/call/code/android.html
|
||||
Log.e("ry", rtcErrorCode + "aaaaaa" + CommonAppConfig.getInstance().getUid() + "VDSSSS" + pkUid);
|
||||
ToastUtil.show("邀请 " + pkUid + " 发送失败 :" + rtcErrorCode);
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + pkUid + " 发送失败 :" + rtcErrorCode);
|
||||
} else {
|
||||
ToastUtil.show("invite " + pkUid + " failed:" + rtcErrorCode);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1293,7 +1306,11 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
if (!extra.equals(SOCKET_LIVE_DRPK_RANDOM)) {
|
||||
ToastUtil.show("邀请 " + pkUid + " 发送成功");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + pkUid + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + pkUid + " successful");
|
||||
}
|
||||
}
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
@@ -1481,8 +1498,8 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
//插入盲盒礼物消息
|
||||
bean.getLiveChatBean().setType(LiveChatBean.BLIND_BOX);
|
||||
bean.getLiveChatBean().setContent(event.getGiftMsg());
|
||||
bean.getLiveChatBean().setGiftName(event.getGiftname());
|
||||
bean.getLiveChatBean().setContent(WordUtil.isNewZh() ? event.getGiftMsg() : event.getGiftMsgen());
|
||||
bean.getLiveChatBean().setGiftName(WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en());
|
||||
bean.getLiveChatBean().setUserNiceName(event.getUserNiceName());
|
||||
}
|
||||
|
||||
@@ -1539,7 +1556,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
|
||||
+ userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false,0);
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false, 0);
|
||||
break;
|
||||
case WISH_LIST:
|
||||
LiveWishListDialogFragment4Audience fragment4Audience = new LiveWishListDialogFragment4Audience();
|
||||
@@ -1555,13 +1572,13 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
break;
|
||||
case LINK_MIC:
|
||||
if (!StringUtil.isEmpty(((LinkMicUserBean) event.getObject()).getUid())) {
|
||||
mMicQueueList.put(((LinkMicUserBean) event.getObject()).getUid(), (LinkMicUserBean) event.getObject());
|
||||
if (!StringUtil.isEmpty(((LinkMicUserBean) event.getObject()).getId())) {
|
||||
mMicQueueList.put(((LinkMicUserBean) event.getObject()).getId(), (LinkMicUserBean) event.getObject());
|
||||
}
|
||||
if (micListener != null) {
|
||||
micListener.updateMicList(mMicQueueList);
|
||||
DialogUitl.showSimpleDialog(mContext,
|
||||
String.format(mContext.getString(R.string.live_mic_user_apply), ((LinkMicUserBean) event.getObject()).getUname()),
|
||||
String.format(mContext.getString(R.string.live_mic_user_apply), ((LinkMicUserBean) event.getObject()).getUserNicename()),
|
||||
new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
@@ -1573,7 +1590,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
break;
|
||||
case LINK_MIC_CANCEL:
|
||||
mMicQueueList.remove(((LinkMicUserBean) event.getObject()).getUid());
|
||||
mMicQueueList.remove(((LinkMicUserBean) event.getObject()).getId());
|
||||
if (micListener != null) {
|
||||
micListener.updateMicList(mMicQueueList);
|
||||
}
|
||||
@@ -1582,8 +1599,8 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
List<LinkMicUserBean> list = (List<LinkMicUserBean>) event.getObject();
|
||||
mMicQueueList.clear();
|
||||
for (LinkMicUserBean bean : list) {
|
||||
if (!StringUtil.isEmpty(bean.getUid())) {
|
||||
mMicQueueList.put(bean.getUid(), bean);
|
||||
if (!StringUtil.isEmpty(bean.getId())) {
|
||||
mMicQueueList.put(bean.getId(), bean);
|
||||
}
|
||||
}
|
||||
if (micListener != null) {
|
||||
@@ -1612,6 +1629,10 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
if (mLiveRyLinkMicPkPresenter != null) {
|
||||
mLiveRyLinkMicPkPresenter.leaveDRRoom();
|
||||
}
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.seisShowGif(true);
|
||||
mLiveRoomViewHolder.endDRGif();
|
||||
}
|
||||
// if (mLiveRoomViewHolder != null) {
|
||||
// mLiveRoomViewHolder.hotAddVisibility(false);
|
||||
// }
|
||||
@@ -1620,6 +1641,9 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
if (mLiveRyLinkMicPkPresenter != null) {
|
||||
mLiveRyLinkMicPkPresenter.upDataPkScore(event.getPkScores(), event.getUid(), event.getTime());
|
||||
}
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.seisShowGif(true);
|
||||
}
|
||||
// if (mLiveRoomViewHolder != null) {
|
||||
// mLiveRoomViewHolder.hotAddVisibility(true);
|
||||
// }
|
||||
@@ -1660,7 +1684,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
break;
|
||||
case GIFT_WALL:
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.showGiftWall(event.getUid(),event.isVoicePress(),event.getUname(),event.getAvatar());
|
||||
mLiveRoomViewHolder.showGiftWall(event.getUid(), event.isVoicePress(), event.getUname(), event.getAvatar());
|
||||
}
|
||||
break;
|
||||
case INPUT_DIALOG:
|
||||
@@ -1681,12 +1705,22 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void GiftWallIlluminateEvent(GiftWallIlluminateEvent event) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.setGiftWall(String.valueOf(event.getNewNumber()), String.valueOf(event.getMaxNumber()));
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onShowHideEvent(ShowHideEvent event) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.onShowHideEvent();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查指定直播间连麦人数
|
||||
*
|
||||
@@ -1764,7 +1798,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "抱歉!出錯了!" : "i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
import com.yunbao.live.dialog.LiveBeautyDialogFragment;
|
||||
@@ -208,7 +209,7 @@ public class LiveTRTCAnchorActivity extends TRTCBaseActivity {
|
||||
*/
|
||||
private void createRoom() {
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.live_choose_live_class));
|
||||
return;
|
||||
}
|
||||
String title = mEditTitle.getText().toString().trim();
|
||||
@@ -343,7 +344,7 @@ public class LiveTRTCAnchorActivity extends TRTCBaseActivity {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.live_set_pwd_empty);
|
||||
ToastUtil.show(getString(R.string.live_set_pwd_empty));
|
||||
} else {
|
||||
mLiveType = bean.getId();
|
||||
mLiveTypeTextView.setText(bean.getName());
|
||||
|
||||
@@ -211,7 +211,7 @@ public class MedalQuestionWebViewActivity extends AbsActivity {
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs) {
|
||||
if (addArgs) {
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
}
|
||||
Intent intent = new Intent(context, MedalQuestionWebViewActivity.class);
|
||||
intent.putExtra(Constants.URL, url);
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -164,15 +165,22 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
|
||||
//intoIndex 1=调用相机,2=照片选取,3=视频选取
|
||||
public void jumpPic(int intoIndex) {
|
||||
String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2=Manifest.permission.READ_MEDIA_VIDEO;
|
||||
}
|
||||
|
||||
//选择图片
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
startActivity(intoIndex);
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(mContext, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
|
||||
ActivityCompat.requestPermissions(mContext, new String[]{permission1,
|
||||
permission2}, PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.share.ui.InvitePopDialog;
|
||||
|
||||
@@ -297,7 +298,7 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs, int isLive) {
|
||||
if (addArgs) {
|
||||
url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
}
|
||||
Intent intent = new Intent(context, ZhuangBanActivity.class);
|
||||
Log.i("tag", url);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -20,20 +21,20 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.API;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
import com.yunbao.common.manager.MicUserManager;
|
||||
import com.yunbao.common.manager.MicedUserManager;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.common.bean.MicUserBean;
|
||||
import com.yunbao.live.interfaces.LiveFunctionClickListener;
|
||||
import com.yunbao.live.socket.SocketSendBean;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
@@ -49,7 +50,7 @@ import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.Message;
|
||||
import io.rong.message.TextMessage;
|
||||
|
||||
public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
public class AnchorUserMicInfoAdapter extends RefreshAdapter<UserBean> {
|
||||
public static final int TYPE_MIC_LIST = 1;//连麦列表
|
||||
public static final int TYPE_MIC_REQUEST = 2;//请求连麦
|
||||
public static final int TYPE_MIC_INVITE = 3;//邀请连麦
|
||||
@@ -116,40 +117,42 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
mBtn = itemView.findViewById(R.id.mic_btn);
|
||||
mClose = itemView.findViewById(R.id.mic_exit);
|
||||
mBtn.setOnClickListener(v -> {
|
||||
if (v.getTag() != null) {
|
||||
MicUserBean tag = (MicUserBean) v.getTag();
|
||||
LiveRyAnchorActivity.checkMicUserLength(mLiveUid, new LiveFunctionClickListener() {
|
||||
@Override
|
||||
public void onClick(int length) {
|
||||
//只允许最多3人连麦(加主播4人)
|
||||
if (length <= 4) {
|
||||
if (tag.getType() == TYPE_MIC_REQUEST) {
|
||||
applyMic(tag, 4, createSocketSendBean());
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_request));
|
||||
} else if (tag.getType() == TYPE_MIC_INVITE) {
|
||||
SocketSendBean bean = createSocketSendBean().param("targetId", tag.getId());
|
||||
applyMic(tag, 1, bean);
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_invite));
|
||||
if (MicedUserManager.get().getMicUserList().size() < 3) {
|
||||
if (v.getTag() != null) {
|
||||
UserBean tag = (UserBean) v.getTag();
|
||||
if (tag.getTypeMic() == TYPE_MIC_REQUEST) {
|
||||
SocketSendBean bean = createSocketSendBean().param("targetId", tag.getId());
|
||||
applyMic(tag, 1, bean);
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_invite));
|
||||
} else if (tag.getTypeMic() == TYPE_MIC_INVITE) {
|
||||
applyMic(tag, 4, createSocketSendBean());
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_request));
|
||||
for (int i = 0; i < mList.size(); i++) {
|
||||
if (TextUtils.equals(mList.get(i).getId(), tag.getId())) {
|
||||
mList.get(i).setRequest(true);
|
||||
notifyItemChanged(i);
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_max));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_max));
|
||||
}
|
||||
});
|
||||
mClose.setOnClickListener(v -> {
|
||||
if (v.getTag() != null) {
|
||||
API.get().createPDLiveApi(true)
|
||||
.killDrLm(((MicUserBean) v.getTag()).getId(), mLiveUid)
|
||||
API.get().createPDLiveApi(false)
|
||||
.killDrLm(((UserBean) v.getTag()).getId(), mLiveUid)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(new Consumer<ResponseModel<BaseModel>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<BaseModel> stringResponseModel) throws Exception {
|
||||
applyMic((MicUserBean) v.getTag(), 8, createSocketSendBean());
|
||||
applyMic((UserBean) v.getTag(), 8, createSocketSendBean());
|
||||
ToastUtil.show(mContext.getString(R.string.live_mic_user_down));
|
||||
refreshView.initData();
|
||||
}
|
||||
}, Throwable::printStackTrace).isDisposed();
|
||||
|
||||
@@ -167,9 +170,10 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
|
||||
/**
|
||||
* 发送IM消息
|
||||
*
|
||||
* @param action 4为同意请求,1为邀请,其余见 {@link com.yunbao.live.socket.SocketRyClient} Constants.LIAN_MAI解析
|
||||
*/
|
||||
void applyMic(MicUserBean bean, int action, SocketSendBean msg) {
|
||||
void applyMic(UserBean bean, int action, SocketSendBean msg) {
|
||||
msg.param("action", action);
|
||||
msg.create();
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
|
||||
@@ -184,9 +188,17 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
@Override
|
||||
public void onSuccess(io.rong.imlib.model.Message message) {
|
||||
Log.e("ry", "发送成功");
|
||||
refreshView.initData();
|
||||
|
||||
IMCenter.getInstance().deleteRemoteMessages(Conversation.ConversationType.PRIVATE, message.getTargetId(), new Message[]{message}, null);
|
||||
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, message.getTargetId(), null);
|
||||
if (bean.getTypeMic() == TYPE_MIC_REQUEST) {
|
||||
MicUserManager.get().removeMiscUser(bean.getId());
|
||||
}
|
||||
if (bean.getTypeMic() == TYPE_MIC_LIST && action == 8) {
|
||||
MicedUserManager.get().removeMiscUser(bean.getId());
|
||||
}
|
||||
|
||||
refreshView.initData();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -197,9 +209,9 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
});
|
||||
}
|
||||
|
||||
void setData(final MicUserBean bean, int position) {
|
||||
void setData(final UserBean bean, int position) {
|
||||
|
||||
itemView.setOnClickListener(new View.OnClickListener() {
|
||||
mAvatar.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((LiveActivity) mContext).showUserDialog(bean.getId());
|
||||
@@ -208,7 +220,7 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
});
|
||||
mClose.setTag(bean);
|
||||
mBtn.setTag(bean);
|
||||
switch (bean.getType()) {
|
||||
switch (bean.getTypeMic()) {
|
||||
case TYPE_MIC_LIST:
|
||||
mClose.setVisibility(View.VISIBLE);
|
||||
mBtn.setVisibility(View.GONE);
|
||||
@@ -219,23 +231,46 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
mBtn.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
}
|
||||
if (bean.getType() == TYPE_MIC_REQUEST) {
|
||||
if (bean.getTypeMic() == TYPE_MIC_REQUEST) {
|
||||
mBtn.setText("同意");
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mBtn.setText("agree");
|
||||
}
|
||||
mBtn.setBackgroundResource(R.drawable.bg_anchor_mic_info_btn_ok);
|
||||
} else if (bean.getType() == TYPE_MIC_INVITE) {
|
||||
mBtn.setText("邀请");
|
||||
} else if (bean.getTypeMic() == TYPE_MIC_INVITE) {
|
||||
|
||||
|
||||
mBtn.setBackgroundResource(R.drawable.bg_anchor_mic_info_btn_invite);
|
||||
if (bean.isMicList()) {
|
||||
mBtn.setEnabled(false);
|
||||
mBtn.setClickable(false);
|
||||
mBtn.setSelected(false);
|
||||
mBtn.setText(WordUtil.isNewZh() ? "連麥中" : "Trung");
|
||||
} else {
|
||||
mBtn.setEnabled(true);
|
||||
mBtn.setClickable(true);
|
||||
mBtn.setSelected(true);
|
||||
// if (bean.isRequest()){
|
||||
// mBtn.setText(WordUtil.isNewZh() ? "已邀请" : "Invited");
|
||||
// }else {
|
||||
mBtn.setText(WordUtil.isNewZh() ? "邀请" : "invite");
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
ImgLoader.display(mContext, bean.getAvatar(), mAvatar);
|
||||
if (bean.getDress_avatar() != null) {
|
||||
if (bean.getDress_avatar().contains("svga")) {
|
||||
gift_svga.setImageDrawable(null);
|
||||
if (bean.getDress() != null) {
|
||||
if (bean.getDress().getAvatar_frame().contains("svga")) {
|
||||
|
||||
try {
|
||||
new SVGAParser(mContext).parse(new URL(bean.getDress_avatar()), new SVGAParser.ParseCompletion() {
|
||||
new SVGAParser(mContext).parse(new URL(bean.getDress().getAvatar_frame()), new SVGAParser.ParseCompletion() {
|
||||
@Override
|
||||
public void onComplete(SVGAVideoEntity videoItem) {
|
||||
SVGADrawable drawable = new SVGADrawable(videoItem);
|
||||
gift_svga.setImageDrawable(drawable);
|
||||
SVGAViewUtils.playEndClear(gift_svga);
|
||||
SVGAViewUtils.playEndClear(gift_svga, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -246,10 +281,9 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
ImgLoader.display(mContext, bean.getDress_avatar(), gift_svga);
|
||||
ImgLoader.display2(mContext, bean.getDress().getAvatar_frame(), gift_svga);
|
||||
}
|
||||
}
|
||||
|
||||
mName.setText(bean.getUserNiceName());
|
||||
|
||||
mSex.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
|
||||
@@ -257,8 +291,7 @@ public class AnchorUserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ public class FrameGiftAdapter extends RecyclerView.Adapter {
|
||||
public void onCallBack(int position, LiveGiftBean model) {
|
||||
Bus.get().post(new LiveGiftItemEvent().setLiveGiftModel(model));
|
||||
wishGiftId = null;
|
||||
giftSelect(model);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -66,4 +67,14 @@ public class FrameGiftAdapter extends RecyclerView.Adapter {
|
||||
public int getItemCount() {
|
||||
return giftJson.size();
|
||||
}
|
||||
|
||||
public void refreshWrapListAfterSend(LiveGiftBean model) {
|
||||
for (int i = 0; i < giftJson.size(); i++) {
|
||||
if (giftJson.get(i).getId() == model.getId()) {
|
||||
int giftNum = giftJson.get(i).getBlindBoxTicket();
|
||||
giftJson.get(i).setBlindBoxTicket(giftNum - 1);
|
||||
}
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
@@ -81,10 +82,17 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
|
||||
public HeadViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
|
||||
}
|
||||
|
||||
public void setData(RandomPkUserBean bean, int position) {
|
||||
|
||||
if (!WordUtil.isNewZh() && itemView.findViewById(R.id.text1)!=null) {
|
||||
((TextView) itemView.findViewById(R.id.text1)).setText("number");
|
||||
((TextView) itemView.findViewById(R.id.text2)).setText("user");
|
||||
((TextView) itemView.findViewById(R.id.text3)).setText("status");
|
||||
((TextView) itemView.findViewById(R.id.text4)).setText("Controls");
|
||||
((TextView) itemView.findViewById(R.id.text5)).setText("follow");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,12 +118,12 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
mPkStatus.setOnClickListener(v -> {
|
||||
RandomPkUserBean bean = (RandomPkUserBean) itemView.getTag();
|
||||
if (bean.isPk()) {
|
||||
ToastUtil.show(R.string.free_pk_user_pking);
|
||||
ToastUtil.show(mContext.getString(R.string.free_pk_user_pking));
|
||||
return;
|
||||
}
|
||||
if (freePkNum == 0 && mDrPkNum == -1) {
|
||||
ToastUtil.show(R.string.free_pk_num_null);
|
||||
// return;
|
||||
ToastUtil.show(mContext.getString(R.string.free_pk_num_null));
|
||||
// return;
|
||||
}
|
||||
|
||||
LiveHttpUtil.getMicList(LiveRyAnchorActivity.mLiveUid, 0, new com.yunbao.common.http.HttpCallback() {
|
||||
@@ -125,7 +133,11 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
//非0认为未开通连麦权限
|
||||
if (code != 0) {
|
||||
if (mDrPkNum == -1) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + bean.getUserNiceName() + " successful");
|
||||
}
|
||||
mOnItemClickListener.onItemClick(bean, -1);
|
||||
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
|
||||
@@ -133,13 +145,21 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
return;
|
||||
}
|
||||
if (mDrPkNum <= 0) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
} else {
|
||||
ToastUtil.show("Multiple times have been used up");
|
||||
}
|
||||
return;
|
||||
}
|
||||
((LiveRyAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
|
||||
} else {
|
||||
ToastUtil.show("請先關閉語言連麥");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -152,10 +172,10 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
public void onSuccess(SetAttentsModel data) {
|
||||
bean.setAttention(data.getIsattent());
|
||||
if ("1".equals(data.getIsattent())) {
|
||||
ToastUtil.show(R.string.following);
|
||||
ToastUtil.show(mContext.getString(R.string.following));
|
||||
mOnItemClickListener.onItemClick(bean, 1);
|
||||
} else {
|
||||
ToastUtil.show(R.string.unfollow_cancel);
|
||||
ToastUtil.show(mContext.getString(R.string.unfollow_cancel));
|
||||
mOnItemClickListener.onItemClick(bean, 0);
|
||||
}
|
||||
|
||||
@@ -163,7 +183,7 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -192,9 +212,15 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
if (bean.isPk()) {
|
||||
mStatus.setText("PK中");
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_pk, mPkStatus);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mStatus.setText("PK");
|
||||
}
|
||||
} else {
|
||||
mStatus.setText("空闲");
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_pk_unselect, mPkStatus);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mStatus.setText("free");
|
||||
}
|
||||
}
|
||||
if (bean.isAttention()) {
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_like, mFollow);
|
||||
|
||||
@@ -39,7 +39,7 @@ public class GiftTitleAdapter extends RecyclerView.Adapter {
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
});
|
||||
itemViewHolder.selectData(index == position);
|
||||
itemViewHolder.selectData(index == position,name.get(position).getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,4 +57,9 @@ public class GiftTitleAdapter extends RecyclerView.Adapter {
|
||||
index = -1;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setTitleIndex(int i) {
|
||||
index=i;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,6 +137,9 @@ public class GuardAdapter extends RefreshAdapter<GuardUserBean> {
|
||||
mSex = (ImageView) itemView.findViewById(R.id.sex);
|
||||
mLevel = (ImageView) itemView.findViewById(R.id.level);
|
||||
mVotes = (TextView) itemView.findViewById(R.id.votes);
|
||||
if(!WordUtil.isNewZh()) {
|
||||
((TextView) itemView.findViewById(R.id.votesTitle)).setText("Contribution");
|
||||
}
|
||||
}
|
||||
|
||||
void setData(GuardUserBean bean) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import static com.yunbao.live.bean.LiveChatBean.LUCKY_ANGEL;
|
||||
import static com.yunbao.live.bean.LiveChatBean.RECOMMEND_CARD_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.STAR_CHALLENGE_UPGRADE_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.SYSTEM3_COLOR;
|
||||
import static com.yunbao.live.bean.LiveChatBean.TYPE_TO_USER_MSG;
|
||||
import static com.yunbao.live.bean.LiveChatBean.WISH_LIST_PROGRESS;
|
||||
import static com.yunbao.live.bean.LiveChatBean.XYD_COMPLETE;
|
||||
|
||||
@@ -27,7 +28,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
@@ -51,6 +51,7 @@ import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ClipPathCircleImage;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
@@ -87,6 +88,12 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
private int mPosition;
|
||||
private boolean isBottom = false;
|
||||
private int fountSize = 13;
|
||||
private String isFans;
|
||||
|
||||
public LiveChatAdapter setFans(String fans) {
|
||||
isFans = fans;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LiveChatAdapter(Context context) {
|
||||
mContext = context;
|
||||
@@ -158,6 +165,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
Log.i(TAG, "onScrolled: " + dy);
|
||||
mRecyclerViewScrolledDy = dy;
|
||||
isBottom = false;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -242,7 +250,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
itemView.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
if (!TextUtils.isEmpty(bean.getId())&&!TextUtils.isEmpty(bean.getUserNiceName())){
|
||||
if (!TextUtils.isEmpty(bean.getId()) && !TextUtils.isEmpty(bean.getUserNiceName())) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.INPUT_DIALOG)
|
||||
.setOlineUserlistModel(new OlineUserlistModel().setId(bean.getId()).setUserNicename(bean.getUserNiceName())));
|
||||
@@ -282,7 +290,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
|
||||
//点击打开活动
|
||||
tv_chat_active_into.setOnClickListener(v -> {
|
||||
String url = CommonAppConfig.HOST + "/" + bean.getContent() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + LiveRoomViewHolder.mLiveUid;
|
||||
String url = CommonAppConfig.HOST + "/" + bean.getContent() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + LiveRoomViewHolder.mLiveUid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", url);
|
||||
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
|
||||
@@ -300,8 +308,8 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
}
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
if (bean.getType() == -3) {
|
||||
String str1 = "整蠱來了! ";
|
||||
String str2 = "向 ";
|
||||
String str1 = WordUtil.isNewZh() ? "整蠱來了! " : "Pranks are coming";
|
||||
String str2 = WordUtil.isNewZh() ? "向 " : "too";
|
||||
builder.append(str1);
|
||||
int length = builder.length();
|
||||
builder.append(bean.getUserNiceName());
|
||||
@@ -310,11 +318,11 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
int length2 = builder.length();
|
||||
builder.append(bean.getAnchorName());
|
||||
builder.setSpan(new ForegroundColorSpan(0xFF73FFFF), length2, length2 + bean.getAnchorName().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
builder.append("發出了 " + bean.getContent());
|
||||
builder.append(WordUtil.isNewZh() ? "發出了 " : "Sent out " + bean.getContent());
|
||||
mTextView.setText(builder);
|
||||
} else if (bean.getType() == -4) {
|
||||
String str1 = "成功拯救了 ";
|
||||
String str2 = "免除了 ";
|
||||
String str1 = WordUtil.isNewZh() ? "成功拯救了 " : "Succeeded in saving";
|
||||
String str2 = WordUtil.isNewZh() ? "免除了 " : "Exempt from";
|
||||
int length = builder.length();
|
||||
builder.append(bean.getMedal());
|
||||
builder.setSpan(new ForegroundColorSpan(0xFF73FFFF), length, length + bean.getMedal().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
@@ -322,7 +330,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
int length2 = builder.length();
|
||||
builder.append(bean.getAnchorName());
|
||||
builder.setSpan(new ForegroundColorSpan(0xFF73FFFF), length2, length2 + bean.getAnchorName().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
builder.append(str2 + bean.getUserNiceName() + "發起的" + bean.getContent());
|
||||
builder.append(str2 + bean.getUserNiceName() + (WordUtil.isNewZh() ? "發出了 " : "Sent out ") + bean.getContent());
|
||||
mTextView.setText(builder);
|
||||
} else if (bean.getType() == -5) {
|
||||
mBg.setBackground(null);
|
||||
@@ -339,8 +347,8 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
// mBg.setBackgroundResource(R.drawable.bg_live_chat_item);
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
}
|
||||
String str1 = "火力四射,魅力無限!感謝";
|
||||
String str2 = "為本直播間加成熱度";
|
||||
String str1 = WordUtil.isNewZh() ? "火力四射,魅力無限!感謝" : "Full of firepower!Unlimited charm!";
|
||||
String str2 = WordUtil.isNewZh() ? "為本直播間加成熱度" : "Thank you for adding popularity to this live room";
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
builder.append(str1);
|
||||
int length = builder.length();
|
||||
@@ -359,8 +367,8 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
// mBg.setBackgroundResource(R.drawable.bg_live_chat_item);
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
}
|
||||
String str1 = "甜蜜不停,愛意不斷!恭喜";
|
||||
String str2 = "在甜蜜約會中搶購到了";
|
||||
String str1 = WordUtil.isNewZh() ? "甜蜜不停,愛意不斷!恭喜" : "Sweetness never stops, love never stops!";
|
||||
String str2 = WordUtil.isNewZh() ? "在甜蜜約會中搶購到了" : "who is on a sweet date for grabbing ";
|
||||
String str3 = "!";
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
builder.append(str1);
|
||||
@@ -395,6 +403,9 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
mTextView.setTextColor(Color.parseColor("#ffffff"));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
mTextView.setText(bean.getContent());
|
||||
} else if (bean.getType() == TYPE_TO_USER_MSG) {
|
||||
mTextView.setText(Html.fromHtml("<font color='#FBEABF'>@" + bean.getUserNiceName() + "</font> " + bean.getContent()));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
}
|
||||
// else if (bean.getType() == -1) {//自动消息,关注
|
||||
// boolean isContains = false;
|
||||
@@ -422,7 +433,12 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
bean.setHeart(position);
|
||||
ImgLoader.display(mContext, bean.getId(), clipImage2);
|
||||
attentionLayout.setVisibility(View.VISIBLE);
|
||||
btnAttention.setVisibility(bean.isAttention() ? View.GONE : View.VISIBLE);
|
||||
if (TextUtils.isEmpty(isFans)) {
|
||||
btnAttention.setVisibility(bean.isAttention() ? View.GONE : View.VISIBLE);
|
||||
} else {
|
||||
btnAttention.setVisibility(TextUtils.equals(isFans, "1") ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
// btnAttention.setOnClickListener(new View.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(View v) {
|
||||
@@ -530,6 +546,10 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
if (bean == null) {
|
||||
return;
|
||||
}
|
||||
if (bean.getType() == LiveChatBean.TYPE_TO_USER_MSG
|
||||
&& !CommonAppConfig.getInstance().getUid().equals(bean.getAtUserID())) {
|
||||
return;
|
||||
}
|
||||
// Log.i(TAG, "insertItem: " + bean.getContent()+" size = "+(mList.size()+1));
|
||||
int size = mList.size();
|
||||
//设置最大展示99条消息
|
||||
@@ -551,7 +571,9 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.NEW_MESSAGE_REMINDER));
|
||||
|
||||
if (bean.getAtUserID() != null && bean.getAtUserID().contains(String.valueOf(model.getId()))) {
|
||||
if (bean.getType() != LiveChatBean.TYPE_TO_USER_MSG &&
|
||||
bean.getAtUserID() != null
|
||||
&& bean.getAtUserID().contains(String.valueOf(model.getId()))) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.AT_MESSAGE));
|
||||
mPosition = size;
|
||||
|
||||
@@ -174,7 +174,7 @@ public class LiveNewWishListAdapter extends RecyclerView.Adapter<LiveNewWishList
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.live_set_wishlist_num);
|
||||
ToastUtil.show(mContext.getString(R.string.live_set_wishlist_num));
|
||||
} else {
|
||||
int num;
|
||||
if (StringUtil.isInt(content)) {
|
||||
|
||||
@@ -43,6 +43,7 @@ public class LiveParcelItemAdapter extends RecyclerView.Adapter {
|
||||
@Override
|
||||
public void onCallBack(int position, LiveGiftBean model) {
|
||||
Bus.get().post(new LiveGiftItemEvent().setLiveGiftModel(model));
|
||||
giftSelect(model);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,10 +8,14 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankTurntableBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@@ -19,9 +23,7 @@ import com.yunbao.live.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import java.util.Locale;
|
||||
|
||||
public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecyclerAdapter.PrankRecyclerViewHolder> {
|
||||
public static final int TYPE_TURNTABLE = 0;
|
||||
@@ -88,7 +90,7 @@ public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecy
|
||||
}
|
||||
|
||||
public boolean getViewTypeOfList() {
|
||||
return viewType==TYPE_TURNTABLE;
|
||||
return viewType == TYPE_TURNTABLE;
|
||||
}
|
||||
|
||||
public static abstract class PrankRecyclerViewHolder extends RecyclerView.ViewHolder {
|
||||
@@ -145,33 +147,63 @@ public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecy
|
||||
probability = itemView.findViewById(R.id.prank_turntable_probability);
|
||||
context = itemView.findViewById(R.id.prank_turntable_val);
|
||||
context.setOnClickListener(v -> {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "填寫整蠱內容", DialogUitl.INPUT_TYPE_TEXT, 10, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if(WordUtil.isSpecialChar(content)){
|
||||
ToastUtil.show("整蠱內容不能包含特殊字符");
|
||||
return;
|
||||
}
|
||||
if (content.length() >= 2 && content.length() <= 10) {
|
||||
context.setText(content);
|
||||
onItemClickListener.onItemClick(content, ((PrankTurntableBean)list.get((Integer) itemView.getTag())).getId());
|
||||
((PrankTurntableBean)list.get((Integer) itemView.getTag())).setContext(content);
|
||||
dialog.dismiss();
|
||||
} /*else if (content.length() == 0) {
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "填寫整蠱內容", DialogUitl.INPUT_TYPE_TEXT, 10, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (WordUtil.isSpecialChar(content)) {
|
||||
ToastUtil.show("整蠱內容不能包含特殊字符");
|
||||
return;
|
||||
}
|
||||
if (content.length() >= 2 && content.length() <= 10) {
|
||||
context.setText(content);
|
||||
onItemClickListener.onItemClick(content, ((PrankTurntableBean) list.get((Integer) itemView.getTag())).getId());
|
||||
((PrankTurntableBean) list.get((Integer) itemView.getTag())).setContext(content);
|
||||
dialog.dismiss();
|
||||
} /*else if (content.length() == 0) {
|
||||
context.setText("");
|
||||
onItemClickListener.onItemClick(content, ((PrankTurntableBean)list.get((Integer) itemView.getTag())).getId());
|
||||
dialog.dismiss();
|
||||
} */else {
|
||||
ToastUtil.show("最少2個字,最多10個字");
|
||||
} */ else {
|
||||
ToastUtil.show("最少2個字,最多10個字");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "Fill in the content of the prank", DialogUitl.INPUT_TYPE_TEXT, 10, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (WordUtil.isSpecialChar(content)) {
|
||||
ToastUtil.show("The prank content cannot contain special characters");
|
||||
return;
|
||||
}
|
||||
if (content.length() >= 2 && content.length() <= 10) {
|
||||
context.setText(content);
|
||||
onItemClickListener.onItemClick(content, ((PrankTurntableBean) list.get((Integer) itemView.getTag())).getId());
|
||||
((PrankTurntableBean) list.get((Integer) itemView.getTag())).setContext(content);
|
||||
dialog.dismiss();
|
||||
} /*else if (content.length() == 0) {
|
||||
context.setText("");
|
||||
onItemClickListener.onItemClick(content, ((PrankTurntableBean)list.get((Integer) itemView.getTag())).getId());
|
||||
dialog.dismiss();
|
||||
} */ else {
|
||||
ToastUtil.show("Fill in a minimum of 2 words and a maximum of 10 words");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public void setDate(PrankTurntableBean bean, int position) {
|
||||
title.setText("轉盤" + getChineseNum(bean.getId()) + "號位");
|
||||
probability.setText(getProbability(bean.getId()));
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
title.setText("轉盤" + getChineseNum(bean.getId()) + "號位");
|
||||
} else {
|
||||
title.setText("Turntable" + getChineseNum(bean.getId()));
|
||||
}
|
||||
|
||||
probability.setText(getProbability(bean.getId(), mContext));
|
||||
context.setText(bean.getContext());
|
||||
itemView.setTag(position);
|
||||
}
|
||||
@@ -194,21 +226,39 @@ public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecy
|
||||
return "";
|
||||
}
|
||||
|
||||
private String getProbability(int id) {
|
||||
switch (id) {
|
||||
case 1:
|
||||
return "抽取幾率:40%";
|
||||
case 2:
|
||||
return "抽取幾率:30%";
|
||||
case 3:
|
||||
return "抽取幾率:15%";
|
||||
case 4:
|
||||
return "抽取幾率:10%";
|
||||
case 5:
|
||||
return "抽取幾率:4%";
|
||||
default:
|
||||
return "抽取幾率:1%";
|
||||
private String getProbability(int id, Context mContext) {
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
switch (id) {
|
||||
case 1:
|
||||
return "抽取幾率:40%";
|
||||
case 2:
|
||||
return "抽取幾率:30%";
|
||||
case 3:
|
||||
return "抽取幾率:15%";
|
||||
case 4:
|
||||
return "抽取幾率:10%";
|
||||
case 5:
|
||||
return "抽取幾率:4%";
|
||||
default:
|
||||
return "抽取幾率:1%";
|
||||
}
|
||||
} else {
|
||||
switch (id) {
|
||||
case 1:
|
||||
return "Extraction probability:40%";
|
||||
case 2:
|
||||
return "Extraction probability:30%";
|
||||
case 3:
|
||||
return "Extraction probability:15%";
|
||||
case 4:
|
||||
return "Extraction probability:10%";
|
||||
case 5:
|
||||
return "Extraction probability:4%";
|
||||
default:
|
||||
return "Extraction probability:1%";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.bean.LivePromotionBean;
|
||||
@@ -75,7 +76,7 @@ public class LivePromotionAdapter extends RefreshAdapter<LivePromotionBean> {
|
||||
public void onClick(View v) {
|
||||
String url = CommonAppConfig.HOST + "/" + bean.getActive_src() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()
|
||||
+ "&anchorUid=" + mLiveUid
|
||||
+ "&active_id=" + bean.getActive_id();
|
||||
+ "&active_id=" + bean.getActive_id()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", url);
|
||||
int show = TextUtils.isEmpty(bean.getShow_type()) ? 0 : Integer.parseInt(bean.getShow_type());
|
||||
|
||||
@@ -16,9 +16,11 @@ import com.yunbao.common.bean.LiveClassBean;
|
||||
import com.yunbao.common.custom.MyRadioButton;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/7.
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -11,11 +8,14 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -38,21 +38,19 @@ public class LiveRoomTypeAdapter extends RecyclerView.Adapter<LiveRoomTypeAdapte
|
||||
mCheckedColor = ContextCompat.getColor(context, R.color.global);
|
||||
mUnCheckedColor = 0xffffffff;
|
||||
mList = new ArrayList<>();
|
||||
ConfigBean configBean = CommonAppConfig.getInstance().getConfig();
|
||||
Log.i("tag",configBean.toString());
|
||||
if (configBean != null) {
|
||||
String[][] liveType = configBean.getLiveType();
|
||||
if (liveType != null) {
|
||||
Log.i("tag", Arrays.toString(liveType));
|
||||
List<LiveRoomTypeBean> list = LiveRoomTypeBean.getLiveTypeList(liveType);
|
||||
mList.addAll(list);
|
||||
for (LiveRoomTypeBean bean : mList) {
|
||||
if (bean.getId() == checkedId) {
|
||||
bean.setChecked(true);
|
||||
break;
|
||||
}
|
||||
|
||||
String[][] liveType = CommonAppConfig.getInstance().getLiveType();
|
||||
if (liveType != null) {
|
||||
Log.i("tag", Arrays.toString(liveType));
|
||||
List<LiveRoomTypeBean> list = LiveRoomTypeBean.getLiveTypeList(liveType);
|
||||
mList.addAll(list);
|
||||
for (LiveRoomTypeBean bean : mList) {
|
||||
if (bean.getId() == checkedId) {
|
||||
bean.setChecked(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
mInflater = LayoutInflater.from(context);
|
||||
mOnClickListener = new View.OnClickListener() {
|
||||
|
||||
@@ -173,7 +173,7 @@ public class LiveWishListAdapter extends RecyclerView.Adapter<LiveWishListAdapte
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.live_set_wishlist_num);
|
||||
ToastUtil.show(mContext.getString(R.string.live_set_wishlist_num));
|
||||
} else {
|
||||
int num;
|
||||
if (StringUtil.isInt(content)) {
|
||||
|
||||
@@ -14,6 +14,7 @@ import android.widget.TextView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.SystemMessageBean;
|
||||
import com.yunbao.live.activity.ZhuangBanActivity;
|
||||
@@ -68,7 +69,7 @@ public class SystemMessageAdapter extends RefreshAdapter<SystemMessageBean> {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (bean.getLink() != null && !bean.getLink().equals("")) {
|
||||
startActivity(new Intent(mContext, ZhuangBanActivity.class).putExtra("url", bean.getLink()+ "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()));
|
||||
startActivity(new Intent(mContext, ZhuangBanActivity.class).putExtra("url", bean.getLink()+ "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0")));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -14,6 +14,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.ZhuangBanActivity;
|
||||
import com.yunbao.live.bean.SystemMessageBean;
|
||||
@@ -71,7 +72,8 @@ public class SystemMessageNewAdapter extends RefreshAdapter<SystemMessageBean> {
|
||||
.append("&uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken());
|
||||
.append(userInfo.getToken()) .append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
mContext.startActivity(
|
||||
new Intent(mContext, ZhuangBanActivity.class)
|
||||
.putExtra("url", urlBuffer.toString()));
|
||||
|
||||
@@ -140,7 +140,7 @@ public class UserMoreInfoAdapter extends RefreshAdapter<UserBean> {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (bean.isHide() && (type.equals("5") || type.equals("4"))) {
|
||||
ToastUtil.show(R.string.can_not_go);
|
||||
ToastUtil.show(mContext.getString(R.string.can_not_go));
|
||||
} else {
|
||||
((LiveActivity) mContext).showUserDialog(bean.getId());
|
||||
fragments.dismiss();
|
||||
|
||||
@@ -34,15 +34,20 @@ public class CoinModel extends BaseModel {
|
||||
|
||||
public String getCoin() {
|
||||
long coinMoney = Long.parseLong(coin);
|
||||
String coinStr = coin;
|
||||
if (999999999 < coinMoney && coinMoney <= 999999999999L) {
|
||||
coin = coin.substring(0, coin.length() - 3);
|
||||
coin = coin + "k";
|
||||
coinStr = coinStr.substring(0, coinStr.length() - 3);
|
||||
coinStr = coinStr + "k";
|
||||
}
|
||||
if (999999999999L < coinMoney && coinMoney <= 999999999999999L) {
|
||||
coin = coin.substring(0, coin.length() - 6);
|
||||
coin = coin + "M";
|
||||
coinStr = coinStr.substring(0, coinStr.length() - 6);
|
||||
coinStr = coinStr + "M";
|
||||
}
|
||||
return coin;
|
||||
return coinStr;
|
||||
}
|
||||
|
||||
public Long getCoinLong() {
|
||||
return Long.parseLong(coin);
|
||||
}
|
||||
|
||||
public CoinModel setCoin(String coin) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.annotation.JSONField;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.yunbao.common.bean.AiAutomaticSpeechModel;
|
||||
import com.yunbao.common.bean.MsgModel;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2017/8/22.
|
||||
@@ -27,6 +28,7 @@ public class LiveChatBean {
|
||||
public static final int XYD_COMPLETE = 207;//心愿单完成通知
|
||||
public static final int WISH_LIST_PROGRESS = 307;//心愿单进度通知
|
||||
public static final int BLIND_BOX = 409;//盲盒礼物消息
|
||||
public static final int TYPE_TO_USER_MSG=500;//指定信息
|
||||
|
||||
|
||||
private String id;
|
||||
@@ -53,9 +55,15 @@ public class LiveChatBean {
|
||||
private String hot_card;
|
||||
private MsgModel msgModel = new MsgModel();//自定义消息体
|
||||
private String giftName;
|
||||
private String giftname_en;
|
||||
private String toUid;
|
||||
|
||||
public int getNORMAL() {
|
||||
return NORMAL;
|
||||
}
|
||||
|
||||
public String getGiftName() {
|
||||
return giftName;
|
||||
return WordUtil.isNewZh()?giftName:giftname_en;
|
||||
}
|
||||
|
||||
public LiveChatBean setGiftName(String giftName) {
|
||||
@@ -63,6 +71,14 @@ public class LiveChatBean {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getToUid() {
|
||||
return toUid;
|
||||
}
|
||||
|
||||
public void setToUid(String toUid) {
|
||||
this.toUid = toUid;
|
||||
}
|
||||
|
||||
private AiAutomaticSpeechModel aiAutomaticSpeechModel = new AiAutomaticSpeechModel();//机器人消息体
|
||||
|
||||
public AiAutomaticSpeechModel getAiAutomaticSpeechModel() {
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.yunbao.live.bean;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.yunbao.common.Constants;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/11/14.
|
||||
*/
|
||||
@@ -72,5 +74,8 @@ public class LiveGuardInfo implements Parcelable {
|
||||
}
|
||||
};
|
||||
|
||||
public static boolean isGuard(LiveGuardInfo info){
|
||||
return info != null && info.getMyGuardType() != Constants.GUARD_TYPE_NONE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -135,6 +136,7 @@ public class BlowkissDialog extends AbsDialogFragment {
|
||||
btn_confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "live_room_follow_sendgif", "弹的关注并送礼的按钮");
|
||||
follow();
|
||||
LiveHttpUtil.sendGift("0", mLiveUid, LiveActivity.mStream, gif_id, "1", new HttpCallback() {
|
||||
@Override
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.utils.WordsTypeUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.FreePkRecyclerAdapter;
|
||||
@@ -128,8 +129,15 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
|
||||
|
||||
}
|
||||
});
|
||||
if(!WordUtil.isNewZh()){
|
||||
mPkNumText.setText("Free PK number");
|
||||
((TextView)findViewById(R.id.tmp_text2)).setText("Updated daily at 6am");
|
||||
}
|
||||
if (mDrPkNum != -1) {
|
||||
mPkNumText.setText("多人PK剩余次數");
|
||||
if(!WordUtil.isNewZh()){
|
||||
mPkNumText.setText("multi-user PK number");
|
||||
}
|
||||
}
|
||||
initRecycler();
|
||||
}
|
||||
@@ -171,7 +179,7 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(com.yunbao.common.R.string.net_error);
|
||||
ToastUtil.show(mContext.getString(com.yunbao.common.R.string.net_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -183,6 +191,10 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
|
||||
searchTag.setText("主播搜索");
|
||||
listTag.setTag(TAB_STATUS_FOLLOW);
|
||||
listTag.setText("關注列表");
|
||||
if (!WordUtil.isNewZh()) {
|
||||
searchTag.setText("search");
|
||||
listTag.setText("follow list");
|
||||
}
|
||||
tabLayout.addTab(searchTag);
|
||||
tabLayout.addTab(listTag);
|
||||
tabStatus = TAB_STATUS_SEARCH;
|
||||
|
||||
@@ -9,6 +9,11 @@ import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -17,6 +22,7 @@ import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -26,16 +32,10 @@ import com.yunbao.live.adapter.GiftTopAdapter;
|
||||
import com.yunbao.live.adapter.LiveGiftPagerAdapter;
|
||||
import com.yunbao.live.adapter.LiveGiftPagerAdapter.ActionListener;
|
||||
import com.yunbao.live.bean.GiftTopBean;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListener, View.OnClickListener {
|
||||
|
||||
private Context mContext;
|
||||
@@ -217,7 +217,7 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
JSONObject data = list.getJSONObject(i);
|
||||
GiftTopBean giftTopBean = new GiftTopBean();
|
||||
giftTopBean.setName(data.getString("name"));
|
||||
giftTopBean.setName(WordUtil.isNewZh()?data.getString("name"):data.getString("en_name"));
|
||||
name.add(giftTopBean);
|
||||
}
|
||||
|
||||
@@ -265,17 +265,17 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
public void onClick(View view) {
|
||||
int id = view.getId();
|
||||
if (id == R.id.btn_send) {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "輸入數量", DialogUitl.INPUT_TYPE_NUMBER, new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleInputDialog(mContext, WordUtil.isNewZh() ?"輸入數量":"Input quantity", DialogUitl.INPUT_TYPE_NUMBER, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
try {
|
||||
prangNum = Integer.parseInt(content);
|
||||
if (prangNum <= 0) {
|
||||
ToastUtil.show("數量不能為0或負數");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"數量不能為0或負數":"The quantity cannot be zero or negative");
|
||||
return;
|
||||
}
|
||||
if (prangNum > 999) {
|
||||
ToastUtil.show("數量不能大於999");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"數量不能大於999":"The number cannot be greater than 999");
|
||||
return;
|
||||
}
|
||||
mBtnSend.setText(content);
|
||||
@@ -285,12 +285,12 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
dialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtil.show("輸入錯誤");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "輸入錯誤":"Input error");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (id == R.id.btn_context) {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "輸入整蠱內容...", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleInputDialog(mContext, WordUtil.isNewZh() ? "輸入整蠱內容..." : "Enter the prank content...", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
prangContext = content;
|
||||
@@ -307,29 +307,29 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
});
|
||||
} else if (id == R.id.gift_btn) {
|
||||
if (bean == null) {
|
||||
ToastUtil.show("整蠱禮物不能為空");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "整蠱禮物不能為空":"A trick gift can't be empty");
|
||||
return;
|
||||
}
|
||||
if (StringUtil.isEmpty(prangContext) || prangNum == 0) {
|
||||
ToastUtil.show("整蠱內容或數量不能為空");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"整蠱內容或數量不能為空":"The content or number of pranks cannot be empty");
|
||||
return;
|
||||
}
|
||||
if (prangNum >= 999) {
|
||||
ToastUtil.show("整蠱數量不能過大");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"整蠱數量不能過大":"The number of pranks should not be too large");
|
||||
return;
|
||||
}
|
||||
if (WordUtil.isSpecialChar(prangContext)) {
|
||||
ToastUtil.show("整蠱內容不能包含特殊字符");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"整蠱內容不能包含特殊字符":"The prank content must not contain special characters");
|
||||
return;
|
||||
}
|
||||
if (prangContext.length() > 6) {
|
||||
ToastUtil.show("整蠱內容過長");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"整蠱內容過長":"The prank is too long");
|
||||
return;
|
||||
}
|
||||
if (giftBeans != null) {
|
||||
for (PrankGiftBean giftBean : giftBeans) {
|
||||
if (giftBean.getGiftId().equals(bean.getId() + "")) {
|
||||
ToastUtil.show("整蠱禮物已存在");
|
||||
ToastUtil.show(WordUtil.isNewZh() ?"整蠱禮物已存在":"Prank gifts already exist");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.ZhuangBanActivity;
|
||||
|
||||
@@ -54,7 +55,7 @@ public class HighNobilityDialog extends AbsDialogFragment {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
|
||||
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
});
|
||||
|
||||
|
||||
@@ -119,11 +119,11 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
||||
status.setTag(0);
|
||||
status.setOnClickListener(v -> {
|
||||
if (callMeModel.getGiftId() == 0) {
|
||||
ToastUtil.show(R.string.live_anchor_edit_call_me_not_gift_toash);
|
||||
ToastUtil.show(mContext.getString(R.string.live_anchor_edit_call_me_not_gift_toash));
|
||||
return;
|
||||
}
|
||||
if (callMeModel.getWechat().getIsShow() == 0 && callMeModel.getLine().getIsShow() == 0 && callMeModel.getWhatsApp().getIsShow() == 0) {
|
||||
ToastUtil.show(R.string.live_anchor_edit_call_me_not_call_info_toash);
|
||||
ToastUtil.show(mContext.getString(R.string.live_anchor_edit_call_me_not_call_info_toash));
|
||||
return;
|
||||
}
|
||||
int tag = (int) v.getTag();
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
||||
@@ -74,24 +75,24 @@ public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
||||
|
||||
switch (type) {
|
||||
case TYPE_LETTER:
|
||||
titleView.setText("填寫信內容");
|
||||
titleView.setText(WordUtil.isNewZh()?"填寫信內容":"Fill in the letter");
|
||||
edit.setHint(R.string.live_anchor_edit_call_me_letter_content);
|
||||
title.setText("信內容");
|
||||
title.setText(WordUtil.isNewZh()?"信內容":"Content of the letter");
|
||||
break;
|
||||
case TYPE_APP_WECHAT:
|
||||
titleView.setText("填寫聯系方式");
|
||||
edit.setHint("请输入");
|
||||
title.setText("Wechat账号");
|
||||
titleView.setText(WordUtil.isNewZh()?"填寫聯系方式":"Fill in the contact information");
|
||||
edit.setHint(WordUtil.isNewZh()?"请输入":"Please enter");
|
||||
title.setText(WordUtil.isNewZh()?"Wechat账号":"Wechat account");
|
||||
break;
|
||||
case TYPE_APP_LINE:
|
||||
titleView.setText("填寫聯系方式");
|
||||
edit.setHint("请输入");
|
||||
title.setText("Line账号");
|
||||
titleView.setText(WordUtil.isNewZh()?"填寫聯系方式":"Fill in the contact information");
|
||||
edit.setHint(WordUtil.isNewZh()?"请输入":"Please enter");
|
||||
title.setText(WordUtil.isNewZh()?"Line账号":"Line account");
|
||||
break;
|
||||
case TYPE_APP_WHATSAPP:
|
||||
titleView.setText("填寫聯系方式");
|
||||
edit.setHint("请输入");
|
||||
title.setText("WhatsApp账号");
|
||||
titleView.setText(WordUtil.isNewZh()?"填寫聯系方式":"Fill in the contact information");
|
||||
edit.setHint(WordUtil.isNewZh()?"请输入":"Please enter");
|
||||
title.setText(WordUtil.isNewZh()?"WhatsApp账号":"WhatsApp Account");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
@@ -148,6 +149,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
|
||||
}
|
||||
|
||||
private void send() {
|
||||
MobclickAgent.onEvent(mContext, "contact_obtain", "点获取联系方式");
|
||||
LiveHttpUtil.sendGift("0", mLiveUid, mStream, bean.getId(), "1", 1, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -164,6 +166,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
|
||||
}
|
||||
}).build().show();
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "contact_obtain_send_gif", "送出联系方式礼物");
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public class LiveDataInfoDialog extends AbsDialogPopupWindow {
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(com.yunbao.common.R.string.net_error);
|
||||
ToastUtil.show(mContext.getString(com.yunbao.common.R.string.net_error));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
@@ -131,12 +132,13 @@ public class LiveFansFragment extends AbsDialogFragment {
|
||||
LiveAudienceActivity.is_fans = "2";
|
||||
int num = LiveAudienceActivity.fansNum - 1;
|
||||
LiveRoomViewHolder.setFansNum(num);
|
||||
ToastUtil.show("退出成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"退出成功":"Exit successfully");
|
||||
EventBus.getDefault().post("exitFansGroup");
|
||||
dismiss();
|
||||
} else if (TextUtils.equals(event.getMethod(), "sendFansCard")) {
|
||||
if (LiveRoomViewHolder.mBtnFollow != null && LiveRoomViewHolder.mBtnFollow.getVisibility() == View.VISIBLE) {
|
||||
LiveRoomViewHolder.follow();
|
||||
ToastUtil.show(R.string.live_fans_follow_toast);
|
||||
ToastUtil.show(mContext.getString(R.string.live_fans_follow_toast));
|
||||
}
|
||||
//点击 开通粉丝勋章,打开礼物列表送礼物
|
||||
((LiveAudienceActivity) mContext).openGiftWindow(event.getLiveId(), "0");
|
||||
|
||||
@@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.ActiveModel;
|
||||
@@ -31,25 +32,28 @@ import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 趣味游戏对话框
|
||||
@@ -202,7 +206,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
Log.i("debug", "onError: " + error);
|
||||
ToastUtil.show( R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
@@ -252,6 +256,25 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
if (tab != null) {
|
||||
tab.select();
|
||||
ActiveModel model = (ActiveModel) tab.getTag();
|
||||
Map<String, String> map_ekv = new HashMap<String, String>();
|
||||
map_ekv.put("link", model.getActiveSrc());
|
||||
MobclickAgent.onEvent(mContext, "live_room_slide", map_ekv);
|
||||
switch (model.getActiveName()) {
|
||||
case "闖關熱戀":
|
||||
MobclickAgent.onEvent(mContext, "through_index", "进入闯关页面");
|
||||
break;
|
||||
case "怪物大作戰":
|
||||
MobclickAgent.onEvent(mContext, "plant_index", "进入怪物页面");
|
||||
break;
|
||||
case "甜蜜約會":
|
||||
MobclickAgent.onEvent(mContext, "sweet_index", "进入甜蜜页面");
|
||||
break;
|
||||
case "娛樂整蠱":
|
||||
MobclickAgent.onEvent(mContext, "tricky_index", "进入娱乐整蛊页面");
|
||||
break;
|
||||
case "幸运天使":
|
||||
MobclickAgent.onEvent(mContext, "angel_index", "进入幸运天使页面");
|
||||
break; }
|
||||
if (model != null) {
|
||||
if (!StringUtil.isEmpty(model.getBgColor()) && !"#".equals(model.getBgColor())) {
|
||||
tabLayout.setBackgroundColor(Color.parseColor(model.getBgColor()));
|
||||
@@ -271,7 +294,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
url += "?";
|
||||
}
|
||||
url += "uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + roomId + "&active_id=" + model.getActiveId();
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + roomId + "&active_id=" + model.getActiveId()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Log.i("debug", "selectTab: " + url);
|
||||
mWebView.loadUrl(url);
|
||||
} else {
|
||||
@@ -297,7 +320,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -378,7 +401,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
return;
|
||||
}
|
||||
if (TextUtils.equals(roomId, event.getLiveId())) {
|
||||
ToastUtil.show(R.string.current_live_room);
|
||||
ToastUtil.show(mContext.getString(R.string.current_live_room));
|
||||
dismiss();
|
||||
} else {
|
||||
//看直播
|
||||
|
||||
@@ -69,6 +69,7 @@ import com.yunbao.common.utils.NobleUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
@@ -375,7 +376,8 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
.append("/h5/info/index.html?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken());
|
||||
.append(userInfo.getToken()) .append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl.toString());
|
||||
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
|
||||
@@ -911,7 +913,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show(R.string.only_one);
|
||||
ToastUtil.show(mContext.getString(R.string.only_one));
|
||||
}
|
||||
} else {
|
||||
if (TextUtils.isEmpty(mLiveUid) || TextUtils.isEmpty(mStream) || mLiveGiftBean == null) {
|
||||
@@ -919,7 +921,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
}
|
||||
if (mLiveGuardInfo != null) {
|
||||
if (mLiveGiftBean.getMark() == LiveGiftBean2.MARK_GUARD && mLiveGuardInfo.getMyGuardType() != Constants.GUARD_TYPE_YEAR) {
|
||||
ToastUtil.show(R.string.guard_gift_tip);
|
||||
ToastUtil.show(mContext.getString(R.string.guard_gift_tip));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1237,12 +1239,12 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
}
|
||||
if (!TextUtils.isEmpty(event.getDressName()) && !TextUtils.isEmpty(event.getDressMsg())) {
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), event.getGiftname(), event.getDressName());
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en(), event.getDressName());
|
||||
stringBuilder.append(boxBlindMsg);
|
||||
int dressNameIndex = boxBlindMsg.indexOf(event.getDressName());
|
||||
int dressNameSize = event.getDressName().length();
|
||||
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||
int giftNameSize = event.getGiftname().length();
|
||||
int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
int giftNameSize = (WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en()).length();
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getDressColour())),
|
||||
dressNameIndex,
|
||||
dressNameIndex + dressNameSize,
|
||||
@@ -1254,10 +1256,10 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
stringBuilders.add(stringBuilder);
|
||||
} else {
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3), event.getGiftname());
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3),WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
stringBuilder.append(boxBlindMsg);
|
||||
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||
int giftNameSize = event.getGiftname().length();
|
||||
int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
int giftNameSize = (WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en()).length();
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())),
|
||||
giftNameIndex,
|
||||
giftNameIndex + giftNameSize,
|
||||
|
||||
@@ -384,7 +384,7 @@ public class LiveGiftDialogFragment4Wishlist extends AbsDialogFragment implement
|
||||
// }
|
||||
// if (mLiveGuardInfo != null) {
|
||||
// if (mLiveGiftBean.getMark() == LiveGiftBean.MARK_GUARD && mLiveGuardInfo.getMyGuardType() != Constants.GUARD_TYPE_YEAR) {
|
||||
// ToastUtil.show(R.string.guard_gift_tip);
|
||||
// ToastUtil.show(mContext.getString(R.string.guard_gift_tip);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.yunbao.live.dialog;
|
||||
|
||||
import static com.yunbao.common.CommonAppConfig.isGetNewWrap;
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
@@ -15,6 +17,7 @@ import android.text.TextUtils;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
@@ -39,6 +42,7 @@ import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
@@ -55,6 +59,7 @@ import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
@@ -79,7 +84,6 @@ import com.yunbao.live.event.GiftTitleEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.event.LiveGiftItemEvent;
|
||||
import com.yunbao.live.event.LiveParcelItemRefreshEvent;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.views.LiveGiftFragment;
|
||||
import com.yunbao.live.views.LiveParcelFragment;
|
||||
|
||||
@@ -103,7 +107,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
private TextView diamondText, goldText, liveWrap, vipGoldDesc, vipGoldTitle, giftNumber;
|
||||
private RecyclerView giftTitle;
|
||||
private GiftTitleAdapter giftTitleAdapter;
|
||||
private FrameLayout contextLayoutGift;
|
||||
private FrameLayout contextLayoutGift, overlay;
|
||||
private String mStream, mLiveUid;
|
||||
private FrameLayout blindBox, frameBlindTop, noNobility, giftNumberLayout, giftSendLayout, namingLayout;
|
||||
private ProgressBar progressBlind, progressBlind1, progressBlind2;
|
||||
@@ -141,6 +145,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private void initView() {
|
||||
gitBackground = mRootView.findViewById(R.id.git_background2);
|
||||
contextLayoutGift = mRootView.findViewById(R.id.context_layout_gift);
|
||||
@@ -182,6 +187,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
leaveHint = mRootView.findViewById(R.id.leave_hint);
|
||||
progressBar = mRootView.findViewById(R.id.progressBar);
|
||||
levelingLayout = mRootView.findViewById(R.id.leveling_layout);
|
||||
overlay = mRootView.findViewById(R.id.overlay);
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
//设置礼物弹窗背景
|
||||
ImgLoader.displayBlurLive(getContext(), R.drawable.backgroud_custom_gift2, gitBackground);
|
||||
@@ -199,10 +205,32 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
giftDescription.setVisibility(View.GONE);
|
||||
operateImage.setVisibility(View.GONE);
|
||||
levelingLayout.setVisibility(View.VISIBLE);
|
||||
updateOverlayVisibility();
|
||||
blindBox.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
namingLayout.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
operateImage.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
overlay.setOnClickListener(v -> dismiss());
|
||||
//点击包裹
|
||||
ViewClicksAntiShake.clicksAntiShake(liveWrap, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_pack_list", "用户点礼物栏包裹礼物按钮");
|
||||
giftTitleAdapter.uncheck();
|
||||
liveWrap.setAlpha(1.0f);
|
||||
liveWrap.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
|
||||
@@ -217,6 +245,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
mBtnSendGroup.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
});
|
||||
@@ -225,7 +255,37 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(liveGiftSend, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
|
||||
|
||||
if (liveGiftModel != null && liveGiftModel.getBlindBoxTicket() > 0) {
|
||||
BigDecimal needcoin = new BigDecimal(liveGiftModel.getPrice()).multiply(new BigDecimal(mCount));
|
||||
|
||||
if (needcoin.longValue() > diamond) {
|
||||
|
||||
sendBlindBoxTicket();
|
||||
} else {
|
||||
new DialogUitl.Builder(mContext)
|
||||
.setView(R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(mContext.getString(R.string.aristocrat_determine))
|
||||
.setCancelString(mContext.getString(R.string.use_diamonds))
|
||||
.setContent(mContext.getString(R.string.trial_coupon))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
sendBlindBoxTicket();
|
||||
}
|
||||
}).setCancelable(true).build().show();
|
||||
}
|
||||
|
||||
} else {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
@@ -233,6 +293,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.diamond_linear), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_recharge_list", "用户点礼物栏充值按钮");
|
||||
forwardMyCoin(0);
|
||||
}
|
||||
});
|
||||
@@ -247,17 +308,23 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(description, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box_info", "用户点开礼物列表盲盒页面的盲盒说明");
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
.append("/h5/info/index.html?uid=")
|
||||
.append("/h5/blindBoxInfo/index.html?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
.append("&no_back=1")
|
||||
;
|
||||
.append("&type=")
|
||||
.append(blindBoxType-1)
|
||||
|
||||
.append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl.toString());
|
||||
// System.out.println("盲盒页面 = "+htmlUrl.toString());
|
||||
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
@@ -267,6 +334,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_luck_gift_tip), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_opened_noble", "用户点击开通贵族");
|
||||
dismiss();
|
||||
((LiveActivity) mContext).openLuckGiftTip();
|
||||
}
|
||||
@@ -275,6 +343,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.leveling_layout), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_grade", "用户点击等级页面");
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
@@ -316,10 +385,12 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
.append(liveGiftModel.getOperateUrl())
|
||||
.append("?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
.append("&for");
|
||||
.append("&for") .append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl.toString());
|
||||
bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3);
|
||||
@@ -328,6 +399,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
}
|
||||
});
|
||||
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ImgLoader.display(mContext, R.mipmap.icon_live_gift_gift_itle, giftItle);
|
||||
} else {
|
||||
@@ -379,6 +451,16 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
GiftTopBean giftTopBean = new GiftTopBean();
|
||||
giftTopBean.setName(data.getString("name"));
|
||||
name.add(giftTopBean);
|
||||
if (bean1 != null && IMLoginManager.get(mContext).isNewUserGif() && (data.getString("name").equals("熱門") || data.getString("name").equals("Hot"))) {
|
||||
String giftJson = data.getString("giftlist");
|
||||
List<LiveGiftBean> liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class);
|
||||
liveGiftBeans.add(0, bean1);
|
||||
if (mWishGiftId == null) {
|
||||
mWishGiftId = "" + bean1.getId();
|
||||
}
|
||||
liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftBeans));
|
||||
}
|
||||
|
||||
}
|
||||
giftTitleAdapter.addAllData(name);
|
||||
if (!TextUtils.isEmpty(mWishGiftId) && liveGiftList.size() > 0) {
|
||||
@@ -393,6 +475,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
liveGiftList.getJSONObject(i).getString("name"),
|
||||
mStream, mLiveUid, mWishGiftId));
|
||||
transaction.commit();
|
||||
giftTitleAdapter.setTitleIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -443,6 +527,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
/**
|
||||
* 获取砖石和金豆余额
|
||||
*/
|
||||
long diamond = 0;
|
||||
|
||||
private void getCoin() {
|
||||
LiveHttpUtil.getCoin(new HttpCallback() {
|
||||
@Override
|
||||
@@ -452,6 +538,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
CoinModel coinModel = GsonUtils.fromJson(info[0], CoinModel.class);
|
||||
goldText.setText(coinModel.getGold());
|
||||
diamondText.setText(coinModel.getCoin());
|
||||
diamond = coinModel.getCoinLong();
|
||||
lvStr.setText("Lv." + coinModel.getUserLevel());
|
||||
|
||||
findViewById(R.id.red_point).setVisibility((!TextUtils.isEmpty(coinModel.getUsersPackRedDot())) &&
|
||||
@@ -460,7 +547,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
int nextLeve = Integer.parseInt(coinModel.getUserNextLevelRewards());
|
||||
|
||||
|
||||
BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add( new BigDecimal(coinModel.getUserLevelCurrentConsumption()));
|
||||
BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add(new BigDecimal(coinModel.getUserLevelCurrentConsumption()));
|
||||
try {
|
||||
String leveNext = String.valueOf(nextLeve);
|
||||
String userNextLevel = coinModel.getUserLevelUpgrades();
|
||||
@@ -518,15 +605,102 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
private Runnable sendGiftRunnble = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendGift();
|
||||
if (isWrap && liveGiftModel.getType() == 7) {
|
||||
sendBlindBoxTicket();
|
||||
} else {
|
||||
sendGift();
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
//使用优惠券
|
||||
public void sendBlindBoxTicket() {
|
||||
if (TextUtils.isEmpty(mLiveUid) ||
|
||||
TextUtils.isEmpty(mStream) ||
|
||||
liveGiftModel == null)
|
||||
return;
|
||||
|
||||
LiveHttpUtil.sendBlindBoxTicket((by != null ? "1" : "0"),
|
||||
mLiveUid,
|
||||
mStream,
|
||||
isWrap ? liveGiftModel.getId() : liveGiftModel.getBlindBoxTicketId(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
if (liveGiftModel.getSwf().contains("svga")) {
|
||||
dismiss();
|
||||
}
|
||||
if (info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
String coin = obj.getString("coin");
|
||||
String goldCoin = obj.getString("gold");
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u != null) {
|
||||
u.setLevel(obj.getIntValue("level"));
|
||||
//送礼物后更新粉丝徽章等级
|
||||
u.setMedalLevel(obj.getIntValue("medal_level"));
|
||||
u.setMedalName(obj.getString("medal_name"));
|
||||
u.setCoin(coin);
|
||||
}
|
||||
if (diamondText != null) {
|
||||
diamondText.setText(coin);
|
||||
}
|
||||
if (goldText != null) {
|
||||
goldText.setText(goldCoin);
|
||||
}
|
||||
if (!isWrap) {
|
||||
liveGiftModel.setBlindBoxTicket(liveGiftModel.getBlindBoxTicket() - 1);
|
||||
} else {
|
||||
for (int i = 0; i < liveGiftList.size(); i++) {
|
||||
JSONObject data = liveGiftList.getJSONObject(i);
|
||||
String giftJson = data.getString("giftlist");
|
||||
List<LiveGiftBean> liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class);
|
||||
List<LiveGiftBean> liveGiftModels = new ArrayList<>();
|
||||
for (LiveGiftBean model : liveGiftBeans) {
|
||||
if (model.getBlindBoxTicketId() == liveGiftModel.getId() && model.getBlindBoxTicket() > 0) {
|
||||
model.setBlindBoxTicket(model.getBlindBoxTicket() - 1);
|
||||
}
|
||||
liveGiftModels.add(model);
|
||||
}
|
||||
liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftModels));
|
||||
}
|
||||
LiveHttpUtil.getNewGiftList(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
liveGiftList = obj.getJSONArray("listarray");
|
||||
CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
}
|
||||
});
|
||||
}
|
||||
isGetNewWrap = true;
|
||||
if (isWrap) {
|
||||
Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 赠送礼物
|
||||
*/
|
||||
public void sendGift() {
|
||||
if (liveGiftModel == null) return;
|
||||
if (liveGiftModel.getType() == 7) {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box_seed", "用户发送盲盒");
|
||||
}
|
||||
if (liveGiftModel.getTag() != null) {
|
||||
if (mCount.equals("1")) {
|
||||
LiveHttpUtil.setFrontTask("sendgift", mLiveUid, new HttpCallback() {
|
||||
@@ -541,7 +715,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show(com.yunbao.live.R.string.only_one);
|
||||
ToastUtil.show(mContext.getString(com.yunbao.live.R.string.only_one));
|
||||
}
|
||||
} else {
|
||||
if (TextUtils.isEmpty(mLiveUid) || TextUtils.isEmpty(mStream) || liveGiftModel == null) {
|
||||
@@ -549,7 +723,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
if (mLiveGuardInfo != null) {
|
||||
if (liveGiftModel.getMark() == LiveGiftBean2.MARK_GUARD && mLiveGuardInfo.getMyGuardType() != Constants.GUARD_TYPE_YEAR) {
|
||||
ToastUtil.show(com.yunbao.live.R.string.guard_gift_tip);
|
||||
ToastUtil.show(mContext.getString(com.yunbao.live.R.string.guard_gift_tip));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -642,39 +816,45 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||
mShowLianBtn = false;
|
||||
getCoin();
|
||||
|
||||
LiveNetManager.get(mContext)
|
||||
.getGiftNamingInfo(liveGiftModel.getId() + "", new com.yunbao.common.http.base.HttpCallback<GiftNamingInfoModel>() {
|
||||
@Override
|
||||
public void onSuccess(GiftNamingInfoModel data) {
|
||||
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
|
||||
namingLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
|
||||
StringBuffer namingNameText = new StringBuffer();
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
namingNameText.append("获取冠名:")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
if (TextUtils.equals(data.getNamingStatus(), "1")) {
|
||||
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
|
||||
namingLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
|
||||
StringBuffer namingNameText = new StringBuffer();
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
namingNameText.append("获取冠名:")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
|
||||
} else {
|
||||
namingNameText.append("Get title: ")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
}
|
||||
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
|
||||
.append(liveGiftModel.getNamingLiveName())
|
||||
.append(" ")
|
||||
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
|
||||
.append(" ")
|
||||
.append(liveGiftModel.getNamingUserName());
|
||||
namingName.setText(namingNameText.toString());
|
||||
} else {
|
||||
namingNameText.append("Get title: ")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
|
||||
.append(liveGiftModel.getNamingLiveName())
|
||||
.append(" ")
|
||||
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
|
||||
.append(" ")
|
||||
.append(liveGiftModel.getNamingUserName());
|
||||
namingName.setText(namingNameText.toString());
|
||||
} else {
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -731,7 +911,9 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftItemEvent(LiveGiftItemEvent event) {
|
||||
liveGiftModel = event.getLiveGiftModel();
|
||||
MobclickAgent.onEvent(mContext, "gif_list_choose", "用户选中某个礼物:" + liveGiftModel.getName());
|
||||
|
||||
updateOverlayVisibility();
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
@@ -759,8 +941,10 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
|
||||
if (liveGiftModel.getType() == 7) {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box", "用户点开礼物列表盲盒");
|
||||
iconArrow.setVisibility(View.GONE);
|
||||
showBlindProgress(liveGiftModel.getBlind_box_type());
|
||||
description.setTag(liveGiftModel.getBlind_box_type());
|
||||
} else {
|
||||
blindBox.setVisibility(View.INVISIBLE);
|
||||
mCount = DEFAULT_COUNT;
|
||||
@@ -785,6 +969,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getOperateImage())) {
|
||||
operateImage.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(getContext(), liveGiftModel.getOperateImage(), operateImage);
|
||||
} else {
|
||||
operateImage.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -916,12 +1102,12 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
if (!TextUtils.isEmpty(event.getDressName()) && !TextUtils.isEmpty(event.getDressMsg())) {
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), event.getGiftname(), event.getDressName());
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en(),WordUtil.isNewZh()? event.getDressName():event.getDress_nameen());
|
||||
stringBuilder.append(boxBlindMsg);
|
||||
int dressNameIndex = boxBlindMsg.indexOf(event.getDressName());
|
||||
int dressNameSize = event.getDressName().length();
|
||||
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||
int giftNameSize = event.getGiftname().length();
|
||||
int dressNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh()? event.getDressName():event.getDress_nameen());
|
||||
int dressNameSize =(WordUtil.isNewZh()? event.getDressName():event.getDress_nameen()).length();
|
||||
int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
int giftNameSize = (WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en()).length();
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getDressColour())),
|
||||
dressNameIndex,
|
||||
dressNameIndex + dressNameSize,
|
||||
@@ -933,14 +1119,17 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
stringBuilders.add(stringBuilder);
|
||||
} else {
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3), event.getGiftname());
|
||||
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3), WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
stringBuilder.append(boxBlindMsg);
|
||||
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||
int giftNameSize = event.getGiftname().length();
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())),
|
||||
giftNameIndex,
|
||||
giftNameIndex + giftNameSize,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
if (!TextUtils.isEmpty(event.getGiftname_en())){
|
||||
int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en());
|
||||
int giftNameSize = (WordUtil.isNewZh()?event.getGiftname():event.getGiftname_en()).length();
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())),
|
||||
giftNameIndex,
|
||||
giftNameIndex + giftNameSize,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
||||
stringBuilders.add(stringBuilder);
|
||||
|
||||
}
|
||||
@@ -1168,12 +1357,15 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
if (goldText != null) {
|
||||
goldText.setText(goldCoin);
|
||||
}
|
||||
|
||||
if (!mGiftBean.getSwf().contains("svga")) {
|
||||
showLianBtn();
|
||||
}
|
||||
if (mGiftBean.getType() == 7) {
|
||||
showLianBtn();
|
||||
|
||||
}
|
||||
|
||||
// //刷新包裹列表wrap_gift_num -1:表示数量没有变化
|
||||
// mObjGiftSendback = obj;
|
||||
isGetNewWrap = true;
|
||||
@@ -1231,6 +1423,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
forwardMyCoin(0);
|
||||
|
||||
MobclickAgent.onEvent(mContext, "user_to_recharge", "app内任意提示用户余额不足 用户充值点了提示里面的去充值");
|
||||
}
|
||||
}).build().show();
|
||||
} else {
|
||||
@@ -1240,4 +1434,15 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateOverlayVisibility() {
|
||||
/* if (
|
||||
blindBox.getVisibility() == View.VISIBLE ||
|
||||
operateImage.getVisibility() == View.VISIBLE ||
|
||||
namingLayout.getVisibility() == View.VISIBLE
|
||||
) {
|
||||
overlay.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
overlay.setVisibility(View.GONE);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.adapter.GuardRightAdapter;
|
||||
@@ -260,10 +261,10 @@ public class LiveGuardBuyDialogFragment extends AbsDialogFragment implements Vie
|
||||
DialogUitl.showSimpleTipDialog(mContext,mContext.getString(R.string.guard_buy_tip));
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_YEAR && mTargetBuyBean.getType() == Constants.GUARD_TYPE_DAY) {
|
||||
DialogUitl.showSimpleTipDialog(mContext, "您為當前主播的年守護無法開通周守護");
|
||||
DialogUitl.showSimpleTipDialog(mContext, WordUtil.isNewZh()?"您為當前主播的年守護無法開通周守護":"Your annual guardian for the current anchor cannot be opened weekly guardian");
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_YEAR && mTargetBuyBean.getType() == Constants.GUARD_TYPE_MONTH) {
|
||||
DialogUitl.showSimpleTipDialog(mContext, "您為當前主播的年守護無法開通月守護");
|
||||
DialogUitl.showSimpleTipDialog(mContext, WordUtil.isNewZh()?"您為當前主播的年守護無法開通月守護":"The year guard for your current anchor cannot be opened");
|
||||
return;
|
||||
} else {
|
||||
if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_MONTH
|
||||
@@ -277,7 +278,7 @@ public class LiveGuardBuyDialogFragment extends AbsDialogFragment implements Vie
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_DAY
|
||||
&& mTargetBuyBean.getType() == Constants.GUARD_TYPE_MONTH) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您為當前主播的周守護,開通月守護將覆蓋您的周守護時長,是否開通?", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh()?"您為當前主播的周守護,開通月守護將覆蓋您的周守護時長,是否開通?":"You are the weekly guardian of the current anchor. Opening the monthly guardian will cover your weekly guardian time. Is it open?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
doBuyGuard();
|
||||
@@ -286,7 +287,7 @@ public class LiveGuardBuyDialogFragment extends AbsDialogFragment implements Vie
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_DAY
|
||||
&& mTargetBuyBean.getType() == Constants.GUARD_TYPE_YEAR) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您為當前主播的周守護,開通年守護將覆蓋您的周守護時長,是否開通?", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh()?"您為當前主播的周守護,開通年守護將覆蓋您的周守護時長,是否開通?":"You are the weekly guardian of the current anchor, and the opening year guardian will cover your weekly guardian time. Is it open?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
doBuyGuard();
|
||||
@@ -307,7 +308,7 @@ public class LiveGuardBuyDialogFragment extends AbsDialogFragment implements Vie
|
||||
return;
|
||||
}
|
||||
DialogUitl.showSimpleDialog(mContext,
|
||||
String.format(mContext.getString(R.string.guard_buy_tip_3), mTargetBuyBean.getCoin(), mCoinName, mTargetBuyBean.getShopName(getContext())),
|
||||
String.format(WordUtil.isNewZh()?"您將花費%1$s%2$s,為主播開通%3$s":"You will spend%1$s%2$s to open%3$s for the anchor", mTargetBuyBean.getCoin(), mCoinName, mTargetBuyBean.getShopName(getContext())),
|
||||
new DialogUitl.SimpleCallback() {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -45,6 +45,7 @@ import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
@@ -190,7 +191,8 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
|
||||
mWebView.setLayoutParams(params);
|
||||
}
|
||||
String url = bundle.getString("url");
|
||||
url += "&anchorUid=" + mLiveUid+"&stream="+mStream;
|
||||
url += "&anchorUid=" + mLiveUid+"&stream="+mStream+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Log.e("H5--半屏",url);
|
||||
mWebView.loadUrl(url);
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
@@ -348,7 +350,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
|
||||
return;
|
||||
}
|
||||
if (TextUtils.equals(roomId, event.getLiveId())) {
|
||||
ToastUtil.show(R.string.current_live_room);
|
||||
ToastUtil.show(mContext.getString(R.string.current_live_room));
|
||||
dismiss();
|
||||
} else {
|
||||
//看直播
|
||||
@@ -370,7 +372,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
|
||||
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&active=" + event.getData() + "&anchorUid=" + mLiveUid;
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&active=" + event.getData() + "&anchorUid=" + mLiveUid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.widget.RadioGroup;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
@@ -39,6 +40,7 @@ import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.AtTextWatcher;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
@@ -143,6 +145,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_enter", "用户输入文字");
|
||||
if (s.length() == 0) {
|
||||
mMyRadioButton.doChecked(false);
|
||||
} else {
|
||||
@@ -190,6 +193,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
ViewClicksAntiShake.clicksAntiShake(mRootView.findViewById(R.id.ai_te), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_at", "用户点聊天框上的艾特");
|
||||
Intent intent = new Intent(getActivity(), OlineListActivity.class);
|
||||
intent.putExtra("liveID", mLiveUid);
|
||||
intent.putExtra("stream", bundle.getString(Constants.LIVE_STREAM));
|
||||
@@ -211,6 +215,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_seed_msg", "用户点发送按钮");
|
||||
sendMessage();
|
||||
}
|
||||
|
||||
@@ -218,7 +223,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
private void sendMessage() {
|
||||
String content = mInput.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.cannot_be_empty);
|
||||
ToastUtil.show(mContext.getString(R.string.cannot_be_empty));
|
||||
return;
|
||||
}
|
||||
switch (messageType) {
|
||||
@@ -240,7 +245,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show(R.string.enough_speakers);
|
||||
ToastUtil.show(mContext.getString(R.string.enough_speakers));
|
||||
// dismiss();
|
||||
}
|
||||
|
||||
@@ -318,10 +323,12 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
mInput.setHint(mHint2);
|
||||
messageType = SendMessageType.GENERALMESSAGE;
|
||||
} else if (radioButton.getId() == R.id.btn_1) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_wind", "用户点输入框上飘屏按钮");
|
||||
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(popupScreenP, null, null, null);
|
||||
mInput.setHint(mHint1);
|
||||
messageType = SendMessageType.POPUPSCREEN;
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_trumpet", "用户点输入框上全站喇叭按钮");
|
||||
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(worldHornP, null, null, null);
|
||||
mInput.setHint(String.format(mContext.getString(R.string.whole_station_horn_hint), trumpetNum + ""));
|
||||
messageType = SendMessageType.WORLDHORN;
|
||||
@@ -378,7 +385,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ public class LiveLinkMicListDialogFragment extends AbsDialogFragment implements
|
||||
private void searchOnLineAnchor() {
|
||||
String key = mEditText.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(key)) {
|
||||
ToastUtil.show(R.string.content_empty);
|
||||
ToastUtil.show(mContext.getString(R.string.content_empty));
|
||||
return;
|
||||
}
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.LIVE_PK_SEARCH_ANCHOR);
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.app.ActionBar;
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
@@ -20,22 +21,23 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveUserGiftBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.http.API;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
import com.yunbao.common.manager.MicUserManager;
|
||||
import com.yunbao.common.manager.MicedUserManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.adapter.AnchorUserMicInfoAdapter;
|
||||
import com.yunbao.live.bean.LiveGuardInfo;
|
||||
import com.yunbao.common.bean.LiveUserGiftBean;
|
||||
import com.yunbao.common.bean.MicUserBean;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.utils.LiveImDeletUtil;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -57,19 +59,15 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
private AnchorUserMicInfoAdapter userMicInfoAdapter;
|
||||
private String mLiveUid;
|
||||
private String stream;
|
||||
private LiveGuardInfo mLiveGuardInfo;
|
||||
public static LiveActivity activity = null;
|
||||
public eightbitlab.com.blurview.BlurView blurView;
|
||||
|
||||
public TextView listMicbtn, requestMicBtn, inviteMicBtn, mDisconnectMic;
|
||||
private TextView mNoMoreDesc;
|
||||
private String Tips = "1";
|
||||
private String type = "guanzhong";
|
||||
View mOpenMicLayout, no_more;
|
||||
View mOpenMicBtn;
|
||||
private TreeMap<String, LinkMicUserBean> mMicQueueList = new TreeMap<>();
|
||||
private List<LiveUserGiftBean> mAudienceList = new ArrayList<>();
|
||||
private LiveImDeletUtil liveImDeletUtil;
|
||||
private OnMicListener micListener;
|
||||
|
||||
@Override
|
||||
@@ -96,9 +94,6 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
window.setAttributes(params);
|
||||
}
|
||||
|
||||
public void setLiveGuardInfo(LiveGuardInfo info) {
|
||||
mLiveGuardInfo = info;
|
||||
}
|
||||
|
||||
public void setMicQueueList(TreeMap<String, LinkMicUserBean> mMicQueueList) {
|
||||
this.mMicQueueList = mMicQueueList;
|
||||
@@ -141,8 +136,6 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
if (bundle == null) {
|
||||
return;
|
||||
}
|
||||
liveImDeletUtil = new LiveImDeletUtil();
|
||||
|
||||
mLiveUid = bundle.getString(Constants.LIVE_UID);
|
||||
stream = bundle.getString(Constants.STREAM);
|
||||
listMicbtn = mRootView.findViewById(R.id.audience_btn);
|
||||
@@ -151,36 +144,46 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
mOpenMicBtn = mRootView.findViewById(R.id.open_mic);
|
||||
mNoMoreDesc = mRootView.findViewById(R.id.no_more_desc);
|
||||
Tips = bundle.getString("By");
|
||||
|
||||
requestMicBtn = mRootView.findViewById(R.id.guard_btn);
|
||||
mDisconnectMic = mRootView.findViewById(R.id.apply_btn);
|
||||
inviteMicBtn = mRootView.findViewById(R.id.fans_btn);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
listMicbtn.setText("connection");
|
||||
requestMicBtn.setText("apply list");
|
||||
mDisconnectMic.setText("apply");
|
||||
inviteMicBtn.setText("invite");
|
||||
((TextView) mRootView.findViewById(R.id.title)).setText("Open the voice permission");
|
||||
((TextView) mRootView.findViewById(R.id.des)).setText("fan level 5 or above can apply for voice");
|
||||
}
|
||||
listMicbtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
return;
|
||||
}
|
||||
Tips = "1";
|
||||
//
|
||||
userMicInfoAdapter.clearData();
|
||||
Up();
|
||||
type = "guanzhong";
|
||||
mRefreshView.initData();
|
||||
|
||||
});
|
||||
requestMicBtn = mRootView.findViewById(R.id.guard_btn);
|
||||
requestMicBtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
return;
|
||||
}
|
||||
Tips = "2";
|
||||
Up();
|
||||
type = "guard";
|
||||
mRefreshView.initData();
|
||||
});
|
||||
inviteMicBtn = mRootView.findViewById(R.id.fans_btn);
|
||||
|
||||
inviteMicBtn.setVisibility(View.VISIBLE);
|
||||
inviteMicBtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
return;
|
||||
}
|
||||
Tips = "3";
|
||||
Up();
|
||||
type = "fans";
|
||||
|
||||
mRefreshView.initData();
|
||||
Up();
|
||||
});
|
||||
mOpenMicBtn.setOnClickListener(v -> {
|
||||
API.get().pdLiveApi(mContext)
|
||||
@@ -194,7 +197,7 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
mRefreshView.setVisibility(View.VISIBLE);
|
||||
mDisconnectMic.setVisibility(View.VISIBLE);
|
||||
MicStatusManager.getInstance().setAnchorOpenRoom(true);
|
||||
mRefreshView.initData();
|
||||
// mRefreshView.initData();
|
||||
}
|
||||
}, Throwable::printStackTrace)
|
||||
.isDisposed();
|
||||
@@ -202,17 +205,20 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
|
||||
mRefreshView = mRootView.findViewById(R.id.refreshView);
|
||||
view_no = mRootView.findViewById(R.id.view_no);
|
||||
mDisconnectMic = mRootView.findViewById(R.id.apply_btn);
|
||||
|
||||
mDisconnectMic.setBackgroundResource(R.drawable.background_eb6877);
|
||||
mDisconnectMic.setText(R.string.close_mic);
|
||||
mDisconnectMic.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
DialogUitl.showSimpleDialog(mContext, "是否確認關閉語音連麥", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh() ? "是否確認關閉語音連麥" : "Whether to disable the voice", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
MicStatusManager.getInstance().closeMic(mContext);
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
LiveMicAnchorDialogFragment.this.dismiss();
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -221,10 +227,11 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
userMicInfoAdapter.setLiveUid(mLiveUid);
|
||||
userMicInfoAdapter.setRefreshView(mRefreshView);
|
||||
Up();
|
||||
|
||||
mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<MicUserBean>() {
|
||||
mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<UserBean>() {
|
||||
@Override
|
||||
public RefreshAdapter<MicUserBean> getAdapter() {
|
||||
public RefreshAdapter<UserBean> getAdapter() {
|
||||
userMicInfoAdapter.notifyDataSetChanged();
|
||||
return userMicInfoAdapter;
|
||||
}
|
||||
@@ -232,70 +239,109 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
@Override
|
||||
public void loadData(int p, HttpCallback callback) {
|
||||
Log.e("tag111", p + "ssss");
|
||||
LiveHttpUtil.getMicList(mLiveUid, p, callback);
|
||||
LiveHttpUtil.getUserList(mLiveUid, stream, "guanzhong", p, callback);
|
||||
pg = p;
|
||||
if (p == 1) {
|
||||
no_more.setVisibility(View.VISIBLE);
|
||||
mRefreshView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MicUserBean> processData(String[] info) {
|
||||
public List<UserBean> processData(String[] info) {
|
||||
Log.e("tag222", Tips + "ssss" + MicStatusManager.getInstance().toString());
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
List<MicUserBean> data = new ArrayList<>();
|
||||
List<UserBean> data = new ArrayList<>();
|
||||
if (TextUtils.equals(Tips, "2")) {
|
||||
|
||||
if (Tips.equals("2")) {
|
||||
for (String uid : mMicQueueList.keySet()) {
|
||||
LinkMicUserBean userBean = mMicQueueList.get(uid);
|
||||
MicUserBean bean = new MicUserBean();
|
||||
bean.setAvatar(userBean.getAvatar());
|
||||
bean.setId(uid);
|
||||
bean.setUserNiceName(userBean.getUname());
|
||||
bean.setSex(userBean.getSex());
|
||||
bean.setDress_avatar(userBean.getDress_avatar());
|
||||
bean.setLevel(userBean.getLevel());
|
||||
bean.setType(AnchorUserMicInfoAdapter.TYPE_MIC_REQUEST);
|
||||
data.add(bean);
|
||||
}
|
||||
} else if ("3".equals(Tips)) {
|
||||
for (LiveUserGiftBean userBean : mAudienceList) {
|
||||
MicUserBean bean = new MicUserBean();
|
||||
bean.setAvatar(userBean.getAvatar());
|
||||
bean.setId(userBean.getId());
|
||||
bean.setUserNiceName(userBean.getUserNiceName());
|
||||
bean.setSex(userBean.getSex());
|
||||
bean.setDress_avatar(userBean.getDress().getAvatar_frame());
|
||||
bean.setLevel(userBean.getLevel());
|
||||
bean.setType(AnchorUserMicInfoAdapter.TYPE_MIC_INVITE);
|
||||
data.add(bean);
|
||||
}
|
||||
mRefreshView.setNotLoadMore();
|
||||
} else {
|
||||
data = JSON.parseArray(obj.getString("userlist"), MicUserBean.class);
|
||||
for (MicUserBean bean : data) {
|
||||
bean.setType(AnchorUserMicInfoAdapter.TYPE_MIC_LIST);
|
||||
}
|
||||
if (data.size() != 0) {
|
||||
data.remove(0);
|
||||
}
|
||||
}
|
||||
if (data.size() > 0 && pg == 1) {
|
||||
nums = 0;
|
||||
view_no.setVisibility(View.GONE);
|
||||
if (nums == 0) {
|
||||
view_no.setVisibility(View.VISIBLE);
|
||||
userMicInfoAdapter.clearData();
|
||||
data = MicUserManager.get().getMicUserList();
|
||||
|
||||
if (data.size() == 0) {
|
||||
no_more.setVisibility(View.VISIBLE);
|
||||
mRefreshView.setVisibility(View.GONE);
|
||||
|
||||
}else {
|
||||
mRefreshView.setVisibility(View.VISIBLE);
|
||||
no_more.setVisibility(View.GONE);
|
||||
}
|
||||
mRefreshView.mRecyclerView.getRecycledViewPool().setMaxRecycledViews(0, data.size());
|
||||
} else if (TextUtils.equals(Tips, "3")) {
|
||||
data = JSON.parseArray(obj.getString("userlist"), UserBean.class);
|
||||
for (UserBean bean : data) {
|
||||
bean.setTypeMic(AnchorUserMicInfoAdapter.TYPE_MIC_INVITE);
|
||||
for (UserBean model : MicedUserManager.get().getMicUserList()) {
|
||||
if (!bean.isMicList() && TextUtils.equals(bean.getId(), model.getId())) {
|
||||
bean.setMicList(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (pg == 1 && data.size() == 0) {
|
||||
no_more.setVisibility(View.VISIBLE);
|
||||
mRefreshView.setVisibility(View.GONE);
|
||||
}
|
||||
if (data.size() > 0 && pg == 1) {
|
||||
nums = 0;
|
||||
view_no.setVisibility(View.GONE);
|
||||
if (nums == 0) {
|
||||
view_no.setVisibility(View.VISIBLE);
|
||||
}
|
||||
mRefreshView.mRecyclerView.getRecycledViewPool().setMaxRecycledViews(0, data.size());
|
||||
mRefreshView.setVisibility(View.VISIBLE);
|
||||
no_more.setVisibility(View.GONE);
|
||||
}
|
||||
} else if (TextUtils.equals(Tips, "1")) {
|
||||
userMicInfoAdapter.clearData();
|
||||
data = MicedUserManager.get().getMicUserList();
|
||||
|
||||
if (data.size() == 0) {
|
||||
no_more.setVisibility(View.VISIBLE);
|
||||
mRefreshView.setVisibility(View.GONE);
|
||||
|
||||
}else {
|
||||
mRefreshView.setVisibility(View.VISIBLE);
|
||||
no_more.setVisibility(View.GONE);
|
||||
}
|
||||
mRefreshView.mRecyclerView.getRecycledViewPool().setMaxRecycledViews(0, data.size());
|
||||
mRefreshView.setVisibility(View.VISIBLE);
|
||||
no_more.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
// if (Tips.equals("2")) {
|
||||
// for (String uid : mMicQueueList.keySet()) {
|
||||
// LinkMicUserBean userBean = mMicQueueList.get(uid);
|
||||
// MicUserBean bean = new MicUserBean();
|
||||
// bean.setAvatar(userBean.getAvatar());
|
||||
// bean.setId(uid);
|
||||
// bean.setUserNiceName(userBean.getUname());
|
||||
// bean.setSex(userBean.getSex());
|
||||
// bean.setDress_avatar(userBean.getDress_avatar());
|
||||
// bean.setLevel(userBean.getLevel());
|
||||
// bean.setType(AnchorUserMicInfoAdapter.TYPE_MIC_REQUEST);
|
||||
// data.add(bean);
|
||||
// }
|
||||
// } else if ("3".equals(Tips)) {
|
||||
// for (LiveUserGiftBean userBean : mAudienceList) {
|
||||
// MicUserBean bean = new MicUserBean();
|
||||
// bean.setAvatar(userBean.getAvatar());
|
||||
// bean.setId(userBean.getId());
|
||||
// bean.setUserNiceName(userBean.getUserNiceName());
|
||||
// bean.setSex(userBean.getSex());
|
||||
// bean.setDress_avatar(userBean.getDress().getAvatar_frame());
|
||||
// bean.setLevel(userBean.getLevel());
|
||||
// bean.setType(AnchorUserMicInfoAdapter.TYPE_MIC_INVITE);
|
||||
// data.add(bean);
|
||||
// }
|
||||
// mRefreshView.setNotLoadMore();
|
||||
// } else {
|
||||
|
||||
// if (data.size() != 0) {
|
||||
// data.remove(0);
|
||||
// }
|
||||
// }
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshSuccess(List<MicUserBean> list, int listCount) {
|
||||
public void onRefreshSuccess(List<UserBean> list, int listCount) {
|
||||
|
||||
}
|
||||
|
||||
@@ -305,7 +351,7 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreSuccess(List<MicUserBean> loadItemList, int loadItemCount) {
|
||||
public void onLoadMoreSuccess(List<UserBean> loadItemList, int loadItemCount) {
|
||||
Log.e("tag333", "是" + nums);
|
||||
}
|
||||
|
||||
@@ -313,7 +359,9 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
public void onLoadMoreFailure() {
|
||||
}
|
||||
});
|
||||
|
||||
initData();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -323,7 +371,6 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
mLiveGuardInfo = null;
|
||||
LiveHttpUtil.cancel("getUserLists");
|
||||
super.onDestroy();
|
||||
}
|
||||
@@ -334,19 +381,22 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
requestMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
inviteMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
mNoMoreDesc.setText(R.string.no_more_mic);
|
||||
type = "guanzhong";
|
||||
} else if (Tips.equals("2")) {
|
||||
listMicbtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
requestMicBtn.setTextColor(Color.parseColor("#fff6f7fb"));
|
||||
inviteMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
mNoMoreDesc.setText("當前沒有人申請");
|
||||
type = "guard";
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mNoMoreDesc.setText("No one has applied at the moment");
|
||||
}
|
||||
} else if (Tips.equals("3")) {
|
||||
listMicbtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
requestMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
inviteMicBtn.setTextColor(Color.parseColor("#fff6f7fb"));
|
||||
mNoMoreDesc.setText("當前沒有觀眾");
|
||||
type = "fans";
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mNoMoreDesc.setText("No audience at the moment");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
||||
import android.app.ActionBar;
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
@@ -27,6 +28,7 @@ import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
@@ -149,23 +151,32 @@ public class LiveMicUserDialogFragment extends AbsDialogFragment implements View
|
||||
apply_btn = mRootView.findViewById(R.id.apply_btn);
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_DEFAULT) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_0fdab8);
|
||||
apply_btn.setText(R.string.apply_for_lianmai);
|
||||
apply_btn.setText(mContext.getString(R.string.apply_for_lianmai));
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_00a0e9);
|
||||
apply_btn.setText(R.string.cancel_application);
|
||||
apply_btn.setText(mContext.getString(R.string.cancel_application));
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_eb6877);
|
||||
apply_btn.setText(R.string.quit_mic);
|
||||
apply_btn.setText(mContext.getString(R.string.quit_mic));
|
||||
}
|
||||
apply_btn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_DEFAULT) {
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
}, new Runnable() {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}else{
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(permissions, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
@@ -267,8 +278,12 @@ public class LiveMicUserDialogFragment extends AbsDialogFragment implements View
|
||||
});
|
||||
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
String content="連麥中,退出將斷開語音連麥!";
|
||||
if(!WordUtil.isNewZh()){
|
||||
content="Connect, exit will disconnect voice connect!";
|
||||
}
|
||||
//退出连麦
|
||||
DialogUitl.showSimpleDialog(mContext, "連麥中,退出將斷開語音連麥!", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext,content , new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Log.e("ry", "退出112");
|
||||
|
||||
@@ -25,16 +25,21 @@ import android.widget.TextView;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.LiveAnchorSayModel;
|
||||
import com.yunbao.common.bean.CustomSidebarInfoModel;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.dialog.SudGameListPopup;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.LiveAnchorMessageCustomPopup;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.interfaces.LiveFunctionClickListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/9.
|
||||
*/
|
||||
@@ -121,13 +126,14 @@ public class LiveNewFunctionDialogFragment extends AbsDialogFragment implements
|
||||
findViewById(R.id.live_tool_call_me).setOnClickListener(this);
|
||||
findViewById(R.id.live_tool_anchor_say).setOnClickListener(this);
|
||||
findViewById(R.id.live_tool_qa).setOnClickListener(this);
|
||||
findViewById(R.id.live_tool_game).setOnClickListener(this);
|
||||
|
||||
if (leave == 0) {
|
||||
((ImageView) mLeaveView.findViewById(R.id.live_tool_leave_img)).setImageResource(R.mipmap.icon_leave);
|
||||
((TextView) mLeaveView.findViewById(R.id.live_tool_leave_text)).setText(R.string.live_zslk);
|
||||
((TextView) mLeaveView.findViewById(R.id.live_tool_leave_text)).setText(mContext.getString(R.string.live_zslk));
|
||||
} else {
|
||||
((ImageView) mLeaveView.findViewById(R.id.live_tool_leave_img)).setImageResource(R.mipmap.icon_leave_p);
|
||||
((TextView) mLeaveView.findViewById(R.id.live_tool_leave_text)).setText(R.string.live_zslk1);
|
||||
((TextView) mLeaveView.findViewById(R.id.live_tool_leave_text)).setText(mContext.getString(R.string.live_zslk1));
|
||||
}
|
||||
mLiveRoomHandler = new LiveRoomHandler();
|
||||
mLiveTimeTextView.setText(StringUtil.getDurationText(mAnchorLiveTime));
|
||||
@@ -164,7 +170,7 @@ public class LiveNewFunctionDialogFragment extends AbsDialogFragment implements
|
||||
mFunctionClickListener.onClick(LIVE_FUNC_CAMERA);
|
||||
} else if (id == R.id.live_tool_leave) {
|
||||
if (isPk) {
|
||||
ToastUtil.show("PK中禁止离开");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"PK中禁止离开":"Do not leave in PK");
|
||||
return;
|
||||
}
|
||||
mFunctionClickListener.onClick(LIVE_FUNC_ZSLK);
|
||||
@@ -202,6 +208,32 @@ public class LiveNewFunctionDialogFragment extends AbsDialogFragment implements
|
||||
-> mLiveRoomHandler.postDelayed(() -> ((LiveRyAnchorActivity) (mContext)).mLiveRoomViewHolder.initAnchorSayData(), 1000)).showDialog();
|
||||
} else if (id == R.id.live_tool_qa) {
|
||||
new LiveAnchorCreateQADialog(mContext).setLiveUid(liveUid).showDialog();
|
||||
} else if (id == R.id.live_tool_game) {
|
||||
LiveNetManager.get(mContext)
|
||||
.getCustomSidebarInfo("1", new HttpCallback<List<CustomSidebarInfoModel>>() {
|
||||
@Override
|
||||
public void onSuccess(List<CustomSidebarInfoModel> data) {
|
||||
for (CustomSidebarInfoModel datum : data) {
|
||||
if (datum.getType().equals("6")) {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.moveUpToKeyboard(false)
|
||||
// .dismissOnTouchOutside(false)
|
||||
// .dismissOnBackPressed(false)
|
||||
.asCustom(new SudGameListPopup(mContext, 0, datum.getChild(), liveUid))
|
||||
|
||||
.show();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
@@ -19,6 +21,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
@@ -30,10 +33,13 @@ import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -42,8 +48,6 @@ import com.yunbao.live.adapter.LiveNewGuardBuyItemsAdapter;
|
||||
import com.yunbao.live.bean.GuardBuyBean;
|
||||
import com.yunbao.live.bean.GuardRightBean;
|
||||
import com.yunbao.live.bean.LiveGuardInfo;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -141,7 +145,6 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
mBack = mRootView.findViewById(R.id.guard_back);
|
||||
relativeLayout = mRootView.findViewById(R.id.guard_relativeLayout);
|
||||
|
||||
//iconCover.setImageResource(R.drawable.guardian_img_wings);
|
||||
|
||||
mBtnBuy.setOnClickListener(this);
|
||||
submit.setOnClickListener(this);
|
||||
@@ -172,7 +175,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
mAncherIcon = bundle.getString(Constants.LIVE_ANCHER_ICON);
|
||||
mUserIcon = bundle.getString(Constants.USER_ICON);
|
||||
showBuyView = bundle.getBoolean("showBuyView", true);
|
||||
String coinName =mContext.getString(R.string.diamond);
|
||||
String coinName = mContext.getString(R.string.diamond);
|
||||
mCoinName = coinName;
|
||||
isEmpty = bundle.getBoolean("guard", true);
|
||||
// mCoinNameTextView.setText(mContext.getString(R.string.guard_my) + coinName + ":");
|
||||
@@ -197,13 +200,13 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
mGuardRightAdapter.setList(mRightList);
|
||||
buyItemsAdapter.notifyDataSetChanged();
|
||||
|
||||
if(bundle.getString("by")!=null){
|
||||
if (bundle.getString("by") != null) {
|
||||
// if(bundle.getString("by").equals("1")){
|
||||
// refreshList(Integer.parseInt(bundle.getString("by")));
|
||||
// }else {
|
||||
refreshList(Integer.parseInt(bundle.getString("by")));
|
||||
refreshList(Integer.parseInt(bundle.getString("by")));
|
||||
// }
|
||||
}else{
|
||||
} else {
|
||||
refreshList(1);
|
||||
}
|
||||
|
||||
@@ -222,7 +225,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
int guardType = mLiveGuardInfo.getMyGuardType();
|
||||
if (guardType == Constants.GUARD_TYPE_NONE) {
|
||||
if (isEmpty) {
|
||||
iconCover.setImageResource(R.drawable.guardian_img_wings);
|
||||
iconCover.setImageResource(R.mipmap.guardian_img_wings);
|
||||
userIconOne.setVisibility(View.GONE);
|
||||
userIconTwo.setVisibility(View.GONE);
|
||||
} else {
|
||||
@@ -233,9 +236,6 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
userIconTwo.setVisibility(View.VISIBLE);
|
||||
|
||||
}
|
||||
// iconCover.setBackgroundResource(R.drawable.guardian_img_wings);
|
||||
|
||||
|
||||
buy1.setVisibility(View.VISIBLE);
|
||||
buy2.setVisibility(View.GONE);
|
||||
} else {
|
||||
@@ -325,18 +325,18 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
}
|
||||
Log.d("ffffff", "" + mLiveGuardInfo.getMyGuardType() + " " + mTargetBuyBean.getType());
|
||||
if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_MONTH && mTargetBuyBean.getType() == Constants.GUARD_TYPE_DAY) {
|
||||
DialogUitl.showSimpleTipDialog(mContext,mContext.getString(R.string.guard_buy_tip));
|
||||
DialogUitl.showSimpleTipDialog(mContext, mContext.getString(R.string.guard_buy_tip));
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_YEAR && mTargetBuyBean.getType() == Constants.GUARD_TYPE_DAY) {
|
||||
DialogUitl.showSimpleTipDialog(mContext, "您為當前主播的年守護無法開通周守護");
|
||||
DialogUitl.showSimpleTipDialog(mContext, WordUtil.isNewZh() ? "您為當前主播的年守護無法開通周守護" : "Your annual guardian for the current anchor cannot be opened weekly guardian");
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_YEAR && mTargetBuyBean.getType() == Constants.GUARD_TYPE_MONTH) {
|
||||
DialogUitl.showSimpleTipDialog(mContext, "您為當前主播的年守護無法開通月守護");
|
||||
DialogUitl.showSimpleTipDialog(mContext, WordUtil.isNewZh() ? "您為當前主播的年守護無法開通月守護" : "The year guard for your current anchor cannot be opened");
|
||||
return;
|
||||
} else {
|
||||
if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_MONTH
|
||||
&& mTargetBuyBean.getType() == Constants.GUARD_TYPE_YEAR) {
|
||||
DialogUitl.showSimpleDialog(mContext,mContext.getString(R.string.guard_buy_tip_2), new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(R.string.guard_buy_tip_2), new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
doBuyGuard();
|
||||
@@ -345,7 +345,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_DAY
|
||||
&& mTargetBuyBean.getType() == Constants.GUARD_TYPE_MONTH) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您為當前主播的周守護,開通月守護將覆蓋您的周守護時長,是否開通?", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh() ? "您為當前主播的周守護,開通月守護將覆蓋您的周守護時長,是否開通?" : "You are the weekly guardian of the current anchor. Opening the monthly guardian will cover your weekly guardian time. Is it open?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
doBuyGuard();
|
||||
@@ -354,7 +354,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
return;
|
||||
} else if (mLiveGuardInfo.getMyGuardType() == Constants.GUARD_TYPE_DAY
|
||||
&& mTargetBuyBean.getType() == Constants.GUARD_TYPE_YEAR) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您為當前主播的周守護,開通年守護將覆蓋您的周守護時長,是否開通?", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh() ? "您為當前主播的周守護,開通年守護將覆蓋您的周守護時長,是否開通?" : "You are the weekly guardian of the current anchor, and the opening year guardian will cover your weekly guardian time. Is it open?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
doBuyGuard();
|
||||
@@ -417,7 +417,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
bean = datum;
|
||||
}
|
||||
}
|
||||
String str = String.format(mContext.getString(R.string.live_use_discount_content),
|
||||
String str = String.format(WordUtil.getNewString(R.string.live_use_discount_content),
|
||||
bean.getName(),
|
||||
"###",//占位符
|
||||
"###"
|
||||
@@ -462,7 +462,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
|
||||
private void buy() {
|
||||
DialogUitl.showSimpleDialog(mContext,
|
||||
String.format(mContext.getString(R.string.guard_buy_tip_3), mTargetBuyBean.getCoin(), mCoinName, mTargetBuyBean.getShopName(getContext())),
|
||||
String.format(WordUtil.isNewZh() ? "您將花費%1$s%2$s,為主播開通%3$s" : "You will spend%1$s%2$s to open%3$s for the anchor", mTargetBuyBean.getCoin() + "", mCoinName, mTargetBuyBean.getShopName(getContext())),
|
||||
new DialogUitl.SimpleCallback() {
|
||||
|
||||
@Override
|
||||
@@ -499,6 +499,20 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements
|
||||
}
|
||||
((LiveActivity) mContext).sendBuyGuardMessage2(votes, guardNum, guardType, ancherName, liveuid);
|
||||
dismiss();
|
||||
} else if (code == 1002) {
|
||||
DialogUitl.showSimpleDialog(mContext, msg, new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
dialog.dismiss();
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@ public class LiveNewGuardListDialogFragment extends AbsDialogFragment implements
|
||||
userLayout.setVisibility(View.INVISIBLE);
|
||||
}else {
|
||||
GuardUserBean bean = list.get(0);
|
||||
giftSvga.setImageResource(R.drawable.guardian_img_wings_p);
|
||||
giftSvga.setImageResource(R.mipmap.guardian_img_wings_p);
|
||||
ImgLoader.display(mContext, bean.getAvatar(), guardIcon);
|
||||
guardIcon.setVisibility(View.VISIBLE);
|
||||
userName.setText(bean.getUserNiceName());
|
||||
|
||||
@@ -64,13 +64,7 @@ public class LiveNewRoomClassDialogFragment extends AbsDialogFragment implements
|
||||
if (configBean != null) {
|
||||
List<LiveClassBean> list1 = configBean.getLiveClass();
|
||||
for (int i = 0; i < list1.size(); i++) {
|
||||
if (!list1.get(i).getName().equals("New") &&
|
||||
!list1.get(i).getName().equals("新秀") &&
|
||||
!list1.get(i).getName().equals("熱門") &&
|
||||
!list1.get(i).getName().equals("Hot") &&
|
||||
!list1.get(i).getName().equals("男神") &&
|
||||
!list1.get(i).getName().equals("Mr.Right")
|
||||
) {
|
||||
if(list1.get(i).getChannel_show()==1){
|
||||
list.add(list1.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,14 +12,12 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -81,15 +79,15 @@ public class LiveNewRoomTypeDialogFragment extends AbsDialogFragment implements
|
||||
pwd.setOnClickListener(view -> select(false));
|
||||
submit.setOnClickListener(view -> {
|
||||
if (isSelectPublic) {
|
||||
LiveRoomTypeBean bean = new LiveRoomTypeBean(0,mContext.getString(R.string.live_room_public));
|
||||
if(mCallback!=null) {
|
||||
LiveRoomTypeBean bean = new LiveRoomTypeBean(0, mContext.getString(R.string.live_room_public));
|
||||
if (mCallback != null) {
|
||||
mCallback.callback(bean);
|
||||
}
|
||||
} else {
|
||||
for (LiveRoomTypeBean bean : mList) {
|
||||
if (bean.getId() == Constants.LIVE_TYPE_PWD) {
|
||||
bean.setChecked(true);
|
||||
if(mCallback!=null) {
|
||||
if (mCallback != null) {
|
||||
mCallback.callback(bean);
|
||||
}
|
||||
break;
|
||||
@@ -103,9 +101,8 @@ public class LiveNewRoomTypeDialogFragment extends AbsDialogFragment implements
|
||||
|
||||
private void initData() {
|
||||
mList = new ArrayList<>();
|
||||
ConfigBean configBean = CommonAppConfig.getInstance().getConfig();
|
||||
Log.i("tag", configBean.toString());
|
||||
String[][] liveType = configBean.getLiveType();
|
||||
|
||||
String[][] liveType = CommonAppConfig.getInstance().getLiveType();
|
||||
if (liveType != null) {
|
||||
Log.i("tag", Arrays.toString(liveType));
|
||||
List<LiveRoomTypeBean> list = LiveRoomTypeBean.getLiveTypeList(liveType);
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAnchorActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -118,7 +119,7 @@ public class LiveNewWishListDialogFragment extends AbsDialogFragment implements
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
ToastUtil.show("修改成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
||||
dismiss();
|
||||
} else {
|
||||
ToastUtil.show("修改失败" + (msg.isEmpty() ? "" : msg));
|
||||
|
||||
@@ -31,12 +31,16 @@ import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -45,11 +49,10 @@ import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveReportActivity;
|
||||
import com.yunbao.live.bean.ImpressBean;
|
||||
import com.yunbao.live.custom.MyTextView;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
@@ -137,43 +140,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
DialogUitl.showSimpleDialog(mContext, "是否確認前往對方直播間?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
RongChatRoomClient.getInstance().quitChatRoom("g" + mLiveUid, new IRongCoreCallback.OperationCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.i("tx", "退出成功");
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
|
||||
}
|
||||
});
|
||||
V2TIMManager.getInstance().quitGroup("g" + mLiveUid, new V2TIMCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
Log.i("tx", "退出成功" + mLiveUid);
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String desc) {
|
||||
Log.i("tx", "退出失败");
|
||||
}
|
||||
});
|
||||
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -182,7 +149,11 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
if (liveBean == null) {
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -457,7 +428,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
}
|
||||
mFollowing = obj.getIntValue("isattention") == 1;
|
||||
if (mFollowText != null) {
|
||||
mFollowText.setText(mFollowing ?mContext.getString(R.string.following) :mContext.getString(R.string.follow));
|
||||
mFollowText.setText(mFollowing ? mContext.getString(R.string.following) : mContext.getString(R.string.follow));
|
||||
}
|
||||
if (mFollowImage != null) {
|
||||
mFollowImage.setImageDrawable(mFollowing ? mFollowDrawable : mUnFollowDrawable);
|
||||
@@ -570,7 +541,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
}
|
||||
if (isAttention == 1 && mLiveUid.equals(mToUid)) {//关注了主播
|
||||
((LiveActivity) mContext).sendSystemMessage(
|
||||
CommonAppConfig.getInstance().getUserBean().getUserNiceName() +mContext.getString(R.string.live_follow_anchor));
|
||||
CommonAppConfig.getInstance().getUserBean().getUserNiceName() + mContext.getString(R.string.live_follow_anchor));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
@@ -15,7 +14,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.PrankTurntableBean;
|
||||
@@ -23,15 +21,18 @@ import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.LivePrankRecyclerAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class LivePrankDialogFragment extends AbsDialogFragment implements View.OnClickListener {
|
||||
private TabLayout mTabLayout;
|
||||
@@ -96,6 +97,11 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mPrankRecyclerView.setAdapter(recyclerAdapter);
|
||||
mCoinTextView.setOnClickListener(this);
|
||||
mTurntableConfigImageView.setOnClickListener(this);
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
mPrankBtn.setText("保存設置");
|
||||
} else {
|
||||
mPrankBtn.setText("Save Settings");
|
||||
}
|
||||
recyclerAdapter.setOnItemClickListener(new OnItemClickListener<String>() {
|
||||
@Override
|
||||
public void onItemClick(String bean, int position) {
|
||||
@@ -138,10 +144,17 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mPrankBtn.setOnClickListener(view -> {
|
||||
if ((int) view.getTag() == 1) {
|
||||
if (giftBeans != null && giftBeans.size() >= 20) {
|
||||
ToastUtil.show("可添加禮物數量達到上限");
|
||||
|
||||
if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ToastUtil.show("可添加禮物數量達到上限");
|
||||
}else {
|
||||
ToastUtil.show("The maximum number of gifts that can be added has been ");
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
GiftPopDialog dialog = new GiftPopDialog(mContext, new GiftPopDialog.ActionListener() {
|
||||
GiftPopDialog dialog = new GiftPopDialog(mContext, new GiftPopDialog.ActionListener() {
|
||||
|
||||
@Override
|
||||
public void onSelectGift(PrankGiftBean bean) {
|
||||
@@ -167,8 +180,14 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
private void initTab() {
|
||||
TabLayout.Tab turntable = mTabLayout.newTab();
|
||||
TabLayout.Tab gift = mTabLayout.newTab();
|
||||
turntable.setText("轉盤整蠱");
|
||||
gift.setText("禮物整蠱");
|
||||
if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
turntable.setText("轉盤整蠱");
|
||||
gift.setText("禮物整蠱");
|
||||
}else {
|
||||
turntable.setText("Turntable prank");
|
||||
gift.setText("Gift prank");
|
||||
}
|
||||
|
||||
turntable.setTag(0);
|
||||
gift.setTag(1);
|
||||
mTabLayout.addTab(turntable);
|
||||
@@ -185,14 +204,24 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mGiftNotDate.setVisibility(View.GONE);
|
||||
recyclerAdapter.setViewType(LivePrankRecyclerAdapter.TYPE_TURNTABLE);
|
||||
mPrankBtn.setBackgroundResource(R.drawable.bg_live_prank_turntable_save);
|
||||
mPrankBtn.setText("保存設置");
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
mPrankBtn.setText("保存設置");
|
||||
} else {
|
||||
mPrankBtn.setText("Save Settings");
|
||||
}
|
||||
|
||||
mPrankBtn.setTag(0);
|
||||
recyclerAdapter.clearList();
|
||||
initTurntableData();
|
||||
} else {
|
||||
mTurntableConfigLayout.setVisibility(View.GONE);
|
||||
mPrankBtn.setBackgroundResource(R.drawable.bg_live_prank_gift_set);
|
||||
mPrankBtn.setText("添加禮物");
|
||||
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
mPrankBtn.setText("添加禮物");
|
||||
} else {
|
||||
mPrankBtn.setText("Add gift");
|
||||
}
|
||||
mPrankBtn.setTag(1);
|
||||
recyclerAdapter.clearList();
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
@@ -217,7 +246,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
@Override
|
||||
public void onSuccess(PrankHttpTurntableBean data) {
|
||||
setDate(data);
|
||||
mCoinTextView.setText(data.getCoin()+"");
|
||||
mCoinTextView.setText(data.getCoin() + "");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -260,7 +289,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show( R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -296,8 +325,13 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
}
|
||||
|
||||
private void setPrankConfig() {
|
||||
if(StringUtil.isEmpty(bean.getTurntable1(),bean.getTurntable2(), bean.getTurntable3(),bean.getTurntable4(),bean.getTurntable5(),bean.getTurntable6())){
|
||||
ToastUtil.show("保存失败:所有转盘位置必填" );
|
||||
if (StringUtil.isEmpty(bean.getTurntable1(), bean.getTurntable2(), bean.getTurntable3(), bean.getTurntable4(), bean.getTurntable5(), bean.getTurntable6())) {
|
||||
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ToastUtil.show("保存失败:所有转盘位置必填");
|
||||
} else {
|
||||
ToastUtil.show("Save failed: all turntable positions must be filled in");
|
||||
}
|
||||
return;
|
||||
}
|
||||
LiveNetManager.get(mContext).setAnchorPrankTurntable(
|
||||
@@ -313,12 +347,21 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
new HttpCallback<Object>() {
|
||||
@Override
|
||||
public void onSuccess(Object data) {
|
||||
ToastUtil.show("保存成功");
|
||||
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ToastUtil.show("保存成功");
|
||||
} else {
|
||||
ToastUtil.show("Save success");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show("保存失败:" + error);
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ToastUtil.show("保存失败:" + error);
|
||||
} else {
|
||||
ToastUtil.show("Save failed" + error);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -335,23 +378,44 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mTurntableConfigImageView.setImageResource(R.mipmap.special_icon_off);
|
||||
}
|
||||
} else if (id == R.id.switch2_btn) {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "請輸入數量", DialogUitl.INPUT_TYPE_NUMBER, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
try {
|
||||
int coin = Integer.parseInt(content);
|
||||
if (coin < 1000) {
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "請輸入數量", DialogUitl.INPUT_TYPE_NUMBER, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
try {
|
||||
int coin = Integer.parseInt(content);
|
||||
if (coin < 1000) {
|
||||
ToastUtil.show("最少1000鑽石");
|
||||
return;
|
||||
}
|
||||
setCoin(Long.parseLong(content));
|
||||
dialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtil.show("最少1000鑽石");
|
||||
return;
|
||||
}
|
||||
setCoin(Long.parseLong(content));
|
||||
dialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtil.show("最少1000鑽石");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
DialogUitl.showSimpleInputDialog(mContext, "Please enter the quantity", DialogUitl.INPUT_TYPE_NUMBER, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
try {
|
||||
int coin = Integer.parseInt(content);
|
||||
if (coin < 1000) {
|
||||
ToastUtil.show("Minimum requirement of 1000 diamonds");
|
||||
return;
|
||||
}
|
||||
setCoin(Long.parseLong(content));
|
||||
dialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ToastUtil.show("Minimum requirement of 1000 diamonds");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,11 +223,11 @@ public class LiveRedPackSendDialogFragment extends AbsDialogFragment implements
|
||||
count = mEditCountPj.getText().toString().trim();
|
||||
}
|
||||
if (TextUtils.isEmpty(coin)) {
|
||||
ToastUtil.show(R.string.red_pack_7);
|
||||
ToastUtil.show(mContext.getString(R.string.red_pack_7));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(count)) {
|
||||
ToastUtil.show(R.string.red_pack_8);
|
||||
ToastUtil.show(mContext.getString(R.string.red_pack_8));
|
||||
return;
|
||||
}
|
||||
String title = mEditTitle.getText().toString().trim();
|
||||
|
||||
@@ -174,7 +174,7 @@ public class LiveTaskDialog extends AbsDialogPopupWindow {
|
||||
if (loadDialog != null) {
|
||||
loadDialog.dismiss();
|
||||
}
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ public class LiveTotalDialog extends AbsDialogFragment {
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show( R.string.net_error);
|
||||
ToastUtil.show( mContext.getString(R.string.net_error));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.JsWishBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.views.WishlistWebViewHolder;
|
||||
@@ -64,7 +65,7 @@ public class LiveTrickeryDialogFragment4Audience extends AbsDialogFragment {
|
||||
if (mWishWebViewHolder == null) {
|
||||
String url= CommonAppConfig.HOST + "/index.php?g=Appapi&m=Turntable&a=prank";
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchor_id="+mLiveUid;
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchor_id="+mLiveUid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Log.i("tag",url);
|
||||
mWishWebViewHolder = new WishlistWebViewHolder(mContext, rlWebview, url);
|
||||
mWishWebViewHolder.subscribeActivityLifeCycle();
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.tencent.imsdk.v2.V2TIMCallback;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.FansModel;
|
||||
@@ -32,14 +33,17 @@ import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.OlineUserlistModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.NobleUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
@@ -52,9 +56,6 @@ import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveReportActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -249,7 +250,18 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
mLvVal = mRootView.findViewById(R.id.user_card_lv_val);
|
||||
mNobleIconLayout.setOnClickListener(this);
|
||||
mSetting.setOnClickListener(this);
|
||||
mHonorLayout.setOnClickListener(v -> forwardHomePage());
|
||||
mHonorLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (!isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_honor", "荣誉墙按钮");
|
||||
} else {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_honor", "主播荣誉墙");
|
||||
}
|
||||
forwardHomePage();
|
||||
}
|
||||
});
|
||||
|
||||
//用户名片连点三次粉丝弹出视频debug窗
|
||||
/*mFansVal.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -610,6 +622,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
* 跳转到个人主页
|
||||
*/
|
||||
private void forwardHomePage() {
|
||||
|
||||
dismiss();
|
||||
Constants.mStream = mStream;
|
||||
RouteUtil.forwardUserHome(mContext, mToUid, true, mLiveUid, 0);
|
||||
@@ -627,44 +640,8 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(R.string.party_studio), new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
LiveUserDialogFragment.this.dismiss();
|
||||
RongChatRoomClient.getInstance().quitChatRoom("g" + mLiveUid, new IRongCoreCallback.OperationCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.i("tx", "退出成功");
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
|
||||
}
|
||||
});
|
||||
V2TIMManager.getInstance().quitGroup("g" + mLiveUid, new V2TIMCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
Log.i("tx", "退出成功" + mLiveUid);
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String desc) {
|
||||
Log.i("tx", "退出失败");
|
||||
}
|
||||
});
|
||||
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -681,6 +658,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -702,14 +680,30 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
public void onClick(View v) {
|
||||
int i = v.getId();
|
||||
if (i == R.id.btn_follow) {
|
||||
if (isAnchor) {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_follow", "点关注主播");
|
||||
} else {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_follow", "点关注用户");
|
||||
}
|
||||
setAttention();
|
||||
} else if (i == R.id.btn_home_page) {
|
||||
if (isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_index", "点主播主页");
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_index", "主页按钮");
|
||||
}
|
||||
forwardHomePage();
|
||||
} else if (i == R.id.btn_report) {
|
||||
report();
|
||||
} else if (i == R.id.avatar) {
|
||||
if (isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_btn", "点主播头像");
|
||||
}
|
||||
forwardHomePage();
|
||||
} else if (i == R.id.btn_guard) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_guard", "守护按钮");
|
||||
((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveRyAnchorActivity, mToUid);
|
||||
} else if (i == R.id.btn_live) {
|
||||
gotoLive(mToUid);
|
||||
@@ -718,6 +712,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
dismiss();
|
||||
((LiveActivity) mContext).openFansWindow(mToUid);
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_noble", "贵族按钮");
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.NOBLE));
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAnchorActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -117,7 +118,7 @@ public class LiveWishListDialogFragment extends AbsDialogFragment implements OnI
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
ToastUtil.show("修改成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
||||
dismiss();
|
||||
} else {
|
||||
ToastUtil.show("修改失败" + (msg.isEmpty() ? "" : msg));
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
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;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.ZhuangBanActivity;
|
||||
@@ -110,7 +111,8 @@ public class MedalAchievementPopup extends BottomPopupView {
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
.append("&uid=")
|
||||
.append(userInfo.getId());
|
||||
.append(userInfo.getId()) .append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(getContext(), htmlUrl.toString(), false,0);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yunbao.live.dialog;
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -162,15 +163,21 @@ public class PDLIiveChatConversationFragment extends AbsDialogFragment implement
|
||||
|
||||
//intoIndex 1=调用相机,2=照片选取,3=视频选取
|
||||
public void jumpPic(int intoIndex) {
|
||||
String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
}
|
||||
//选择图片
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
startActivity(intoIndex);
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{permission1,
|
||||
permission2}, PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.manager.RandomPkManager;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -196,7 +197,7 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -223,7 +224,13 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
if (data.getCode() == 0) {
|
||||
setSwitchBtn(!(boolean) mRandomPkSwitch.getTag());
|
||||
} else if (data.getCode() == 500) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您因拒绝随机PK,被限制关闭中", "随机PK可打开时间:" + data.getMsg(), false, new DialogUitl.SimpleCallback() {
|
||||
String title="您因拒絕隨機PK,被限制關閉中";
|
||||
String content="隨機PK可打開時間:";
|
||||
if(!WordUtil.isNewZh()){
|
||||
title="You are restricted for refusing random PK";
|
||||
content="Random PK can open time:";
|
||||
}
|
||||
DialogUitl.showSimpleDialog(mContext,title , content + data.getMsg(), false, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
dialog.dismiss();
|
||||
@@ -248,7 +255,12 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
*/
|
||||
private void randomPk() {
|
||||
if (mRandomPkSwitch.getTag() == null || !(boolean) mRandomPkSwitch.getTag()) {
|
||||
ToastUtil.show("未开启随机PK开关");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("未開啟隨機PK開關");
|
||||
} else {
|
||||
ToastUtil.show("The random PK switch is not enabled");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
if ((mPkBtn.getTag() != null && (boolean) mPkBtn.getTag()) || RandomPkManager.getInstance().isRequestPk()) {
|
||||
@@ -267,7 +279,11 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
mPkBtn.setTag(true);
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show("請先關閉語言連麥");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.TimeUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.CircleProgress;
|
||||
import com.yunbao.common.views.weight.ClipPathCircleImage;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -46,10 +47,13 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
private ImageView isAttention;
|
||||
private RedPacketInfoModel redPacketInfoModel;
|
||||
private boolean isSuperJackpot;
|
||||
private boolean isFans = false;
|
||||
|
||||
public ReceiveRendPacketPopup(@NonNull Context context, int time, String mLiveUid, String stream,
|
||||
String redPacketId, RedPacketInfoModel redPacketInfoModel,
|
||||
boolean isSuperJackpot) {
|
||||
boolean isSuperJackpot,
|
||||
boolean isFans
|
||||
) {
|
||||
|
||||
super(context);
|
||||
this.time = time;
|
||||
@@ -58,7 +62,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
this.redPacketId = redPacketId;
|
||||
this.redPacketInfoModel = redPacketInfoModel;
|
||||
this.isSuperJackpot = isSuperJackpot;
|
||||
|
||||
this.isFans = isFans;
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局离开
|
||||
@@ -95,6 +99,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
}
|
||||
|
||||
userID = redPacketInfoModel.getUserId();
|
||||
|
||||
}
|
||||
|
||||
private Handler timeHandler = new Handler();
|
||||
@@ -102,7 +107,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
private Runnable timeRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (time > 0) {
|
||||
if (time > 1) {
|
||||
circleProgress.setCurrent(time--);
|
||||
timeHandler.postDelayed(timeRunnable, 1000);
|
||||
String countdown = TimeUtils.getTime(time);
|
||||
@@ -149,6 +154,11 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
redPacketTimeLayout.setVisibility(GONE);
|
||||
redPacketOpen.setVisibility(VISIBLE);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(redPacketTimeLayout, () -> {
|
||||
if (!isFans && redPacketInfoModel.getIsFans()) {
|
||||
ToastUtil.show(getContext().getString(R.string.live_rad_pack_join_fans_group_click_tip));
|
||||
}
|
||||
});
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.red_packet_open), () -> {
|
||||
if (isSuperJackpot) {
|
||||
@@ -179,6 +189,10 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (!isFans && redPacketInfoModel.getIsFans()) {
|
||||
ToastUtil.show(getContext().getString(R.string.live_rad_pack_join_fans_group_click_tip));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.equals(redPacketInfoModel.getConditions(), "1") && LiveAudienceActivity.isattention == 0) {
|
||||
LiveRoomViewHolder.follow();
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ public class ResultRendPacketPopup extends CenterPopupView {
|
||||
}
|
||||
|
||||
} else {
|
||||
ToastUtil.show(R.string.no_data);
|
||||
ToastUtil.show(getContext().getString(R.string.no_data));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -16,6 +16,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -24,7 +25,7 @@ import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class SendRendPacketPopup extends CenterPopupView {
|
||||
private Button thereIsNo, followingAnchor;
|
||||
private Button thereIsNo, followingAnchor, joinFansGroup;
|
||||
private TextView redEnvelopeRill, totalConsumptionOfDrill;
|
||||
private TextView rill, total;
|
||||
private FrameLayout redPacketIllustrate;
|
||||
@@ -58,6 +59,7 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
redPacketIllustrate = findViewById(R.id.red_packet_illustrate);
|
||||
illustrateClose = findViewById(R.id.illustrate_close);
|
||||
iconInstructions = findViewById(R.id.icon_instructions);
|
||||
joinFansGroup = findViewById(R.id.fans_group);
|
||||
rill = findViewById(R.id.rill);
|
||||
total = findViewById(R.id.total);
|
||||
selectText(thereIsNo, true);
|
||||
@@ -65,13 +67,21 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
ViewClicksAntiShake.clicksAntiShake(thereIsNo, () -> {
|
||||
selectText(thereIsNo, true);
|
||||
selectText(followingAnchor, false);
|
||||
selectText(joinFansGroup, false);
|
||||
conditions = "0";
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(followingAnchor, () -> {
|
||||
selectText(thereIsNo, false);
|
||||
selectText(joinFansGroup, false);
|
||||
selectText(followingAnchor, true);
|
||||
conditions = "1";
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(joinFansGroup, () -> {
|
||||
selectText(thereIsNo, false);
|
||||
selectText(joinFansGroup, true);
|
||||
selectText(followingAnchor, false);
|
||||
conditions = "0";
|
||||
});
|
||||
redEnvelopeRill.setText(String.format(getContext().getString(R.string.red_envelope_rill), "0"));
|
||||
totalConsumptionOfDrill.setText(String.format(getContext().getString(R.string.total_consumption_of_drill), "0"));
|
||||
rill.addTextChangedListener(new TextWatcher() {
|
||||
@@ -156,7 +166,13 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
//红包初始数量
|
||||
rill.setText("200");
|
||||
total.setText("10");
|
||||
ViewClicksAntiShake.clicksAntiShake(iconInstructions, () -> redPacketIllustrate.setVisibility(VISIBLE));
|
||||
ViewClicksAntiShake.clicksAntiShake(iconInstructions, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(getContext(), "gif_list_redpk_info", "用户点开礼物列表红包页面的红包说明");
|
||||
redPacketIllustrate.setVisibility(VISIBLE);
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(illustrateClose, () -> redPacketIllustrate.setVisibility(GONE));
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.top_up_now), () -> {
|
||||
//我们的
|
||||
@@ -198,9 +214,13 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
.createRedPacket(mLiveID,
|
||||
rillNumber,
|
||||
number,
|
||||
conditions, new HttpCallback<String>() {
|
||||
conditions,
|
||||
joinFansGroup.getTag() != null && (boolean) joinFansGroup.getTag(),
|
||||
new HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
|
||||
MobclickAgent.onEvent(getContext(), "gif_list_redpk_seed", "用户发送红包");
|
||||
ToastUtil.show(getContext().getString(R.string.red_envelope_released_successfully));
|
||||
dismiss();
|
||||
}
|
||||
@@ -214,10 +234,10 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
|
||||
}
|
||||
});
|
||||
if(WordUtil.isNewZh()){
|
||||
((ImageView)findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_zh);
|
||||
}else{
|
||||
((ImageView)findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_en);
|
||||
if (WordUtil.isNewZh()) {
|
||||
((ImageView) findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_zh);
|
||||
} else {
|
||||
((ImageView) findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_en);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,8 +245,10 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
textView.setSelected(select);
|
||||
if (select) {
|
||||
textView.setTextColor(Color.parseColor("#E12801"));
|
||||
textView.setTag(true);
|
||||
} else {
|
||||
textView.setTextColor(Color.parseColor("#FDD04A"));
|
||||
textView.setTag(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,11 +5,13 @@ import com.yunbao.common.bean.ActiveModel;
|
||||
import com.yunbao.common.bean.AiAutomaticSpeechModel;
|
||||
import com.yunbao.common.bean.AnchorRecommendItemModel;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.MsgModel;
|
||||
import com.yunbao.common.bean.OlineUserlistModel;
|
||||
import com.yunbao.common.bean.RedPacketInfoModel;
|
||||
import com.yunbao.common.bean.RedPacketModel;
|
||||
import com.yunbao.common.bean.SudGameDateModel;
|
||||
import com.yunbao.common.bean.WishModel;
|
||||
import com.yunbao.common.bean.XydCompleteModel;
|
||||
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||
@@ -54,8 +56,27 @@ public class LiveAudienceEvent extends BaseModel {
|
||||
private String mWishGiftId;
|
||||
private boolean isContactGift;
|
||||
private boolean isPk;
|
||||
public String mStream;
|
||||
public String mLiveUid,giftId;
|
||||
public String mStream;
|
||||
public String mLiveUid, giftId;
|
||||
public SudGameDateModel createSudRoomModel;
|
||||
|
||||
public SudGameDateModel getCreateSudRoomModel() {
|
||||
return createSudRoomModel;
|
||||
}
|
||||
|
||||
public LiveAudienceEvent setCreateSudRoomModel(SudGameDateModel createSudRoomModel) {
|
||||
this.createSudRoomModel = createSudRoomModel;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isContactGift() {
|
||||
return isContactGift;
|
||||
}
|
||||
|
||||
public LiveAudienceEvent setContactGift(boolean contactGift) {
|
||||
isContactGift = contactGift;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGiftId() {
|
||||
return giftId;
|
||||
@@ -463,9 +484,10 @@ public class LiveAudienceEvent extends BaseModel {
|
||||
RED_PACKET(69, "RedPacket"),
|
||||
RED_PACKET_SUPER_JACKPOT(70, "超级红包"),
|
||||
INPUT_DIALOG(71, "输入框"),
|
||||
IS_ATTENTION(72,"是否关注主播"),
|
||||
GIFT_WALL(73,"礼物墙"),
|
||||
UPDATE_FANS_TASK_STATUS(74,"更新粉丝任务状态");
|
||||
IS_ATTENTION(72, "是否关注主播"),
|
||||
GIFT_WALL(73, "礼物墙"),
|
||||
UPDATE_FANS_TASK_STATUS(74, "更新粉丝任务状态"),
|
||||
SUD_GAME_CREATE_ROOM(75, "主播创建sud游戏");
|
||||
|
||||
private int type;
|
||||
private String name;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yunbao.live.event;
|
||||
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
|
||||
public class LiveGiftItemRefreshEvent extends BaseModel {
|
||||
private LiveGiftBean liveGiftModel;
|
||||
|
||||
public LiveGiftBean getLiveGiftModel() {
|
||||
return liveGiftModel;
|
||||
}
|
||||
|
||||
public LiveGiftItemRefreshEvent setLiveGiftModel(LiveGiftBean liveGiftModel) {
|
||||
this.liveGiftModel = liveGiftModel;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -255,7 +255,7 @@ public class LiveMusicDialogFragment extends AbsDialogFragment implements View.O
|
||||
});
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(R.string.music_url_empty);
|
||||
ToastUtil.show(mContext.getString(R.string.music_url_empty));
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
|
||||
@@ -53,6 +53,7 @@ import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
|
||||
import com.yunbao.live.bean.LiveLuckGiftWinBean;
|
||||
@@ -403,7 +404,7 @@ public class LiveGiftAnimPresenter {
|
||||
String uid = mTempGifGiftBean.getUid();
|
||||
String userId = CommonAppConfig.getInstance().getUid();
|
||||
if (userId.equals(uid)) {
|
||||
ToastUtil.show("已在当前直播间");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"已在当前直播间":"Already in the current studio");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
playUrl = mPlayUrl;
|
||||
}
|
||||
SocketLinkMicAnchorUtil.linkMicAnchorApply(mSocketClient, playUrl, stream, pkUid);
|
||||
ToastUtil.show(R.string.link_mic_apply);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -198,7 +198,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
}
|
||||
if (mAcceptLinkMic) {
|
||||
if (((LiveActivity) mContext).isGamePlaying()) {
|
||||
ToastUtil.show(R.string.live_game_cannot_link_mic);
|
||||
ToastUtil.show(mContext.getString(R.string.live_game_cannot_link_mic));
|
||||
SocketLinkMicAnchorUtil.linkMicPlayGaming(mSocketClient, mApplyUid);
|
||||
} else {
|
||||
LiveHttpUtil.livePkCheckLive(mApplyUid, mApplyStream, mSelfStream, new HttpCallback() {
|
||||
@@ -330,7 +330,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
mLiveLinkMicPlayViewHolder.addToParent();
|
||||
mLiveLinkMicPlayViewHolder.play(playUrl);
|
||||
if (mIsAnchor) {
|
||||
ToastUtil.show(R.string.link_mic_anchor_accept_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_accept_2));
|
||||
((LiveAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
if (mLiveSdk == Constants.LIVE_SDK_TX) {
|
||||
//主播混流
|
||||
@@ -376,7 +376,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
mApplyUid = null;
|
||||
mApplyStream = null;
|
||||
mPkUid = null;
|
||||
ToastUtil.show(R.string.link_mic_anchor_close);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_close));
|
||||
if (mIsAnchor) {
|
||||
((LiveAnchorActivity) mContext).setPkBtnVisible(false);
|
||||
if (mLiveSdk == Constants.LIVE_SDK_TX) {
|
||||
@@ -390,7 +390,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onLinkMicAnchorRefuse() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_refuse_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_refuse_2));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -398,7 +398,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onLinkMicNotResponse() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_anchor_not_response_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_not_response_2));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -406,7 +406,7 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onLinkMicAnchorBusy() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_anchor_busy_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_busy_2));
|
||||
}
|
||||
|
||||
public void pause() {
|
||||
@@ -442,15 +442,15 @@ public class LiveLinkMicAnchorPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public boolean canOpenLinkMicAnchor() {
|
||||
if (((LiveActivity) mContext).isGamePlaying()) {
|
||||
ToastUtil.show(R.string.live_game_cannot_link_mic);
|
||||
ToastUtil.show(mContext.getString(R.string.live_game_cannot_link_mic));
|
||||
return false;
|
||||
}
|
||||
if (mIsLinkMic || ((LiveActivity) mContext).isLinkMic()) {
|
||||
ToastUtil.show(mIsAnchor ? R.string.live_link_mic_cannot_link_2 : R.string.live_link_mic_cannot_link);
|
||||
ToastUtil.show(mIsAnchor ? mContext.getString(R.string.live_link_mic_cannot_link_2) : mContext.getString(R.string.live_link_mic_cannot_link));
|
||||
return false;
|
||||
}
|
||||
if (System.currentTimeMillis() - mLastApplyLinkMicTime < 11000) {
|
||||
ToastUtil.show(R.string.link_mic_apply_waiting);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_waiting));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -320,16 +320,16 @@ public class LiveLinkMicPkPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void applyLinkMicPk(String pkUid, String stream) {
|
||||
if (mPkSend) {
|
||||
ToastUtil.show(R.string.link_mic_apply_waiting);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_waiting));
|
||||
return;
|
||||
}
|
||||
if (mIsPk) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_pk));
|
||||
return;
|
||||
}
|
||||
mPkSend = true;
|
||||
SocketLinkMicPkUtil.linkMicPkApply(mSocketClient, pkUid, stream);
|
||||
ToastUtil.show(R.string.link_mic_apply_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_pk));
|
||||
|
||||
if (mLiveLinkMicPkViewHolder == null) {
|
||||
mLiveLinkMicPkViewHolder = new LiveLinkMicPkViewHolder(mContext, mPkContainer);
|
||||
@@ -1119,7 +1119,7 @@ public class LiveLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_refuse_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_refuse_pk));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1130,7 +1130,7 @@ public class LiveLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_anchor_not_response_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_not_response_2));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1141,7 +1141,7 @@ public class LiveLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_anchor_busy_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_busy_2));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -253,11 +254,11 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
public void onAnchorAcceptLinkMic() {
|
||||
if (!mIsAnchor) {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_anchor_accept);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_accept));
|
||||
mIsLinkMic = true;
|
||||
mLinkMicUid = CommonAppConfig.getInstance().getUid();
|
||||
if (mLinkMicTip != null) {
|
||||
mLinkMicTip.setText(R.string.live_link_mic_3);
|
||||
mLinkMicTip.setText(mContext.getString(R.string.live_link_mic_3));
|
||||
}
|
||||
LiveHttpUtil.getLinkMicStream(new HttpCallback() {
|
||||
@Override
|
||||
@@ -303,7 +304,7 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onAnchorRefuseLinkMic() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_refuse);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_refuse));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -410,7 +411,7 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onAnchorNotResponse() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_anchor_not_response);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_not_response));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -418,7 +419,7 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void onAnchorBusy() {
|
||||
mLastApplyLinkMicTime = 0;
|
||||
ToastUtil.show(R.string.link_mic_anchor_busy);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_busy));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -508,11 +509,11 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
|
||||
private void onLinkMicBtnClick() {
|
||||
if (((LiveActivity) mContext).isGamePlaying()) {
|
||||
ToastUtil.show(R.string.live_game_cannot_link_mic);
|
||||
ToastUtil.show(mContext.getString(R.string.live_game_cannot_link_mic));
|
||||
return;
|
||||
}
|
||||
if (((LiveActivity) mContext).isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_link);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_link));
|
||||
return;
|
||||
}
|
||||
if (mIsLinkMic) {
|
||||
@@ -579,7 +580,7 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
private void audienceApplyLinkMic() {
|
||||
long curTime = System.currentTimeMillis();
|
||||
if (curTime - mLastApplyLinkMicTime < 11000) {//时间间隔11秒
|
||||
ToastUtil.show(R.string.link_mic_apply_waiting);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_waiting));
|
||||
} else {
|
||||
mLastApplyLinkMicTime = curTime;
|
||||
//请求权限
|
||||
@@ -587,16 +588,26 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
if (processResultUtil == null) {
|
||||
return;
|
||||
}
|
||||
processResultUtil.requestPermissions(new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
}, new Runnable() {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO,
|
||||
};
|
||||
}else{
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
processResultUtil.requestPermissions(permissions, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
SocketLinkMicUtil.audienceApplyLinkMic(mSocketClient);
|
||||
ToastUtil.show(R.string.link_mic_apply);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -637,12 +648,12 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
}
|
||||
if (mAcceptLinkMic) {
|
||||
if (((LiveActivity) mContext).isGamePlaying()) {
|
||||
ToastUtil.show(R.string.live_game_cannot_link_mic);
|
||||
ToastUtil.show(mContext.getString(R.string.live_game_cannot_link_mic));
|
||||
SocketLinkMicUtil.anchorRefuseLinkMic(mSocketClient, mApplyUid);
|
||||
return;
|
||||
}
|
||||
if (((LiveActivity) mContext).isLinkMicAnchor()) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_link_2);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_link_2));
|
||||
return;
|
||||
}
|
||||
SocketLinkMicUtil.anchorAcceptLinkMic(mSocketClient, mApplyUid);
|
||||
|
||||
@@ -57,6 +57,7 @@ import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ScreenDimenUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -488,16 +489,16 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
*/
|
||||
public void applyLinkMicPk(String pkUid, String stream) {
|
||||
if (mPkSend) {
|
||||
ToastUtil.show(R.string.link_mic_apply_waiting);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_waiting));
|
||||
return;
|
||||
}
|
||||
if (mIsPk) {
|
||||
ToastUtil.show(R.string.live_link_mic_cannot_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.live_link_mic_cannot_pk));
|
||||
return;
|
||||
}
|
||||
mPkSend = true;
|
||||
SocketRyLinkMicPkUtil.linkMicPkApply(mSocketRyClient, pkUid, stream);
|
||||
ToastUtil.show(R.string.link_mic_apply_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_apply_pk));
|
||||
|
||||
if (mLiveLinkMicPkViewHolder == null) {
|
||||
mLiveLinkMicPkViewHolder = new LiveLinkMicPkViewHolder(mContext, mPkContainer);
|
||||
@@ -642,6 +643,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -768,6 +770,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -855,7 +858,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onSuccess(RCRTCOtherRoom rcrtcOtherRoom) {
|
||||
rcrtcOtherRoom.registerOtherRoomEventsListener(otherRoomEventsListener);
|
||||
ToastUtil.show("接受成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"接受成功":"Success");
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
for (int i = 0; i < rcrtcOtherRoom.getRemoteUsers().size(); i++) {
|
||||
@@ -924,6 +927,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode);
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -973,7 +977,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onSuccess(RCRTCOtherRoom rcrtcOtherRoom) {
|
||||
rcrtcOtherRoom.registerOtherRoomEventsListener(otherRoomEventsListener);
|
||||
ToastUtil.show("接受成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"接受成功":"Success");
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
Log.e("ry", liveid + "来了!!!!" + rcrtcOtherRoom.getRemoteUsers().size());
|
||||
@@ -1000,6 +1004,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.e("ry", "订阅资源失败: " + rtcErrorCode);
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1655,7 +1660,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
}
|
||||
|
||||
Log.e("ry", "多人接受成功" + mApplyUid);
|
||||
ToastUtil.show("接受成功");
|
||||
ToastUtil.show(WordUtil.isNewZh()?"接受成功":"Success");
|
||||
//遍历远端用户列表
|
||||
for (int i = 0; i < rcrtcOtherRoom.getRemoteUsers().size(); i++) {
|
||||
Log.e("ry", rcrtcOtherRoom.getRemoteUsers().get(i).getUserId() + "收到rcrtcOtherRoom" + rcrtcOtherRoom.getRemoteUsers().size());
|
||||
@@ -1692,7 +1697,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1773,6 +1778,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
//2. 合流画布设置
|
||||
@@ -1963,6 +1969,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2422,7 +2429,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveRyAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_refuse_pk);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_refuse_pk));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2433,7 +2440,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveRyAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_anchor_not_response_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_not_response_2));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2444,7 +2451,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
if (mIsAnchor) {
|
||||
((LiveRyAnchorActivity) mContext).setPkBtnVisible(true);
|
||||
}
|
||||
ToastUtil.show(R.string.link_mic_anchor_busy_2);
|
||||
ToastUtil.show(mContext.getString(R.string.link_mic_anchor_busy_2));
|
||||
}
|
||||
|
||||
|
||||
@@ -2493,6 +2500,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
* 更新Pk分数
|
||||
*/
|
||||
public void upDataPkScore(JSONArray pkScores, String uid, int time) {
|
||||
|
||||
String userID1 = (String) imageGrade1.getTag();
|
||||
String userID2 = (String) imageGrade2.getTag();
|
||||
String userID4 = (String) imageGrade4.getTag();
|
||||
|
||||
@@ -62,7 +62,7 @@ public class UserHomeSharePresenter {
|
||||
ClipboardManager cm = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
|
||||
ClipData clipData = ClipData.newPlainText("text", link);
|
||||
cm.setPrimaryClip(clipData);
|
||||
ToastUtil.show(R.string.copy_success);
|
||||
ToastUtil.show(mContext.getString(com.yunbao.common.R.string.copy_success));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/9.
|
||||
@@ -321,7 +321,7 @@ public class SocketChatUtil {
|
||||
.param("uid", u.getId())
|
||||
.param("touid", toUid)
|
||||
.param("toname", toName)
|
||||
.param("ct", toName +CommonAppContext.sInstance.getBaseContext().getString(R.string.live_kicked));
|
||||
.param("ct", toName + CommonAppContext.sInstance.getBaseContext().getString(R.string.live_kicked));
|
||||
msg.create();
|
||||
V2TIMManager.getInstance().sendGroupTextMessage(msg.mResult.toString(), "g" + mLiveUid, V2TIMMessage.V2TIM_PRIORITY_NORMAL, new V2TIMSendCallback<V2TIMMessage>() {
|
||||
@Override
|
||||
@@ -364,7 +364,7 @@ public class SocketChatUtil {
|
||||
.param("uid", u.getId())
|
||||
.param("touid", toUid)
|
||||
.param("toname", toName)
|
||||
.param("ct", toName +CommonAppContext.sInstance.getBaseContext().getString(type == 0 ? R.string.live_shut : R.string.live_shut_2));
|
||||
.param("ct", toName + (type == 0 ? "被永久禁言(Forbidden forever)" : "被本場禁言(Forbidden by this scene)"));
|
||||
msg.create();
|
||||
V2TIMManager.getInstance().sendGroupTextMessage(msg.mResult.toString(), "g" + mLiveUid, V2TIMMessage.V2TIM_PRIORITY_NORMAL, new V2TIMSendCallback<V2TIMMessage>() {
|
||||
@Override
|
||||
@@ -396,7 +396,7 @@ public class SocketChatUtil {
|
||||
if (u == null) {
|
||||
return;
|
||||
}
|
||||
String s = action == 1 ?CommonAppContext.sInstance.getBaseContext().getString(R.string.live_set_admin) :CommonAppContext.sInstance.getBaseContext().getString(R.string.live_set_admin_cancel);
|
||||
String s = action == 1 ? "被設為管理員(Set as Administrator)": "被取消管理員(Cancelled administrator)";
|
||||
final SocketSendBean msg = new SocketSendBean()
|
||||
.param("_method_", Constants.SOCKET_SET_ADMIN)
|
||||
.param("action", action)
|
||||
@@ -644,7 +644,7 @@ public class SocketChatUtil {
|
||||
.param("msgtype", 0)
|
||||
.param("uid", u.getId())
|
||||
.param("uname", u.getUserNiceName())
|
||||
.param("ct",CommonAppContext.sInstance.getBaseContext().getString(R.string.red_pack_22)
|
||||
.param("ct", CommonAppContext.sInstance.getBaseContext().getString(R.string.red_pack_22)
|
||||
);
|
||||
msg.create();
|
||||
V2TIMManager.getInstance().sendGroupTextMessage(msg.mResult.toString(), "g" + mLiveUid, V2TIMMessage.V2TIM_PRIORITY_NORMAL, new V2TIMSendCallback<V2TIMMessage>() {
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.bean.LiveBuyGuardMsgBean;
|
||||
@@ -409,7 +410,7 @@ public class SocketClient {
|
||||
String msgtype = map.getString("msgtype");
|
||||
if ("2".equals(msgtype)) {//发言,点亮
|
||||
if ("409002".equals(received.getRetcode())) {
|
||||
ToastUtil.show(R.string.live_you_are_shut);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"你已經被禁言":"You\'ve been banned");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,10 +9,11 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
@@ -133,7 +134,7 @@ public class SocketRyChatUtil {
|
||||
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
|
||||
Log.e("tx", "aaa" + errorCode.toString());
|
||||
if (errorCode.code == 23408) {
|
||||
ToastUtil.show(R.string.live_ban_tip);
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已被禁言" : "You have been banned");
|
||||
} else {
|
||||
ToastUtil.show(errorCode.code + ":" + errorCode.msg);
|
||||
}
|
||||
@@ -168,7 +169,7 @@ public class SocketRyChatUtil {
|
||||
.param("medal_name", u.getMedalName())
|
||||
.param("medal_level", u.getMedalLevel())
|
||||
.param("good_num", u.getGoodnum())
|
||||
.param("ct", CommonAppContext.sInstance.getBaseContext().getString(R.string.live_lighted));
|
||||
.param("ct", WordUtil.getNewString(R.string.live_lighted));
|
||||
msg.create();
|
||||
String targetId = "g" + mLiveUid;
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM;
|
||||
@@ -215,9 +216,10 @@ public class SocketRyChatUtil {
|
||||
* 发送弹幕消息
|
||||
*/
|
||||
public static void sendDanmuMessage(String mLiveUid, String danmuToken) {
|
||||
sendDanmuMessage(mLiveUid,danmuToken,0);
|
||||
sendDanmuMessage(mLiveUid, danmuToken, 0);
|
||||
}
|
||||
public static void sendDanmuMessage(String mLiveUid, String danmuToken,int fansLevel) {
|
||||
|
||||
public static void sendDanmuMessage(String mLiveUid, String danmuToken, int fansLevel) {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u == null) {
|
||||
return;
|
||||
@@ -230,7 +232,7 @@ public class SocketRyChatUtil {
|
||||
.param("uname", u.getUserNiceName())
|
||||
.param("uid", u.getId())
|
||||
.param("uhead", u.getAvatar())
|
||||
.param("fansLevel",fansLevel)
|
||||
.param("fansLevel", fansLevel)
|
||||
.param("ct", danmuToken);
|
||||
msg.create();
|
||||
String targetId = "g" + mLiveUid;
|
||||
@@ -256,7 +258,7 @@ public class SocketRyChatUtil {
|
||||
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
|
||||
Log.e("tx", "aaa" + errorCode.toString());
|
||||
if (errorCode.code == 23408) {
|
||||
ToastUtil.show(R.string.live_ban_tip);
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "您已被禁言" : "You have been banned");
|
||||
} else {
|
||||
ToastUtil.show(errorCode.code + ":" + errorCode.msg);
|
||||
}
|
||||
@@ -368,7 +370,7 @@ public class SocketRyChatUtil {
|
||||
.param("uid", u.getId())
|
||||
.param("touid", toUid)
|
||||
.param("toname", toName)
|
||||
.param("ct", toName + CommonAppContext.sInstance.getBaseContext().getString(R.string.live_kicked));
|
||||
.param("ct", toName + "被踢出房間(Kicked out of the room)");
|
||||
msg.create();
|
||||
String targetId = "g" + mLiveUid;
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM;
|
||||
@@ -418,13 +420,13 @@ public class SocketRyChatUtil {
|
||||
String ct = "";
|
||||
switch (type) {
|
||||
case 0:
|
||||
ct = CommonAppContext.sInstance.getBaseContext().getString(R.string.live_shut);
|
||||
ct = "被永久禁言(Forbidden forever)";
|
||||
break;
|
||||
case 1:
|
||||
ct = CommonAppContext.sInstance.getBaseContext().getString(R.string.live_shut_2);
|
||||
ct = "被本場禁言(Forbidden by this scene)";
|
||||
break;
|
||||
case 2:
|
||||
ct = String.format(CommonAppContext.sInstance.getBaseContext().getString(R.string.live_shut_3), time + "");
|
||||
ct = String.format("被禁言%s分鐘", time + "") + "(" + String.format("Forbidden by %s min", time + "") + ")";
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -475,7 +477,7 @@ public class SocketRyChatUtil {
|
||||
if (u == null) {
|
||||
return;
|
||||
}
|
||||
String s = action == 1 ? CommonAppContext.sInstance.getBaseContext().getString(R.string.live_set_admin) : CommonAppContext.sInstance.getBaseContext().getString(R.string.live_set_admin_cancel);
|
||||
String s = action == 1 ? "被設為管理員(Set as Administrator)": "被取消管理員(Cancelled administrator)";
|
||||
final SocketSendBean msg = new SocketSendBean()
|
||||
.param("_method_", Constants.SOCKET_SET_ADMIN)
|
||||
.param("action", action)
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.yunbao.live.socket;
|
||||
|
||||
import static com.blankj.utilcode.util.SnackbarUtils.dismiss;
|
||||
import static com.blankj.utilcode.util.ViewUtils.runOnUiThread;
|
||||
import static com.yunbao.common.Constants.SOCKET_LIVE_MSG_TO_USER;
|
||||
import static com.yunbao.live.activity.LiveRyAnchorActivity.isDRPK;
|
||||
import static com.yunbao.live.views.LiveRoomViewHolder.getIsHot;
|
||||
|
||||
@@ -22,7 +23,6 @@ import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.AiAutomaticSpeechModel;
|
||||
import com.yunbao.common.bean.FansMedalBean;
|
||||
import com.yunbao.common.bean.FansModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveUserGiftBean;
|
||||
@@ -31,6 +31,7 @@ import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.RedPacketInfoModel;
|
||||
import com.yunbao.common.bean.RedPacketModel;
|
||||
import com.yunbao.common.bean.SocketModel;
|
||||
import com.yunbao.common.bean.SudGameDateModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.WishModel;
|
||||
import com.yunbao.common.bean.XydCompleteModel;
|
||||
@@ -41,11 +42,14 @@ import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.manager.IMRTCManager;
|
||||
import com.yunbao.common.manager.MicUserManager;
|
||||
import com.yunbao.common.manager.MicedUserManager;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.manager.RandomPkManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -100,7 +104,11 @@ public class SocketRyClient {
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
Log.i("tx", "加入" + "失败" + coreErrorCode);
|
||||
ToastUtil.show("網絡不佳無法連接,請重新進入");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("網絡不佳無法連接,請重新進入");
|
||||
} else {
|
||||
ToastUtil.show("The network is not connected, please re-enter");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -193,24 +201,35 @@ public class SocketRyClient {
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.LINK_MIC_UPDATE_MIC_LIST)
|
||||
.setObject(JSONArray.parseArray(mic_data.getJSONArray("userlist").toString(), LinkMicUserBean.class))
|
||||
);
|
||||
MicedUserManager.get().upDataMicUserList(JSONArray.parseArray(mic_data.getJSONArray("userlist").toString(), LinkMicUserBean.class));
|
||||
} else if (actions == 6) {
|
||||
ToastUtil.show("主播已關閉當前語音連麥功能");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("主播已關閉當前語音連麥功能");
|
||||
} else {
|
||||
ToastUtil.show("The host has disabled the voice connection function");
|
||||
}
|
||||
EventBus.getDefault().post("endMic");
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.LINK_MIC_CLOSE)
|
||||
.setObject(map.toJavaObject(LinkMicUserBean.class)));
|
||||
} else if (actions == 8) {
|
||||
ToastUtil.show("您已被移出多人語音連麥");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("您已被移出多人語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("You have been removed from Multi-Voice Connection");
|
||||
}
|
||||
EventBus.getDefault().post("endMic");
|
||||
} else if (actions == 3) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.LINK_MIC)
|
||||
.setObject(map.toJavaObject(LinkMicUserBean.class))
|
||||
);
|
||||
MicUserManager.get().upDataMicUser(map);
|
||||
} else if (actions == 7) {//取消连麦
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.LINK_MIC_CANCEL)
|
||||
);
|
||||
MicUserManager.get().removeMiscUser(map);
|
||||
}
|
||||
break;
|
||||
case Constants.UP_USER_LIST:
|
||||
@@ -235,6 +254,13 @@ public class SocketRyClient {
|
||||
if (map.getString("ct").contains("堅決維護青少年群體精神文明健康") || map.getString("ct").contains("click to register if you like. pdlive conducts")) {
|
||||
systemChatMessage(map.getString("ct"));
|
||||
} else {
|
||||
if (!WordUtil.isNewZh() && map.getString("ct").contains("退出比賽") && map.getString("ct").contains("獲得勝利")) {
|
||||
String ctTmp = map.getString("ct");
|
||||
ctTmp = ctTmp.replace("由於", "Due to")
|
||||
.replace("退出比賽", "withdrawing from the competition")
|
||||
.replace("獲得勝利", "won");
|
||||
map.put("ct", ctTmp);
|
||||
}
|
||||
systemChatMessage2(map.getString("ct"));
|
||||
}
|
||||
|
||||
@@ -370,20 +396,30 @@ public class SocketRyClient {
|
||||
} else if (action2 == 66) {//购买贵族
|
||||
buyVipByNotify(map);
|
||||
} else if (action2 == 88) {
|
||||
|
||||
JSONObject mCt = map.getJSONObject("ct");
|
||||
String boxType = map.getString("box_type");
|
||||
String boxTypeName = "";
|
||||
if (TextUtils.equals(boxType, "1")) {
|
||||
boxTypeName = WordUtil.isNewZh() ? "迷你盲盒" : "Mini blind box";
|
||||
} else if (TextUtils.equals(boxType, "2")) {
|
||||
boxTypeName = WordUtil.isNewZh() ? "典藏盲盒" : "Collection blind box";
|
||||
} else {
|
||||
boxTypeName = WordUtil.isNewZh() ? "PD盲盒" : "PD blind box";
|
||||
}
|
||||
AllServerNotifyEvent allServerNotifyEvent
|
||||
= new AllServerNotifyEvent()
|
||||
.setBlindBoxId(map.getString("blind_box_id"))
|
||||
.setBoxType(map.getString("box_type"))
|
||||
.setBoxTypeName(map.getString("box_type_name"))
|
||||
.setDressName(map.getString("dress_name"))
|
||||
.setBoxType(boxType)
|
||||
.setBoxTypeName(map.getString(boxTypeName))
|
||||
.setDressName(WordUtil.isNewZh() ? map.getString("dress_name") : TextUtils.isEmpty(map.getString("dress_nameen")) ? map.getString("dress_name") : map.getString("dress_nameen"))
|
||||
.setGiftNotification(map.getString("gift_notification"))
|
||||
.setGiftName(map.getString("giftname"))
|
||||
.setGiftName(WordUtil.isNewZh() ? mCt.getString("giftname") : mCt.getString("giftnameen"))
|
||||
.setUserNiceName(map.getString("uname"))
|
||||
.setGiftIcon(map.getString("gifticon"))
|
||||
.setAnchorName(map.getString("ancherName"))
|
||||
.setDisplaySrc(map.getString("display_src"));
|
||||
Log.e("AllServerNotifyEvent", allServerNotifyEvent.toString());
|
||||
Log.e("AllServerNotifyEvent", map.toJSONString());
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.BLIND_BOX)
|
||||
.setAllServerNotifyEvent(allServerNotifyEvent));
|
||||
@@ -392,7 +428,7 @@ public class SocketRyClient {
|
||||
AllServerNotifyEvent allServerNotifyEvent
|
||||
= new AllServerNotifyEvent()
|
||||
.setUserNiceName(mCt.getString("user_nicename"))
|
||||
.setGiftName(mCt.getString("giftname"))
|
||||
.setGiftName(WordUtil.isNewZh() ? map.getString("giftname") : map.getString("giftname_en"))
|
||||
.setGiftIcon(mCt.getString("gifticon"))
|
||||
.setRedPacket(true);
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
@@ -629,6 +665,7 @@ public class SocketRyClient {
|
||||
pkRankBean.setId(Integer.parseInt(item.getString("new_rank_id")));
|
||||
pkRankBean.setName(item.getString("new_rank_name"));
|
||||
pkRankBean.setImg(item.getString("new_rank_img"));
|
||||
pkRankBean.setNewRankNameEn(item.getString("new_rank_name_en"));
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.PK_RANK_UPDATE)
|
||||
.setObject(pkRankBean));
|
||||
@@ -650,7 +687,7 @@ public class SocketRyClient {
|
||||
break;
|
||||
case Constants.WISH_LIST_PROGRESS:
|
||||
StringBuffer conString = new StringBuffer();
|
||||
conString.append(map.getString("msg"));
|
||||
conString.append(WordUtil.isNewZh() ? map.getString("msg") : map.getString("msg_en"));
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.WISH_LIST_PROGRESS)
|
||||
.setWishListProgress(new WishModel()
|
||||
@@ -716,6 +753,15 @@ public class SocketRyClient {
|
||||
.setNewNumber(map.getInteger("new_number"))
|
||||
.setMaxNumber(map.getInteger("max_number")));
|
||||
break;
|
||||
case SOCKET_LIVE_MSG_TO_USER:
|
||||
sendToUserMsg(map);
|
||||
break;
|
||||
case "SudGameCreateRoom":
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.SUD_GAME_CREATE_ROOM)
|
||||
.setAvatar(WordUtil.isNewZh() ? map.getString("sud_game_name") : map.getString("sud_game_name_en"))
|
||||
.setCreateSudRoomModel(GsonUtils.fromJson(map.toString(), SudGameDateModel.class)));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -817,11 +863,25 @@ public class SocketRyClient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 七日留存新用户主播端弹幕显示接口
|
||||
*/
|
||||
private void sendToUserMsg(JSONObject map) {
|
||||
LiveChatBean bean = new LiveChatBean();
|
||||
bean.setId(map.getString("uid"));
|
||||
bean.setAtUserID(map.getString("toUserID"));
|
||||
bean.setContent(map.getString("ct"));
|
||||
bean.setType(LiveChatBean.TYPE_TO_USER_MSG);
|
||||
bean.setUserNiceName(map.getString("user_nicename"));
|
||||
bean.setToUid(CommonAppConfig.getInstance().getUid());
|
||||
mListener.onChat(bean, 1);
|
||||
}
|
||||
|
||||
private void wordLightEnterRoom(JSONObject map, SocketReceiveBean received) {
|
||||
String msgtype = map.getString("msgtype");
|
||||
if ("2".equals(msgtype)) {//发言,点亮
|
||||
if ("409002".equals(received.getRetcode())) {
|
||||
ToastUtil.show(R.string.live_you_are_shut);
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "你已經被禁言" : "You\'ve been banned");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1053,7 +1113,7 @@ public class SocketRyClient {
|
||||
receiveGiftBean.setmLiveUId(mLiveUid);
|
||||
receiveGiftBean.setmTypeBuyGuard(false);
|
||||
receiveGiftBean.setAllServerNotify(false);
|
||||
|
||||
sendBlindGiftEvent.setGiftname_en(map.getString("giftname_en"));
|
||||
//获取PK排名数据
|
||||
LivePKUserListBean livePKUserListBean = JSON.parseObject(receiveGiftBean.getPkTopUsers(), LivePKUserListBean.class);
|
||||
|
||||
@@ -1073,7 +1133,7 @@ public class SocketRyClient {
|
||||
chatBean.setGuardType(map.getInteger("guard_type"));
|
||||
}
|
||||
|
||||
if (CommonAppContext.lang.equals("chinese")) {
|
||||
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());
|
||||
} else {
|
||||
chatBean.setContent(mContext.getString(R.string.live_send_gift_1) + " " + +receiveGiftBean.getGiftCount() + " " + mContext.getString(R.string.live_send_gift_2) + receiveGiftBean.getGiftnameen());
|
||||
@@ -1315,7 +1375,11 @@ public class SocketRyClient {
|
||||
IMRTCManager.getInstance().requestJoinOtherRoom(map.getString("uid"), true, msg1.toString(), new IRCRTCResultCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
ToastUtil.show("邀请 " + map.getString("uid") + " 发送成功");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + map.getString("uid") + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + map.getString("uid") + " successful");
|
||||
}
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -1334,7 +1398,11 @@ public class SocketRyClient {
|
||||
});
|
||||
//todo 安卓端状态码说明文档:https://docs.rongcloud.cn/v4/views/rtc/call/code/android.html
|
||||
Log.e("ry", rtcErrorCode + "aaaaaa" + CommonAppConfig.getInstance().getUid() + "VDSSSS" + map.getString("uid"));
|
||||
ToastUtil.show("邀请 " + map.getString("uid") + " 发送失败 :" + rtcErrorCode);
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + map.getString("uid") + " 发送失败 :" + rtcErrorCode);
|
||||
} else {
|
||||
ToastUtil.show("invite " + map.getString("uid") + " lose :" + rtcErrorCode);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
@@ -235,26 +235,29 @@ public class AllMsgTextRender {
|
||||
}
|
||||
|
||||
private void blind(SpannableStringBuilder spannableStringBuilder, TextView textView, AllServerNotifyEvent serverNotifyEvent, int giftNameIndex, int endName) {
|
||||
switch (Integer.parseInt(serverNotifyEvent.getBoxType())) {
|
||||
case 1:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#336DF7")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
case 2:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FD5A9D")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
default:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FCB514")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
if (giftNameIndex>0){
|
||||
switch (Integer.parseInt(serverNotifyEvent.getBoxType())) {
|
||||
case 1:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#336DF7")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
case 2:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FD5A9D")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
default:
|
||||
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FCB514")),
|
||||
giftNameIndex,
|
||||
endName,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
textView.setText(spannableStringBuilder);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.yunbao.live.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
@@ -18,9 +20,14 @@ import com.google.android.exoplayer2.analytics.AnalyticsListener;
|
||||
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
||||
import com.google.android.exoplayer2.video.VideoSize;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
/**
|
||||
* 直播间播放器管理器
|
||||
* 通过预加载子播放器来实现无缝切换分辨率功能
|
||||
@@ -40,6 +47,9 @@ public class LiveExoPlayerManager {
|
||||
private static double log_buffer_time = 0, log_buffer_max_time;
|
||||
private String url = "";
|
||||
private Context mContext;
|
||||
private TimerTask task;
|
||||
|
||||
TextView debugText;
|
||||
|
||||
public LiveExoPlayerManager(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
@@ -59,6 +69,109 @@ public class LiveExoPlayerManager {
|
||||
handler = new Handler(Looper.getMainLooper());
|
||||
setListener();
|
||||
setAnalyticsListener();
|
||||
// createDeBugDialog();
|
||||
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
|
||||
private void createTask() {
|
||||
if (task != null) {
|
||||
return;
|
||||
}
|
||||
task = new TimerTask() {
|
||||
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if (index > 5 && !player1.isPlaying() && !player2.isPlaying()) {
|
||||
index = 0;
|
||||
Log.i(TAG, "5秒内播放器没有播放,重新播放");
|
||||
ToastUtil.showDebug("强制重播");
|
||||
handler.removeCallbacks(buffRunnable);
|
||||
replay();
|
||||
cancel();
|
||||
} else if (player1.isPlaying() || player2.isPlaying()) {
|
||||
index = 0;
|
||||
} else {
|
||||
index++;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
cancel();
|
||||
task = null;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
};
|
||||
new Timer().schedule(task, 0, 1000);
|
||||
}
|
||||
|
||||
private TimerTask debugTask;
|
||||
|
||||
private void createDeBugDialog() {
|
||||
debugText = new TextView(mContext);
|
||||
debugText.setText(getDebugText());
|
||||
debugText.setBackgroundColor(Color.WHITE);
|
||||
debugText.setTextColor(Color.BLACK);
|
||||
EasyFloat.with(mContext)
|
||||
.setTag("debug")
|
||||
.setLayout(debugText)
|
||||
.show();
|
||||
debugTask = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateDebug();
|
||||
}
|
||||
};
|
||||
new Timer().schedule(debugTask, 0, 500);
|
||||
}
|
||||
|
||||
private String getDebugText() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
try {
|
||||
sb.append("player1: ").append(getPlayStateText(player1)).append("|").append(player1.isPlaying()).append("\n");
|
||||
sb.append("player2: ").append(getPlayStateText(player2)).append("|").append(player2.isPlaying()).append("\n");
|
||||
sb.append("卡顿计数器:").append(playBufferIndex).append("\n");
|
||||
sb.append("强制播放计时器:").append(index).append("\n");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
EasyFloat.dismiss("debug");
|
||||
debugTask.cancel();
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private void updateDebug() {
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
debugText.setText(getDebugText());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private String getPlayStateText(ExoPlayer player) {
|
||||
switch (player.getPlaybackState()) {
|
||||
case Player.STATE_READY:
|
||||
return "STATE_READY";
|
||||
case Player.STATE_BUFFERING:
|
||||
return "STATE_BUFFERING";
|
||||
case Player.STATE_ENDED:
|
||||
return "STATE_ENDED";
|
||||
case Player.STATE_IDLE:
|
||||
return "STATE_IDLE";
|
||||
default:
|
||||
return player.getPlaybackState() + "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -171,6 +284,7 @@ public class LiveExoPlayerManager {
|
||||
if (listener != null) {
|
||||
listener.onIsPlayingChanged(true);
|
||||
}
|
||||
createTask();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,6 +359,7 @@ public class LiveExoPlayerManager {
|
||||
if (listener != null) {
|
||||
listener.onIsPlayingChanged(true);
|
||||
}
|
||||
createTask();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +394,12 @@ public class LiveExoPlayerManager {
|
||||
* @param url 地址
|
||||
*/
|
||||
public void startUrl(String url) {
|
||||
if (url != null && url.equals(this.url)) return;
|
||||
if (!StringUtil.isEmpty(url) && url.equals(this.url)) return;
|
||||
if (task != null) {
|
||||
task.cancel();
|
||||
task = null;
|
||||
}
|
||||
|
||||
Log.i(TAG, "startUrl: " + url + " > " + mainView.getResizeMode());
|
||||
handler.removeCallbacks(buffRunnable);
|
||||
this.url = url;
|
||||
@@ -302,15 +422,22 @@ public class LiveExoPlayerManager {
|
||||
* @param url 地址
|
||||
*/
|
||||
public void switchUrl(String url) {
|
||||
if (url != null && url.equals(this.url)) return;
|
||||
if (!StringUtil.isEmpty(url) && url.equals(this.url)) return;
|
||||
if (task != null) {
|
||||
task.cancel();
|
||||
task = null;
|
||||
}
|
||||
Log.i(TAG, "switchUrl: " + url + " src : " + this.url);
|
||||
this.url = url;
|
||||
playBufferIndex = 0;
|
||||
isSwitchUrl = true;
|
||||
log_buffer_time = System.currentTimeMillis();
|
||||
mainView.setKeepContentOnPlayerReset(true);
|
||||
getNextPlayer().setMediaItem(createMediaItem(url));
|
||||
getNextPlayer().prepare();
|
||||
if (getNextPlayer() != null) {
|
||||
getNextPlayer().setMediaItem(createMediaItem(url));
|
||||
getNextPlayer().prepare();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private MediaItem createMediaItem(String url) {
|
||||
@@ -321,7 +448,12 @@ public class LiveExoPlayerManager {
|
||||
* 获取当前播放器
|
||||
*/
|
||||
public ExoPlayer getNowPlayer() {
|
||||
return status == MODEL_PLAY1 ? player1 : player2;
|
||||
if (player1 == null && player2 == null) {
|
||||
return null;
|
||||
} else {
|
||||
return status == MODEL_PLAY1 ? player1 : player2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -351,6 +483,10 @@ public class LiveExoPlayerManager {
|
||||
if (getNextPlayer() != null && getNextPlayer().isPlaying()) {
|
||||
getNextPlayer().stop();
|
||||
}
|
||||
if (task != null) {
|
||||
task.cancel();
|
||||
task = null;
|
||||
}
|
||||
clearUrl();
|
||||
}
|
||||
|
||||
@@ -358,7 +494,10 @@ public class LiveExoPlayerManager {
|
||||
* 开始播放
|
||||
*/
|
||||
public void play() {
|
||||
getNowPlayer().play();
|
||||
if (getNowPlayer() != null) {
|
||||
getNowPlayer().play();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void replay() {
|
||||
@@ -369,6 +508,14 @@ public class LiveExoPlayerManager {
|
||||
if (getNextPlayer() != null) {
|
||||
getNextPlayer().stop();
|
||||
}
|
||||
if (listener != null) {
|
||||
listener.onPlaybackStateChanged(Player.STATE_IDLE);
|
||||
}
|
||||
handler.removeCallbacks(buffRunnable);
|
||||
if (task != null) {
|
||||
task.cancel();
|
||||
task = null;
|
||||
}
|
||||
String tmp = url;
|
||||
url = null;
|
||||
startUrl(tmp);
|
||||
@@ -394,6 +541,13 @@ public class LiveExoPlayerManager {
|
||||
player2.clearVideoSurface();
|
||||
player2.release();
|
||||
}
|
||||
if (task != null) {
|
||||
task.cancel();
|
||||
task = null;
|
||||
}
|
||||
if (debugTask != null) {
|
||||
debugTask.cancel();
|
||||
}
|
||||
player1 = null;
|
||||
player2 = null;
|
||||
mainView.setKeepContentOnPlayerReset(false);
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.LiveChatBean;
|
||||
|
||||
@@ -90,12 +91,21 @@ public class LiveTextRender {
|
||||
String chatMsg = bean.getContent();
|
||||
int userNiceNameIndex = chatMsg.indexOf(bean.getUserNiceName());
|
||||
int userNiceNameSize = bean.getUserNiceName().length();
|
||||
int giftNameIndex = chatMsg.indexOf(bean.getGiftName());
|
||||
int giftNameSize = bean.getGiftName().length();
|
||||
int giftNameIndex = -1;
|
||||
int giftNameSize = -1;
|
||||
if (!TextUtils.isEmpty(chatMsg) && !TextUtils.isEmpty(bean.getGiftName()) && chatMsg.contains(bean.getGiftName())) {
|
||||
giftNameIndex = chatMsg.indexOf(bean.getGiftName());
|
||||
|
||||
giftNameSize = bean.getGiftName().length();
|
||||
}
|
||||
|
||||
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
builder.append(chatMsg);
|
||||
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#78FEFF")), userNiceNameIndex, userNiceNameIndex + userNiceNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF86C")), giftNameIndex, giftNameIndex + giftNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
if (giftNameIndex != -1) {
|
||||
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF86C")), giftNameIndex, giftNameIndex + giftNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
textView.setText(builder);
|
||||
}
|
||||
|
||||
@@ -786,7 +796,7 @@ public class LiveTextRender {
|
||||
|
||||
public SpannableStringBuilder renderGiftInfo2(String giftName) {
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
String s1 = CommonAppContext.sInstance.getBaseContext().getString(R.string.live_send_gift_1);
|
||||
String s1 = WordUtil.isNewZh() ? "送" : "sent";
|
||||
String content = s1 + " " + giftName;
|
||||
int index1 = s1.length();
|
||||
builder.append(content);
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
@@ -37,8 +38,10 @@ public abstract class AbsLiveViewHolder extends AbsViewHolder implements View.On
|
||||
public void onClick(View v) {
|
||||
int i = v.getId();
|
||||
if (i == R.id.btn_msg) {
|
||||
MobclickAgent.onEvent(mContext, "live_room_envelope", "直播间信封按钮");
|
||||
((LiveActivity) mContext).openChatListWindow();
|
||||
} else if (i == R.id.et_input) {
|
||||
MobclickAgent.onEvent(mContext, "live_room_chat_btn", "直播间点开最下面的聊天按钮");
|
||||
((LiveActivity) mContext).openChatWindow();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.AbsMainViewHolder;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.MyTUIConversationFragment;
|
||||
@@ -180,7 +181,7 @@ public class ChatListViewHolder extends AbsMainViewHolder implements View.OnClic
|
||||
mSystemMsgRedPoint.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
// ImMessageUtil.getInstance().markAllConversationAsRead();
|
||||
ToastUtil.show(R.string.im_msg_ignore_unread_2);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"已忽略未讀消息":"Unread message ignored");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.bumptech.glide.Glide;
|
||||
import com.ms.banner.holder.BannerViewHolder;
|
||||
import com.yunbao.common.bean.BannerBean;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ProgressView;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
@@ -37,6 +38,7 @@ public class CustomViewHolder implements BannerViewHolder<BannerBean> {
|
||||
TextView targetAssist = contextView.findViewById(R.id.target_assist_num);
|
||||
TextView currentAssist = contextView.findViewById(R.id.current_assist_num);
|
||||
TextView title = contextView.findViewById(R.id.title);
|
||||
|
||||
if (data.isStart()) {
|
||||
startContext.setVisibility(View.VISIBLE);
|
||||
Glide.with(context).load(R.mipmap.start_level).into(bannerBack);
|
||||
@@ -63,6 +65,11 @@ public class CustomViewHolder implements BannerViewHolder<BannerBean> {
|
||||
targetAssist.setText("/" + targetAssistNum);
|
||||
currentAssist.setText(String.valueOf(currentAssistNum));
|
||||
title.setText(String.format(context.getString(R.string.star_change),data.getModel().getTaskNum()));
|
||||
|
||||
if(!WordUtil.isNewZh()){
|
||||
((TextView)contextView.findViewById(R.id.total_star_value)).setText(context.getString(R.string.total_star_value));
|
||||
((TextView)contextView.findViewById(R.id.number_of_people_assisted)).setText(context.getString(R.string.number_of_people_assisted));
|
||||
}
|
||||
} else {
|
||||
if(data!=null&&!StringUtil.isEmpty(data.getImageUrl())) {
|
||||
String imagerUrl = data.getImageUrl().replace("qny", "downs");
|
||||
|
||||
@@ -19,6 +19,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.event.LiveGiftDialogEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
@@ -150,6 +151,7 @@ public class FrameGiftViewHolder extends RecyclerView.ViewHolder {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
if (model.getType() == 9999999) {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_redpk", "用户点开礼物列表红包");
|
||||
Bus.get().post(new LiveGiftDialogEvent());
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new SendRendPacketPopup(mContext, mLiveUid))
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.custom.DrawableTextView;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -34,8 +35,33 @@ public class GiftTitleViewHolder extends RecyclerView.ViewHolder {
|
||||
});
|
||||
}
|
||||
|
||||
public void selectData(boolean isSelect) {
|
||||
public void selectData(boolean isSelect, String typeName) {
|
||||
if (isSelect) {
|
||||
switch (typeName) {
|
||||
case "熱門":
|
||||
case "Hot":
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_hot_list", "用户点礼物栏热门礼物按钮");
|
||||
break;
|
||||
case "貴族":
|
||||
case "Aristocrats":
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_noble_list", "用户点礼物栏贵族礼物按钮");
|
||||
break;
|
||||
case "守護":
|
||||
case "Guard":
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_guard_list", "用户点礼物栏守护礼物按钮");
|
||||
break;
|
||||
case "粉絲團":
|
||||
case "Fans":
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_fan_list", "用户点礼物栏粉丝团礼物按钮");
|
||||
break;
|
||||
case "專屬":
|
||||
case "exclusive":
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_exclusive_list", "用户点礼物栏专属礼物按钮");
|
||||
break;
|
||||
default:
|
||||
MobclickAgent.onEvent(itemView.getContext(), "gif_list_other_list", "用户点礼物栏其他新配置的礼物分类按钮:"+typeName);
|
||||
break;
|
||||
}
|
||||
name.setAlpha(1.0f);
|
||||
name.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
|
||||
} else {
|
||||
|
||||
@@ -66,7 +66,7 @@ public class LiveAddImpressViewHolder extends AbsLivePageViewHolder {
|
||||
addId(mtv.getBean().getId());
|
||||
mChanged = true;
|
||||
} else {
|
||||
ToastUtil.show(R.string.impress_add_max);
|
||||
ToastUtil.show(mContext.getString(R.string.impress_add_max));
|
||||
}
|
||||
} else {
|
||||
removeId(mtv.getBean().getId());
|
||||
@@ -168,11 +168,11 @@ public class LiveAddImpressViewHolder extends AbsLivePageViewHolder {
|
||||
|
||||
private void save() {
|
||||
if (mLinkedList.size() == 0) {
|
||||
ToastUtil.show(R.string.impress_please_choose);
|
||||
ToastUtil.show(mContext.getString(R.string.impress_please_choose));
|
||||
return;
|
||||
}
|
||||
if (!mChanged) {
|
||||
ToastUtil.show(R.string.impress_not_changed);
|
||||
ToastUtil.show(mContext.getString(R.string.impress_not_changed));
|
||||
return;
|
||||
}
|
||||
String ids = "";
|
||||
|
||||
@@ -25,19 +25,22 @@ import android.widget.ViewFlipper;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.NewPeopleInfo;
|
||||
import com.yunbao.common.dialog.LiveNewRolePopup;
|
||||
import com.yunbao.common.event.MessageIMEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.API;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.ProcessResultUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.dialog.LiveGiftPopup;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
@@ -46,7 +49,6 @@ import com.yunbao.live.bean.LiveChatBean;
|
||||
import com.yunbao.live.dialog.LiveHDDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveMicUserDialogFragment;
|
||||
import com.yunbao.live.dialog.LivePromotionDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveRoleDialogFragment;
|
||||
import com.yunbao.live.dialog.TextHintDialog;
|
||||
import com.yunbao.live.dialog.VoiceDialog;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
@@ -140,7 +142,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveUserMoreDialogFragment");
|
||||
LiveMicUserDialogFragment.activity = ((LiveAudienceActivity) mContext);
|
||||
} else {
|
||||
ToastUtil.show(R.string.no_mic_opn);
|
||||
ToastUtil.show(mContext.getString(R.string.no_mic_opn));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -161,6 +163,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.total_image), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "live_room_more_sett", "直播间侧边栏更多设置");
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setActivity(false)
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.BOTTOM_COLLECTION));
|
||||
@@ -181,6 +184,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_cheat), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "live_room_h5_game", "直播间下面鼓掌按钮");
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.WE_CHEAT));
|
||||
|
||||
@@ -206,6 +210,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
// ImgLoader.display(mContext, TextUtils.equals(language, "zh") ? R.mipmap.live_icon_cheat : R.mipmap.live_icon_cheat_en, mCheat);
|
||||
|
||||
voiceButton.setOnTouchListener((v, event) -> {
|
||||
MobclickAgent.onEvent(mContext, "live_room_voice_chat_btn", "直播间点开最下面的语音输入的聊天按钮");
|
||||
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
downY = event.getY();
|
||||
if (mProcessResultUtil.checkPermissions(new String[]{Manifest.permission.RECORD_AUDIO})) {
|
||||
@@ -384,6 +389,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
} else if (i == R.id.live_new_people) {
|
||||
openNewPeopleDialog();
|
||||
} else if (i == R.id.live_privilege) {
|
||||
MobclickAgent.onEvent(mContext, "live_room_privilege", "直播间下面打开皇冠按钮");
|
||||
openRoleDialog();
|
||||
} else if (i == R.id.live_cheat) {
|
||||
|
||||
@@ -404,7 +410,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
Bundle bundle = new Bundle();
|
||||
String url = newPeopleUrl + (newPeopleUrl.contains("?") ? "&" : "?") + "g=Appapi&m=Turntable&a=tricky";
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
bundle.putString("url", url);
|
||||
bundle.putInt("show_type", 0);
|
||||
//bundle.putInt("height", DpUtil.dp2px(1));
|
||||
@@ -443,7 +449,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
public void openZGListWindow() {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Turntable&a=tricky";
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
Log.i("tag", url);
|
||||
Bundle bundle1 = new Bundle();
|
||||
bundle1.putString("url", url);
|
||||
@@ -456,11 +462,17 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
* 身份特权
|
||||
*/
|
||||
public void openRoleDialog() {
|
||||
LiveRoleDialogFragment fragment = new LiveRoleDialogFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putBoolean("showRed", mRedPointPrivilege.getVisibility() == View.VISIBLE);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveRoleDialogFragment");
|
||||
IMLoginManager.get(mContext).setRedPoint();
|
||||
// LiveRoleDialogFragment fragment = new LiveRoleDialogFragment();
|
||||
// Bundle bundle = new Bundle();
|
||||
// bundle.putBoolean("showRed", mRedPointPrivilege.getVisibility() == View.VISIBLE);
|
||||
// fragment.setArguments(bundle);
|
||||
// fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveRoleDialogFragment");
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.asCustom(new LiveNewRolePopup(mContext, mRedPointPrivilege.getVisibility() == View.VISIBLE))
|
||||
.show();
|
||||
mRedPointPrivilege.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
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.weight.ClipPathCircleImage;
|
||||
import com.yunbao.live.R;
|
||||
@@ -47,6 +48,13 @@ import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import io.rong.imlib.IRongCoreCallback;
|
||||
import io.rong.imlib.IRongCoreEnum;
|
||||
import io.rong.imlib.chatroom.base.RongChatRoomClient;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/9.
|
||||
*/
|
||||
@@ -66,10 +74,13 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
|
||||
private RecyclerView likeList;
|
||||
private SearchRecommendBodyAdapter adapter;
|
||||
private IMLoginModel model = null;
|
||||
private String live_id;
|
||||
private String leaveStream, leaveGroupId;
|
||||
|
||||
public LiveEndViewHolder(Context context, ViewGroup parentView, String uid) {
|
||||
super(context, parentView);
|
||||
model = IMLoginManager.get(mContext).getUserInfo();
|
||||
this.live_id = uid;
|
||||
if (TextUtils.equals(model.getId() + "", uid)) {
|
||||
type = LiveOfType.ANCHOR;
|
||||
} else {
|
||||
@@ -77,6 +88,14 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
|
||||
}
|
||||
}
|
||||
|
||||
public void setLeaveStream(String leaveStream) {
|
||||
this.leaveStream = leaveStream;
|
||||
}
|
||||
|
||||
public void setLeaveGroupId(String leaveGroupId) {
|
||||
this.leaveGroupId = leaveGroupId;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.view_live_end;
|
||||
@@ -91,6 +110,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
|
||||
if (type == LiveOfType.USER) {
|
||||
initViewOfUser();
|
||||
initDataOfUser();
|
||||
endLive();
|
||||
anchorLiveEnd.setVisibility(View.GONE);
|
||||
} else {
|
||||
userLiveEnd.setVisibility(View.GONE);
|
||||
@@ -99,12 +119,67 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
|
||||
|
||||
}
|
||||
|
||||
private void endLive() {
|
||||
|
||||
|
||||
RongChatRoomClient.getInstance().quitChatRoom("g" + live_id, new IRongCoreCallback.OperationCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
try {
|
||||
Log.i("tx", "退出成功" + live_id);
|
||||
LiveNetManager.get(mContext)
|
||||
.leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
}
|
||||
});
|
||||
leaveStream = "";
|
||||
leaveGroupId = "";
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
try {
|
||||
|
||||
Log.i("tx", "退出成功" + live_id);
|
||||
LiveNetManager.get(mContext)
|
||||
.leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
}
|
||||
});
|
||||
leaveStream = "";
|
||||
leaveGroupId = "";
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载用户猜你喜欢数据
|
||||
*/
|
||||
private void initDataOfUser() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("num", "3");
|
||||
map.put("live_recommend", "sidebar");
|
||||
MainNetManager.get((Activity) mContext)
|
||||
.anchorRecommend("3", new HttpCallback<AnchorRecommendModel>() {
|
||||
.anchorRecommend(map, new HttpCallback<AnchorRecommendModel>() {
|
||||
@Override
|
||||
public void onSuccess(AnchorRecommendModel data) {
|
||||
if (((Activity) mContext).isFinishing()) return;
|
||||
@@ -132,7 +207,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show( R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.yunbao.live.views;
|
||||
|
||||
import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -14,8 +16,10 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.LiveGiftFragmentPagerAdapter;
|
||||
|
||||
@@ -50,6 +54,12 @@ public class LiveGiftFragment extends BaseFragment {
|
||||
wishGiftId = bundle.getString("wishGiftId");
|
||||
mLiveUid = bundle.getString("mLiveUid");
|
||||
type = bundle.getString("type");
|
||||
// if (bean1 != null && IMLoginManager.get(getContext()).isNewUserGif() && (TextUtils.equals(type, "熱門") || TextUtils.equals(type, "Hot"))) {
|
||||
// giftJson.add(0, bean1);
|
||||
// if (wishGiftId == null) {
|
||||
// wishGiftId = "" + bean1.getId();
|
||||
// }
|
||||
// }
|
||||
pageCount = giftJson.size() / GIFT_COUNT;
|
||||
if (giftJson.size() % GIFT_COUNT > 0) {
|
||||
pageCount++;
|
||||
@@ -117,6 +127,7 @@ public class LiveGiftFragment extends BaseFragment {
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
MobclickAgent.onEvent(getContext(), "gif_list_slide", "用户左右滑动礼物列表");
|
||||
if (mRadioGroup != null && mRadioGroup.getChildAt(position) != null) {
|
||||
((RadioButton) mRadioGroup.getChildAt(position)).setChecked(true);
|
||||
}
|
||||
@@ -146,4 +157,6 @@ public class LiveGiftFragment extends BaseFragment {
|
||||
liveGiftFragment.setArguments(bundle);
|
||||
return liveGiftFragment;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.FrameGiftAdapter;
|
||||
import com.yunbao.live.event.LiveGiftItemEvent;
|
||||
import com.yunbao.live.event.LiveGiftItemRefreshEvent;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
@@ -77,6 +78,10 @@ public class LiveGiftItemFragment extends BaseFragment {
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftItemEvent(LiveGiftItemEvent event) {
|
||||
frameGiftAdapter.giftSelect(event.getLiveGiftModel());
|
||||
// frameGiftAdapter.giftSelect(event.getLiveGiftModel());
|
||||
}
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftItemRefreshEvent(LiveGiftItemRefreshEvent event) {
|
||||
frameGiftAdapter.refreshWrapListAfterSend(event.getLiveGiftModel());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
||||
@@ -153,7 +154,7 @@ public class LiveGiftViewHolder extends AbsViewHolder {
|
||||
}
|
||||
if (TextUtils.isEmpty(mLastGiftKey) || !mLastGiftKey.equals(bean.getKey())) {
|
||||
ImgLoader.display(mContext, bean.getGiftIcon(), mGiftIcon);
|
||||
mContent.setText(new LiveTextRender().renderGiftInfo2(bean.getGiftName()));
|
||||
mContent.setText(new LiveTextRender().renderGiftInfo2(WordUtil.isNewZh()?bean.getGiftName():bean.getGiftnameen()));
|
||||
if (bean.getGiftCount() > 1) {
|
||||
mGiftGroupCount.setText("x" + bean.getGiftCount());
|
||||
mMulSign.setText(R.string.live_gift_send_lian_3);
|
||||
|
||||
@@ -157,7 +157,7 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
Log.i("女神说", "倒计时状态:" + s);
|
||||
if (mTime.getVisibility() == View.VISIBLE) {
|
||||
if (mTime.getVisibility() == View.VISIBLE && !s.toString().contains(mContext.getString(R.string.live_pk_time_2))) {
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_PK_ING));
|
||||
}
|
||||
@@ -218,7 +218,7 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
|
||||
if (mTime != null) {
|
||||
Log.i("vvvs", content);
|
||||
if (content.trim().equals("00:00")) {
|
||||
mTime.setText("結算中");
|
||||
mTime.setText(WordUtil.isNewZh()?"結算中":"waiting");
|
||||
} else {
|
||||
mTime.setText(content);
|
||||
}
|
||||
|
||||
@@ -108,12 +108,12 @@ public class LiveLinkMicPushTxViewHolder extends AbsLiveLinkMicPushViewHolder im
|
||||
@Override
|
||||
public void onPushEvent(int e, Bundle bundle) {
|
||||
if (e == TXLiveConstants.PUSH_ERR_OPEN_CAMERA_FAIL) {
|
||||
ToastUtil.show(R.string.live_push_failed_1);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed_1));
|
||||
if (mLivePushListener != null) {
|
||||
mLivePushListener.onPushFailed();
|
||||
}
|
||||
} else if (e == TXLiveConstants.PUSH_ERR_OPEN_MIC_FAIL) {
|
||||
ToastUtil.show(R.string.live_push_failed_1);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed_1));
|
||||
if (mLivePushListener != null) {
|
||||
mLivePushListener.onPushFailed();
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.event.LivePushRyEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.interfaces.ImageResultCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
@@ -46,6 +48,7 @@ import com.yunbao.common.utils.ProcessImageUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
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.LiveNewWishListPopup;
|
||||
@@ -63,8 +66,6 @@ import com.yunbao.live.dialog.LiveNewRoomClassDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewRoomTypeDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveTimeDialogFragment;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
@@ -387,11 +388,11 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
chooseLiveType();
|
||||
} else if (i == R.id.btn_start_live) {
|
||||
if (!selector) {
|
||||
ToastUtil.show(R.string.anchor_agreement_hint);
|
||||
ToastUtil.show(mContext.getString(R.string.anchor_agreement_hint));
|
||||
return;
|
||||
}
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.live_choose_live_class));
|
||||
return;
|
||||
}
|
||||
// startLive();
|
||||
@@ -582,7 +583,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
url.append("&uid=")
|
||||
.append(model.getId())
|
||||
.append("&token=")
|
||||
.append(model.getToken());
|
||||
.append(model.getToken()).append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
RouteUtil.forwardLiveZhuangBanActivity(url.toString(), false);
|
||||
} else if (i == R.id.btn_live_anchor_say) {
|
||||
openAnchorSayDialog();
|
||||
@@ -760,7 +762,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
/**
|
||||
* 选择直播类型
|
||||
*/
|
||||
private LiveRoomTypeBean liveRoomTypeBean = new LiveRoomTypeBean(0,mContext.getString(R.string.live_room_public));
|
||||
private LiveRoomTypeBean liveRoomTypeBean = new LiveRoomTypeBean(0, mContext.getString(R.string.live_room_public));
|
||||
|
||||
private void chooseLiveType() {
|
||||
Bundle bundle = new Bundle();
|
||||
@@ -807,14 +809,14 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
* 密码房间
|
||||
*/
|
||||
private void onLiveTypePwd(final LiveRoomTypeBean bean) {
|
||||
DialogUitl.showSimpleInputDialog(mContext,mContext.getString(R.string.live_set_pwd), DialogUitl.INPUT_TYPE_NUMBER_PASSWORD, 8, new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleInputDialog(mContext, mContext.getString(R.string.live_set_pwd), DialogUitl.INPUT_TYPE_NUMBER_PASSWORD, 8, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.live_set_pwd_empty);
|
||||
ToastUtil.show(mContext.getString(R.string.live_set_pwd_empty));
|
||||
} else {
|
||||
mLiveType = bean.getId();
|
||||
mLiveTypeTextView.setText(bean.getName());
|
||||
mLiveTypeTextView.setText(WordUtil.isNewZh() ? "密碼房" : "password room");
|
||||
if (StringUtil.isInt(content)) {
|
||||
mLiveTypeVal = Integer.parseInt(content);
|
||||
}
|
||||
@@ -829,11 +831,11 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
* 付费房间
|
||||
*/
|
||||
private void onLiveTypePay(final LiveRoomTypeBean bean) {
|
||||
DialogUitl.showSimpleInputDialog(mContext,mContext.getString(R.string.live_set_fee), DialogUitl.INPUT_TYPE_NUMBER, 8, new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleInputDialog(mContext, mContext.getString(R.string.live_set_fee), DialogUitl.INPUT_TYPE_NUMBER, 8, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtil.show(R.string.live_set_fee_empty);
|
||||
ToastUtil.show(mContext.getString(R.string.live_set_fee_empty));
|
||||
} else {
|
||||
mLiveType = bean.getId();
|
||||
mLiveTypeTextView.setText(bean.getName());
|
||||
@@ -890,7 +892,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
// return;
|
||||
// }
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.live_choose_live_class));
|
||||
return;
|
||||
}
|
||||
createRoom();
|
||||
@@ -905,7 +907,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
if (!isHttpBack) {
|
||||
isHttpBack = true;
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.live_choose_live_class));
|
||||
return;
|
||||
}
|
||||
String title = mEditTitle.getText().toString().trim();
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
@@ -43,6 +44,7 @@ import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.ScreenDimenUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.LiveClarityCustomPopup;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
@@ -677,6 +679,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
mVideoView.requestLayout();
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onUpdata(String str) {
|
||||
if ("UsertoRY".equals(str)) {
|
||||
@@ -684,23 +687,42 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
UsertoRY();
|
||||
dialog = null;
|
||||
}
|
||||
});
|
||||
|
||||
} else if ("inviteMic".equals(str)) {
|
||||
String content = "邀請您進行語音連麥";
|
||||
String confirm = "接受";
|
||||
String cancel = "拒絕";
|
||||
if (!WordUtil.isNewZh()) {
|
||||
content = "You are invited to join the voice connection";
|
||||
confirm = "accept";
|
||||
cancel = "cancel";
|
||||
}
|
||||
DialogUitl.Builder builder = new DialogUitl.Builder(mContext)
|
||||
.setContent("邀請您進行語音連麥")
|
||||
.setContent(content)
|
||||
.setTitle(mLiveBean.getUserNiceName())
|
||||
.setConfirmString("接受")
|
||||
.setCancelString("拒絕")
|
||||
.setConfirmString(confirm)
|
||||
.setCancelString(cancel)
|
||||
.setView(R.layout.dialog_live_mic_invite)
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
}, new Runnable() {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions = new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
} else {
|
||||
permissions = new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(permissions, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UsertoRY();
|
||||
@@ -751,18 +773,26 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
Log.e("ry", "退出多人房间成功");
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
mPlayer.play();
|
||||
Log.e("ry", mPlayer.isPlaying() + "purl" + purl);
|
||||
if (!mPlayer.isPlaying()) {
|
||||
mPlayer.switchUrl(purl);
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("已成功退出語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("You have successfully exited the voice connection");
|
||||
}
|
||||
ry_view.removeAllViews();
|
||||
ry_view.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
onPrepared();
|
||||
rcrtcRoom = null;
|
||||
MicStatusManager.getInstance().clear();
|
||||
ToastUtil.show("已成功退出語音連麥");
|
||||
resumePlay();
|
||||
if (mPlayer.getNowPlayer() != null) {
|
||||
mPlayer.play();
|
||||
Log.e("ry", mPlayer.isPlaying() + "purl" + purl);
|
||||
if (!mPlayer.isPlaying()) {
|
||||
mPlayer.switchUrl(purl);
|
||||
}
|
||||
ry_view.removeAllViews();
|
||||
ry_view.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
onPrepared();
|
||||
rcrtcRoom = null;
|
||||
MicStatusManager.getInstance().clear();
|
||||
|
||||
resumePlay();
|
||||
}
|
||||
|
||||
if (onMicCallback != null) {
|
||||
onMicCallback.onMikUpdate();
|
||||
}
|
||||
@@ -844,8 +874,13 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
}
|
||||
|
||||
private void showToast() {
|
||||
DialogUitl.showToast(mContext, "設置成功\n" +
|
||||
"正在為你轉換中", 3000);
|
||||
if (WordUtil.isNewZh()) {
|
||||
DialogUitl.showToast(mContext, "設置成功\n" +
|
||||
"正在為你轉換中", 3000);
|
||||
} else {
|
||||
DialogUitl.showToast(mContext, "successful\n" +
|
||||
"It's being converted for you", 3000);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -979,7 +1014,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
Log.e("ry", userinputStreamList.size() + LiveActivity.mLiveUid + "订阅失败" + errorCode.toString());
|
||||
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1017,6 +1052,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.e("ry", "远端失败" + list.size());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1070,10 +1106,37 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
RCRTCEngine.getInstance().getDefaultAudioStream().setAudioQuality(RCRTCParamsType.AudioQuality.MUSIC, RCRTCParamsType.AudioScenario.MUSIC_CLASSROOM);
|
||||
userinputStreamList1.clear();
|
||||
userinputStreamList2.clear();
|
||||
RCRTCParamsType.RCRTCVideoResolution rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_480_848;
|
||||
int minRate = 200;
|
||||
int maxRate = 900;
|
||||
switch (IMLoginManager.get(mContext).getSelectClarity()) {
|
||||
case 0:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_480_848;
|
||||
minRate = 200;
|
||||
maxRate = 900;
|
||||
break;
|
||||
case 1:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_720_1280;
|
||||
minRate = 250;
|
||||
maxRate = 2200;
|
||||
break;
|
||||
case 2:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_1080_1920;
|
||||
minRate = 400;
|
||||
maxRate = 4000;
|
||||
break;
|
||||
}
|
||||
// 示例代码使用480x640分辨率演示
|
||||
RCRTCVideoStreamConfig config = RCRTCVideoStreamConfig
|
||||
.Builder.create()
|
||||
.setVideoResolution(RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_480_640)
|
||||
//设置分辨率
|
||||
.setVideoResolution(rcrtcVideoResolution)
|
||||
//设置帧率
|
||||
.setVideoFps(RCRTCParamsType.RCRTCVideoFps.Fps_24)
|
||||
//设置最小码率,480P下推荐200
|
||||
.setMinRate(minRate)
|
||||
//设置最大码率,480P下推荐900
|
||||
.setMaxRate(maxRate)
|
||||
.build();
|
||||
RCRTCEngine.getInstance().getDefaultVideoStream().setVideoConfig(config);
|
||||
// 创建视图渲染视图
|
||||
@@ -1115,6 +1178,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
Log.e("ry", i + "收到" + stream.getMediaType() + "实打实打算" + rcrtcRoom.getRemoteUsers().get(i).getUserId());
|
||||
if (stream.getMediaType() == RCRTCMediaType.VIDEO) {
|
||||
if (userinputStreamList1.size() == 0) {
|
||||
|
||||
//如果远端用户发布的是视频流,创建显示视图RCRTCVideoView,并添加到布局中显示
|
||||
RCRTCVideoView remoteView = new RCRTCVideoView(contexts);
|
||||
((RCRTCVideoInputStream) stream).setStreamType(RCRTCStreamType.NORMAL);
|
||||
@@ -1122,12 +1186,12 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
((RCRTCVideoInputStream) stream).setVideoFrameListener(new IRCRTCVideoInputFrameListener() {
|
||||
@Override
|
||||
public void onFrame(RCRTCRemoteVideoFrame videoFrame) {
|
||||
String debugText = "视频类型:" + videoFrame.getFrameType().name() + "\n" +
|
||||
String debugText = " 2、安卓主播开播, 安卓用户申请连麦后 ,安卓用户这边底部画面不全 :" + videoFrame.getFrameType().name() + "\n" +
|
||||
"rotation:" + videoFrame.getRotation() + "\n" +
|
||||
"timestampNs:" + videoFrame.getTimestampNs() + "\n" +
|
||||
"分辨率:" + videoFrame.getBuffer().getHeight() + "x" + videoFrame.getBuffer().getWidth() + "\n" +
|
||||
"当前时间:" + new SimpleDateFormat("HH:mm:ss", Locale.CHINA).format(new Date()) + "\n";
|
||||
Log.d("ry", "onFrame: " + debugText);
|
||||
//Log.d("ry", "onFrame: " + debugText);
|
||||
new Handler(Looper.getMainLooper()).post(() -> {
|
||||
debugView.setText(debugText);
|
||||
|
||||
@@ -1136,8 +1200,8 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
});
|
||||
//todo 本demo只演示添加1个远端用户的视图
|
||||
ry_view.removeAllViews();
|
||||
remoteView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
remoteView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT);
|
||||
remoteView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
||||
remoteView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FILL);
|
||||
ry_view.addView(remoteView);
|
||||
}
|
||||
userinputStreamList1.add(stream);
|
||||
@@ -1169,6 +1233,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.e("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1243,11 +1308,11 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
Player.Listener.super.onPlaybackStateChanged(playbackState);
|
||||
if (playbackState == Player.STATE_BUFFERING) {
|
||||
//showLoadingDialog();
|
||||
//mLoading.setVisibility(View.VISIBLE);
|
||||
mLoading.setVisibility(View.VISIBLE);
|
||||
OkDownload.getInstance().pauseAll();
|
||||
Log.i(TAG, "onPlaybackStateChanged: 缓存中");
|
||||
} else {
|
||||
//mLoading.setVisibility(View.INVISIBLE);
|
||||
mLoading.setVisibility(View.INVISIBLE);
|
||||
Log.i(TAG, "onPlaybackStateChanged: 播放中");
|
||||
}
|
||||
}
|
||||
@@ -1257,6 +1322,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
Player.Listener.super.onIsPlayingChanged(isPlaying);
|
||||
if (isPlaying) {
|
||||
hideCover();
|
||||
mLoading.setVisibility(View.INVISIBLE);
|
||||
Log.i(TAG, "onIsPlayingChanged: 开始播放 | waitNextUrl = " + waitNextUrl);
|
||||
OkDownload.getInstance().startAll();
|
||||
if (loadingListener != null) {
|
||||
|
||||
@@ -265,7 +265,7 @@ public class LivePlayTxViewHolder_backup extends LiveRoomPlayViewHolder implemen
|
||||
playType = TXLivePlayer.PLAY_TYPE_VOD_MP4;
|
||||
}
|
||||
if (playType == -1) {
|
||||
ToastUtil.show(R.string.live_play_error_2);
|
||||
ToastUtil.show(mContext.getString(R.string.live_play_error_2));
|
||||
return;
|
||||
}
|
||||
if (mPlayer != null) {
|
||||
|
||||
@@ -4,8 +4,11 @@ import static com.lzy.okgo.utils.HttpUtils.runOnUiThread;
|
||||
import static com.yunbao.common.Constants.SOCKET_LINK_MIC_PK;
|
||||
import static com.yunbao.common.Constants.SOCKET_LIVE_DRPK;
|
||||
import static com.yunbao.live.activity.LiveActivity.mLiveRyLinkMicPkPresenter;
|
||||
import static com.yunbao.live.event.LiveAudienceEvent.LiveAudienceType.LIVE_PK_END;
|
||||
import static com.yunbao.live.event.LiveAudienceEvent.LiveAudienceType.LIVE_PK_ING;
|
||||
import static com.yunbao.live.presenter.LiveRyLinkMicPkPresenter.inputStreamList;
|
||||
import static com.yunbao.live.presenter.LiveRyLinkMicPkPresenter.inputStreamList1;
|
||||
import static com.yunbao.live.presenter.LiveRyLinkMicPkPresenter.mPkUid;
|
||||
import static cn.rongcloud.rtc.base.RCRTCLiveRole.BROADCASTER;
|
||||
|
||||
import android.app.Dialog;
|
||||
@@ -48,6 +51,7 @@ import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -72,6 +76,7 @@ import cn.rongcloud.rtc.api.RCRTCMixConfig;
|
||||
import cn.rongcloud.rtc.api.RCRTCRemoteUser;
|
||||
import cn.rongcloud.rtc.api.RCRTCRoom;
|
||||
import cn.rongcloud.rtc.api.RCRTCRoomConfig;
|
||||
import cn.rongcloud.rtc.api.callback.IRCRTCEngineEventListener;
|
||||
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
|
||||
import cn.rongcloud.rtc.api.callback.IRCRTCResultDataCallback;
|
||||
import cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener;
|
||||
@@ -81,6 +86,7 @@ import cn.rongcloud.rtc.api.stream.RCRTCVideoStreamConfig;
|
||||
import cn.rongcloud.rtc.api.stream.RCRTCVideoView;
|
||||
import cn.rongcloud.rtc.base.RCRTCParamsType;
|
||||
import cn.rongcloud.rtc.base.RCRTCRoomType;
|
||||
import cn.rongcloud.rtc.base.RCRTCVideoEventCode;
|
||||
import cn.rongcloud.rtc.base.RTCErrorCode;
|
||||
import cn.rongcloud.rtc.core.CameraVideoCapturer;
|
||||
import cn.rongcloud.rtc.core.RendererCommon;
|
||||
@@ -118,6 +124,8 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
private TextView tv_avatarOther_name;
|
||||
private ImageView avatarOther;
|
||||
private LinearLayout goto_room_view;
|
||||
private boolean isPk = false;
|
||||
private boolean isNeedOpenCamera = false;
|
||||
|
||||
//修改上面主播的头像
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -126,6 +134,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
if (e != null) {
|
||||
if (!e.isClear()) {
|
||||
tv_avatarOther_name.setText(e.getUserNiceName());
|
||||
tv_avatarOther_name.setTag(e.getUserNiceName());
|
||||
ImgLoader.displayAvatar(mContext, e.getAvatar(), avatarOther);
|
||||
goto_room_view.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
@@ -169,7 +178,8 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.e("ry", "远端失败" + list.size());
|
||||
Log.e("ry", "远端失败" + list.size() + "|errorCode:" + rtcErrorCode.toString());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -229,49 +239,49 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
//收到邀请这个时候正在PK或连麦中 自动拒绝对方
|
||||
if (isPking() == true) {
|
||||
|
||||
rtcRoom.getLocalUser().responseJoinOtherRoom(userBean.getId(), userBean.getId(), false, false, "extra", new IRCRTCResultCallback() {
|
||||
rtcRoom.getLocalUser().responseJoinOtherRoom(userBean.getId(), userBean.getId(), false, false, "extra", new IRCRTCResultCallback() {
|
||||
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
final SocketSendBean msg1 = new SocketSendBean()
|
||||
.param("_method_", SOCKET_LINK_MIC_PK)
|
||||
.param("action", 8);
|
||||
msg1.create();
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
final SocketSendBean msg1 = new SocketSendBean()
|
||||
.param("_method_", SOCKET_LINK_MIC_PK)
|
||||
.param("action", 8);
|
||||
msg1.create();
|
||||
|
||||
String targetId = userBean.getId();
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
|
||||
TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
|
||||
io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
|
||||
String targetId = userBean.getId();
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
|
||||
TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
|
||||
io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
|
||||
|
||||
RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
|
||||
@Override
|
||||
public void onAttached(io.rong.imlib.model.Message message) {
|
||||
RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
|
||||
@Override
|
||||
public void onAttached(io.rong.imlib.model.Message message) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(io.rong.imlib.model.Message message) {
|
||||
|
||||
Log.e("ry", "发送成功");
|
||||
if (SocketRyClient.mSocketHandler != null) {
|
||||
SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(io.rong.imlib.model.Message message) {
|
||||
@Override
|
||||
public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
|
||||
Log.e("ry", "发送失敗" + userBean.getId());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Log.e("ry", "发送成功");
|
||||
if (SocketRyClient.mSocketHandler != null) {
|
||||
SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
|
||||
Log.e("ry", "发送失敗" + userBean.getId());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}else if (extra.equals(SOCKET_LIVE_DRPK)) {
|
||||
} else if (extra.equals(SOCKET_LIVE_DRPK)) {
|
||||
//收到多人PK申请
|
||||
if (mLiveRyLinkMicPkPresenter != null) {
|
||||
mLiveRyLinkMicPkPresenter.onLinkDRMicPkApply(userBean);
|
||||
@@ -404,7 +414,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(R.string.net_error);
|
||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -431,16 +441,16 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
@Override
|
||||
public void onFinishOtherRoom(String roomId, String userId) {
|
||||
super.onFinishOtherRoom(roomId, userId);
|
||||
Log.e("ry",roomId+"房间是"+userId);
|
||||
Log.e("ry", roomId + "房间是" + userId);
|
||||
RCRTCEngine.getInstance().leaveOtherRoom(roomId, true, new IRCRTCResultCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.e("ry",roomId+"退出啊房间成功"+userId);
|
||||
Log.e("ry", roomId + "退出啊房间成功" + userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
Log.e("ry",roomId+"退出啊房间失败"+userId);
|
||||
Log.e("ry", roomId + "退出啊房间失败" + userId);
|
||||
|
||||
}
|
||||
});
|
||||
@@ -488,9 +498,11 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
btn_close.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
DialogUitl.showSimpleDialog(mContext, "是否要斷開連麥?", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh() ? "是否要斷開連麥?" : "Do you want to disconnect Link?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Log.i("PK----->", "updateSub: " + isPk + "|");
|
||||
aheadOfScheduleEndPK(mPkUid, CommonAppConfig.getInstance().getUserBean().getUserNiceName(), (String) tv_avatarOther_name.getTag());
|
||||
//断开连麦
|
||||
LiveRyAnchorActivity.isDRPK = 0;
|
||||
HttpClient.getInstance().post("livepk.setliveuserout", "livepk.setliveuserout")
|
||||
@@ -597,6 +609,8 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -684,10 +698,34 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
//设置摄像头最大缩放比例
|
||||
boolean zoom = RCRTCEngine.getInstance().getDefaultVideoStream().setCameraZoomFactor(1.0f);
|
||||
// ToastUtil.show("设置比例="+zoom);
|
||||
Log.i("摄像头", "onSuccess: 打开摄像头");
|
||||
isNeedOpenCamera = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
Log.i("摄像头", "onFailed: 打开摄像头失败 " + errorCode);
|
||||
}
|
||||
});
|
||||
RCRTCEngine.getInstance().registerEventListener(new IRCRTCEngineEventListener() {
|
||||
@Override
|
||||
public void onKicked(String roomId, RCRTCParamsType.RCRTCKickedReason kickedReason) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RTCErrorCode errorCode) {
|
||||
super.onError(errorCode);
|
||||
Log.i("摄像头", "onError: 错误码" + errorCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocalVideoEventNotify(RCRTCVideoEventCode event) {
|
||||
super.onLocalVideoEventNotify(event);
|
||||
Log.i("摄像头", "onLocalVideoEventNotify: 本地视频事件" + event.code);
|
||||
if (event.code == 3) {
|
||||
isNeedOpenCamera = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
//设置摄像头最大缩放比例
|
||||
@@ -796,7 +834,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
@Override
|
||||
public void toggleFlash() {
|
||||
if (mCameraFront) {
|
||||
ToastUtil.show(R.string.live_open_flash);
|
||||
ToastUtil.show(mContext.getString(R.string.live_open_flash));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -907,6 +945,24 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
@Override
|
||||
public void onResume() {
|
||||
mPaused = false;
|
||||
Log.i("摄像头", "onResume: " + isNeedOpenCamera);
|
||||
if(isNeedOpenCamera){
|
||||
RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(new IRCRTCResultDataCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean data) {
|
||||
//设置摄像头最大缩放比例
|
||||
boolean zoom = RCRTCEngine.getInstance().getDefaultVideoStream().setCameraZoomFactor(1.0f);
|
||||
// ToastUtil.show("设置比例="+zoom);
|
||||
Log.i("摄像头", "onSuccess: 打开摄像头");
|
||||
isNeedOpenCamera = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode errorCode) {
|
||||
Log.i("摄像头", "onFailed: 打开摄像头失败 " + errorCode);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -943,10 +999,10 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
@Override
|
||||
public void onPushEvent(int e, Bundle bundle) {
|
||||
if (e == TXLiveConstants.PUSH_ERR_OPEN_CAMERA_FAIL) {
|
||||
ToastUtil.show(R.string.live_push_failed_1);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed_1));
|
||||
|
||||
} else if (e == TXLiveConstants.PUSH_ERR_OPEN_MIC_FAIL) {
|
||||
ToastUtil.show(R.string.live_push_failed_2);
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed_2));
|
||||
|
||||
} else if (e == TXLiveConstants.PUSH_ERR_NET_DISCONNECT || e == TXLiveConstants.PUSH_ERR_INVALID_ADDRESS) {
|
||||
L.e(TAG, "网络断开,推流失败------>");
|
||||
@@ -975,6 +1031,38 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
|
||||
}
|
||||
|
||||
private void aheadOfScheduleEndPK(String pkUid, String uname, String pkname) {
|
||||
if (!isPk) {
|
||||
return;
|
||||
}
|
||||
String ct = "由於 " + uname + " 退出比賽," + pkname + " 獲得勝利";
|
||||
|
||||
SocketSendBean seed_msg = new SocketSendBean()
|
||||
.param("_method_", Constants.SOCKET_SYSTEM)
|
||||
.param("action", 1)
|
||||
.param("ct", ct);
|
||||
seed_msg.create();
|
||||
|
||||
|
||||
HttpClient.getInstance().get("Tx.sendmsgzs2", "Tx.sendmsgzs2")
|
||||
.params("GroupId", "g" + pkUid)
|
||||
.params("jsonstr", seed_msg.mResult.toString())
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
HttpClient.getInstance().post("Tx.sendmsgzs2", "Tx.sendmsgzs2")
|
||||
.params("GroupId", "g" + CommonAppConfig.getInstance().getUid())
|
||||
.params("jsonstr", seed_msg.mResult.toString())
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Bitmap decodeResource(Resources resources, int id) {
|
||||
TypedValue value = new TypedValue();
|
||||
resources.openRawResource(id, value);
|
||||
@@ -1006,4 +1094,14 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void updateSub(LiveAudienceEvent event) {
|
||||
if (event.getType() == LIVE_PK_END) {
|
||||
isPk = false;
|
||||
} else if (event.getType() == LIVE_PK_ING) {
|
||||
isPk = true;
|
||||
}
|
||||
Log.i("PK----->", "updateSub: " + isPk + "|" + event.getType());
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user