开播关播页面

This commit is contained in:
Martin 2024-08-13 18:29:11 +08:00
parent 732be62f90
commit e7d43e2b48
40 changed files with 1065 additions and 479 deletions

View File

@ -0,0 +1,31 @@
package com.yunbao.common.bean;
public class HotStrategyBean {
private String title;
private String english_title;
private String url;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getEnglish_title() {
return english_title;
}
public void setEnglish_title(String english_title) {
this.english_title = english_title;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

View File

@ -43,6 +43,18 @@ public class DateFormatUtil {
return formattedDate; return formattedDate;
} }
public static String getTimeLiveEndString(long time) {
Date date = new Date(time); // 创建Date对象并传入时间戳参数
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); // 设置日期格式
String formattedDate = sdf.format(date); // 格式化日期字符串
return formattedDate;
}
public static String getDiffInMilliseconds(String time1, String time2) {
return String.valueOf((Long.parseLong(time1) - Long.parseLong(time2)) / (60 * 1000));
}
public static String getTimeStrings(long time) { public static String getTimeStrings(long time) {
Date date = new Date(time); // 创建Date对象并传入时间戳参数 Date date = new Date(time); // 创建Date对象并传入时间戳参数
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式
@ -105,7 +117,7 @@ public class DateFormatUtil {
formatDate = formatDate(date, "yyyy/M/d"); formatDate = formatDate(date, "yyyy/M/d");
if (showTime) { if (showTime) {
formatDate = formatDate ;//+ " " + getTimeString(dateMillis, context); formatDate = formatDate;//+ " " + getTimeString(dateMillis, context);
} }
} }

View File

@ -5,12 +5,14 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.lxj.xpopup.core.BottomPopupView;
import com.lxj.xpopup.core.CenterPopupView; import com.lxj.xpopup.core.CenterPopupView;
import com.yunbao.common.Constants; import com.yunbao.common.Constants;
import com.yunbao.common.R; import com.yunbao.common.R;
import com.yunbao.common.bean.LiveClassBean; import com.yunbao.common.bean.LiveClassBean;
import com.yunbao.common.bean.LiveRoomTypeBean; import com.yunbao.common.bean.LiveRoomTypeBean;
import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.LiveStetUpStatusModel;
import com.yunbao.common.event.LiveNewWishListCloseEvent;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager; import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.IMLoginManager;
@ -18,7 +20,10 @@ import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake; import com.yunbao.common.views.weight.ViewClicksAntiShake;
public class LiveOpenCustomPopup extends CenterPopupView { import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
public class LiveOpenCustomPopup extends BottomPopupView {
//清晰度 //清晰度
private int selectClarity; private int selectClarity;
//直播类型 //直播类型
@ -26,7 +31,7 @@ public class LiveOpenCustomPopup extends CenterPopupView {
//房间类型 //房间类型
private LiveRoomTypeBean liveRoomTypeBean; private LiveRoomTypeBean liveRoomTypeBean;
private TextView textClarity, textLiveRoomType, textLiveClass, textLiveWishlist, textRobot, textSay, textCall; private TextView textClarity, textLiveClass, textLiveWishlist, textRobot, textSay, textCall;
private int status_say, status_call; private int status_say, status_call;
@ -38,12 +43,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
public LiveOpenCustomPopup setLiveRoomTypeBean(LiveRoomTypeBean liveRoomTypeBean) { public LiveOpenCustomPopup setLiveRoomTypeBean(LiveRoomTypeBean liveRoomTypeBean) {
this.liveRoomTypeBean = liveRoomTypeBean; this.liveRoomTypeBean = liveRoomTypeBean;
if (liveRoomTypeBean.getId()== Constants.LIVE_TYPE_PWD){
textLiveRoomType.setText(WordUtil.isNewZh() ? "密碼房" : "password room");
}else {
textLiveRoomType.setText(liveRoomTypeBean.getName());
}
return this; return this;
} }
@ -70,7 +69,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
private void initView() { private void initView() {
textClarity = findViewById(R.id.text_clarity); textClarity = findViewById(R.id.text_clarity);
textLiveRoomType = findViewById(R.id.text_live_room_type);
textLiveClass = findViewById(R.id.text_live_class); textLiveClass = findViewById(R.id.text_live_class);
textLiveWishlist = findViewById(R.id.text_live_wishlist); textLiveWishlist = findViewById(R.id.text_live_wishlist);
textRobot = findViewById(R.id.text_robot); textRobot = findViewById(R.id.text_robot);
@ -79,13 +77,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
if (classBean != null) { if (classBean != null) {
textLiveClass.setText(classBean.getName()); textLiveClass.setText(classBean.getName());
} }
if (liveRoomTypeBean != null) {
if (liveRoomTypeBean.getId()== Constants.LIVE_TYPE_PWD){
textLiveRoomType.setText(WordUtil.isNewZh() ? "密碼房" : "password room");
}else {
textLiveRoomType.setText(liveRoomTypeBean.getName());
}
}
setSelectClarity(selectClarity); setSelectClarity(selectClarity);
//關閉彈窗 //關閉彈窗
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), () -> dismiss()); ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), () -> dismiss());
@ -108,12 +99,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
callBack.selectClarity(selectClarity); callBack.selectClarity(selectClarity);
} }
}); });
//設置房間類型
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_room_type), () -> {
if (callBack != null) {
callBack.openLiveRoomType(liveRoomTypeBean);
}
});
//打開心願單 //打開心願單
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_wishlist), () -> { ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_wishlist), () -> {
if (callBack != null) { if (callBack != null) {

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/transparent" />
<stroke
android:width="1dp"
android:color="#8D8D8D" />
<corners android:radius="21dp" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#40E4E4E4" />
<stroke
android:width="1dp"
android:color="#40E4E4E4" />
<corners android:radius="21dp" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke
android:width="1dp"
android:color="#FF666666" />
<corners android:radius="21dp" />
</shape>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--设置ProgressBar背景色-->
<item android:id="@android:id/background">
<shape>
<!--设置ProgressBar进度条圆角半径-->
<corners android:radius="3dp" />
<solid android:color="#FFFFFF" />
</shape>
</item>
<!--设置ProgressBar进度条颜色-->
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%">
<shape>
<corners android:radius="3dp" />
<gradient
android:endColor="#73FFFFFF"
android:startColor="#73FFFFFF" />
</shape>
</scale>
</item>
</layer-list>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="355dp" android:height="121dp">
<shape android:shape="rectangle">
<solid android:color="#F3F3F3" />
<corners android:radius="6dp" />
</shape>
</item>
</selector>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/white" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="18dp"
android:topRightRadius="18dp" />
</shape>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_width="280dp" android:layout_height="470dp"
android:layout_height="350dp" android:layout_gravity="bottom"
android:orientation="vertical" android:background="@drawable/open_live_bg"
app:cardCornerRadius="12dp" android:orientation="vertical">
app:cardElevation="16dp">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -18,23 +17,29 @@
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:gravity="center" android:gravity="center"
android:text="@string/confirmation_of_broadcast" android:text="@string/confirmation_of_broadcast"
android:textColor="#161616" android:textColor="#333333"
android:textSize="16sp" /> android:textSize="16sp" />
<LinearLayout <LinearLayout
android:id="@+id/line_clarity" android:id="@+id/line_clarity"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="29dp" android:layout_marginStart="18dp"
android:layout_marginTop="14dp" android:layout_marginTop="14dp"
android:layout_marginEnd="29dp" android:layout_marginEnd="16dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_clarity"
android:layout_height="20dp"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/clarity" android:text="@string/clarity"
android:textColor="#999999" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -47,48 +52,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/clarity" android:text="@string/clarity"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView
android:layout_width="5dp"
android:layout_height="10dp"
android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" />
</LinearLayout>
<LinearLayout
android:id="@+id/line_live_room_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="29dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="29dp"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_room_type"
android:textColor="#999999"
android:textSize="14sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<TextView
android:id="@+id/text_live_room_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/clarity"
android:textColor="#FFC621"
android:textSize="14sp" />
<ImageView
android:layout_width="5dp"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" /> android:src="@mipmap/icon_more_open" />
@ -99,16 +67,22 @@
android:id="@+id/line_live_class" android:id="@+id/line_live_class"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="29dp" android:layout_marginStart="18dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginEnd="29dp" android:layout_marginEnd="16dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_live_class1"
android:layout_height="20dp"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/live_class1" android:text="@string/live_class1"
android:textColor="#999999" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -121,7 +95,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/live_class1" android:text="@string/live_class1"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView
@ -132,57 +106,25 @@
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/line_live_wishlist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="29dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="29dp"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_wishlist"
android:textColor="#999999"
android:textSize="14sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<TextView
android:id="@+id/text_live_wishlist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/clarity"
android:textColor="#FFC621"
android:textSize="14sp" />
<ImageView
android:layout_width="5dp"
android:layout_height="10dp"
android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/line_robot" android:id="@+id/line_robot"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="29dp" android:layout_marginStart="18dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginEnd="29dp" android:layout_marginEnd="16dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_live_class1"
android:layout_height="20dp"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/robot" android:text="@string/robot"
android:textColor="#999999" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -195,11 +137,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/clarity" android:text="@string/clarity"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView
android:layout_width="5dp" android:layout_width="wrap_content"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" /> android:src="@mipmap/icon_more_open" />
@ -210,16 +152,20 @@
android:id="@+id/line_say" android:id="@+id/line_say"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="29dp" android:layout_marginStart="18dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginEnd="29dp" android:layout_marginEnd="16dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_anchor_say"
android:layout_height="20dp"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/live_fun_anchor_say" android:text="@string/live_fun_anchor_say"
android:textColor="#999999" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -232,11 +178,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/clarity" android:text="@string/clarity"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView
android:layout_width="5dp" android:layout_width="wrap_content"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" /> android:src="@mipmap/icon_more_open" />
@ -247,17 +193,17 @@
android:id="@+id/line_call" android:id="@+id/line_call"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="29dp" android:layout_marginStart="18dp"
android:visibility="gone" android:visibility="gone"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginEnd="29dp" android:layout_marginEnd="16dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/live_fun_call_me" android:text="@string/live_fun_call_me"
android:textColor="#999999" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -270,7 +216,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/clarity" android:text="@string/clarity"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView
@ -281,20 +227,105 @@
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_marginStart="18dp"
android:layout_marginTop="20dp"
android:orientation="vertical"
android:padding="10dp"
android:layout_marginEnd="16dp"
android:background="@drawable/live_open_with"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent">
<ImageView
android:layout_width="12dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="3dp"
android:src="@mipmap/icon_live_open_xjd_tip"
android:layout_height="12dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="@string/live_open_wishlive_tips"
android:textColor="#FF666666"
android:textSize="12sp" />
<ImageView
android:layout_width="12dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_xjd_tip"
android:layout_height="12dp"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="26dp"
android:id="@+id/line_live_wishlist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:gravity="center_vertical">
<ImageView
android:layout_width="20dp"
android:layout_marginEnd="7dp"
android:src="@mipmap/icon_live_open_xjd"
android:layout_height="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_wishlist"
android:textColor="#FF666666"
android:textSize="14sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<TextView
android:id="@+id/text_live_wishlist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/clarity"
android:textColor="#FF666666"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_marginStart="6dp"
android:src="@mipmap/icon_more_open" />
</LinearLayout>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:id="@+id/live_open_cancel" android:id="@+id/live_open_cancel"
android:layout_width="100dp" android:layout_width="90dp"
android:layout_height="36dp" android:layout_height="40dp"
android:layout_marginStart="16dp" android:layout_marginStart="30dp"
android:layout_marginTop="24dp" android:layout_marginTop="73dp"
android:background="@drawable/backgroud_live_open_lfet" android:background="@drawable/backgroud_live_open_lfet_new"
android:gravity="center" android:gravity="center"
android:text="@string/back" android:text="@string/back"
android:textColor="#FFC621" android:textColor="#FF666666"
android:textSize="14sp" /> android:textSize="14sp" />
<View <View
@ -304,17 +335,17 @@
<TextView <TextView
android:id="@+id/live_open_ok" android:id="@+id/live_open_ok"
android:layout_width="100dp" android:layout_width="150dp"
android:layout_height="36dp" android:layout_height="40dp"
android:layout_marginTop="24dp" android:layout_marginTop="73dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="30dp"
android:background="@drawable/backgroud_live_open_right" android:background="@drawable/backgroud_live_open_right"
android:gravity="center" android:gravity="center"
android:text="@string/broadcast" android:text="@string/live_open"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </LinearLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

View File

@ -1474,4 +1474,6 @@ Limited ride And limited avatar frame</string>
<string name="activity_msg_list_include">Include:</string> <string name="activity_msg_list_include">Include:</string>
<string name="message_chat_msg_look_live">看直播%dmin</string> <string name="message_chat_msg_look_live">看直播%dmin</string>
<string name="activity_msg_list_title_chat_records">Chat Records</string> <string name="activity_msg_list_title_chat_records">Chat Records</string>
<string name="live_open_wishlive_tips">Set the following functions to receive more rewards</string>
<string name="live_open">Get Started</string>
</resources> </resources>

View File

@ -1604,5 +1604,7 @@
<string name="live_end_view_ban_reason">違規原因:</string> <string name="live_end_view_ban_reason">違規原因:</string>
<string name="live_end_view_ban_content">處罰內容:</string> <string name="live_end_view_ban_content">處罰內容:</string>
<string name="live_end_view_ban_timer">處罰時間:</string> <string name="live_end_view_ban_timer">處罰時間:</string>
<string name="live_open_wishlive_tips">添加以下設定將有機會獲得更多收益</string>
<string name="live_open">馬上開播!</string>
</resources> </resources>

View File

@ -1412,5 +1412,7 @@ Limited ride And limited avatar frame</string>
<string name="dialog_gift_wall_text_personal_hal">Personal hal</string> <string name="dialog_gift_wall_text_personal_hal">Personal hal</string>
<string name="dialog_gift_wall_text_site_hal">Whole site hal</string> <string name="dialog_gift_wall_text_site_hal">Whole site hal</string>
<string name="dialog_gift_wall_text_honors">Honors</string> <string name="dialog_gift_wall_text_honors">Honors</string>
<string name="live_open_wishlive_tips">Set the following functions to receive more rewards</string>
<string name="live_open">Get Started</string>
</resources> </resources>

View File

@ -997,7 +997,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
mLiveEndViewHolder.subscribeActivityLifeCycle(); mLiveEndViewHolder.subscribeActivityLifeCycle();
mLiveEndViewHolder.addToParent(); mLiveEndViewHolder.addToParent();
mLiveEndViewHolder.showData(mLiveBean, mStream); mLiveEndViewHolder.showData(mLiveBean, mStream);
mLiveEndViewHolder.upData(datas.getString("votes"), datas.getString("length"), Long.parseLong(datas.getString("nums"))); //mLiveEndViewHolder.upData(datas.getString("votes"), datas.getString("length"), Long.parseLong(datas.getString("nums")));
} }
if (mLiveAnchorViewHolder != null) { if (mLiveAnchorViewHolder != null) {
mLiveAnchorViewHolder.release(); mLiveAnchorViewHolder.release();

View File

@ -977,7 +977,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
mLiveEndViewHolder.subscribeActivityLifeCycle(); mLiveEndViewHolder.subscribeActivityLifeCycle();
mLiveEndViewHolder.addToParent(); mLiveEndViewHolder.addToParent();
mLiveEndViewHolder.showData(mLiveBean, mStream); mLiveEndViewHolder.showData(mLiveBean, mStream);
mLiveEndViewHolder.upData(datas.getString("votes"), datas.getString("length"), Long.parseLong(datas.getString("nums"))); mLiveEndViewHolder.upData(datas.getString("votes"), datas.getString("length"), Long.parseLong(datas.getString("nums")),datas.getString("level"),datas.getString("votestotal"),datas.getString("level_up"),datas.getString("next_level_exp"),datas.getString("starttime"),datas.getString("endtime"),datas.getString("hot_strategy"));
if (banEvent != null) { if (banEvent != null) {
mLiveEndViewHolder.showBanDownLive(banEvent); mLiveEndViewHolder.showBanDownLive(banEvent);
banEvent = null; banEvent = null;

View File

@ -4,19 +4,28 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.ViewFlipper;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.activity.WebViewActivity;
import com.yunbao.common.bean.AdBean;
import com.yunbao.common.bean.AnchorRecommendModel; import com.yunbao.common.bean.AnchorRecommendModel;
import com.yunbao.common.bean.BanDownLiveEvent; import com.yunbao.common.bean.BanDownLiveEvent;
import com.yunbao.common.bean.HotStrategyBean;
import com.yunbao.common.bean.IMLoginModel; import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.LiveBean; import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.bean.SetAttentsModel; import com.yunbao.common.bean.SetAttentsModel;
@ -27,6 +36,8 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.http.main.MainNetManager; import com.yunbao.common.http.main.MainNetManager;
import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.Bus; import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DateFormatUtil;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.MicStatusManager; import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil; import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
@ -34,11 +45,13 @@ import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.AbsViewHolder; import com.yunbao.common.views.AbsViewHolder;
import com.yunbao.common.views.weight.ClipPathCircleImage; import com.yunbao.common.views.weight.ClipPathCircleImage;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R; import com.yunbao.live.R;
import com.yunbao.live.activity.LiveAnchorActivity; import com.yunbao.live.activity.LiveAnchorActivity;
import com.yunbao.live.activity.LiveAudienceActivity; import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity; import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.activity.LiveSwAnchorActivity; import com.yunbao.live.activity.LiveSwAnchorActivity;
import com.yunbao.live.activity.ZhuangBanActivity;
import com.yunbao.live.adapter.SearchRecommendBodyAdapter; import com.yunbao.live.adapter.SearchRecommendBodyAdapter;
import com.yunbao.live.event.JumpUserHomeEvent; import com.yunbao.live.event.JumpUserHomeEvent;
import com.yunbao.common.event.LiveRoomChangeEvent; import com.yunbao.common.event.LiveRoomChangeEvent;
@ -50,7 +63,9 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import io.rong.imlib.IRongCoreCallback; import io.rong.imlib.IRongCoreCallback;
@ -67,9 +82,9 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
//直播类型 //直播类型
private static LiveOfType type; private static LiveOfType type;
private static TextView liveDurationUser, liveNameUser, private static TextView liveDurationUser, liveNameUser, goHomeUser, anchorName, liveDurationAnchor, liveVotes, liveWatchNum;
goHomeUser, anchorName, liveDurationAnchor, liveVotes, liveWatchNum; private RelativeLayout userLiveEnd;
private RelativeLayout userLiveEnd, anchorLiveEnd; private ScrollView anchorLiveEnd;
private ClipPathCircleImage clipImageUser, clipImageanchor; private ClipPathCircleImage clipImageUser, clipImageanchor;
private LinearLayout followUser, listShow; private LinearLayout followUser, listShow;
private ImageView changeBatchUser; private ImageView changeBatchUser;
@ -80,6 +95,11 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
private String leaveStream, leaveGroupId; private String leaveStream, leaveGroupId;
private TextView banTitle, banContent, banReason, banTimer; private TextView banTitle, banContent, banReason, banTimer;
private View banLayout; private View banLayout;
private TextView count1, count2, count3, count4, count5, count6, count7, count8;
private TextView anchor_level;
private TextView my_level;
private ViewFlipper live_end_vf;
private ProgressBar level_progress;
public LiveEndViewHolder(Context context, ViewGroup parentView, String uid) { public LiveEndViewHolder(Context context, ViewGroup parentView, String uid) {
super(context, parentView); super(context, parentView);
@ -110,7 +130,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
Bus.getOn(this); Bus.getOn(this);
mAvatar1 = (ImageView) findViewById(R.id.avatar_1); mAvatar1 = (ImageView) findViewById(R.id.avatar_1);
userLiveEnd = (RelativeLayout) findViewById(R.id.user_live_end); userLiveEnd = (RelativeLayout) findViewById(R.id.user_live_end);
anchorLiveEnd = (RelativeLayout) findViewById(R.id.anchor_live_end); anchorLiveEnd = findViewById(R.id.anchor_live_end);
if (type == LiveOfType.USER) { if (type == LiveOfType.USER) {
initViewOfUser(); initViewOfUser();
initDataOfUser(); initDataOfUser();
@ -131,8 +151,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
public void onSuccess() { public void onSuccess() {
try { try {
Log.i("tx", "退出成功" + live_id); Log.i("tx", "退出成功" + live_id);
LiveNetManager.get(mContext) LiveNetManager.get(mContext).leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
.leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
@Override @Override
public void onSuccess(String data) { public void onSuccess(String data) {
@ -156,8 +175,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
try { try {
Log.i("tx", "退出成功" + live_id); Log.i("tx", "退出成功" + live_id);
LiveNetManager.get(mContext) LiveNetManager.get(mContext).leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
.leaveRoomNew(leaveStream, leaveGroupId, new com.yunbao.common.http.base.HttpCallback<String>() {
@Override @Override
public void onSuccess(String data) { public void onSuccess(String data) {
} }
@ -182,8 +200,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num", "3"); map.put("num", "3");
map.put("live_recommend", "sidebar"); map.put("live_recommend", "sidebar");
MainNetManager.get((Activity) mContext) MainNetManager.get((Activity) mContext).anchorRecommend(map, new HttpCallback<AnchorRecommendModel>() {
.anchorRecommend(map, new HttpCallback<AnchorRecommendModel>() {
@Override @Override
public void onSuccess(AnchorRecommendModel data) { public void onSuccess(AnchorRecommendModel data) {
if (((Activity) mContext).isFinishing()) return; if (((Activity) mContext).isFinishing()) return;
@ -205,8 +222,6 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
listShow.setVisibility(View.GONE); listShow.setVisibility(View.GONE);
} }
} }
@Override @Override
@ -225,12 +240,11 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
liveNameUser = (TextView) findViewById(R.id.live_name_user); liveNameUser = (TextView) findViewById(R.id.live_name_user);
goHomeUser = (TextView) findViewById(R.id.go_home_user); goHomeUser = (TextView) findViewById(R.id.go_home_user);
clipImageUser = (ClipPathCircleImage) findViewById(R.id.clip_image_user); clipImageUser = findViewById(R.id.clip_image_user);
followUser = findViewById(R.id.follow_user);
followUser = (LinearLayout) findViewById(R.id.follow_user); listShow = findViewById(R.id.list_show);
listShow = (LinearLayout) findViewById(R.id.list_show); changeBatchUser = findViewById(R.id.change_batch_user);
changeBatchUser = (ImageView) findViewById(R.id.change_batch_user); likeList = findViewById(R.id.like_list);
likeList = (RecyclerView) findViewById(R.id.like_list);
goHomeUser.setOnClickListener(new View.OnClickListener() { goHomeUser.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -259,16 +273,24 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
clipImageanchor = (ClipPathCircleImage) findViewById(R.id.clip_image_anchor); clipImageanchor = (ClipPathCircleImage) findViewById(R.id.clip_image_anchor);
anchorName = (TextView) findViewById(R.id.anchor_name); anchorName = (TextView) findViewById(R.id.anchor_name);
liveDurationAnchor = (TextView) findViewById(R.id.live_duration_anchor); liveDurationAnchor = (TextView) findViewById(R.id.live_duration_anchor);
liveVotes = (TextView) findViewById(R.id.live_votes);
liveWatchNum = (TextView) findViewById(R.id.live_watch_num);
banContent = (TextView) findViewById(R.id.ban_content); banContent = (TextView) findViewById(R.id.ban_content);
banReason = (TextView) findViewById(R.id.ban_reason); banReason = (TextView) findViewById(R.id.ban_reason);
banTimer = (TextView) findViewById(R.id.ban_timer); banTimer = (TextView) findViewById(R.id.ban_timer);
banTitle = (TextView) findViewById(R.id.ban_title); banTitle = (TextView) findViewById(R.id.ban_title);
banLayout = findViewById(R.id.banLayout); banLayout = findViewById(R.id.banLayout);
count1 = findViewById(R.id.count1);
findViewById(R.id.go_home_anchor) count2 = findViewById(R.id.count2);
.setOnClickListener(new View.OnClickListener() { count3 = findViewById(R.id.count3);
count4 = findViewById(R.id.count4);
count5 = findViewById(R.id.count5);
count6 = findViewById(R.id.count6);
count7 = findViewById(R.id.count7);
count8 = findViewById(R.id.count8);
anchor_level = findViewById(R.id.anchor_level);
my_level = findViewById(R.id.my_level);
live_end_vf = findViewById(R.id.live_end_vf);
level_progress = findViewById(R.id.level_progress);
findViewById(R.id.go_home_anchor).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (mContext instanceof LiveRyAnchorActivity) { if (mContext instanceof LiveRyAnchorActivity) {
@ -281,6 +303,52 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
Bus.get().post(new CloseEvent()); Bus.get().post(new CloseEvent());
} }
}); });
my_level.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = CommonAppConfig.HOST + "/h5/Grade/index.html?" + "token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&for";
ZhuangBanActivity.forward(mContext, url, 0);
}
});
findViewById(R.id.go_anchor_center).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Auth&a=authcenter";
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
ZhuangBanActivity.forward(mContext, url, 0);
}
});
findViewById(R.id.close).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mContext instanceof LiveRyAnchorActivity) {
((LiveRyAnchorActivity) mContext).superBackPressed();
} else if (mContext instanceof LiveAudienceActivity) {
((LiveAudienceActivity) mContext).exitLiveRoom();
} else if (mContext instanceof LiveSwAnchorActivity) {
((LiveSwAnchorActivity) mContext).superBackPressed();
}
Bus.get().post(new CloseEvent());
}
});
LiveNetManager.get(mContext).getLiveData(CommonAppConfig.getInstance().getUid(), new HttpCallback<com.yunbao.common.bean.LiveDataInfoModel>() {
@Override
public void onSuccess(com.yunbao.common.bean.LiveDataInfoModel data) {
count1.setText(data.getTotalCoin() + "");
count2.setText(data.getTotalGold() + "");
count3.setText(data.getAcceptNum() + "");
count4.setText(data.getEnterNum() + "");
count5.setText(data.getAttentionNum() + "");
count6.setText(data.getAttentionNumRate() + "");
count7.setText(data.getFanGroupNum() + "");
count8.setText(data.getFanGroupNumRate() + "");
}
@Override
public void onError(String error) {
ToastUtil.show(mContext.getString(com.yunbao.common.R.string.net_error));
}
});
} }
public static void upData(String votes, String length, int nums, String uname) { public static void upData(String votes, String length, int nums, String uname) {
@ -305,16 +373,18 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
} }
} }
public void upData(String votes, String length, long nums) { public void upData(String votes, String length, long nums,String level,String votestotal,String level_up,String next_level_exp,String starttime,String endtime,String hot_strategy) {
Log.e("", votes + "votes" + length + "length" + nums + "nums"); Log.e("", votes + "votes" + length + "length" + nums + "nums");
if (type == LiveOfType.USER) { if (type == LiveOfType.USER) {
if (liveDurationUser != null) { if (liveDurationUser != null) {
liveDurationUser.setText(length); liveDurationUser.setText(length);
} }
} else { } else {
if (liveDurationAnchor != null) { if (liveDurationAnchor != null) {
liveDurationAnchor.setText(length); String timeStr = DateFormatUtil.getTimeLiveEndString(Long.parseLong(starttime))+
"-"+DateFormatUtil.getTimeLiveEndString(Long.parseLong(endtime))
+mContext.getResources().getString(R.string.live_end_total)+DateFormatUtil.getDiffInMilliseconds(starttime,endtime)+mContext.getResources().getString(R.string.live_end_minute);
liveDurationAnchor.setText(timeStr);
} }
if (liveVotes != null) { if (liveVotes != null) {
liveVotes.setText(votes); liveVotes.setText(votes);
@ -322,6 +392,47 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
if (liveWatchNum != null) { if (liveWatchNum != null) {
liveWatchNum.setText(StringUtil.toWan(nums)); liveWatchNum.setText(StringUtil.toWan(nums));
} }
if(anchor_level!=null){
long levelExp = Long.parseLong(next_level_exp);
String tips = mContext.getResources().getString(R.string.live_user_level_anchor)
+"Lv."+level+" | "+(WordUtil.isNewZh()?""+levelExp+" 經驗升級":levelExp+" experience points to level up");
anchor_level.setText(tips);
}
if(!StringUtil.isEmpty(hot_strategy)){
List<HotStrategyBean> hotStrategyBeanList = JSON.parseArray(hot_strategy, HotStrategyBean.class);
for (int i = 0; i <hotStrategyBeanList.size(); i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(DpUtil.dp2px(16), DpUtil.dp2px(16));
LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textParams.leftMargin = DpUtil.dp2px(5);
textParams.rightMargin = DpUtil.dp2px(5);
params.leftMargin = DpUtil.dp2px(5);
View weekView = LayoutInflater.from(mContext).inflate(R.layout.view_live_end_hot, null);
TextView week = weekView.findViewById(R.id.wish_index);
week.setLayoutParams(textParams);
week.setGravity(Gravity.CENTER_VERTICAL);
week.setText(WordUtil.isNewZh()?hotStrategyBeanList.get(i).getTitle():hotStrategyBeanList.get(i).getEnglish_title());
int finalI = i;
ViewClicksAntiShake.clicksAntiShake(week, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
WebViewActivity.forward(mContext,hotStrategyBeanList.get(finalI).getUrl(),true);
}
});
live_end_vf.addView(weekView);
}
live_end_vf.startFlipping();
}
if(level_progress!=null){
level_progress.post(new Runnable() {
@Override
public void run() {
level_progress.setMax(Integer.parseInt(level_up));
level_progress.setProgress(Integer.parseInt(votestotal));
}
});
}
} }
} }
@ -348,8 +459,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
followUser.setVisibility(TextUtils.equals(liveBean.getIsattention(), "1") ? View.GONE : View.VISIBLE); followUser.setVisibility(TextUtils.equals(liveBean.getIsattention(), "1") ? View.GONE : View.VISIBLE);
followUser.setOnClickListener(v -> { followUser.setOnClickListener(v -> {
LiveNetManager.get(mContext) LiveNetManager.get(mContext).setAttents(String.valueOf(liveBean.getUid()), new HttpCallback<SetAttentsModel>() {
.setAttents(String.valueOf(liveBean.getUid()), new HttpCallback<SetAttentsModel>() {
@Override @Override
public void onSuccess(SetAttentsModel data) { public void onSuccess(SetAttentsModel data) {
followUser.setVisibility(View.GONE); followUser.setVisibility(View.GONE);
@ -399,8 +509,7 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList
* 结束的类型 * 结束的类型
*/ */
public enum LiveOfType { public enum LiveOfType {
USER(0, "用户"), USER(0, "用户"), ANCHOR(1, "主播");
ANCHOR(1, "主播");
private int type = 0; private int type = 0;
private String name = ""; private String name = "";

View File

@ -35,6 +35,7 @@ import com.yunbao.common.bean.LiveAnchorSayModel;
import com.yunbao.common.bean.LiveClassBean; import com.yunbao.common.bean.LiveClassBean;
import com.yunbao.common.bean.LiveRoomTypeBean; import com.yunbao.common.bean.LiveRoomTypeBean;
import com.yunbao.common.bean.UserBean; import com.yunbao.common.bean.UserBean;
import com.yunbao.common.event.LiveNewWishListCloseEvent;
import com.yunbao.common.event.LivePushRyEvent; import com.yunbao.common.event.LivePushRyEvent;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback; import com.yunbao.common.http.HttpCallback;
@ -575,6 +576,12 @@ public class LiveNewReadySwViewHolder extends AbsViewHolder implements View.OnCl
} }
} }
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLiveNewWishListCloseEvent(LiveNewWishListCloseEvent event) {
if (liveOpenCustomPopup != null) {
liveOpenCustomPopup.initDate();
}
}
/** /**
* 打开心愿单窗口 * 打开心愿单窗口

View File

@ -2,8 +2,8 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item> <item>
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<corners android:radius="14dp" /> <corners android:radius="7dp" />
<solid android:color="#10ffffff" /> <solid android:color="#1AE4E4E4" />
</shape> </shape>
</item> </item>
</selector> </selector>

View File

@ -4,10 +4,12 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#151823"
android:clickable="true"> android:clickable="true">
<ImageView <ImageView
android:id="@+id/avatar_1" android:id="@+id/avatar_1"
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scaleType="centerCrop" /> android:scaleType="centerCrop" />
@ -352,130 +354,138 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout <ScrollView
android:id="@+id/anchor_live_end" android:id="@+id/anchor_live_end"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#b3000000" android:background="@mipmap/bg_live_end"
android:orientation="vertical"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"> tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_marginStart="16dp"
android:layout_marginTop="54dp" android:layout_marginTop="54dp"
android:text="@string/live_end" android:text="@string/live_end"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="24sp" android:textSize="20sp"
android:textStyle="bold" /> android:textStyle="bold" />
<RelativeLayout
android:id="@+id/anchor_data_show"
android:layout_width="match_parent"
android:layout_height="195.33dp"
android:layout_below="@id/title"
android:layout_marginStart="14.67dp"
android:layout_marginTop="95dp"
android:layout_marginEnd="14.67dp"
android:background="@drawable/background_anchor_live_end">
<TextView
android:id="@+id/anchor_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp"
android:text="@string/follow"
android:textColor="@color/white"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/anchor_name"
android:layout_marginTop="42.67dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="top|center"
android:orientation="vertical">
<TextView <TextView
android:id="@+id/live_duration_anchor" android:id="@+id/live_duration_anchor"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_marginStart="16dp"
android:layout_marginTop="10dp"
android:text="0" android:text="0"
android:textColor="@color/white" android:textColor="#898989"
android:textSize="16sp" android:textSize="14sp" />
android:textStyle="bold" />
<TextView <ImageView
android:id="@+id/close"
android:layout_width="20dp"
android:layout_alignParentEnd="true"
android:layout_marginTop="70dp"
android:layout_marginEnd="16dp"
android:padding="2dp"
android:src="@mipmap/icon_live_end_close"
android:layout_height="20dp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/anchorInfoLayout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_below="@+id/live_duration_anchor"
android:gravity="center" android:layout_marginTop="25dp">
android:text="@string/live_duration"
<FrameLayout
android:id="@+id/image_anchorLayout"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_marginStart="16dp"
android:background="@mipmap/bg_live_end_icon_anchor">
<com.yunbao.common.views.weight.ClipPathCircleImage
android:id="@+id/clip_image_anchor"
android:layout_width="51dp"
android:layout_height="51dp"
android:layout_gravity="center" />
</FrameLayout>
<TextView
android:id="@+id/anchor_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_toEndOf="@+id/image_anchorLayout"
android:text="用户名称"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="13.33sp" /> android:textSize="14sp" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/anchor_level_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/anchor_name"
android:layout_marginEnd="15dp"
android:layout_toEndOf="@+id/image_anchorLayout"
android:orientation="horizontal">
<TextView
android:id="@+id/anchor_level"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_weight="1" android:layout_weight="1"
android:gravity="top|center" android:text="主播等级Lv.1 | 差600經驗升級"
android:orientation="vertical"> android:textColor="#898989"
android:textSize="11sp" />
<TextView <TextView
android:id="@+id/live_votes" android:id="@+id/my_level"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="0" android:layout_below="@+id/live_duration_anchor"
android:layout_marginLeft="14dp"
android:layout_toEndOf="@+id/image_anchorLayout"
android:text="@string/live_end_level"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" android:textSize="14sp" />
android:textStyle="bold" />
<TextView <ImageView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_gravity="center"
android:gravity="center" android:src="@mipmap/right_live_end" />
android:text="@string/live_votes"
android:textColor="@color/white"
android:textSize="13.33sp" />
</LinearLayout> </LinearLayout>
<LinearLayout <ProgressBar
android:layout_width="0dp" android:id="@+id/level_progress"
android:layout_height="match_parent" style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dp"
android:layout_height="5dp"
android:layout_below="@+id/anchor_level_layout"
android:layout_gravity="center"
android:layout_marginStart="14dp"
android:layout_marginTop="5dp"
android:layout_toEndOf="@+id/image_anchorLayout"
android:layout_weight="1" android:layout_weight="1"
android:gravity="top|center" android:progressDrawable="@drawable/bg_live_end_user_level_progres" />
android:orientation="vertical">
<TextView
android:id="@+id/live_watch_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center"
android:text="@string/live_watch_num"
android:textColor="@color/white"
android:textSize="13.33sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout> </RelativeLayout>
@ -483,15 +493,21 @@
android:id="@+id/banLayout" android:id="@+id/banLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/anchor_data_show" android:layout_below="@id/level_progress"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp" android:layout_marginLeft="16dp"
android:layout_marginTop="20dp" android:layout_marginTop="25dp"
android:layout_marginRight="20dp" android:layout_marginRight="16dp"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"> tools:visibility="visible">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">
<TextView <TextView
android:id="@+id/ban_title" android:id="@+id/ban_title"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -501,11 +517,13 @@
android:textColor="#E5E5E5" android:textColor="#E5E5E5"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="51dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_live_end" android:background="@drawable/background_anchor_live_end"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
@ -522,22 +540,22 @@
android:id="@+id/ban_reason" android:id="@+id/ban_reason"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="17dp"
android:gravity="end"
android:layout_weight="1"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="17dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:layout_weight="1.5"
android:gravity="end"
android:text="123\n45678" android:text="123\n45678"
tools:text="Pornography: Sexual behavior: Moderate pornography"
android:textColor="#E5E5E5" android:textColor="#E5E5E5"
android:textSize="14sp" /> android:textSize="14sp"
tools:text="Pornography: Sexual behavior: Moderate pornography" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="44dp" android:layout_height="44dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_live_end" android:background="@drawable/background_anchor_live_end"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
@ -565,7 +583,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="44dp" android:layout_height="44dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/bg_live_end" android:background="@drawable/background_anchor_live_end"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
@ -591,35 +609,321 @@
</LinearLayout> </LinearLayout>
<FrameLayout <LinearLayout
android:layout_width="88.13dp" android:id="@+id/anchor_data_show"
android:layout_height="88.13dp" android:layout_width="match_parent"
android:layout_above="@id/anchor_data_show" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_below="@id/image_anchorLayout"
android:layout_marginBottom="-140dp" android:layout_marginStart="16dp"
android:background="@drawable/bg_white_clip"> android:layout_marginTop="20dp"
android:layout_marginEnd="14.67dp"
android:background="@drawable/background_anchor_live_end"
android:orientation="vertical"
android:padding="15dp">
<com.yunbao.common.views.weight.ClipPathCircleImage <TextView
android:id="@+id/clip_image_anchor" android:layout_width="wrap_content"
android:layout_width="87dp" android:layout_height="wrap_content"
android:layout_height="87dp" android:text="@string/live_data_msg1"
android:layout_gravity="center" /> android:textColor="@color/white"
</FrameLayout> android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="10dp"
android:background="#525252" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:id="@+id/count1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:id="@+id/count2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:id="@+id/count3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="@string/live_data_coin"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/live_data_gold"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="@string/live_data_accept"
android:textColor="#92949A"
android:textSize="11sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/count4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:id="@+id/count5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:id="@+id/count6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="@string/live_data_enter"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/live_data_attention"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="@string/live_data_attention_rate"
android:textColor="#92949A"
android:textSize="11sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/count7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:id="@+id/count8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
android:visibility="invisible" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:text="@string/live_data_fan_group"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/live_data_fan_group_rate"
android:textColor="#92949A"
android:textSize="11sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="打賞人數"
android:textColor="#92949A"
android:textSize="11sp"
android:visibility="invisible" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginStart="16dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="16dp"
android:background="@drawable/background_anchor_live_end"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:src="@mipmap/icon_live_end_tips"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ViewFlipper
android:id="@+id/live_end_vf"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:flipInterval="5000"
android:inAnimation="@anim/anim_marquee_in"
android:outAnimation="@anim/anim_marquee_out" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="@string/live_end_strategy"
android:textColor="#CCCCCC"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="10dp"
android:src="@mipmap/right_live_end" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="60dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/go_anchor_center"
android:layout_width="115dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:background="@drawable/backgroud_live_end"
android:gravity="center"
android:text="@string/live_end_anchor_enter"
android:textColor="#8D8D8D"
android:textSize="16sp" />
<TextView <TextView
android:id="@+id/go_home_anchor" android:id="@+id/go_home_anchor"
android:layout_width="206.33dp" android:layout_width="wrap_content"
android:layout_height="46.67dp" android:minWidth="115dp"
android:layout_alignParentBottom="true" android:layout_height="40dp"
android:layout_centerHorizontal="true" android:paddingStart="10dp"
android:layout_marginStart="71dp" android:paddingEnd="10dp"
android:layout_marginTop="60dp" android:layout_gravity="center"
android:layout_marginEnd="71dp" android:layout_marginLeft="37dp"
android:layout_marginBottom="52dp" android:background="@drawable/backgroud_live_end_1"
android:background="@drawable/background_live_end_btn"
android:gravity="center" android:gravity="center"
android:text="@string/live_back" android:text="@string/live_back"
android:textColor="@color/white" android:textColor="#E9E9E9"
android:textSize="16sp" /> android:textSize="16sp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout> </RelativeLayout>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:gravity="center_vertical">
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/wish_index"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:ellipsize="marquee"
android:focusable="true"
android:gravity="center"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#FFFFFFFF"
android:textSize="10sp" />
</LinearLayout>

View File

@ -242,10 +242,10 @@
app:layout_constraintTop_toBottomOf="@+id/tips"> app:layout_constraintTop_toBottomOf="@+id/tips">
<ImageView <ImageView
android:layout_width="18dp" android:layout_width="14dp"
android:layout_height="18dp" android:layout_height="18dp"
android:layout_weight="1"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_weight="1"
app:srcCompat="@mipmap/ic_live_ready_xjd" /> app:srcCompat="@mipmap/ic_live_ready_xjd" />
<TextView <TextView

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -155,5 +155,10 @@
<string name="message_chat_msg_read_tip">[已讀]</string> <string name="message_chat_msg_read_tip">[已讀]</string>
<string name="message_chat_msg_unread_tip">[未讀]</string> <string name="message_chat_msg_unread_tip">[未讀]</string>
<string name="message_interactive_chat">發起聊天</string> <string name="message_interactive_chat">發起聊天</string>
<string name="live_end_anchor_enter">主播中心</string>
<string name="live_end_strategy">直播攻略</string>
<string name="live_end_level">我的等级</string>
<string name="live_end_total"></string>
<string name="live_end_minute">分鐘</string>
</resources> </resources>

View File

@ -158,4 +158,9 @@
<string name="live_prank_dialog_gift_type_achieved">Quantity achieved</string> <string name="live_prank_dialog_gift_type_achieved">Quantity achieved</string>
<string name="live_room_sud_hint_join">Join</string> <string name="live_room_sud_hint_join">Join</string>
<string name="live_dialog_top_guardian_tasks">Guard tasks</string> <string name="live_dialog_top_guardian_tasks">Guard tasks</string>
<string name="live_end_anchor_enter">Live Center</string>
<string name="live_end_strategy">Live strategy</string>
<string name="live_end_level">My level</string>
<string name="live_end_total">total</string>
<string name="live_end_minute">minute</string>
</resources> </resources>