3 Commits

Author SHA1 Message Date
ningwenqiang
5bec6c1b79 准备提交暂停 2024-08-23 16:19:42 +08:00
ningwenqiang
1df8d443f7 视频流相关横屏修改 2024-08-22 13:52:00 +08:00
gongduoxiang
6e7d27cbc3 横屏部分弹窗修改 2024-08-19 15:53:54 +08:00
262 changed files with 6502 additions and 1189 deletions

View File

@@ -4,7 +4,7 @@
>
<queries>
<package android:name="com.pandora.cs"/>
<package android:name="com.pandora.sy"/>
<package android:name="com.facebook.orca"/>
<package

View File

@@ -1,19 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="com.twitter.sdk.android.CONSUMER_KEY">ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ</string>
<string name="com.twitter.sdk.android.CONSUMER_SECRET">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
<string name="com.twitter.sdk.android.CONSUMER_KEY" >ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ</string>
<string name="com.twitter.sdk.android.CONSUMER_SECRET">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
<string name="dialog_share_title">分享</string>
<string name="dialog_share_app_internal">站內好友</string>
<string name="dialog_share_info">快來 PDLIVE觀看%s直播認識更多有趣的朋友吧</string>
<string name="dialog_share_app_facebook">Facebook</string>
<string name="dialog_share_app_line">Line</string>
<string name="dialog_share_app_twitter">Twitter</string>
<string name="dialog_share_app_whatsapp">WhatsApp</string>
<string name="dialog_share_app_messenger">Messenger</string>
<string name="dialog_share_app_instagram">Instagram</string>
<string name="dialog_share_title">分享</string>
<string name="dialog_share_info">快來 PDLIVE觀看%s直播認識更多有趣的朋友吧</string>
<string name="dialog_share_app_facebook" >Facebook</string>
<string name="dialog_share_app_line" >Line</string>
<string name="dialog_share_app_twitter">Twitter</string>
<string name="dialog_share_app_whatsapp" >WhatsApp</string>
<string name="dialog_share_app_messenger">Messenger</string>
<string name="dialog_share_app_instagram" >Instagram</string>
<string name="dialog_invite_title">邀請好友</string>
<string name="dialog_invite_info">快來 PDLIVE觀看直播認識更多有趣的朋友吧</string>
<string name="dialog_share_copy">複製</string>
<string name="dialog_invite_title">邀請好友</string>
<string name="dialog_invite_info">快來 PDLIVE觀看直播認識更多有趣的朋友吧</string>
<string name="dialog_share_copy">複製</string>
</resources>

View File

@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="dialog_share_title">Share</string>
<string name="dialog_share_info">Come and watch %s live on PDLIVE and meet more interesting people!</string>
<string name="dialog_invite_title">Invite Friends</string>
<string name="dialog_invite_info">Come to PDLIVE to discover more and better live streams.</string>
<string name="dialog_share_copy">Copy</string>
<string name="dialog_share_app_internal">Site friends</string>
<string name="dialog_share_internal_title">Share To</string>
<string name="dialog_share_internal_cancel">cancel</string>
<string name="dialog_share_internal_search">Search nickname</string>
<string name="dialog_share_internal_list_btn">Send</string>
<string name="dialog_share_success">Share success</string>
<string name="dialog_share_success_btn">Go chat</string>
<string name="dialog_share_failure_not_select">Please select friends</string>
<string name="dialog_share_app_facebook" >Facebook</string>
<string name="dialog_share_app_line" >Line</string>
<string name="dialog_share_app_twitter">Twitter</string>
<string name="dialog_share_app_whatsapp" >WhatsApp</string>
<string name="dialog_share_app_messenger">Messenger</string>
<string name="dialog_share_app_instagram" >Instagram</string>
<string name="dialog_share_title">分享</string>
<string name="dialog_share_info">快來 PDLIVE觀看%s直播認識更多有趣的朋友吧</string>
<string name="dialog_share_app_facebook" translatable="false">Facebook</string>
<string name="dialog_share_app_line" translatable="false">Line</string>
<string name="dialog_share_app_twitter" translatable="false">Twitter</string>
<string name="dialog_share_app_whatsapp" translatable="false">WhatsApp</string>
<string name="dialog_share_app_messenger" translatable="false">Messenger</string>
<string name="dialog_share_app_instagram" translatable="false">Instagram</string>
<string name="dialog_share_app_internal">站內好友</string>
<string name="dialog_invite_title">邀請好友</string>
<string name="dialog_invite_info">快來 PDLIVE觀看直播認識更多有趣的朋友吧</string>
<string name="dialog_share_copy">複製</string>
<string name="dialog_share_internal_title">分享至</string>
<string name="dialog_share_internal_search">搜索昵稱</string>
<string name="dialog_share_internal_list_btn">發送</string>
<string name="dialog_share_success">分享成功</string>
<string name="dialog_share_success_btn">去聊聊</string>
<string name="dialog_share_failure_not_select">请选择好友</string>
</resources>

View File

@@ -298,7 +298,7 @@ android {
defaultConfig {
// applicationId "myname.pdlive.shayu"
applicationId "com.pandora.cs"
applicationId "com.pandora.sy"
minSdkVersion rootProject.ext.android.minSdkVersion
//版本在这里修改
targetSdkVersion rootProject.ext.android.targetSdkVersion

View File

@@ -9,7 +9,7 @@
"client_info": {
"mobilesdk_app_id": "1:867032862719:android:841a73fdfb6c37453ae1ca",
"android_client_info": {
"package_name": "com.pandora.cs"
"package_name": "com.pandora.sy"
}
},
"oauth_client": [
@@ -17,7 +17,7 @@
"client_id": "867032862719-af2dnojobjd8s6ekdr1is1vev8nk36sv.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.cs",
"package_name": "com.pandora.sy",
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
}
},
@@ -25,7 +25,7 @@
"client_id": "867032862719-ohaa1f18e186qpasvgt7qkk1i1pivniq.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.cs",
"package_name": "com.pandora.sy",
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
}
},
@@ -33,7 +33,7 @@
"client_id": "867032862719-snpbqruvqcc9fsifjnmm1h3dcgtr8am4.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.cs",
"package_name": "com.pandora.sy",
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
}
},

View File

