開播設置,修改開播接口新增分辨率設置參數,網絡內存檢測和提示信息
This commit is contained in:
@@ -136,4 +136,6 @@ public class DeviceUtils {
|
||||
lastTotalRxBytes = nowTotalRxBytes;
|
||||
return speed;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
public class HintCustomPopup extends CenterPopupView {
|
||||
private String title, contest;
|
||||
|
||||
public HintCustomPopup(@NonNull Context context, String title, String contest) {
|
||||
super(context);
|
||||
this.title = title;
|
||||
this.contest = contest;
|
||||
}
|
||||
|
||||
public HintCustomPopup(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.hint_custom_popup;
|
||||
}
|
||||
|
||||
// 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
TextView titleText = findViewById(R.id.title);
|
||||
TextView contestText = findViewById(R.id.contest);
|
||||
if (!TextUtils.isEmpty(title)) {
|
||||
titleText.setText(title);
|
||||
}
|
||||
if (!TextUtils.isEmpty(contest)) {
|
||||
contestText.setText(contest);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_ok), () -> {
|
||||
if (callBack != null) {
|
||||
callBack.onSure();
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), () -> {
|
||||
if (callBack != null) {
|
||||
callBack.onCancel();
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
private HintCustomCallBack callBack;
|
||||
|
||||
public HintCustomPopup setCallBack(HintCustomCallBack callBack) {
|
||||
this.callBack = callBack;
|
||||
return this;
|
||||
}
|
||||
|
||||
public interface HintCustomCallBack {
|
||||
void onSure();
|
||||
|
||||
void onCancel();
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,27 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.text.format.Formatter;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.core.BottomPopupView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.DoubleSummaryStatistics;
|
||||
import java.util.List;
|
||||
|
||||
public class LiveClarityCustomPopup extends BottomPopupView implements View.OnClickListener {
|
||||
public static final int BAN_720 = 1;
|
||||
public static final int BAN_1080 = 2;
|
||||
@@ -91,16 +98,51 @@ public class LiveClarityCustomPopup extends BottomPopupView implements View.OnCl
|
||||
});
|
||||
//高清
|
||||
ViewClicksAntiShake.clicksAntiShake(lineHd, () -> {
|
||||
selectClarity = 1;
|
||||
selectClarity(selectClarity);
|
||||
dismiss();
|
||||
String memorg = formateFileSize(Long.parseLong(DeviceUtils.getMemory(getContext())));
|
||||
if (Double.parseDouble(memorg) > 7 && netAverage > 100) {
|
||||
selectClarity = 1;
|
||||
selectClarity(selectClarity);
|
||||
dismiss();
|
||||
} else {
|
||||
new XPopup.Builder(getContext())
|
||||
.asCustom(new HintCustomPopup(getContext(), getContext().getString(R.string.net_hint), getContext().getString(R.string.net_hint2)).setCallBack(new HintCustomPopup.HintCustomCallBack() {
|
||||
@Override
|
||||
public void onSure() {
|
||||
selectClarity = 1;
|
||||
selectClarity(selectClarity);
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
|
||||
}
|
||||
}))
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
//超高清
|
||||
ViewClicksAntiShake.clicksAntiShake(lineFhd, () -> {
|
||||
selectClarity = 2;
|
||||
selectClarity(selectClarity);
|
||||
dismiss();
|
||||
|
||||
new XPopup.Builder(getContext())
|
||||
.asCustom(new HintCustomPopup(getContext()).setCallBack(new HintCustomPopup.HintCustomCallBack() {
|
||||
@Override
|
||||
public void onSure() {
|
||||
selectClarity = 2;
|
||||
selectClarity(selectClarity);
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
|
||||
}
|
||||
}))
|
||||
.show();
|
||||
|
||||
|
||||
});
|
||||
if (banSelect == BAN_720) {
|
||||
lineFhd.setEnabled(false);
|
||||
@@ -116,6 +158,12 @@ public class LiveClarityCustomPopup extends BottomPopupView implements View.OnCl
|
||||
}
|
||||
}
|
||||
|
||||
//调用系统函数,字符串转换 long -String KB/MB
|
||||
private String formateFileSize(long size) {
|
||||
String fileSize = Formatter.formatFileSize(getContext(), size);
|
||||
return fileSize.substring(0, fileSize.length() - 3);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态选择
|
||||
*
|
||||
@@ -150,6 +198,28 @@ public class LiveClarityCustomPopup extends BottomPopupView implements View.OnCl
|
||||
}
|
||||
}
|
||||
|
||||
private Handler netHandler = new Handler();
|
||||
private Runnable netRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (netSpeeds.size() < 11) {
|
||||
netSpeeds.add(DeviceUtils.getNetSpeed(getContext()));
|
||||
netHandler.postDelayed(netRunnable, 100);
|
||||
} else {
|
||||
long min = Collections.min(netSpeeds);
|
||||
long max = Collections.max(netSpeeds);
|
||||
|
||||
DoubleSummaryStatistics statistics = netSpeeds.stream().mapToDouble(Number::doubleValue).summaryStatistics();
|
||||
netAverage = statistics.getAverage();
|
||||
Log.e("网络速度", "最大值:" + max + " 最小值:" + min + " 平均值:" + netAverage);
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
private List<Long> netSpeeds = new ArrayList<>();
|
||||
private double netAverage = 0;
|
||||
|
||||
private void initDate() {
|
||||
netHandler.postDelayed(netRunnable, 100);
|
||||
}
|
||||
}
|
||||
|
||||
71
common/src/main/res/layout/hint_custom_popup.xml
Normal file
71
common/src/main/res/layout/hint_custom_popup.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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="270dp"
|
||||
android:layout_height="180dp"
|
||||
android:orientation="vertical"
|
||||
app:cardCornerRadius="18dp"
|
||||
app:cardElevation="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/ultra_hd_hint"
|
||||
android:textColor="#161616"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contest"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/ultra_hd_hint2"
|
||||
android:textColor="#999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_open_cancel"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:background="@drawable/backgroud_live_open_lfet"
|
||||
android:gravity="center"
|
||||
android:text="@string/back"
|
||||
android:textColor="#FFC621"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_open_ok"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@drawable/backgroud_live_open_right"
|
||||
android:gravity="center"
|
||||
android:text="@string/stick_to_choice"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
@@ -46,10 +46,10 @@
|
||||
android:layout_width="87dp"
|
||||
android:layout_height="33dp"
|
||||
android:layout_marginRight="7dp"
|
||||
android:background="@mipmap/tipbox_btn_gray"
|
||||
android:background="@drawable/backgroud_live_open_lfet"
|
||||
android:gravity="center"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="#B1B1B1"
|
||||
android:textColor="#FFC621"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
|
||||
@@ -934,4 +934,64 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="studio_gift_effects">Blocking gift effects</string>
|
||||
<string name="studio_ride_effects">Blocking seat effects</string>
|
||||
<string name="want_pre">If you want to Minimize Play,\nYou can go to set the license.</string>
|
||||
|
||||
|
||||
<string name="in_batch">In a batch</string>
|
||||
<string name="chat_chat">Chat</string>
|
||||
<string name="lucky_angel" >Congratulations %s have won %s in the Lucky Angel! The next lucky angel will be you!</string>
|
||||
<string name="user_card_guard" >Guardian group %s people</string>
|
||||
<string name="to_receive" >receive</string>
|
||||
<string name="to_complete" >去完成</string>
|
||||
<string name="already_collected" >已領取</string>
|
||||
<string name="image_quality_selection" >畫質選擇</string>
|
||||
<string name="more_settings" >更多設置</string>
|
||||
<string name="moer">查看更多</string>
|
||||
<string name="gift_way">礼物正在获取中...</string>
|
||||
<string name="start_pk">開始PK</string>
|
||||
<string name="number_of_remaining_times">剩餘次數:%s</string>
|
||||
<string name="confirmed_to_proceed">是否確認進行多人PK(確認後扣除1點次數)當日剩餘次數: %s</string>
|
||||
<string name="invite_anchor">邀請\n主播</string>
|
||||
<string name="end_pk">結束\nPK</string>
|
||||
<string name="pk_time">時間 %s</string>
|
||||
|
||||
<string name="random_pk_dialog_apply" >接受</string>
|
||||
<string name="random_pk_dialog_refuse" >拒绝</string>
|
||||
<string name="random_pk_dialog_refuse_again" >坚持拒绝</string>
|
||||
<string name="random_pk_dialog_title" >随机PK提示</string>
|
||||
|
||||
<string name="speech_robot_setup" >自動發言機器人設置</string>
|
||||
<string name="robot_switch" >機器人開關</string>
|
||||
<string name="robot_name_setting" >機器人名字設置</string>
|
||||
<string name="word_limit" >字數限制2-8個字</string>
|
||||
<string name="automatic_greeting_setting" >自動打招呼設置</string>
|
||||
<string name="configured_items" >已配置條數</string>
|
||||
<string name="automatic_message_sending" >自動發消息設置</string>
|
||||
<string name="robot_go_setting" >前往設置</string>
|
||||
<string name="robot_hint" >感謝送禮、PK開始、PK結束的自動機器人消息,\n暫不支持自定義。</string>
|
||||
<string name="robot_add_content" >添加內容</string>
|
||||
<string name="robot_add_content_hint1" >每隔一段時間,機器人自動隨機以下一句話發出。</string>
|
||||
<string name="robot_add_content_hint2" >填寫內容推薦,如:求送心願單、加粉絲團等</string>
|
||||
<string name="robot_automatic_speech_interval" >自動發言間隔時間(分鐘)</string>
|
||||
<string name="robot_minimum_interval" >最少間隔5分鐘1次</string>
|
||||
<string name="robot_add_content_hint3" >當有用戶進入直播間時,機器人會@該用戶並自動</string>
|
||||
<string name="robot_add_content_hint4" >隨機以下一句話。最少設置1條,最多20條。</string>
|
||||
<string name="robot_setup" >機器人設置</string>
|
||||
<string name="high_definition" >高清</string>
|
||||
<string name="standard_clear" >流暢</string>
|
||||
<string name="ultra_hd" >超高清</string>
|
||||
<string name="clarity_hint" >確定清晰度開播後,需要重新開播才能更改</string>
|
||||
<string name="confirmation_of_broadcast" >開播設置確認</string>
|
||||
<string name="clarity" >清晰度</string>
|
||||
<string name="live_class1" >直播頻道</string>
|
||||
<string name="broadcast" >開播</string>
|
||||
<string name="robot" >機器人</string>
|
||||
<string name="do_set" >已設置</string>
|
||||
<string name="not_set" >未設置</string>
|
||||
<string name="robot_no" >關</string>
|
||||
<string name="robot_yes" >開</string>
|
||||
<string name="ultra_hd_hint" >超高清提示</string>
|
||||
<string name="ultra_hd_hint2" >在網速不穩定的情況下,選擇超高清將會有可能導致直播間畫面卡頓,是否確認選擇?</string>
|
||||
<string name="stick_to_choice" >堅持選擇</string>
|
||||
<string name="net_hint" >網絡提示</string>
|
||||
<string name="net_hint2" >系統監測到您的網絡不穩定,設備內存不足將會影響到您的直播流暢度,因此建議您選擇流暢清晰度。</string>
|
||||
</resources>
|
||||
|
||||
@@ -723,7 +723,7 @@
|
||||
<string name="live_wishlist">心願單</string>
|
||||
<string name="live_zg">娛樂整蠱</string>
|
||||
<string name="live_dr">多人PK</string>
|
||||
<string name="live_random" translatable="false">随机PK</string>
|
||||
<string name="live_random" >随机PK</string>
|
||||
<string name="live_mic">語音連麥</string>
|
||||
<string name="live_wks">周星榜</string>
|
||||
<string name="live_zslk">暫時離開</string>
|
||||
@@ -958,13 +958,13 @@
|
||||
<string name="in_batch">換一批</string>
|
||||
<string name="chat_chat">聊聊天</string>
|
||||
<string name="want_pre">想在其他APP上方也顯示小窗,\n可前往設置進行授權。</string>
|
||||
<string name="lucky_angel" translatable="false">恭喜 %s 在幸運天使中抽中 %s!下一個幸運天使就是你哦!</string>
|
||||
<string name="user_card_guard" translatable="false">守護團%s人</string>
|
||||
<string name="to_receive" translatable="false">領取</string>
|
||||
<string name="to_complete" translatable="false">去完成</string>
|
||||
<string name="already_collected" translatable="false">已領取</string>
|
||||
<string name="image_quality_selection" translatable="false">畫質選擇</string>
|
||||
<string name="more_settings" translatable="false">更多設置</string>
|
||||
<string name="lucky_angel" >恭喜 %s 在幸運天使中抽中 %s!下一個幸運天使就是你哦!</string>
|
||||
<string name="user_card_guard" >守護團%s人</string>
|
||||
<string name="to_receive" >領取</string>
|
||||
<string name="to_complete" >去完成</string>
|
||||
<string name="already_collected" >已領取</string>
|
||||
<string name="image_quality_selection" >畫質選擇</string>
|
||||
<string name="more_settings" >更多設置</string>
|
||||
<string name="moer">查看更多</string>
|
||||
<string name="gift_way">礼物正在获取中...</string>
|
||||
<string name="start_pk">開始PK</string>
|
||||
@@ -974,39 +974,44 @@
|
||||
<string name="end_pk">結束\nPK</string>
|
||||
<string name="pk_time">時間 %s</string>
|
||||
|
||||
<string name="random_pk_dialog_apply" translatable="false">接受</string>
|
||||
<string name="random_pk_dialog_refuse" translatable="false">拒绝</string>
|
||||
<string name="random_pk_dialog_refuse_again" translatable="false">坚持拒绝</string>
|
||||
<string name="random_pk_dialog_title" translatable="false">随机PK提示</string>
|
||||
<string name="random_pk_dialog_apply" >接受</string>
|
||||
<string name="random_pk_dialog_refuse" >拒绝</string>
|
||||
<string name="random_pk_dialog_refuse_again" >坚持拒绝</string>
|
||||
<string name="random_pk_dialog_title" >随机PK提示</string>
|
||||
|
||||
<string name="speech_robot_setup" translatable="false">自動發言機器人設置</string>
|
||||
<string name="robot_switch" translatable="false">機器人開關</string>
|
||||
<string name="robot_name_setting" translatable="false">機器人名字設置</string>
|
||||
<string name="word_limit" translatable="false">字數限制2-8個字</string>
|
||||
<string name="automatic_greeting_setting" translatable="false">自動打招呼設置</string>
|
||||
<string name="configured_items" translatable="false">已配置條數</string>
|
||||
<string name="automatic_message_sending" translatable="false">自動發消息設置</string>
|
||||
<string name="robot_go_setting" translatable="false">前往設置</string>
|
||||
<string name="robot_hint" translatable="false">感謝送禮、PK開始、PK結束的自動機器人消息,\n暫不支持自定義。</string>
|
||||
<string name="robot_add_content" translatable="false">添加內容</string>
|
||||
<string name="robot_add_content_hint1" translatable="false">每隔一段時間,機器人自動隨機以下一句話發出。</string>
|
||||
<string name="robot_add_content_hint2" translatable="false">填寫內容推薦,如:求送心願單、加粉絲團等</string>
|
||||
<string name="robot_automatic_speech_interval" translatable="false">自動發言間隔時間(分鐘)</string>
|
||||
<string name="robot_minimum_interval" translatable="false">最少間隔5分鐘1次</string>
|
||||
<string name="robot_add_content_hint3" translatable="false">當有用戶進入直播間時,機器人會@該用戶並自動</string>
|
||||
<string name="robot_add_content_hint4" translatable="false">隨機以下一句話。最少設置1條,最多20條。</string>
|
||||
<string name="robot_setup" translatable="false">機器人設置</string>
|
||||
<string name="high_definition" translatable="false">高清</string>
|
||||
<string name="standard_clear" translatable="false">流暢</string>
|
||||
<string name="ultra_hd" translatable="false">超高清</string>
|
||||
<string name="clarity_hint" translatable="false">確定清晰度開播後,需要重新開播才能更改</string>
|
||||
<string name="confirmation_of_broadcast" translatable="false">開播設置確認</string>
|
||||
<string name="clarity" translatable="false">清晰度</string>
|
||||
<string name="live_class1" translatable="false">直播頻道</string>
|
||||
<string name="broadcast" translatable="false">開播</string>
|
||||
<string name="robot" translatable="false">機器人</string>
|
||||
<string name="do_set" translatable="false">已設置</string>
|
||||
<string name="not_set" translatable="false">未設置</string>
|
||||
<string name="robot_no" translatable="false">關</string>
|
||||
<string name="robot_yes" translatable="false">開</string>
|
||||
<string name="speech_robot_setup" >自動發言機器人設置</string>
|
||||
<string name="robot_switch" >機器人開關</string>
|
||||
<string name="robot_name_setting" >機器人名字設置</string>
|
||||
<string name="word_limit" >字數限制2-8個字</string>
|
||||
<string name="automatic_greeting_setting" >自動打招呼設置</string>
|
||||
<string name="configured_items" >已配置條數</string>
|
||||
<string name="automatic_message_sending" >自動發消息設置</string>
|
||||
<string name="robot_go_setting" >前往設置</string>
|
||||
<string name="robot_hint" >感謝送禮、PK開始、PK結束的自動機器人消息,\n暫不支持自定義。</string>
|
||||
<string name="robot_add_content" >添加內容</string>
|
||||
<string name="robot_add_content_hint1" >每隔一段時間,機器人自動隨機以下一句話發出。</string>
|
||||
<string name="robot_add_content_hint2" >填寫內容推薦,如:求送心願單、加粉絲團等</string>
|
||||
<string name="robot_automatic_speech_interval" >自動發言間隔時間(分鐘)</string>
|
||||
<string name="robot_minimum_interval" >最少間隔5分鐘1次</string>
|
||||
<string name="robot_add_content_hint3" >當有用戶進入直播間時,機器人會@該用戶並自動</string>
|
||||
<string name="robot_add_content_hint4" >隨機以下一句話。最少設置1條,最多20條。</string>
|
||||
<string name="robot_setup" >機器人設置</string>
|
||||
<string name="high_definition" >高清</string>
|
||||
<string name="standard_clear" >流暢</string>
|
||||
<string name="ultra_hd" >超高清</string>
|
||||
<string name="clarity_hint" >確定清晰度開播後,需要重新開播才能更改</string>
|
||||
<string name="confirmation_of_broadcast" >開播設置確認</string>
|
||||
<string name="clarity" >清晰度</string>
|
||||
<string name="live_class1" >直播頻道</string>
|
||||
<string name="broadcast" >開播</string>
|
||||
<string name="robot" >機器人</string>
|
||||
<string name="do_set" >已設置</string>
|
||||
<string name="not_set" >未設置</string>
|
||||
<string name="robot_no" >關</string>
|
||||
<string name="robot_yes" >開</string>
|
||||
<string name="ultra_hd_hint" >超高清提示</string>
|
||||
<string name="ultra_hd_hint2" >在網速不穩定的情況下,選擇超高清將會有可能導致直播間畫面卡頓,是否確認選擇?</string>
|
||||
<string name="stick_to_choice" >堅持選擇</string>
|
||||
<string name="net_hint" >網絡提示</string>
|
||||
<string name="net_hint2" >系統監測到您的網絡不穩定,設備內存不足將會影響到您的直播流暢度,因此建議您選擇流暢清晰度。</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user