@@ -29,7 +29,6 @@ import com.facebook.appevents.AppEventsLogger;
import com.fm.openinstall.OpenInstall;
import com.google.gson.Gson;
import com.pandoralive.shayu.R;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.LogUtils;
import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
import com.yunbao.common.http.Data;
@@ -292,7 +291,6 @@ public class AppContext extends CommonAppContext {
MessageChatNotifyManager.getInstance().addShieldClass(LoginActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(RegisterActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(UCropActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(MainActivity.class);
RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() {
@@ -484,7 +482,7 @@ public class AppContext extends CommonAppContext {
NeverCrashUtils.getInstance().setDebugMode(BuildConfig.DEBUG).setMainCrashHandler((t, e) -> {
Log.e("ApplicationError", "主线程异常");//此处log只是展示当debug为true时主类内部log会打印异常信息
e.printStackTrace();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
//闪退后finish所有Activity并且杀死进程
for (WeakReference<Activity> activity : activities) {
if (activity != null && activity.get() != null) {

View File

@@ -10,7 +10,6 @@ import android.widget.Toast;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.FileUtil;
import com.yunbao.common.utils.SpUtil;
@@ -106,10 +105,10 @@ public class NeverCrashUtils {
}
e.printStackTrace();
AppContext.setFirebaseCrashData();
DebugUtils.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
AppManager.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()), throwableToString(e), "error.log");
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
DebugUtils.runDebugCode(() -> errorWhile = false);
AppManager.runDebugCode(() -> errorWhile = false);
// return;
}
}

View File

@@ -25,7 +25,7 @@
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.pandora.cs.fileprovider"
android:authorities="com.pandora.sy.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data

View File

@@ -13,7 +13,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.bean.ConfigBean;
import com.yunbao.common.bean.FansMedalBean;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.bean.NewCommunityType;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.bean.UserItemBean;
@@ -538,32 +537,38 @@ public class CommonAppConfig {
* 个人中心功能列表
*/
public List<UserItemBean> getUserItemList() {
if (mUserItemList == null || mUserItemList.size() == 0) {
String userBeanJson = SpUtil.getInstance().getStringValue(SpUtil.USER_INFO);
if (!TextUtils.isEmpty(userBeanJson)) {
JSONObject obj = JSON.parseObject(userBeanJson);
if (obj != null) {
setUserItemList(obj.getString("pdl_list"));
setUserItemList(obj.getString("list"));
}
}
return mUserItemList;
}
/**
* 个人中心功能列表 新
*/
public List<UserItemBean> getUserItemNewList() {
String userBeanJson = SpUtil.getInstance().getStringValue(SpUtil.USER_INFO);
if (!TextUtils.isEmpty(userBeanJson)) {
JSONObject obj = JSON.parseObject(userBeanJson);
if (obj != null) {
setUserItemList(obj.getString("pdl_settings"));
}
}
return mUserItemList;
}
public void setUserItemList(String listString) {
mUserItemList = JSON.parseArray(listString, UserItemBean.class);
UserItemBean[][] arr = JSON.parseObject(listString, UserItemBean[][].class);
if (arr != null && arr.length > 0) {
List<UserItemBean> newList = new ArrayList<>();
for (int i = 0, length1 = arr.length; i < length1; i++) {
for (int j = 0, length2 = arr[i].length; j < length2; j++) {
UserItemBean bean = arr[i][j];
if (j == length2 - 1) {
if (i < length1 - 1) {
bean.setGroupLast(true);
} else {
bean.setAllLast(true);
}
}
newList.add(bean);
}
}
mUserItemList = newList;
}
}

View File

@@ -13,14 +13,12 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.blankj.utilcode.util.LogUtils;
import com.yunbao.common.R;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.message.content.MessageChatCardContent;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.ChatMsgTypeUtils;
import com.yunbao.common.utils.DateFormatUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ViewUtils;
@@ -41,11 +39,8 @@ import io.rong.imkit.widget.adapter.ViewHolder;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.message.HQVoiceMessage;
import io.rong.message.ImageMessage;
import io.rong.message.SightMessage;
import io.rong.message.TextMessage;
import io.rong.message.VoiceMessage;
public class MainConversationListAdapter extends ConversationListAdapter {
public static final int TYPE_SEARCH_TITLE = 500;
@@ -139,19 +134,18 @@ public class MainConversationListAdapter extends ConversationListAdapter {
Log.i("列表", "bindDefault: 用户名字:" + conversation.mCore.getConversationTitle());
ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
((TextView) holder.getView(R.id.rc_conversation_content)).setText(ChatMsgTypeUtils.getMsg(conversation.mConversationContent.toString()));
if (conversation.mCore.getSentTime() != -1 && holder.getView(R.id.rc_conversation_date) != null) {
holder.setText(R.id.rc_conversation_date, DateFormatUtil.getDateTimeString(conversation.mCore.getSentTime(), true, holder.getContext()));
holder.getView(R.id.rc_conversation_date).setVisibility(View.VISIBLE);
} else if (holder.getView(R.id.rc_conversation_date) != null) {
holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
}
if ("0".equals(conversation.mCore.getDraft())) {
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_online));
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "在線" : "Online");
} else {
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_off));
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "離線" : "Offline");
if("0".equals(conversation.mCore.getDraft())){
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_online));
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"在線":"Online");
}else{
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_off));
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"離線":"Offline");
}
if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
return;
@@ -188,11 +182,8 @@ public class MainConversationListAdapter extends ConversationListAdapter {
}
}
private int listHashCode = 0;
@Override
public synchronized void setDataCollection(List<BaseUiConversation> data) {
if (data.hashCode() == listHashCode) return;
listHashCode = data.hashCode();
public void setDataCollection(List<BaseUiConversation> data) {
List<BaseUiConversation> tmp = new ArrayList<>();
Log.i("聊天数据源", "setDataCollection: " + data.hashCode());
List<String> urls = new ArrayList<>();
@@ -223,11 +214,8 @@ public class MainConversationListAdapter extends ConversationListAdapter {
}
urls.add(item.mCore.getTargetId());
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId());
if (!tmpUids.contains(item.mCore.getTargetId())) {
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
srcList.add(cn);
tmpUids.add(item.mCore.getTargetId());
}
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
srcList.add(cn);
if (item.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
if (item.mCore.getLatestMessage() instanceof MessageChatCardContent) {
@@ -240,8 +228,6 @@ public class MainConversationListAdapter extends ConversationListAdapter {
super.setDataCollection(tmp);
}
private List<String> tmpUids = new ArrayList<>();
public void clear() {
mDataList.clear();
if (srcList != null) {
@@ -351,15 +337,10 @@ public class MainConversationListAdapter extends ConversationListAdapter {
conversation.mCore.setUnreadMessageCount(integer);
if(bean.getContent() instanceof SightMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[小視頻]":"[Video]");
}else if(bean.getContent() instanceof HQVoiceMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[語音]":"[Voice]");
} else if(bean.getContent() instanceof ImageMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[圖片]":"[picture]");
}else if(bean.getContent() instanceof MessageChatCardContent){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[站內分享]":"[In-app sharing]");
} else{
}else{
conversation.mConversationContent = new SpannableString(((TextMessage) bean.getContent()).getContent());
}
mDataList.set(id, conversation);
notifyItemChanged(id);
}

View File

@@ -87,7 +87,7 @@ public class LiveTaskModel extends BaseModel {
public String getEndTime() {
if (!StringUtil.isEmpty(endTime)) {
endTime = new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.getDefault()).format(new Date(Long.parseLong(endTime) * 1000));
endTime =WordUtil.getString(R.string.live_task_new_user_timer) + new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.getDefault()).format(new Date(Long.parseLong(endTime) * 1000));
}
return endTime;
}

View File

@@ -1,6 +1,7 @@
package com.yunbao.common.dialog;
import android.content.Context;
import android.content.res.Configuration;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@@ -85,7 +86,7 @@ public class GiftWallAchieveDialog extends AbsDialogPopupWindow {
@Override
protected int getPopupHeight() {
if (isFullWindows) {
if (isFullWindows ||getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
return super.getPopupHeight();
}
int screenHeight = ScreenDimenUtil.getInstance().getScreenHeight();

View File

@@ -2,6 +2,7 @@ package com.yunbao.common.dialog;
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.Typeface;
import android.view.View;
@@ -80,6 +81,7 @@ public class GiftWallDialog extends AbsDialogPopupWindow {
}
@Override
public int bindLayoutId() {
return R.layout.dialog_gift_wall;
@@ -87,13 +89,18 @@ public class GiftWallDialog extends AbsDialogPopupWindow {
@Override
protected int getPopupHeight() {
if (isFullWindows) {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
if (isFullWindows) {
return super.getPopupHeight() - DpUtil.dp2px(10);
}
int screenHeight = ScreenDimenUtil.getInstance().getScreenHeight();
return (int) (screenHeight * 0.8);
} else {
return super.getPopupHeight() - DpUtil.dp2px(10);
}
int screenHeight = ScreenDimenUtil.getInstance().getScreenHeight();
return (int) (screenHeight * 0.8);
}
void initView() {
mIvBg = findViewById(R.id.iv_root_bg);
mIvTips = findViewById(R.id.v_tips);
@@ -196,6 +203,10 @@ public class GiftWallDialog extends AbsDialogPopupWindow {
if (isTab2) {
mTvTab2.callOnClick();
}
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
findViewById(R.id.rootView).setOnClickListener(v -> dismiss());
mIvBg.setOnClickListener(v -> {});
}
}
private void resetWindows() {

View File

@@ -4,6 +4,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
@@ -117,7 +118,7 @@ public class GiftWallGiftInfoDialog extends AbsDialogPopupWindow {
@Override
protected int getPopupHeight() {
if (isFullWindows) {
if (isFullWindows || getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
return super.getPopupHeight();
}
int screenHeight = ScreenDimenUtil.getInstance().getScreenHeight();
@@ -277,7 +278,7 @@ public class GiftWallGiftInfoDialog extends AbsDialogPopupWindow {
void initData() {
adapter.setList_type(list_type);
if (isAnchor || (isTab2Enter && isStar)) {
if (isAnchor) {
if (isStar) {
gift_hall_type = 2;
} else {

View File

@@ -14,7 +14,6 @@ import com.yunbao.common.R;
import com.yunbao.common.bean.MessageUserInfoBean;
import com.yunbao.common.custom.RatioRoundImageView;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.ChatMsgTypeUtils;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil;
@@ -94,7 +93,7 @@ public class MessageChatNotifyDialog extends AbsDialogPositionPopupWindow {
if (StringUtil.isEmpty(liveBean.getExtras())) {
((TextView) findViewById(R.id.description)).setText(liveBean.getUser().getSignature());
} else {
((TextView) findViewById(R.id.description)).setText(ChatMsgTypeUtils.getMsg(liveBean.getExtras()));
((TextView) findViewById(R.id.description)).setText(liveBean.getExtras());
}
new Handler(Looper.getMainLooper()).postDelayed(() -> {
dismiss();

View File

@@ -2,7 +2,6 @@ package com.yunbao.common.fragment;
import android.net.Uri;
import android.os.Bundle;
import android.text.SpannableString;
import android.util.Log;
import android.view.View;
@@ -24,7 +23,6 @@ import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
import com.yunbao.common.adapter.MainConversationListAdapter;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.utils.ChatMsgTypeUtils;
import com.yunbao.common.utils.StringUtil;
import org.greenrobot.eventbus.EventBus;
@@ -143,7 +141,7 @@ public abstract class AbsMainMessageChatListFragment extends Fragment {
isNet = true;
for (BaseUiConversation conversation : srcList) {
map.put(conversation.mCore.getTargetId(), conversation);
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE&& !conversation.mCore.getTargetId().equals("__system__")) {
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
uids.add(conversation.mCore.getTargetId());
}
}
@@ -160,7 +158,7 @@ public abstract class AbsMainMessageChatListFragment extends Fragment {
break;
}
}
srcList.get(i).mConversationContent =new SpannableString(ChatMsgTypeUtils.getMsg(srcList.get(i).mConversationContent.toString()));
}
onRefreshListener.onFinish(srcList);
isNet = false;

View File

@@ -3,7 +3,6 @@ package com.yunbao.common.fragment;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.text.SpannableString;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -24,7 +23,6 @@ import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.ChatMsgTypeUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.StringUtil;
@@ -41,7 +39,6 @@ import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.UserInfo;
import io.rong.message.VoiceMessage;
public class MainMessageChatListFragment extends AbsMainMessageChatListFragment {
private static final String TAG = "MainMessageChatListFragment";
@@ -75,9 +72,6 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
@Override
public void onFinish(List<BaseUiConversation> baseUiConversations) {
InstructorRemarkManager.get(mContext).getNetInstructorRemark();
for (int i = 0; i <baseUiConversations.size(); i++) {
baseUiConversations.get(i).mCore.getMessage();
}
loadLiveLookTime(baseUiConversations, new OnRecyclerListRefreshListener<Map<String, Integer>>() {
@Override
public void onFinish(Map<String, Integer> stringIntegerMap) {

View File

@@ -417,7 +417,7 @@ public class CommonHttpUtil {
.params("purchaseToken", purchaseToken)
.params("productId", productId)
.params("orderno", orderno)
.params("package_name", "com.pandora.cs")
.params("package_name", "com.pandora.sy")
.execute(callback);
}
@@ -428,7 +428,7 @@ public class CommonHttpUtil {
.params("trade_no", tradeNo)
.params("allData", allData)
.params("gps_adid", gps_adid)
.params("package_name", "com.pandora.cs")
.params("package_name", "com.pandora.sy")
.execute(callback);
}
@@ -437,7 +437,7 @@ public class CommonHttpUtil {
.params("purchaseToken", purchaseToken)
.params("orderno", orderNo)
.params("trade_no", tradeNo)
.params("package_name", "com.pandora.cs")
.params("package_name", "com.pandora.sy")
.execute(callback);
}

View File

@@ -543,13 +543,6 @@ public class LiveHttpUtil {
HttpClient.getInstance().get("Live.getGiftListApp", LiveHttpConsts.GET_GIFT_LIST)
.execute(callback);
}
/**
* 获取礼物列表,同时会返回剩余的钱(新版) -用于获取联系方式时的礼物设置
*/
public static void getHotGiftList(HttpCallback callback) {
HttpClient.getInstance().get("Gift.getHotGiftList", LiveHttpConsts.GET_GIFT_LIST)
.execute(callback);
}
/**
* 获取包裹列表

View File

@@ -123,7 +123,6 @@ public class InstructorRemarkManager extends BaseCacheManager {
@Override
public void run() {
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
if(userInfo==null)return;
HttpClient.getInstance().get("User.getInstructorRemark", "getInstructorRemark")
.params("uid", userInfo.getId(), true)
.params("token", userInfo.getToken(), true)

View File

@@ -1,19 +0,0 @@
package com.yunbao.common.manager.imrongcloud;
import java.lang.reflect.Method;
import io.rong.imkit.userinfo.RongUserInfoManager;
import io.rong.imlib.model.UserInfo;
public class PDRongUserInfoManager {
public static void saveUserInfo(UserInfo userInfo) {
RongUserInfoManager instance = RongUserInfoManager.getInstance();
try {
Method method = instance.getClass().getDeclaredMethod("saveUserInfoCache", userInfo.getClass());
method.setAccessible(true);
method.invoke(instance, userInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -179,6 +179,14 @@ public class AppManager {
activityStack.clear();
}
/**
* 仅在debug下运行的代码
*/
public static void runDebugCode(Runnable runnable) {
if (BuildConfig.DEBUG) {
runnable.run();
}
}
/**

View File

@@ -1,22 +0,0 @@
package com.yunbao.common.utils;
/**
* 消息类型翻译管理器
*/
public class ChatMsgTypeUtils {
public static String getMsg(String msg) {
String rsult = msg;
switch (msg) {
case "[小视频]":
rsult = WordUtil.isNewZh() ? "[小視頻]" : "[Video]";
break;
case "[语音]":
rsult = WordUtil.isNewZh() ? "[語音]" : "[Voice]";
break;
case "[图片]":
rsult = WordUtil.isNewZh() ? "[圖片]" : "[Image]";
break;
}
return rsult;
}
}

View File

@@ -1,30 +0,0 @@
package com.yunbao.common.utils;
import android.util.Log;
import com.yunbao.common.BuildConfig;
public class DebugUtils {
/**
* 打印堆栈信息
*/
public static void showStackTrace(){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
StringBuilder sb=new StringBuilder();
for (StackTraceElement element : stackTrace) {
if(element!=null){
sb.append(element).append("\n");
}
}
Log.e("DebugUtils",sb.toString());
}
/**
* 仅在debug下运行的代码
*/
public static void runDebugCode(Runnable runnable) {
if (BuildConfig.DEBUG) {
runnable.run();
}
}
}

View File

@@ -83,7 +83,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
if (mNeedCrop) {
Uri uri = null;
if (Build.VERSION.SDK_INT >= 24) {
uri = FileProvider.getUriForFile(mContext, "com.pandora.cs.fileprovider", mCameraResult);
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
} else {
uri = Uri.fromFile(mCameraResult);
}
@@ -195,7 +195,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
mCameraResult = getNewFile();
Uri uri = null;
if (Build.VERSION.SDK_INT >= 24) {
uri = FileProvider.getUriForFile(mContext, "com.pandora.cs.fileprovider", mCameraResult);
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
} else {
uri = Uri.fromFile(mCameraResult);
@@ -255,7 +255,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
startActivityForResult(intent, mCropResultCallback);
} catch (Exception e) {
try {
Uri resultUri = FileProvider.getUriForFile(mContext, "com.pandora.cs.fileprovider", mCorpResult);
Uri resultUri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCorpResult);
if (resultUri == null || mFragment == null || mContext == null) {
return;
}

View File

@@ -63,7 +63,7 @@ public class VersionUtil {
@Override
public void onConfirmClick(Dialog dialog, String content) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.cs"));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
context.startActivity(i);
context.finish();
}
@@ -85,7 +85,7 @@ public class VersionUtil {
@Override
public void onConfirmClick(Dialog dialog, String content) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.cs"));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
context.startActivity(i);
context.finish();
}

View File

@@ -128,7 +128,7 @@ public class APKUpdateCustomPopup extends CenterPopupView {
public void onViewClicks() {
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.cs"));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
mContext.startActivity(i);
mContext.finish();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {

View File

@@ -43,6 +43,11 @@ public abstract class AbsViewHolder implements LifeCycleListener {
}
public void onConfigureChange() {
//如果 mParentView
}
protected abstract int getLayoutId();
public abstract void init();

View File

@@ -1,55 +0,0 @@
package com.yunbao.common.views;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
/**
* Created by cxf on 2018/1/27.
* RecyclerView顶部渐变的itemDecoration
*/
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
private Drawable mDivider;
public DividerItemDecoration(Context context, int dividerHeight, int dividerColor) {
// 创建一个带有颜色和高度的Drawable作为分割线
mDivider = new ColorDrawable(dividerColor);
// 如果你想让分割线有一定的内边距比如左右边距可以使用LayerDrawable或自定义Drawable
// 这里简单起见,我们只设置高度
mDivider.setBounds(0, 0, 0, dividerHeight);
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
drawVertical(c, parent);
}
private void drawVertical(Canvas c, RecyclerView parent) {
final int left = parent.getPaddingLeft();
final int right = parent.getWidth() - parent.getPaddingRight();
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount - 1; i++) {
final View child = parent.getChildAt(i);
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
final int top = child.getBottom() + params.bottomMargin;
final int bottom = top + mDivider.getIntrinsicHeight();
mDivider.setBounds(left, top, right, bottom);
mDivider.draw(c);
}
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
if (mDivider == null) return;
outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
}
}

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="15dp"/>
<solid android:color="#FFFFBA26"/>
<corners
android:radius="16dp"/>
<solid android:color="#2A2C3B" />
</shape>

View File

@@ -2,8 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="-45"
android:endColor="#FF0FA4FF"
android:startColor="#FF0FA4FF" />
android:endColor="#EB6FFF"
android:startColor="#FF83C6" />
<corners
android:bottomLeftRadius="90dp"
android:bottomRightRadius="90dp"

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/iv_root_bg"
android:layout_width="0dp"
android:layout_margin="8dp"
android:layout_height="0dp"
android:scaleType="fitXY"
android:src="@mipmap/bg_gift_wall_main_root"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.48"
app:riv_corner_radius="16dp"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/v_achievement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginEnd="10dp"
android:visibility="invisible"
tools:visibility="visible"
app:layout_constraintEnd_toEndOf="@id/iv_root_bg"
app:layout_constraintTop_toTopOf="@id/iv_root_bg">
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/bg_gift_wall_main_achievement"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
android:layout_marginBottom="1dp"
android:text="@string/dialog_gift_wall_text_honors"
android:textColor="#FFFFFF"
android:textSize="6.8sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/v_tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="11dp"
app:layout_constraintBottom_toBottomOf="@+id/v_achievement"
app:layout_constraintEnd_toStartOf="@+id/v_achievement"
app:layout_constraintTop_toTopOf="@+id/v_achievement"
app:srcCompat="@mipmap/icon_gift_wall_main_tips" />
<com.yunbao.common.views.CustomEllipsizeTextView
android:id="@+id/user_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="111111111的礼物展馆"
android:textColor="#6BCDFF"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="@+id/v_achievement"
app:layout_constraintEnd_toStartOf="@+id/v_tips"
app:layout_constraintStart_toEndOf="@+id/iv_back"
app:layout_constraintTop_toTopOf="@+id/v_achievement" />
<LinearLayout
android:id="@+id/tab_layout"
android:layout_width="240dp"
android:layout_height="36dp"
android:layout_marginTop="13dp"
android:background="@mipmap/icon_gift_wall_main_switch_main"
android:gravity="center"
android:scaleType="fitXY"
app:layout_constraintEnd_toEndOf="@id/iv_root_bg"
app:layout_constraintStart_toStartOf="@id/iv_root_bg"
app:layout_constraintTop_toBottomOf="@+id/v_achievement">
<TextView
android:id="@+id/tab1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/dialog_gift_wall_text_personal_hal"
android:textSize="16sp"
android:textColor="#9CE7FF"
android:textStyle="bold" />
<TextView
android:id="@+id/tab2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/dialog_gift_wall_text_site_hal"
android:textColor="#FFFFFF"
android:textSize="14sp" />
</LinearLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager2"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="@id/iv_root_bg"
app:layout_constraintEnd_toEndOf="@id/iv_root_bg"
app:layout_constraintStart_toStartOf="@id/iv_root_bg"
app:layout_constraintTop_toBottomOf="@+id/tab_layout" />
<ImageView
android:id="@+id/iv_back"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:src="@mipmap/icon_sud_rule_close_bottom"
android:visibility="invisible"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/user_name"
app:layout_constraintStart_toStartOf="@+id/iv_root_bg"
app:layout_constraintTop_toTopOf="@+id/user_name" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_root_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@mipmap/dialog_gift_wall_achieve" />
<View
android:id="@+id/top_bar"
android:layout_width="0dp"
android:layout_height="0dp" />
<ImageView
android:id="@+id/iv_back"
android:layout_width="80dp"
android:layout_height="60dp"
android:layout_below="@+id/top_bar"
android:paddingEnd="25dp"
android:scaleType="center"
android:src="@mipmap/dialog_gift_wall_back" />
<TextView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_below="@+id/top_bar"
android:gravity="center"
android:text="@string/gift_wall_achieve_title"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/topLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_below="@+id/iv_back"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@mipmap/dialog_gift_wall_achieve_top_bg"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/top_icon"
android:layout_width="120dp"
android:layout_height="20dp"
android:layout_marginLeft="10dp"
android:src="@mipmap/dialog_gift_wall_achieve_top_icon" />
<TextView
android:id="@+id/numCount"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:gravity="start|center_vertical"
android:text="0/1"
android:textColor="#FDE9D8" />
<TextView
android:id="@+id/honor"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:text="@string/wall_honor"
android:textColor="#E0E0E0"
android:textSize="12dp" />
<ImageView
android:layout_width="13dp"
android:layout_height="13dp"
android:layout_marginRight="7dp"
android:src="@mipmap/dialog_gift_wall_more" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/topLayout"
android:layout_marginLeft="10dp"
android:layout_marginTop="15dp"
android:layout_marginRight="10dp" />
</RelativeLayout>

View File

@@ -0,0 +1,450 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:paddingBottom="12dp"
android:orientation="vertical">
<FrameLayout
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<ImageView
android:id="@+id/operate_image"
android:layout_width="122dp"
android:layout_height="50dp"
android:layout_gravity="end|bottom"
android:layout_marginEnd="5dp"
android:scaleType="fitXY" />
<FrameLayout
android:id="@+id/blind_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:visibility="invisible">
<include
layout="@layout/view_blind_box" />
</FrameLayout>
<FrameLayout
android:id="@+id/naming_layout"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_gravity="bottom"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginBottom="5dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@mipmap/background_live_gift_gift_itle" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical">
<ImageView
android:id="@+id/gift_itle"
android:layout_width="54dp"
android:layout_height="13dp"
android:layout_marginStart="13dp"
android:src="@mipmap/icon_live_gift_gift_itle" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/naming_avatar"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="6dp"
android:scaleType="centerCrop"
android:src="@drawable/m_chu_xia"
app:riv_oval="true" />
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/naming_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#FFFFFFFF"
android:textSize="12sp" />
</LinearLayout>
</FrameLayout>
</FrameLayout>
<RelativeLayout
android:id="@+id/gift_list"
android:layout_width="match_parent"
android:layout_height="323dp"
android:animateLayoutChanges="true"
android:orientation="vertical">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/git_background2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/backgroud_custom_gift2"
app:riv_corner_radius_bottom_left="10dp"
app:riv_corner_radius_bottom_right="10dp"
app:riv_corner_radius_top_left="10dp"
app:riv_corner_radius_top_right="10dp" />
<LinearLayout
android:id="@+id/git_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:animateLayoutChanges="true">
<LinearLayout
android:id="@+id/leveling_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone">
<FrameLayout
android:layout_width="40dp"
android:layout_height="22dp"
android:layout_marginStart="17dp"
android:layout_marginTop="9dp"
android:background="@mipmap/icon_grade_angle_mark">
<TextView
android:id="@+id/lv_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Lv.8"
android:textColor="@color/white"
android:textSize="12sp" />
</FrameLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="18dp"
android:layout_weight="1"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="4dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_bg_user" />
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/leave_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="2dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="@string/leveling_points"
android:textColor="#BBBBBB"
android:textSize="9sp" />
</LinearLayout>
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="14dp"
android:background="@mipmap/icon_right" />
</LinearLayout>
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/gift_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#80FFFFFF"
android:textSize="12sp" />
<FrameLayout
android:id="@+id/btn_luck_gift_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp">
<include layout="@layout/view_nobility" />
</FrameLayout>
</LinearLayout>
<RelativeLayout
android:id="@+id/gift_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dp"
android:paddingStart="16dp">
<LinearLayout
android:id="@+id/diamond_linear"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:background="@drawable/background_gift_money"
android:gravity="center_vertical"
android:paddingStart="4dp"
android:paddingTop="7dp"
android:paddingBottom="7dp">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:clickable="false"
android:focusable="false"
android:src="@mipmap/diamond" />
<TextView
android:id="@+id/diamond_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:clickable="false"
android:focusable="false"
android:text="0"
android:textColor="@color/white"
android:textSize="12sp" />
<ImageView
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_marginEnd="4dp"
android:background="@mipmap/icon_right" />
</LinearLayout>
<LinearLayout
android:id="@+id/gold_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:layout_toRightOf="@id/diamond_linear"
android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:clickable="false"
android:focusable="false"
android:src="@mipmap/gold_coin" />
<TextView
android:id="@+id/gold_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:clickable="false"
android:focusable="false"
android:text="10000000"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<FrameLayout
android:id="@+id/gift_send_layout"
android:layout_width="130dp"
android:layout_height="32dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="14dp">
<FrameLayout
android:id="@+id/gift_number_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="42dp"
android:background="@drawable/background_gift_money2">
<TextView
android:id="@+id/gift_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:text="1"
android:textColor="#F5C05A"
android:textSize="14sp" />
<ImageView
android:id="@+id/icon_arrow"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="30dp"
android:src="@mipmap/icon_arrow_right_2" />
</FrameLayout>
<TextView
android:id="@+id/live_gift_send"
android:layout_width="62dp"
android:layout_height="32dp"
android:layout_gravity="end"
android:background="@drawable/bg_live_gift_send_new"
android:gravity="center"
android:text="@string/live_gift_send"
android:textColor="@color/white"
android:textSize="14sp" />
</FrameLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/gift_bottom"
android:layout_below="@id/git_title"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="18dp">
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/gift_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="8dp"
android:layout_marginEnd="10dp" />
<ImageView
android:layout_width="27dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="@drawable/icon_covering_layer"
android:scaleType="centerCrop" />
</FrameLayout>
<View
android:layout_width="1dp"
android:layout_height="11dp"
android:layout_gravity="center_vertical"
android:background="@color/white" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginEnd="10dp">
<TextView
android:id="@+id/live_wrap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="8dp"
android:text="@string/live_wrap"
android:textColor="#CCCDCE"
android:textSize="16sp" />
<View
android:id="@+id/red_point"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_gravity="end"
android:layout_marginEnd="6dp"
android:background="@drawable/bg_red_point" />
</FrameLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/context_layout_gift"
android:layout_width="match_parent"
android:layout_height="196dp"
android:layout_marginTop="12dp" />
</LinearLayout>
<RelativeLayout
android:id="@+id/btn_send_lian"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:background="@mipmap/icon_live_gift_lian"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/live_gift_send_lian"
android:textColor="@color/white"
android:textSize="12sp" />
<TextView
android:id="@+id/lian_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="35dp"
android:textColor="#fff"
android:textSize="14sp" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>

View File

@@ -27,6 +27,30 @@
android:scaleType="centerCrop"
android:src="@mipmap/beauty_jingbai" />
<RelativeLayout
android:id="@+id/rc_conversation_unread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/rc_conversation_unread_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/rc_unread_count_bg_normal" />
<TextView
android:id="@+id/rc_conversation_unread_count"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="15"
android:textColor="@color/rc_white_color"
android:textSize="@dimen/rc_font_auxiliary_size" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
@@ -167,39 +191,6 @@
android:background="@color/rc_divider_color"
app:layout_constraintStart_toStartOf="@id/rc_conversation_title_layout"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:id="@+id/rc_conversation_unread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="5dp"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<ImageView
android:id="@+id/rc_conversation_unread_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/rc_unread_count_bg_normal" />
<TextView
android:id="@+id/rc_conversation_unread_count"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="15"
android:textColor="@color/rc_white_color"
android:textSize="@dimen/rc_font_auxiliary_size" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 321 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -256,7 +256,6 @@
<string name="login_auth_failure">privilege grant failed</string>
<string name="login_auth_cancle">Authorization cancelled</string>
<string name="live">Live</string>
<string name="community">Community</string>
<string name="login_tip_4">Log in</string>
<string name="shopmall">shopmall</string>
<string name="recomment">Hot</string>

View File

@@ -208,7 +208,6 @@
<string name="login_auth_failure">授權失敗</string>
<string name="login_auth_cancle">授權取消</string>
<string name="live">直播</string>
<string name="community">社區</string>
<string name="shopmall">商城</string>
<string name="cust_server">客服</string>
<string name="live_anchor">主播</string>
@@ -652,7 +651,7 @@
<string name="welcome_pdlive">歡迎來到PDLIVE</string>
<string name="newcomer">恭喜你獲得了新人獎勵</string>
<string name="FILE_PROVIDER">com.pandora.cs.fileprovider</string>
<string name="FILE_PROVIDER">com.pandora.sy.fileprovider</string>
<string name="ren"></string>
<string name="ge"></string>
<string name="count">數量</string>

View File

@@ -78,6 +78,4 @@
<color name="gray_f6f7fb">#F6F7FB</color>
<color name="gray_F4F4F4">#F4F4F4</color>
<color name="gray_8A8A8A">#FFEFEFEF</color>
</resources>

View File

@@ -204,7 +204,6 @@
<string name="login_ing">Logon</string>
<string name="login_auth_ing">Authorizing login</string>
<string name="live">Live</string>
<string name="community">Community</string>
<string name="login_tip_4">Log in</string>
<string name="recomment">Hot</string>
<string name="main_type_find">Find</string>
@@ -813,7 +812,6 @@ Limited ride And limited avatar frame</string>
<string name="random_pk_dialog_apply">accept</string>
<string name="random_pk_dialog_refuse">refuse</string>
<string name="random_pk_dialog_refuse_again">Persist in refusing</string>
<string name="random_pk_dialog_title">Random PK hint</string>
<string name="speech_robot_setup">Automatic speech robot setup</string>

View File

@@ -4,7 +4,7 @@ ext {
buildToolsVersion: "29.0.2",
minSdkVersion : 23,
targetSdkVersion : 34,
versionCode : 550,
versionCode : 546,
versionName : "6.8.0",
namespace : "com.pandoralive.shayu"
]

View File

@@ -24,6 +24,6 @@ android.nonTransitiveRClass=false
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
systemProp.http.proxyPort=7890
systemProp.https.proxyPort=9098
systemProp.http.proxyPort=9098
#android.enableR8.fullMode=true

View File

@@ -171,6 +171,8 @@ public class SWAuManager extends BaseCacheManager {
frameLayout.addView(surfaceView);
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, uid);
Log.i("nwq","updateMyChannelView::setupRemoteVideo");
mRtcEngine.setupRemoteVideo(videoCanvas);
}
@@ -188,7 +190,7 @@ public class SWAuManager extends BaseCacheManager {
// 创建一个 TextureView 对象,并将其作为 FrameLayout 的子对象
TextureView surfaceView = new TextureView(mContext);
audienceContainer.addView(surfaceView);
Log.i("nwq"," audienceContainer.getChildCount()"+ audienceContainer.getChildCount());
// 启用视频模块
mRtcEngine.enableVideo();
@@ -232,6 +234,7 @@ public class SWAuManager extends BaseCacheManager {
// surfaceView.setZOrderMediaOverlay(true);
pkContainer1.addView(surfaceView);
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, strUid);
Log.i("nwq","joinExRoomEx::setupRemoteVideoEx");
mRtcEngine.setupRemoteVideoEx(videoCanvas, rtcConnection);
}
});
@@ -312,6 +315,7 @@ public class SWAuManager extends BaseCacheManager {
// surfaceView.setZOrderMediaOverlay(true);
frameLayout.addView(surfaceView);
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, Integer.parseInt(toUid));
Log.i("nwq","joinChannelDrEx::setupRemoteVideoEx");
mRtcEngine.setupRemoteVideoEx(videoCanvas, rtcConnection);
}
});
@@ -393,6 +397,7 @@ public class SWAuManager extends BaseCacheManager {
// surfaceView.setZOrderMediaOverlay(true);
audienceContainer.addView(surfaceView);
// 将 TextureView 对象传入声网实时互动 SDK设置远端视图
Log.i("nwq","setupRemoteVideo::setupRemoteVideo");
mRtcEngine.setupRemoteVideo(new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, uid));
}
@@ -422,9 +427,8 @@ public class SWAuManager extends BaseCacheManager {
public void preloadChannel(List<LiveBean> uids){
for (int i = 0; i <uids.size(); i++) {
L.eSw("设置秒开数据 uid"+uids.get(i).getUid()+" --- userName:"+uids.get(i).getUserNiceName());
int code = mRtcEngine.preloadChannel(CommonAppConfig.SWToken,getChannelName(uids.get(i).getUid()),Integer.parseInt(CommonAppConfig.getInstance().getUid()));
//L.eSw("设置秒开数据 uid"+uids.get(i).getUid()+" --- userName:"+uids.get(i).getUserNiceName()+" code "+code);
L.eSw("设置秒开数据 uid"+uids.get(i).getUid()+" --- userName:"+uids.get(i).getUserNiceName()+" code "+code);
}
}
}

View File

@@ -25,7 +25,7 @@
android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />
<activity
android:name=".activity.LiveAudienceActivity"
android:configChanges="screenLayout|orientation"
android:configChanges="screenLayout|orientation|screenSize"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"

View File

@@ -4,6 +4,7 @@ package com.yunbao.live.activity;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.media.AudioManager;
import android.os.Build;
@@ -213,6 +214,8 @@ public class LiveAudienceActivity extends LiveActivity {
Bus.getOn(this);
super.main();
liveAudienceActivity = this;
// 设置初始屏幕方向为竖屏
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
CrashSaveBean.getInstance().addEnterRoom();
mProcessResultUtil = new ProcessResultUtil(this);
Intent intent = getIntent();
@@ -287,6 +290,7 @@ public class LiveAudienceActivity extends LiveActivity {
}
};
/**
* 初始化界面
*/
@@ -634,8 +638,13 @@ public class LiveAudienceActivity extends LiveActivity {
}
@Override
public void onBackPressed() {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
return;
}
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
@@ -904,9 +913,30 @@ public class LiveAudienceActivity extends LiveActivity {
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i(TAG, "onConfigurationChanged");
adjustFullScreen(newConfig);
onConfigurationChangedView(newConfig);
}
public void onConfigurationChangedView(Configuration newConfig) {
// liveHandler.post(liveRunnable);
if (manager != null && manager.getRootView() != null && mLiveBean != null && mViewGroup != null) {
Log.i("nwq", "横竖屏进行切换");
manager.onConfigurationChanged(newConfig);
// liveHandler.post(liveRunnable);
// View rootView = manager.getRootView();
// if (rootView.getParent() != null && rootView.getParent() instanceof ViewGroup) {
// ((ViewGroup) (rootView.getParent())).removeView(rootView);
// manager.onRemove(false);
// }
// mViewGroup.addView(manager.getRootView());
manager.onAdd(mLiveBean, mLiveType, mLiveTypeVal, mLiveSDK, isSw);
}
}
private void adjustFullScreen(Configuration config) {
final WindowInsetsControllerCompat insetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView());
if (insetsController == null) return;
@@ -1888,9 +1918,9 @@ public class LiveAudienceActivity extends LiveActivity {
if (manager == null || manager.mLiveAudienceViewHolder == null || manager.mLiveAudienceViewHolder.mRedPoint == null) {
return;
}
if(event.getNumber()>0){
if (event.getNumber() > 0) {
manager.mLiveAudienceViewHolder.mRedPoint.setVisibility(View.VISIBLE);
}else{
} else {
manager.mLiveAudienceViewHolder.mRedPoint.setVisibility(View.GONE);
}

View File

@@ -1899,7 +1899,6 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
.setIcon("https://downs.yaoulive.com/xzs_tab.png")
.setNameColor("#f19ec2")
.setSystemBubble("https://downs.yaoulive.com/xzs_qipao.9.png")
.setIconEn("https://downs.yaoulive.com/Robot_en.png")
.setUserName("")
.setContent(content);
SocketSendBean msg =

View File

@@ -176,7 +176,6 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
public void onDismiss() {
}
})
.setHotGiftListUrl(true)
.setShowNumber(false)
.setTitle(mContext.getString(R.string.live_anchor_edit_call_me_select_gift))
.setHideGiftType(true)

View File

@@ -62,12 +62,7 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
private TextView mTitle;
private boolean isOldGiftList = false;
private boolean hideGiftType = false;
private boolean isHotGiftListUrl = false;
public GiftPopDialog setHotGiftListUrl(boolean hotGiftListUrl) {
isHotGiftListUrl = hotGiftListUrl;
return this;
}
public GiftPopDialog(@NonNull Context context) {
super(context);
@@ -188,25 +183,6 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
}
}
@Override
public void onFinish() {
if (mLoading != null) {
mLoading.setVisibility(View.INVISIBLE);
}
}
});
} else if (isHotGiftListUrl) {
LiveHttpUtil.getHotGiftList(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
JSONArray list = obj.getJSONArray("listarray");
setDate(list);
}
}
@Override
public void onFinish() {
if (mLoading != null) {

View File

@@ -1,10 +1,14 @@
package com.yunbao.live.dialog;
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Point;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
@@ -13,7 +17,9 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.yunbao.common.Constants;
import com.yunbao.common.dialog.AbsDialogFragment;
@@ -62,14 +68,31 @@ public class LiveFansFragment extends AbsDialogFragment {
@Override
protected void setWindowAttributes(Window window) {
window.setWindowAnimations(R.style.bottomToTopAnim);
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = DpUtil.dp2px(400);
params.gravity = Gravity.BOTTOM;
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
window.setWindowAnimations(R.style.bottomToTopAnim);
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = DpUtil.dp2px(400);
params.gravity = Gravity.BOTTOM;
} else {
window.setWindowAnimations(R.style.RightLeftToAnim);
// 获取屏幕尺寸
Point size = new Point();
Display display = ((WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
display.getSize(size);
int screenWidth = size.x;
int screenHeight = size.y;
// 设置宽度为屏幕宽度的 48%
params.width = (int) (screenWidth * 0.46f);
// 设置高度为屏幕高度的 70%
params.height = WindowManager.LayoutParams.MATCH_PARENT;
// 设置居中对齐
params.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
}
window.setAttributes(params);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -132,7 +155,7 @@ public class LiveFansFragment extends AbsDialogFragment {
LiveAudienceActivity.is_fans = "2";
int num = LiveAudienceActivity.fansNum - 1;
LiveRoomViewHolder.setFansNum(num);
ToastUtil.show(WordUtil.isNewZh()?"退出成功":"Exit successfully");
ToastUtil.show(WordUtil.isNewZh() ? "退出成功" : "Exit successfully");
EventBus.getDefault().post("exitFansGroup");
dismiss();
} else if (TextUtils.equals(event.getMethod(), "sendFansCard")) {

View File

@@ -62,7 +62,6 @@ import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.GiftCacheUtil;
@@ -1093,7 +1092,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
Bus.get().post(event);
}).build().show();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
Log.i("gifBean", mLiveGiftBean.toString());
});
} else if (code == 1001) {

View File

@@ -6,8 +6,11 @@ import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
@@ -16,6 +19,7 @@ import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
@@ -44,7 +48,7 @@ import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
@@ -837,11 +841,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
@Override
public void onSuccess(GiftNamingInfoModel data) {
if (TextUtils.equals(data.getNamingStatus(), "1")) {
boolean isPageGift = liveGiftModel.isPageGift();
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
liveGiftModel.setPageGift(isPageGift);
liveGiftModel.setGift_id(giftId);
liveGiftModel.setId(giftId);
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
@@ -1342,12 +1342,29 @@ public class LiveGiftPopup extends AbsDialogFragment {
@Override
protected void setWindowAttributes(Window window) {
window.setWindowAnimations(R.style.bottomToTopAnim);
window.setDimAmount(0f);//去掉遮罩层(全透明)
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
window.setWindowAnimations(R.style.bottomToTopAnim);
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
} else {
window.setWindowAnimations(R.style.RightLeftToAnim);
window.setWindowAnimations(com.yunbao.live.R.style.RightLeftToAnim);
// 获取屏幕尺寸
Point size = new Point();
Display display = ((WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
display.getSize(size);
int screenWidth = size.x;
int screenHeight = size.y;
// 设置宽度为屏幕宽度的 48%
params.width = (int) (screenWidth * 0.46f);
// 设置高度为屏幕高度的 70%
params.height = WindowManager.LayoutParams.MATCH_PARENT;
// 设置居中对齐
params.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
}
window.setAttributes(params);
}
@@ -1433,7 +1450,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
Bus.get().post(event);
}).build().show();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
Log.i("gifBean", mGiftBean.toString());
});
} else if (code == 1001) {

View File

@@ -147,7 +147,7 @@ public class LiveTaskDialog extends AbsDialogPopupWindow {
if (task.isNew()) {
newStarImg.setVisibility(VISIBLE);
newStarTime.setVisibility(VISIBLE);
newStarTime.setText(WordUtil.isNewZh()?"新秀主播時效截止至 ":"The statute of limitations for new anchors expires " +task.getEndTime());
newStarTime.setText(task.getEndTime());
}
}

View File

@@ -2,6 +2,8 @@ package com.yunbao.live.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -71,8 +73,10 @@ import pl.droidsonroids.gif.GifImageView;
/**
* Created by cxf on 2018/10/15.
* 直播间个人资料弹窗
*
* @modify by ningwenqiang 2024/8/16
* 如果是横屏则从右边弹出
*/
public class LiveUserDialogFragment extends AbsDialogFragment implements View.OnClickListener {
private String TAG = "用户弹窗";
@@ -150,6 +154,8 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
}
private boolean isPortrait = true;
@Override
protected void setWindowAttributes(Window window) {
window.setWindowAnimations(R.style.bottomToTopAnim);
@@ -157,7 +163,12 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
window.setWindowAnimations(R.style.bottomToTopAnim);
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
isPortrait = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
if (isPortrait) {
params.gravity = Gravity.BOTTOM;
} else {
params.gravity = Gravity.CENTER;
}
window.setAttributes(params);
}
@@ -209,6 +220,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
loadData();
}
private void initView() {
gift_svga = (SVGAImageView) mRootView.findViewById(R.id.gift_svga);
btn_live = mRootView.findViewById(R.id.btn_live);
@@ -249,6 +261,17 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
mLvVal = mRootView.findViewById(R.id.user_card_lv_val);
mNobleIconLayout.setOnClickListener(this);
mSetting.setOnClickListener(this);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
View view = findViewById(R.id.rootView);
if (view != null) {
view.setOnClickListener(v -> dismiss());
}
View view1 = findViewById(R.id.bgView);
if (view1 != null) {
view1.setOnClickListener(this);
}
}
mHonorLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -292,7 +315,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
.setVoicePress(isAnchor)
.setUname(mToName)
.setAvatar(mAvatarUrl));*/
new com.yunbao.common.dialog.GiftWallDialog(mContext, mToUid + "",mToName,mLiveUid, isAnchor).setFullWindows(false).showDialog();
new com.yunbao.common.dialog.GiftWallDialog(mContext, mToUid + "", mToName, mLiveUid, isAnchor).setFullWindows(false).showDialog();
dismiss();
}
});
@@ -344,7 +367,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
}
}
}
//是否是主播
boolean isAnchor = false;
private void showData(String data) {
@@ -544,7 +567,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
gift_svga.setImageDrawable(drawable);
SVGAViewUtils.playEndClear(gift_svga,true,0,null);
SVGAViewUtils.playEndClear(gift_svga, true, 0, null);
//SVGAViewUtils.playEndClear(gift_svga);
}
@@ -653,7 +676,15 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
*/
private void report() {
if (TextUtils.equals(mLiveUid, "uid")) return;
LiveReportActivity.forward(mContext, mToUid);
if (!isPortrait) {
Log.i("nwq", "先切换成竖屏");
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
LiveReportActivity.forward(mContext, mToUid);
dismiss();
}else {
LiveReportActivity.forward(mContext, mToUid);
}
}
@@ -699,6 +730,15 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
}
//切换横竖屏
private void switchPortraitOrientation() {
if (!isPortrait) {
Log.i("nwq", "先切换成竖屏");
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
@Override
public void onClick(View v) {
int i = v.getId();
@@ -731,6 +771,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
} else if (i == R.id.btn_guard) {
if (TextUtils.equals(mLiveUid, "uid")) return;
MobclickAgent.onEvent(mContext, "anchor_avatar_guard", "守护按钮");
switchPortraitOrientation();
((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveSwAnchorActivity, mToUid);
} else if (i == R.id.btn_live) {
gotoLive(mToUid);
@@ -740,6 +781,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
dismiss();
((LiveActivity) mContext).openFansWindow(mToUid);
} else {
switchPortraitOrientation();
MobclickAgent.onEvent(mContext, "user_avatar_noble", "贵族按钮");
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.NOBLE));
@@ -766,7 +808,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
return;
}
boolean isAnchor = CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("C");
CommonHttpUtil.sayHi(mToUid, isAnchor ? "6" : "7",new HttpCallback() {
CommonHttpUtil.sayHi(mToUid, isAnchor ? "6" : "7", new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -777,7 +819,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
}
public void showMsgError() {
ToastUtil.show(WordUtil.isNewZh()?"無法聊天,待開發":"Unable to chat, awaiting development");
ToastUtil.show(WordUtil.isNewZh() ? "無法聊天,待開發" : "Unable to chat, awaiting development");
}

View File

@@ -4,6 +4,8 @@ import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
@@ -304,21 +306,22 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
pd_pao.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
StringBuffer urlString = new StringBuffer();
urlString.append(CommonAppConfig.HOST)
.append("/h5/exchangeShop/index.html?uid=")
.append(userInfo.getId())
.append("&token=")
.append(userInfo.getToken()).append("&isZh=")
.append(WordUtil.isNewZh() ? "1" : 0);
Bundle bundle1 = new Bundle();
bundle1.putString("url", urlString.toString());
LiveHDDialogFragment liveHDDialogFragment = new LiveHDDialogFragment();
liveHDDialogFragment.setArguments(bundle1);
liveHDDialogFragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
Bus.get().post(new QuickGiftingEvent().setReminder(true));
MobclickAgent.onEvent(mContext, "small_pd_gifts", "长按");
switchCurrentOrientation();
// IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
// StringBuffer urlString = new StringBuffer();
// urlString.append(CommonAppConfig.HOST)
// .append("/h5/exchangeShop/index.html?uid=")
// .append(userInfo.getId())
// .append("&token=")
// .append(userInfo.getToken()).append("&isZh=")
// .append(WordUtil.isNewZh() ? "1" : 0);
// Bundle bundle1 = new Bundle();
// bundle1.putString("url", urlString.toString());
// LiveHDDialogFragment liveHDDialogFragment = new LiveHDDialogFragment();
// liveHDDialogFragment.setArguments(bundle1);
// liveHDDialogFragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
// Bus.get().post(new QuickGiftingEvent().setReminder(true));
// MobclickAgent.onEvent(mContext, "small_pd_gifts", "长按");
return true;
}
});
@@ -396,6 +399,18 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
}
//切换横竖屏
private void switchCurrentOrientation() {
int currentOrientation = context.getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_PORTRAIT) {
// 当前为竖屏,切换到横屏
context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
// 当前为横屏,切换回竖屏
context. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
public void setGiftRemainingQuantity(String giftRemainingQuantity) {
mQuickGiftRemainingQuantity = Integer.parseInt(giftRemainingQuantity);
if (mQuickGiftRemainingQuantity > 0) {

View File

@@ -5,6 +5,7 @@ import android.Manifest;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
import android.media.AudioManager;
import android.os.Build;
@@ -135,6 +136,10 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
return landscape;
}
private boolean isPhysicalScreenVertical() {
return contexts.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
}
public LivePlaySwViewHolder(Context context, ViewGroup parentView, int landscapes) {
super(context, parentView);
contexts = context;
@@ -183,6 +188,66 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
dr_pk_view.setVisibility(View.GONE);
}
public void onConfigureChange() {
if (contexts == null) {
return;
}
//这里考虑只通过修改参数的方式实现
if (isPhysicalScreenVertical()) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mPkContainer.getLayoutParams();
params.height = DpUtil.dp2px(280);
params.topMargin = DpUtil.dp2px(130);
mPkContainer.setLayoutParams(params);
if (mPkContainer.getVisibility() == View.VISIBLE) {
mPkContainer.requestLayout();
}
params = (RelativeLayout.LayoutParams) dr_pk_view.getLayoutParams();
params.height = DpUtil.dp2px(280);
params.topMargin = DpUtil.dp2px(130);
dr_pk_view.setLayoutParams(params);
if (dr_pk_view.getVisibility() == View.VISIBLE) {
dr_pk_view.requestLayout();
}
params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = DpUtil.dp2px(280);
params.topMargin = DpUtil.dp2px(130);
ry_view.setLayoutParams(params);
if (ry_view.getVisibility() == View.VISIBLE) {
ry_view.requestLayout();
}
} else {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mPkContainer.getLayoutParams();
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
mPkContainer.setLayoutParams(params);
if (mPkContainer.getVisibility() == View.VISIBLE) {
mPkContainer.requestLayout();
}
params = (RelativeLayout.LayoutParams) dr_pk_view.getLayoutParams();
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
dr_pk_view.setLayoutParams(params);
if (dr_pk_view.getVisibility() == View.VISIBLE) {
dr_pk_view.requestLayout();
}
params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
ry_view.setLayoutParams(params);
if (ry_view.getVisibility() == View.VISIBLE) {
ry_view.requestLayout();
}
}
swAuManager.joinRoom(CommonAppConfig.getInstance().getUid(), CommonAppConfig.SWToken, liveUid, SWAuManager.getChannelName(liveUid));
}
public void initSwEngine(String liveUid) {
dr_pk_view.setVisibility(View.GONE);
this.liveUid = liveUid;
@@ -224,7 +289,6 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
@Override
public void onSuccess(io.rong.imlib.model.Message message) {
Log.e("ry", "发送成功");
IMCenter.getInstance().deleteRemoteMessages(Conversation.ConversationType.PRIVATE, message.getTargetId(), new Message[]{message}, null);
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, message.getTargetId(), null);
MicedUserManager.get().removeMiscUser(CommonAppConfig.getInstance().getUid());
@@ -464,8 +528,49 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
Log.i(TAG, "setLiveBeanLandscape: " + landscape + " isPk: " + isPk);
this.landscape = landscape;
this.videoLandscape = landscape;
if (landscape == 2) {
Log.i(TAG, "还原916");
if (isPhysicalScreenVertical()) {
if (landscape == 2) {
Log.i(TAG, "还原916");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = RelativeLayout.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
ry_view.setLayoutParams(params);
ry_view.requestLayout();
/* RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = RelativeLayout.LayoutParams.MATCH_PARENT;
params1.topMargin = 0;
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = RelativeLayout.LayoutParams.MATCH_PARENT;
params2.topMargin = 0;
mCover.setLayoutParams(params2);
mCover.requestLayout();
} else {
Log.i(TAG, "还原16:9");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = vHeight;
params.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
params.addRule(RelativeLayout.ALIGN_TOP);
ry_view.setLayoutParams(params);
ry_view.requestLayout();
/*RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = vHeight;
params1.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
params1.addRule(RelativeLayout.ALIGN_TOP);
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = DpUtil.dp2px(270);
params2.topMargin = DpUtil.dp2px(120);
mCover.setLayoutParams(params2);
mCover.requestLayout();
}
} else {
Log.i(TAG, "还原横屏 169");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = RelativeLayout.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
@@ -482,27 +587,6 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
params2.topMargin = 0;
mCover.setLayoutParams(params2);
mCover.requestLayout();
} else {
Log.i(TAG, "还原16:9");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params.height = vHeight;
params.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
params.addRule(RelativeLayout.ALIGN_TOP);
ry_view.setLayoutParams(params);
ry_view.requestLayout();
/*RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = vHeight;
params1.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
params1.addRule(RelativeLayout.ALIGN_TOP);
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = DpUtil.dp2px(270);
params2.topMargin = DpUtil.dp2px(120);
mCover.setLayoutParams(params2);
mCover.requestLayout();
}
}
@@ -618,7 +702,7 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
params1.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
params1.addRule(RelativeLayout.ALIGN_TOP);
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
ry_view.requestLayout(); */
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = DpUtil.dp2px(270);
params2.topMargin = DpUtil.dp2px(120);
@@ -664,16 +748,18 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
Log.e("PK状态", "" + i);
/*RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
/*
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = vHeight;
params1.topMargin = contexts.getResources().getDimensionPixelOffset(R.dimen.live_top);
params1.addRule(RelativeLayout.ALIGN_TOP);
ry_view.requestLayout();*/
ry_view.requestLayout(); */
isPk = true;
}
/**
* 播放开始
* TODO 横屏
*/
public void onPrepared() {
if (mEnd) {
@@ -681,41 +767,42 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
return;
}
int height;
if (videoLandscape == VIDEO_VERTICAL) {
height = ViewGroup.LayoutParams.MATCH_PARENT;
} else {
height = ViewGroup.LayoutParams.WRAP_CONTENT;
}
if (landscape == 2) {
Log.i(TAG, "onPrepared:还原916 land=" + videoLandscape);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = height;
params.topMargin = 0;
params.addRule(RelativeLayout.ALIGN_TOP);
mVideoView.setLayoutParams(params);
mVideoView.requestLayout();
if (isPhysicalScreenVertical()) {
if (videoLandscape == VIDEO_VERTICAL) {
height = ViewGroup.LayoutParams.MATCH_PARENT;
} else {
height = ViewGroup.LayoutParams.WRAP_CONTENT;
}
if (landscape == 2) {
Log.i(TAG, "onPrepared:还原916 land=" + videoLandscape);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = height;
params.topMargin = 0;
params.addRule(RelativeLayout.ALIGN_TOP);
mVideoView.setLayoutParams(params);
mVideoView.requestLayout();
/*RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = height;
params1.topMargin = 0;
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = height;
params2.topMargin = 0;
mCover.setLayoutParams(params2);
mCover.requestLayout();
} else {
Log.i(TAG, "onPrepared:还原169");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = height;
params.topMargin = 0;
if (videoLandscape == VIDEO_HORIZONTAL) {
params.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
}
params.addRule(RelativeLayout.ALIGN_TOP);
mVideoView.setLayoutParams(params);
mVideoView.requestLayout();
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = height;
params2.topMargin = 0;
mCover.setLayoutParams(params2);
mCover.requestLayout();
} else {
Log.i(TAG, "onPrepared:还原169");
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = height;
params.topMargin = 0;
if (videoLandscape == VIDEO_HORIZONTAL) {
params.topMargin = mContext.getResources().getDimensionPixelOffset(R.dimen.live_top);
}
params.addRule(RelativeLayout.ALIGN_TOP);
mVideoView.setLayoutParams(params);
mVideoView.requestLayout();
/*RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) ry_view.getLayoutParams();
params1.height = height;
@@ -726,9 +813,24 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
}
ry_view.setLayoutParams(params1);
ry_view.requestLayout();*/
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = height;
params2.topMargin = DpUtil.dp2px(120);
mCover.setLayoutParams(params2);
mCover.requestLayout();
}
} else {
Log.i(TAG, " onPrepared:还原横屏169 land=" + videoLandscape);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
params.topMargin = 0;
params.addRule(RelativeLayout.ALIGN_TOP);
mVideoView.setLayoutParams(params);
mVideoView.requestLayout();
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) mCover.getLayoutParams();
params2.height = height;
params2.topMargin = DpUtil.dp2px(120);
params2.height = ViewGroup.LayoutParams.MATCH_PARENT;
params2.topMargin = 0;
mCover.setLayoutParams(params2);
mCover.requestLayout();
}
@@ -801,7 +903,6 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
@Override
public void changeToLeft() {
if (mVideoView != null) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
params.height = vHeight;
// params.height = mContext.getResources().getDimensionPixelOffset(R.dimen.live_view);

View File

@@ -5,6 +5,7 @@ import static com.yunbao.live.bean.LiveChatBean.RECOMMEND_CARD_NOTIFY;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Outline;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -70,7 +71,6 @@ import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.bean.PrankProgressBean;
import com.yunbao.common.fragment.GiftWallMainTab1Fragment;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
@@ -1001,8 +1001,10 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}).into(dr_pk_end_gif);
}
}
private boolean isPorit(){
return true;
}
public static void UpPkBar(JSONArray obj, String uid, int time) {
@@ -1176,6 +1178,10 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
private boolean isPortrait(Context context){
return context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
}
@Override
public void init() {
@@ -1413,17 +1419,27 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
gif_view = (LinearLayout) findViewById(R.id.gif_view);
chat_view = (RelativeLayout) findViewById(R.id.chat_view);
int topMargin = mScreenWdith * 720 / 960 + 210;
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) chat_view.getLayoutParams();
params.topMargin = topMargin;
chat_view.setLayoutParams(params);
if(isPortrait(mContentView.getContext())){
int topMargin = mScreenWdith * 720 / 960 + 210;
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) chat_view.getLayoutParams();
params.topMargin = topMargin;
chat_view.setLayoutParams(params);
RelativeLayout.LayoutParams msgLayoutLayoutParams = (RelativeLayout.LayoutParams) msgLayout.getLayoutParams();
msgLayoutLayoutParams.topMargin = topMargin + DpUtil.dp2px(50);
msgLayout.setLayoutParams(msgLayoutLayoutParams);
voteManager.setMarginPosition(topMargin + DpUtil.dp2px(50));
}else {
int topMargin = mScreenWdith * 190 / 960 ;
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) chat_view.getLayoutParams();
params.topMargin = topMargin;
chat_view.setLayoutParams(params);
RelativeLayout.LayoutParams msgLayoutLayoutParams = (RelativeLayout.LayoutParams) msgLayout.getLayoutParams();
msgLayoutLayoutParams.topMargin = topMargin + DpUtil.dp2px(50);
msgLayout.setLayoutParams(msgLayoutLayoutParams);
voteManager.setMarginPosition(topMargin + DpUtil.dp2px(50));
}
RelativeLayout.LayoutParams msgLayoutLayoutParams = (RelativeLayout.LayoutParams) msgLayout.getLayoutParams();
msgLayoutLayoutParams.topMargin = topMargin + DpUtil.dp2px(50);
msgLayout.setLayoutParams(msgLayoutLayoutParams);
voteManager.setMarginPosition(topMargin + DpUtil.dp2px(50));
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams) mChatRecyclerView.getLayoutParams();
params1.topMargin = DpUtil.dp2px(65);
mChatRecyclerView.setLayoutParams(params1);
@@ -2128,7 +2144,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
};
//主播倒计时调用接口
//主播倒计时调用接口b
private Handler anchorTimeHandler = new Handler();
private int mCountdown;
private Runnable anchorTimeRunnable = new Runnable() {
@@ -2353,6 +2369,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
public void resetViewGone() {
goto_room_view.setVisibility(View.GONE);
mPkRankTopIcon.setVisibility(View.GONE);
Log.i("nwq","LiveRoomViewHolder::resetViewGone");
lt_pk_line.setVisibility(View.GONE);
time.setVisibility(View.GONE);
if (!SpUtil.getInstance().getBooleanValue("private_chat_message_switch")) {
@@ -2361,7 +2378,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
if (!IMLoginManager.get(mContext).hintChat()) {
msgLayout.setVisibility(View.VISIBLE);
}
DebugUtils.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
AppManager.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
if (d_pk_view != null) {
d_pk_view.setVisibility(View.GONE);
}
@@ -3290,7 +3307,9 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
//双人pk显示
public void UpPkTwo() {
Log.i("nwq","LiveRoomViewHolder::UpPkTwo");
if (lt_pk_line.getVisibility() == View.VISIBLE) return;
Log.i("nwq","LiveRoomViewHolder::UpPkTwo22");
ScreenDimenUtil util = ScreenDimenUtil.getInstance();
int mScreenWdith = util.getScreenWdith();
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) lt_pk_line.getLayoutParams();

View File

@@ -33,7 +33,6 @@ import com.lzf.easyfloat.permission.PermissionUtils;
import com.lzf.easyfloat.utils.LifecycleUtils;
import com.yunbao.common.event.LiveMsgWindowsCloseEvent;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
@@ -288,7 +287,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
liveImDeletUtil = new LiveImDeletUtil();
portraitLiveManager = this;
ininView();
DebugUtils.runDebugCode(() -> waitShowTopBannerTime = 1000);
AppManager.runDebugCode(() -> waitShowTopBannerTime = 1000);
}
/**
@@ -397,8 +396,10 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
liveHandler.removeCallbacks(loadTimeoutRunnableGone);
if (mLivePlayViewHolder == null) {
if (isSw) {
Log.i("NWQ", "打开播放器源 声网");
mLivePlayViewHolder = new LivePlaySwViewHolder(mContext, playContainer, mLiveBean.getLandscape());
} else {
Log.i("NWQ", "打开播放器源 融云");
mLivePlayViewHolder = new LivePlayRyViewHolder(mContext, playContainer, 1);
}
@@ -519,6 +520,11 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
};
//屏幕方向改变
public void onConfigureChange() {
}
/**
* 新进入房间接口
*/
@@ -731,9 +737,9 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
}
isShowPrank = false;
}else{
} else {
//初始化天梯赛数据(不在pk过程中)
mLiveRoomViewHolder.initRankPKInfo(mLiveUid,"");
mLiveRoomViewHolder.initRankPKInfo(mLiveUid, "");
}
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.pkHandler = false;
@@ -819,9 +825,9 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
upDataPkScore(pkInfo.getJSONArray("userlist"), pkInfo.getIntValue("drpk_time"));
isShowPrank = false;
}else{
} else {
//初始化天梯赛数据(不在pk过程中)
mLiveRoomViewHolder.initRankPKInfo(mLiveUid,"");
mLiveRoomViewHolder.initRankPKInfo(mLiveUid, "");
}
if (data.getEnterRoomInfo().getGuard() != null) {
if (mLiveRoomViewHolder != null) {
@@ -876,7 +882,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
}
//liveHandler.postDelayed(loadTimeoutRunnableGone, 15_000);
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
liveHandler.postDelayed(loadTimeoutRunnableGone, 1_000);
});
liveHandler.postDelayed(loadTimeoutRunnableGone, 4_000);
@@ -908,7 +914,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mLiveRoomViewHolder.onSendMoneyLong();
}
//初始化整蠱列表
mLiveRoomViewHolder.initPrankProgress(isShowPrank?1:2);
mLiveRoomViewHolder.initPrankProgress(isShowPrank ? 1 : 2);
}
@@ -1124,7 +1130,12 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
@Override
public void onConfigurationChanged(Configuration newConfig) {
mLiveRoomViewHolder.removeView();
mLiveRoomViewHolder = new LiveRoomViewHolder(false, 1, mContext, mContainer, mSecondPage.findViewById(R.id.gift_gif), mSecondPage.findViewById(R.id.gift_svga), mContainerWrap, mContext.getWindowManager(), isSw);
mLiveRoomViewHolder.subscribeActivityLifeCycle();
mLiveRoomViewHolder.addToParent();
// mLivePlayViewHolder.onConfigureChange();
}
@Override
@@ -1968,7 +1979,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
//整蛊进度数据更新
@Override
public void onUpdatePrankProgress(String prankString) {
if (mLiveRoomViewHolder != null){
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.refreshPrank(prankString);
}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp"/>
<solid android:color="#FF0FA4FF"/>
<corners android:radius="15dp" />
<solid android:color="@color/white" />
</shape>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<com.yunbao.common.views.weight.MyDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/live_back"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/live_bg" />
<View
android:id="@+id/mask"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80000000" />
<FrameLayout
android:id="@+id/play_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.yunbao.common.custom.MyViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
<FrameLayout
android:id="@+id/page_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/btn_small_screen"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="right"
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
android:padding="5dp"
android:src="@mipmap/icon_live_close"
android:visibility="gone" />
</FrameLayout>
<include
android:id="@+id/loading"
layout="@layout/layout_portrait_live_item" />
<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch" />
</com.yunbao.common.views.weight.MyDrawerLayout>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="18dp"
android:layout_marginBottom="18dp"
android:gravity="center_vertical|right"
android:orientation="vertical"
app:cardCornerRadius="12dp"
app:cardElevation="16dp">
<WebView
android:id="@+id/rlWebview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>

View File

@@ -0,0 +1,610 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--用来确认头像位置的基准线,需要根据背景进行调整 -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/bgView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="@drawable/bg_live_user"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.52"
app:layout_constraintWidth_percent="0.48">
<ImageView
android:id="@+id/title_bg"
android:layout_width="0dp"
android:layout_height="93dp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/btn_report"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginEnd="14dp"
android:gravity="center"
android:text="@string/report"
android:textColor="#B1B1B1"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/ai_te"
android:layout_width="41dp"
android:layout_height="25dp"
android:layout_marginTop="10dp"
android:background="@drawable/background_fc6945"
android:gravity="center"
android:text="\@TA"
android:textColor="@color/white"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="@+id/btn_report"
app:layout_constraintTop_toBottomOf="@+id/btn_report" />
<LinearLayout
android:id="@+id/btn_guard"
android:layout_width="88dp"
android:layout_height="23dp"
android:layout_marginStart="25dp"
android:layout_marginTop="18dp"
android:background="@drawable/bg_user_card_guard"
android:gravity="center"
android:orientation="horizontal"
android:visibility="invisible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/guard_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:text="@string/user_card_guard"
android:textColor="#FFFFFF"
android:textSize="10sp" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="10dp"
android:layout_height="10dp"
app:srcCompat="@mipmap/icon_arrow_right_3" />
</LinearLayout>
<ImageView
android:id="@+id/btn_setting"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginTop="18dp"
android:layout_marginEnd="14dp"
android:src="@mipmap/icon_live_usercard_setting"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints"
tools:visibility="visible" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="sxsdff" />
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="17dp"
android:layout_marginTop="13dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/name">
<ImageView
android:id="@+id/good_nub_ico"
android:layout_width="18dp"
android:layout_height="15dp"
android:layout_marginRight="6dp"
android:src="@mipmap/usercard_good_nub"
android:visibility="visible" />
<ImageView
android:layout_width="18dp"
android:layout_height="15dp"
android:layout_marginRight="6dp"
android:src="@mipmap/user_card_id"
android:visibility="visible" />
<TextView
android:id="@+id/id_val"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#B1B1B1"
android:textSize="13sp" />
<View
android:layout_width="1dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="#B1B1B1"
android:visibility="visible" />
<TextView
android:id="@+id/fans_val"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#B1B1B1"
android:textSize="13sp" />
<View
android:layout_width="1dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="#B1B1B1"
android:visibility="visible" />
<TextView
android:id="@+id/praise_val"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#B1B1B1"
android:textSize="13sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="wrap_content"
android:layout_height="17.5dp"
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll1">
<ImageView
android:id="@+id/sex"
android:layout_width="27dp"
android:layout_height="match_parent"
android:layout_marginLeft="4dp" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="46.5dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginStart="6dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/user_card_lv_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/user_card_lv_val"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginStart="5dp"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/btn_union"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="6dp"
android:background="@drawable/bg_user_card_guard"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/union_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:gravity="center"
android:text="@string/user_card_guard"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
<ImageView
android:id="@+id/user_card_noble"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="6dp"
android:src="@mipmap/emperor_rom" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll2">
<ImageView
android:layout_width="17dp"
android:layout_height="14dp"
android:layout_gravity="top"
android:src="@mipmap/icon_user_card_t1" />
<TextView
android:id="@+id/sign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_user_dialog_tips"
android:textColor="#B1B1B1"
android:textSize="14sp" />
<ImageView
android:layout_width="17dp"
android:layout_height="14dp"
android:layout_gravity="bottom"
android:src="@mipmap/icon_user_card_t2" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll3"
tools:visibility="visible">
<ImageView
android:id="@+id/medal_ico1"
android:layout_width="35dp"
android:layout_height="35dp" />
<LinearLayout
android:id="@+id/ry_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<View
android:id="@+id/no_gz"
android:layout_width="1dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="#B1B1B1"
android:visibility="visible" />
<ImageView
android:id="@+id/ry_ico1"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="8dp"
android:visibility="visible" />
<ImageView
android:id="@+id/ry_ico2"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="8dp"
android:visibility="visible" />
<ImageView
android:id="@+id/ry_ico3"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="8dp"
android:visibility="visible" />
<ImageView
android:id="@+id/ry_ico4"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="8dp"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll4">
<LinearLayout
android:id="@+id/user_level_layout"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_lv"
android:gravity="center_vertical">
<ImageView
android:id="@+id/live_icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="2dp"
android:layout_marginEnd="5dp"
android:src="@mipmap/icon_chat_face"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/lv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_user_level_anchor"
android:textColor="#FFFFFF"
android:textSize="11sp" />
<TextView
android:id="@+id/lv_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/gift_wall"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_lv"
android:gravity="center_vertical">
<ImageView
android:id="@+id/icon_gift_wall"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="2dp"
android:layout_marginEnd="5dp"
android:src="@mipmap/icon_chat_face"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/text_gift_wall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_user_level_anchor"
android:textColor="#FFFFFF"
android:textSize="11sp" />
<TextView
android:id="@+id/value_gift_wall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/noble_icon_layout"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@mipmap/img_aristocrat_notopen"
android:gravity="center_vertical">
<ImageView
android:id="@+id/noble_icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="7dp"
android:layout_marginEnd="5dp"
android:src="@mipmap/img_fans_default"
android:visibility="invisible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginEnd="2dp"
android:orientation="vertical">
<TextView
android:id="@+id/noble_title_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_noble_level_anchor"
android:textColor="#FFFFFF"
android:textSize="11sp" />
<TextView
android:id="@+id/noble_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/honor_layout"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_honor"
android:gravity="center_vertical">
<ImageView
android:id="@+id/honor_icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="2dp"
android:layout_marginEnd="5dp"
android:src="@mipmap/img_honor_default"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_honor_number_anchor"
android:textColor="#FFFFFF"
android:textSize="11sp" />
<TextView
android:id="@+id/honor_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/bottom_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll5" />
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/guideline"
android:layout_width="1dp"
android:layout_height="1dp"
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="@id/bgView"
app:layout_constraintTop_toTopOf="@id/bgView" />
<ImageView
android:id="@+id/shawl"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@id/bgView"
app:layout_constraintStart_toStartOf="@id/bgView"
app:layout_constraintTop_toTopOf="@+id/guideline"
app:layout_constraintBottom_toBottomOf="@+id/guideline" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/avatar"
android:layout_width="63dp"
android:layout_height="63dp"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="@id/bgView"
app:layout_constraintStart_toStartOf="@id/bgView"
app:riv_oval="true"
tools:src="@mipmap/icon_avatar_male" />
<com.opensource.svgaplayer.SVGAImageView
android:id="@+id/gift_svga"
android:layout_width="82dp"
android:layout_height="82dp"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
app:autoPlay="true"
app:layout_constraintBottom_toBottomOf="@+id/avatar"
app:layout_constraintEnd_toEndOf="@+id/avatar"
app:layout_constraintStart_toStartOf="@+id/avatar"
app:layout_constraintTop_toTopOf="@+id/avatar" />
<pl.droidsonroids.gif.GifImageView
android:id="@+id/btn_live"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:src="@mipmap/icon_user_home_living"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/gift_svga"
app:layout_constraintEnd_toEndOf="@+id/gift_svga"
app:layout_constraintStart_toStartOf="@+id/gift_svga" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,520 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:orientation="vertical">
<LinearLayout
android:id="@+id/btn_turntable"
android:layout_width="76dp"
android:layout_height="45dp"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_marginBottom="30dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/live_turntable" />
</LinearLayout>
<LinearLayout
android:id="@+id/btn_onecz_event"
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_marginBottom="20dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone">
<pl.droidsonroids.gif.GifImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:src="@mipmap/onecz" />
</LinearLayout>
<LinearLayout
android:id="@+id/btn_wishlist"
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_marginBottom="50dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/icon_wish_player" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/live_wish_list"
android:textColor="@color/gray2"
android:textSize="10sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:background="@drawable/bg_live_link_mic"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="2dp"
android:src="@mipmap/icon_live_link_mic" />
<TextView
android:id="@+id/link_mic_tip"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/live_link_mic_2"
android:textColor="@color/gray2"
android:textSize="10sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_alignParentBottom="true"
android:gravity="center_vertical">
<ImageView
android:id="@+id/btn_close"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="5dp"
android:src="@mipmap/icon_live_close"
android:visibility="invisible" />
<pl.droidsonroids.gif.GifImageView
android:id="@+id/btn_zg"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toLeftOf="@id/btn_gift"
android:adjustViewBounds="true"
android:background="@mipmap/img_bg"
android:padding="5dp"
android:src="@mipmap/zg"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/btn_zg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/btn_zg"
android:visibility="gone">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@mipmap/img_bg" />
<pl.droidsonroids.gif.GifImageView
android:id="@+id/btn_hd"
android:layout_width="33dp"
android:layout_height="33dp"
android:adjustViewBounds="true"
android:src="@mipmap/play" />
</RelativeLayout>
<pl.droidsonroids.gif.GifImageView
android:id="@+id/btn_share"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/btn_gift"
android:adjustViewBounds="true"
android:background="@mipmap/img_bg"
android:padding="5dp"
android:src="@mipmap/zan_gif"
android:visibility="gone" />
<pl.droidsonroids.gif.GifImageView
android:id="@+id/btn_gift"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_toLeftOf="@id/btn_close"
android:adjustViewBounds="true"
android:background="@mipmap/img_bg"
android:src="@mipmap/live_lw"
android:visibility="gone" />
<ImageView
android:id="@+id/btn_link_mic"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/btn_more"
android:src="@mipmap/icon_live_link_mic_1"
android:visibility="gone" />
<ImageView
android:id="@+id/btn_more"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@id/btn_mic"
android:src="@mipmap/live_user_more"
android:visibility="gone" />
<ImageView
android:id="@+id/btn_mic"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@id/btn_zg1"
android:src="@mipmap/lianmai"
android:visibility="gone" />
<ImageView
android:id="@+id/btn_red_pack"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@id/btn_link_mic"
android:padding="5dp"
android:src="@mipmap/icon_live_red_pack"
android:visibility="gone" />
<!--聊天-->
<LinearLayout
android:layout_width="126dp"
android:layout_height="35dp"
android:layout_marginStart="10dp"
android:clickable="false"
android:orientation="horizontal">
<TextView
android:id="@+id/et_input"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="9"
android:alpha="0.5"
android:background="@drawable/bc_sound_recording_left"
android:gravity="center"
android:hint="@string/say_something3"
android:singleLine="true"
android:textColor="#D9D9D9"
android:textColorHint="@color/gray3"
android:textSize="12sp" />
<LinearLayout
android:id="@+id/voice_button"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/bc_sound_recording_right"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center">
<ImageView
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_gravity="center"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:src="@mipmap/icon_voice"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
<!--消息中心-->
<RelativeLayout
android:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/rt_msg"
android:layout_width="45dp"
android:layout_height="45dp">
<ImageView
android:id="@+id/btn_msg"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerInParent="true"
android:src="@mipmap/icon_message" />
<View
android:id="@+id/v_msg_redpoint"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_marginTop="6dp"
android:background="@drawable/background_ff5075"
android:visibility="gone" />
</RelativeLayout>
<TextView
android:id="@+id/red_point"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_alignTop="@id/rt_msg"
android:layout_alignRight="@id/rt_msg"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/bg_red_point"
android:gravity="center"
android:includeFontPadding="false"
android:minWidth="14dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:textColor="#fff"
android:textSize="10sp"
android:translationY="-4dp"
android:visibility="invisible" />
</RelativeLayout>
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<!--整蛊-->
<ImageView
android:id="@+id/live_cheat"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/icon_prank"
android:visibility="gone" />
<!---->
<ImageView
android:id="@+id/live_play"
android:layout_width="27.2dp"
android:layout_height="27.2dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/live_icon_play"
android:visibility="gone" />
<!--新人特惠-->
<RelativeLayout
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="13dp"
android:padding="4dp"
android:visibility="gone">
<ImageView
android:id="@+id/live_new_people"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:src="@mipmap/live_icon_newpeople_en"
android:visibility="invisible" />
<View
android:id="@+id/live_new_people_red_dot"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_alignParentRight="true"
android:layout_marginTop="0dp"
android:layout_marginRight="0dp"
android:background="@drawable/background_ff5075"
android:visibility="invisible" />
</RelativeLayout>
<RelativeLayout
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginEnd="8dp">
<com.yunbao.common.views.weight.CircleProgress2
android:id="@+id/circleProgress"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/pd_pao"
android:layout_width="27dp"
android:layout_height="27dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@mipmap/icon_pd_pao" />
<TextView
android:id="@+id/time_text"
android:layout_width="27dp"
android:layout_height="27dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/backgroud_panda_time"
android:gravity="center"
android:text="120S"
android:textColor="@color/white"
android:textSize="10sp"
android:visibility="gone" />
<ImageView
android:id="@+id/combo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/icon_combo"
android:visibility="gone" />
</RelativeLayout>
<!--礼物-->
<ImageView
android:id="@+id/gift_image"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginEnd="8dp"
android:background="@drawable/background_gift" />
<!--特权-->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="40dp"
android:layout_height="40dp">
<ImageView
android:id="@+id/live_privilege"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/icon_privilege"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/privilege_red_point"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="10dp"
android:background="@drawable/bg_red_point"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<RelativeLayout
android:layout_width="38dp"
android:layout_height="38dp">
<!--普通工具合集-->
<ImageView
android:id="@+id/total_image"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/icon_more_live_menu" />
<View
android:id="@+id/total_image_red_point"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_alignParentEnd="true"
android:layout_marginEnd="12dp"
android:layout_marginTop="3dp"
android:background="@drawable/bg_red_point"
tools:visibility="visible" />
</RelativeLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="360dp">
<com.opensource.svgaplayer.SVGAImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical" />
<include
android:id="@+id/station_horn_banner"
layout="@layout/view_whole_station_horn_layout"
android:visibility="gone" />
</RelativeLayout>
<TextView
android:id="@+id/quick_gift_remaining_quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="144dp"
android:layout_marginBottom="-2dp"
android:text="99"
android:textColor="#FFB403"
android:textSize="8sp"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>

Some files were not shown because too many files have changed in this diff Show More