Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
769f527565 | ||
|
|
3dcc801331 | ||
|
|
963fe2c110 | ||
|
|
9dd3619049 | ||
|
|
96b80a460b | ||
|
|
a68bee94a9 | ||
|
|
40a2843696 | ||
|
|
833b58d311 | ||
|
|
f14fb4612b | ||
|
|
8f82c7c785 | ||
|
|
b68c7f1c46 | ||
|
|
dd7eb2326a | ||
| 3f1fe93f3d | |||
|
|
8c9cf4e3a8 | ||
| 0451f518d5 | |||
| a154f480f6 | |||
|
|
29badbf725 | ||
|
|
e89f22329f | ||
|
|
81e08d41af | ||
| d89b356395 | |||
| 4d2985456d | |||
| 48e3ff46ab | |||
|
|
6dd3e02c1d | ||
| d8e9cc2189 | |||
|
|
0310628ba3 | ||
| 2f54fdab12 | |||
|
|
a3228f48c2 | ||
|
|
35c83a255a | ||
|
|
0aeb2d32c2 | ||
|
|
313320473f | ||
|
|
2b86927b5b | ||
|
|
bf3ebfedbd | ||
|
|
1a2db91ceb | ||
|
|
9fa4924278 | ||
|
|
3318fa761c | ||
| a7421ba1a6 | |||
|
|
40a081caa6 | ||
|
|
1485173227 | ||
|
|
d5b60523a5 | ||
|
|
309d04653e | ||
|
|
45ae3b1624 | ||
|
|
e874c2ee16 | ||
|
|
002f0ad654 | ||
|
|
bb49472817 | ||
|
|
05e4ff89d7 | ||
| 020b5c1025 | |||
|
|
2cf10cc35a | ||
|
|
4c53c990e9 | ||
|
|
cd8b58a0ec | ||
| b41bd3b89b | |||
|
|
d66f098692 | ||
|
|
f131fcf546 | ||
|
|
eeb1cc008a | ||
| 6eba9558e1 | |||
|
|
0425b56106 | ||
|
|
c5de062171 | ||
|
|
f82dbccaa5 | ||
| 07d6b959d5 | |||
|
|
f59e5e527a | ||
|
|
c20147bf8f | ||
|
|
45743e3070 | ||
|
|
b8b43c1ef2 | ||
|
|
b7c53a3b21 | ||
| cb0772c9e3 | |||
| edc738d80b | |||
| b5417f90b4 | |||
| 98095e07ee | |||
| 9764b3370e | |||
| 0396e2d06d | |||
| 186b9d61ee | |||
| b7c0f5d3ec | |||
| 949c0ab759 | |||
| 5f3ebb4235 | |||
| ab24348f72 | |||
| 022806d9da | |||
| c92e8dd8bc | |||
| 8d5990c25b | |||
| 225929c891 | |||
| bc63a3e601 | |||
| c33975fe67 | |||
| c033340aad | |||
| 24170d55e2 | |||
| e36fbdc6b8 |
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-parcelize'
|
||||
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-parcelize'
|
||||
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
|
||||
161
app/build.gradle
@@ -3,56 +3,12 @@ apply plugin: 'img-optimizer'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'com.alibaba.arouter'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
dexOptions {
|
||||
jumboMode = true
|
||||
}
|
||||
project.tasks.getByName("tasks").doFirst {
|
||||
|
||||
}
|
||||
/* flavorDimensions "packageApk"
|
||||
productFlavors {
|
||||
LinkTest {
|
||||
dimension "packageApk"
|
||||
manifestPlaceholders = [serverHost: "https://ceshi.yaoulive.com",isGooglePlay:0,isPluginModel:true]
|
||||
}
|
||||
LinkOfficial {
|
||||
dimension "packageApk"
|
||||
manifestPlaceholders = [serverHost: "https://napi.yaoulive.com",isGooglePlay:0,isPluginModel:true]
|
||||
}
|
||||
GoogleTest {
|
||||
dimension "packageApk"
|
||||
manifestPlaceholders = [serverHost: "https://ceshi.yaoulive.com",isGooglePlay:1,isPluginModel:false]
|
||||
}
|
||||
GoogleOfficial{
|
||||
dimension "packageApk"
|
||||
manifestPlaceholders = [serverHost: "https://napi.yaoulive.com",isGooglePlay:1,isPluginModel:false]
|
||||
}
|
||||
|
||||
}*/
|
||||
/* applicationVariants.all { variant ->
|
||||
variant.mergeAssetsProvider.configure {
|
||||
doLast {
|
||||
delete(fileTree(dir: outputDir, includes: [
|
||||
'model/ai_bgseg_green.bundle',
|
||||
'model/ai_face_processor.bundle',
|
||||
'model/ai_face_processor_lite.bundle',
|
||||
'model/ai_hairseg.bundle',
|
||||
'model/ai_hand_processor.bundle',
|
||||
'model/ai_human_processor.bundle',
|
||||
'model/ai_human_processor_gpu.bundle',
|
||||
'model/ai_human_processor_mb_fast.bundle',
|
||||
'graphics/body_slim.bundle',
|
||||
'graphics/controller_cpp.bundle',
|
||||
'graphics/face_beautification.bundle',
|
||||
'graphics/face_makeup.bundle',
|
||||
'graphics/fuzzytoonfilter.bundle',
|
||||
'graphics/fxaa.bundle',
|
||||
'graphics/tongue.bundle'
|
||||
]))
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
@@ -128,22 +84,27 @@ android {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
|
||||
applicationVariants.all { variant ->
|
||||
println "清空build文件夹";
|
||||
for (final def project in rootProject.getAllprojects()) {
|
||||
delete project.buildDir
|
||||
println project.buildDir
|
||||
def name = variant.name.replace('Debug', '').replace('Release', '').toLowerCase()
|
||||
//delete project.buildDir
|
||||
delete project.rootDir.absolutePath+File.separator+"app"+File.separator+name
|
||||
//println project.buildDir
|
||||
}
|
||||
//delete project.rootDir.absolutePath + File.separator + "outputs"
|
||||
String variantName = variant.name.capitalize()
|
||||
def processManifestTask = project.tasks.getByName("process${variantName}Manifest")
|
||||
processManifestTask.doLast { pm ->
|
||||
String manifestPath = "build/intermediates/bundle_manifest/release/bundle-manifest/AndroidManifest.xml"
|
||||
def isGooglePlay = rootProject.ext.manifestPlaceholders.isGooglePlay
|
||||
String manifestPath = "build/intermediates/bundle_manifest/google_onlineRelease/bundle-manifest/AndroidManifest.xml"
|
||||
def isGooglePlay = variant.name.contains("google")
|
||||
println "谷歌版本:" + isGooglePlay
|
||||
println "文件存在" + file(manifestPath).exists()
|
||||
println "" + (isGooglePlay != 0)
|
||||
println "" + (file(manifestPath).exists() && isGooglePlay != 0)
|
||||
if (file(manifestPath).exists() && isGooglePlay != 0) {
|
||||
println "" + (file(manifestPath).exists() && isGooglePlay)
|
||||
if (file(manifestPath).exists() && isGooglePlay) {
|
||||
def manifestContent = file(manifestPath).getText()
|
||||
println "移除权限"
|
||||
manifestContent = manifestContent.replace('<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />', '')
|
||||
@@ -152,8 +113,8 @@ android {
|
||||
} else {
|
||||
print "not Exists = " + manifestPath
|
||||
}
|
||||
manifestPath = "build/intermediates/merged_manifests/release/processReleaseManifest/AndroidManifest.xml"
|
||||
if (file(manifestPath).exists() && isGooglePlay != 0) {
|
||||
manifestPath = "build/intermediates/merged_manifests/google_onlineRelease/processReleaseManifest/AndroidManifest.xml"
|
||||
if (file(manifestPath).exists() && isGooglePlay) {
|
||||
def manifestContent = file(manifestPath).getText()
|
||||
println "移除权限2"
|
||||
manifestContent = manifestContent.replace('<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />', '')
|
||||
@@ -198,24 +159,56 @@ android {
|
||||
}
|
||||
}
|
||||
}
|
||||
variant.outputs.all {
|
||||
def isGoogle = "链接"
|
||||
if (rootProject.ext.manifestPlaceholders.isGooglePlay == 1) {
|
||||
isGoogle = "谷歌"
|
||||
} else if (rootProject.ext.manifestPlaceholders.isGooglePlay == 2) {
|
||||
isGoogle = "Huawei"
|
||||
} else if (rootProject.ext.manifestPlaceholders.isGooglePlay == 3) {
|
||||
isGoogle = "Samsung"
|
||||
variant.assemble.doLast { vt ->
|
||||
def channel = ''
|
||||
def server = ''
|
||||
if (variant.name.contains('huawei')) {
|
||||
channel = "华为"
|
||||
} else if (variant.name.contains('samsung')) {
|
||||
channel = "三星"
|
||||
} else if (variant.name.contains('google')) {
|
||||
channel = "谷歌"
|
||||
} else {
|
||||
channel = "链接"
|
||||
}
|
||||
def isPlugin = "完整"
|
||||
if (rootProject.ext.manifestPlaceholders.isPluginModel) {
|
||||
isPlugin = "插件"
|
||||
if (variant.name.contains('online')) {
|
||||
server = '正式服'
|
||||
} else {
|
||||
server = '测试服'
|
||||
}
|
||||
def isTest = "测试服"
|
||||
if (rootProject.ext.manifestPlaceholders.serverHost == "https://napi.yaoulive.com") {
|
||||
isTest = "正式服"
|
||||
def fileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${defaultConfig.versionCode}-${channel}-${server}-${variant.buildType.name}.apk"
|
||||
variant.outputs.forEach { fe ->
|
||||
copy {
|
||||
from fe.outputFile
|
||||
into file("${project.rootDir}\\outputs\\apk\\")
|
||||
rename { fn ->
|
||||
fileName
|
||||
}
|
||||
}
|
||||
}
|
||||
outputFileName = "[${new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${isGoogle}-${isPlugin}-${variant.buildType.name}-${isTest}.apk"
|
||||
|
||||
}
|
||||
tasks.named("sign${variant.name.capitalize()}Bundle", com.android.build.gradle.internal.tasks.FinalizeBundleTask) {
|
||||
File file = finalBundleFile.asFile.get()
|
||||
def channel = ''
|
||||
def server = ''
|
||||
if (variant.name.startsWith('huawei')) {
|
||||
channel = "华为"
|
||||
} else if (variant.name.startsWith('samsung')) {
|
||||
channel = "三星"
|
||||
} else if (variant.name.startsWith('google')) {
|
||||
channel = "谷歌"
|
||||
} else {
|
||||
channel = "链接"
|
||||
}
|
||||
if (variant.name.contains('online')) {
|
||||
server = '正式服'
|
||||
} else {
|
||||
server = '测试服'
|
||||
}
|
||||
def fileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${defaultConfig.versionCode}-${channel}-${server}-${variant.buildType.name}.aab"
|
||||
File finalFile = new File("${project.rootDir}\\outputs\\aab", fileName)
|
||||
finalBundleFile.set(finalFile)
|
||||
}
|
||||
}
|
||||
signingConfigs {
|
||||
@@ -256,9 +249,17 @@ android {
|
||||
manifestPlaceholders = rootProject.ext.manifestPlaceholders
|
||||
multiDexEnabled true
|
||||
ndk {
|
||||
// TODO: 谷歌商城需要兼容两个平台
|
||||
//abiFilters "armeabi-v7a", "arm64-v8a"
|
||||
abiFilters "armeabi-v7a", "arm64-v8a","x86","x86_64"
|
||||
Gradle gradle = getGradle()
|
||||
String tskReqStr = gradle.getStartParameter().getTaskRequests().args.toString()
|
||||
println("处理ndk 版本 = " + tskReqStr)
|
||||
def isLink = tskReqStr.contains("Link")
|
||||
if (isLink) {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
println("打包ndk 链接")
|
||||
} else {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||||
println("打包ndk其他")
|
||||
}
|
||||
}
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
@@ -313,18 +314,4 @@ dependencies {
|
||||
//debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10'
|
||||
|
||||
|
||||
}
|
||||
// 链接包需要注释掉 否正无法更新 谷歌包需要打开
|
||||
/*
|
||||
project.afterEvaluate {
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
output.processResources.doFirst { pm->
|
||||
String manifestPath = output.processResources.manifestFile;
|
||||
def manifestContent = file(manifestPath).getText()
|
||||
manifestContent = manifestContent.replace('android.permission.REQUEST_INSTALL_PACKAGES', '')
|
||||
file(manifestPath).write(manifestContent)
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
@@ -30,7 +30,6 @@ import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.tencent.imsdk.v2.V2TIMSimpleMsgListener;
|
||||
import com.tencent.imsdk.v2.V2TIMUserInfo;
|
||||
import com.yunbao.common.http.Data;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.BuildConfig;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
apply from: "config.gradle"
|
||||
apply from: "dependencies.gradle"
|
||||
|
||||
apply from: "config.gradle"
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.6.20'
|
||||
@@ -49,9 +49,9 @@ allprojects {
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
/*task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
}*/
|
||||
ext {
|
||||
IS_PUBLISH_LOCAL=true
|
||||
LIB_VERSION="1.0.6"
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
|
||||
apply from: "../package_config.gradle"
|
||||
android {
|
||||
publishNonDefault true
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
@@ -211,11 +210,17 @@ dependencies {
|
||||
//侧滑删除
|
||||
api 'com.yanzhenjie.recyclerview:x:1.3.2'
|
||||
|
||||
//华为支付插件包
|
||||
//api project(':lib_huawei')
|
||||
huawei_onlineImplementation project(':lib_huawei')
|
||||
huawei_testImplementation project(':lib_huawei')
|
||||
|
||||
//google插件包
|
||||
api project(':lib_google')
|
||||
samsung_onlineImplementation project(":lib_google")
|
||||
samsung_testImplementation project(":lib_google")
|
||||
|
||||
google_onlineImplementation project(":lib_google")
|
||||
google_testImplementation project(":lib_google")
|
||||
|
||||
link_onlineImplementation project(":lib_google")
|
||||
link_testImplementation project(":lib_google")
|
||||
|
||||
//samsung插件包
|
||||
api project(':IAP6Helper')
|
||||
|
||||
@@ -202,6 +202,8 @@ public class Constants {
|
||||
public static final String LuckyAngel = "LuckyCheck";//幸运天使
|
||||
public static final String Lucky100Check = "Lucky100Check";//幸运天使
|
||||
|
||||
public static final String PrankSendData = "PrankSendData";//整蛊进度
|
||||
|
||||
public static final int SOCKET_WHAT_CONN = 0;
|
||||
public static final int SOCKET_WHAT_DISCONN = 2;
|
||||
public static final int SOCKET_WHAT_BROADCAST = 1;
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class BaseAdapter<T> extends RecyclerView.Adapter<BaseAdapter.BaseViewHolder> {
|
||||
private Context context;
|
||||
public List<T> data;
|
||||
|
||||
public BaseAdapter(Context context, List<T> data) {
|
||||
this.context = context;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(context).inflate(getItemLayoutId(), parent, false);
|
||||
return new BaseViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(BaseAdapter.BaseViewHolder holder, int position) {
|
||||
T t = data.get(position);
|
||||
convert(holder, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return data == null ? 0 : data.size();
|
||||
}
|
||||
|
||||
public abstract void convert(BaseViewHolder holder, T t);
|
||||
|
||||
public abstract int getItemLayoutId();
|
||||
|
||||
class BaseViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
private HashMap<Integer,View> views;
|
||||
|
||||
public BaseViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
views = new HashMap<>();
|
||||
if (onItemClickListener != null){
|
||||
itemView.setOnClickListener(v ->onItemClickListener.onItemClick(getAdapterPosition()) );
|
||||
}
|
||||
}
|
||||
|
||||
public View getView(int id) {
|
||||
View view = views.get(id);
|
||||
if (view == null) {
|
||||
view = itemView.findViewById(id);
|
||||
views.put(id, view);
|
||||
if (onItemClickListener != null){
|
||||
view.setOnClickListener(v -> {
|
||||
onItemClickListener.onItemChildClick(v, getAdapterPosition());
|
||||
});
|
||||
}
|
||||
}
|
||||
return view;
|
||||
}
|
||||
}
|
||||
|
||||
private OnItemClickListener onItemClickListener;
|
||||
|
||||
private void setOnItemClickListener(OnItemClickListener onItemClickListener){
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
public interface OnItemClickListener{
|
||||
default void onItemClick(int position){}
|
||||
|
||||
default void onItemChildClick(View view,int position){}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.event.CustomDrawerPopupEvent;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.views.InteractionGamesChildViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -36,7 +37,7 @@ public class InteractionGamesAdapter extends RecyclerView.Adapter {
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View runGamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_role_fun_games_child_view3, parent, false);
|
||||
return new InteractionGamesChildViewHolder(runGamesView);
|
||||
return new InteractionGamesChildViewHolder(runGamesView,mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -51,6 +52,9 @@ public class InteractionGamesAdapter extends RecyclerView.Adapter {
|
||||
if (activityID != 0) {
|
||||
Bus.get().post(new CustomDrawerPopupEvent()
|
||||
.setDisMiss(true).setInteractionID(activityID).setInteraction(true).setChild(srcChild));
|
||||
if(model.getSudGameIsNew().equals("1")){
|
||||
SpUtil.getInstance().setLiveGameId(model.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -31,11 +31,16 @@ public class LiveNewRoleFunGamesAdapter extends RecyclerView.Adapter {
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View runGamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_role_fun_games_child_view, parent, false);
|
||||
return new NewRoleFunGamesChildViewHolder(runGamesView,showRed);
|
||||
return new NewRoleFunGamesChildViewHolder(runGamesView,showRed,mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams((int)
|
||||
(mContext.getResources().getDisplayMetrics().widthPixels / 4.5),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
holder.itemView.setLayoutParams(layoutParams);
|
||||
|
||||
NewRoleFunGamesChildViewHolder childViewHolder = (NewRoleFunGamesChildViewHolder) holder;
|
||||
childViewHolder.setData(child.get(position), rigts);
|
||||
}
|
||||
|
||||
@@ -11,11 +11,11 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.event.CustomDrawerPopupEvent;
|
||||
import com.yunbao.common.event.LiveNewRoleEvent;
|
||||
import com.yunbao.common.event.NewRoleCustomDrawerPopupEvent;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.views.InteractionGamesChildViewHolder;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.views.InteractionGamesChildBottomViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -34,14 +34,14 @@ public class LiveNewRoleInteractionGamesAdapter extends RecyclerView.Adapter {
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View runGamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_role_fun_games_child_view3, parent, false);
|
||||
return new InteractionGamesChildViewHolder(runGamesView);
|
||||
return new InteractionGamesChildBottomViewHolder(runGamesView,mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
InteractionGamesChildViewHolder childViewHolder = (InteractionGamesChildViewHolder) holder;
|
||||
InteractionGamesChildBottomViewHolder childViewHolder = (InteractionGamesChildBottomViewHolder) holder;
|
||||
childViewHolder.setData(child.get(position), rigts);
|
||||
childViewHolder.setItemViewClicks(new InteractionGamesChildViewHolder.InteractionGamesCallBack() {
|
||||
childViewHolder.setItemViewClicks(new InteractionGamesChildBottomViewHolder.InteractionGamesCallBack() {
|
||||
@Override
|
||||
public void onItemViewClicks(CustomSidebarChildModel model, boolean rigts) {
|
||||
|
||||
@@ -52,6 +52,9 @@ public class LiveNewRoleInteractionGamesAdapter extends RecyclerView.Adapter {
|
||||
.setInteractionID(activityID)
|
||||
.setChild(child)
|
||||
.setInteraction(true));
|
||||
if(model.getSudGameIsNew().equals("1")){
|
||||
SpUtil.getInstance().setLiveGameId(model.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,12 +63,14 @@ public class LiveNewRoleInteractionGamesAdapter extends RecyclerView.Adapter {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return child.size();
|
||||
}
|
||||
|
||||
public void updateData(List<CustomSidebarChildModel> mChild) {
|
||||
|
||||
child.clear();
|
||||
/* if (mChild.size() > 8) {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
|
||||
@@ -39,13 +39,14 @@ public class LiveNewRolerPopupAdapter extends RecyclerView.Adapter {
|
||||
switch (viewType) {
|
||||
case FUN_GAMES:
|
||||
View runGamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_new_roler_fun_games_view, parent, false);
|
||||
return new LiveNewRoleFunGamesViewHolder(runGamesView);
|
||||
return new LiveNewRoleFunGamesViewHolder(runGamesView,mContext);
|
||||
case RIGHTS_INTERESTS:
|
||||
//特权
|
||||
View rightsInterestsView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_roler_ights_interests, parent, false);
|
||||
return new LiveNewRoleRigtsInterestsViewHolder(rightsInterestsView,showRed);
|
||||
return new LiveNewRoleRigtsInterestsViewHolder(rightsInterestsView,showRed,mContext);
|
||||
default:
|
||||
View gamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_role_interaction_games_view, parent, false);
|
||||
return new LiveNewRoleInteractionGamesViewHolder(gamesView);
|
||||
return new LiveNewRoleInteractionGamesViewHolder(gamesView,mContext);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,11 +30,15 @@ public class NewRoleFunGamesAdapter extends RecyclerView.Adapter {
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View runGamesView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_new_role_fun_games_child_view2, parent, false);
|
||||
return new NewRoleFunGamesChildViewHolder(runGamesView,false);
|
||||
return new NewRoleFunGamesChildViewHolder(runGamesView,false,mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams((int)
|
||||
(mContext.getResources().getDisplayMetrics().widthPixels / 4.5),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
holder.itemView.setLayoutParams(layoutParams);
|
||||
NewRoleFunGamesChildViewHolder childViewHolder = (NewRoleFunGamesChildViewHolder) holder;
|
||||
childViewHolder.setData(child.get(position), rigts);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,10 @@ public class AnchorRecommendModel extends BaseModel {
|
||||
|
||||
@SerializedName("live_battle_pass_show_status")
|
||||
private int showWarOrder = 0;//是否显示首页戰令
|
||||
@SerializedName("live_battle_pass_image_cn")
|
||||
private String battlePassImageCn;
|
||||
@SerializedName("live_battle_pass_image_en")
|
||||
private String battlePassImageEn;
|
||||
//是否支持换一批0=不支持 1=支持
|
||||
|
||||
@SerializedName("up_show")
|
||||
@@ -58,6 +62,22 @@ public class AnchorRecommendModel extends BaseModel {
|
||||
return listShow;
|
||||
}
|
||||
|
||||
public String getBattlePassImageCn() {
|
||||
return battlePassImageCn;
|
||||
}
|
||||
|
||||
public void setBattlePassImageCn(String battlePassImageCn) {
|
||||
this.battlePassImageCn = battlePassImageCn;
|
||||
}
|
||||
|
||||
public String getBattlePassImageEn() {
|
||||
return battlePassImageEn;
|
||||
}
|
||||
|
||||
public void setBattlePassImageEn(String battlePassImageEn) {
|
||||
this.battlePassImageEn = battlePassImageEn;
|
||||
}
|
||||
|
||||
public AnchorRecommendModel setListShow(int listShow) {
|
||||
this.listShow = listShow;
|
||||
return this;
|
||||
|
||||
@@ -22,6 +22,30 @@ public class GuardPriceModel extends BaseModel {
|
||||
private String discount;
|
||||
@SerializedName("price_key")
|
||||
private int priceKey;
|
||||
@SerializedName("coupon_discount")
|
||||
private String couponDiscount;
|
||||
@SerializedName("coupon_discount_en")
|
||||
private String couponDiscountEn;
|
||||
@SerializedName("coupon_discount_price")
|
||||
private String couponDiscountPrice;
|
||||
@SerializedName("coupon_id")
|
||||
private String couponId;
|
||||
|
||||
public String getCouponDiscount() {
|
||||
return couponDiscount;
|
||||
}
|
||||
|
||||
public String getCouponId() {
|
||||
return couponId;
|
||||
}
|
||||
|
||||
public String getCouponDiscountEn() {
|
||||
return couponDiscountEn;
|
||||
}
|
||||
|
||||
public String getCouponDiscountPrice() {
|
||||
return couponDiscountPrice;
|
||||
}
|
||||
|
||||
public String getOpeningTime() {
|
||||
return openingTime;
|
||||
|
||||
@@ -56,4 +56,15 @@ public class PrankGiftBean extends BaseModel{
|
||||
public void setGiftId(String giftId) {
|
||||
this.giftId = giftId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PrankGiftBean{" +
|
||||
"title='" + title + '\'' +
|
||||
", name='" + name + '\'' +
|
||||
", icon='" + icon + '\'' +
|
||||
", num=" + num +
|
||||
", giftId='" + giftId + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PrankGiftResultBean extends BaseModel{
|
||||
private List<PrankGiftBean> prank_list;
|
||||
private String status;
|
||||
private String prank_type;
|
||||
|
||||
public List<PrankGiftBean> getPrank_list() {
|
||||
return prank_list;
|
||||
}
|
||||
|
||||
public void setPrank_list(List<PrankGiftBean> prank_list) {
|
||||
this.prank_list = prank_list;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getPrank_type() {
|
||||
return prank_type;
|
||||
}
|
||||
|
||||
public void setPrank_type(String prank_type) {
|
||||
this.prank_type = prank_type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,176 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PrankProgressBean extends BaseModel {
|
||||
private int status;//整蛊状态 0.关闭 1.开启
|
||||
private int prank_turntable_status;// 转盘整蛊状态 0=关闭 1=开启
|
||||
private int prank_type;// 整蛊类型 1.礼物整蛊 2.连击整蛊
|
||||
private List<PrankList> prank_list;// 整蛊进度
|
||||
private List<PrankList> completed_list;// 待完成的整蛊
|
||||
|
||||
public PrankProgressBean(){
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static class PrankList{
|
||||
private int gift_id;// 礼物ID
|
||||
private int gift_num;// 整蛊需要的礼物数量
|
||||
private String prank_content; // 整蛊内容
|
||||
private int send_num; // 用户已赠送的礼物数量
|
||||
private int completed_num;// 待完成的整蛊次数
|
||||
private String gift_name;// 礼物名称
|
||||
private String gift_icon; // 礼物图片链接
|
||||
|
||||
private String gift_name_en;
|
||||
|
||||
private int continuous_click_num;
|
||||
|
||||
public int getContinuous_click_num() {
|
||||
return continuous_click_num;
|
||||
}
|
||||
|
||||
public void setContinuous_click_num(int continuous_click_num) {
|
||||
this.continuous_click_num = continuous_click_num;
|
||||
}
|
||||
|
||||
public String getGift_name_en() {
|
||||
return gift_name_en;
|
||||
}
|
||||
|
||||
public void setGift_name_en(String gift_name_en) {
|
||||
this.gift_name_en = gift_name_en;
|
||||
}
|
||||
|
||||
public int getGift_id() {
|
||||
return gift_id;
|
||||
}
|
||||
|
||||
public void setGift_id(int gift_id) {
|
||||
this.gift_id = gift_id;
|
||||
}
|
||||
|
||||
public int getGift_num() {
|
||||
return gift_num;
|
||||
}
|
||||
|
||||
public void setGift_num(int gift_num) {
|
||||
this.gift_num = gift_num;
|
||||
}
|
||||
|
||||
public String getPrank_content() {
|
||||
return prank_content;
|
||||
}
|
||||
|
||||
public void setPrank_content(String prank_content) {
|
||||
this.prank_content = prank_content;
|
||||
}
|
||||
|
||||
public int getSend_num() {
|
||||
return send_num;
|
||||
}
|
||||
|
||||
public void setSend_num(int send_num) {
|
||||
this.send_num = send_num;
|
||||
}
|
||||
|
||||
public int getCompleted_num() {
|
||||
return completed_num;
|
||||
}
|
||||
|
||||
public void setCompleted_num(int completed_num) {
|
||||
this.completed_num = completed_num;
|
||||
}
|
||||
|
||||
public String getGift_name() {
|
||||
return gift_name;
|
||||
}
|
||||
|
||||
public void setGift_name(String gift_name) {
|
||||
this.gift_name = gift_name;
|
||||
}
|
||||
|
||||
public String getGift_icon() {
|
||||
return gift_icon;
|
||||
}
|
||||
|
||||
public void setGift_icon(String gift_icon) {
|
||||
this.gift_icon = gift_icon;
|
||||
}
|
||||
|
||||
//计算完成度
|
||||
public double getCompletionRate() {
|
||||
if (gift_num == 0) return 0; // Avoid division by zero
|
||||
return (double) send_num / gift_num;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PrankList{" +
|
||||
"gift_id=" + gift_id +
|
||||
", gift_num=" + gift_num +
|
||||
", prank_content='" + prank_content + '\'' +
|
||||
", send_num=" + send_num +
|
||||
", completed_num=" + completed_num +
|
||||
", gift_name='" + gift_name + '\'' +
|
||||
", gift_icon='" + gift_icon + '\'' +
|
||||
", gift_name_en='" + gift_name_en + '\'' +
|
||||
", continuous_click_num=" + continuous_click_num +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public int getPrank_type() {
|
||||
return prank_type;
|
||||
}
|
||||
|
||||
public void setPrank_type(int prank_type) {
|
||||
this.prank_type = prank_type;
|
||||
}
|
||||
|
||||
public List<PrankList> getPrank_list() {
|
||||
return prank_list;
|
||||
}
|
||||
|
||||
public void setPrank_list(List<PrankList> prank_list) {
|
||||
this.prank_list = prank_list;
|
||||
}
|
||||
|
||||
public List<PrankList> getCompleted_list() {
|
||||
return completed_list;
|
||||
}
|
||||
|
||||
public void setCompleted_list(List<PrankList> completed_list) {
|
||||
this.completed_list = completed_list;
|
||||
}
|
||||
|
||||
public int getPrank_turntable_status() {
|
||||
return prank_turntable_status;
|
||||
}
|
||||
|
||||
public void setPrank_turntable_status(int prank_turntable_status) {
|
||||
this.prank_turntable_status = prank_turntable_status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PrankProgressBean{" +
|
||||
"status=" + status +
|
||||
", prank_turntable_status=" + prank_turntable_status +
|
||||
", prank_type=" + prank_type +
|
||||
", prank_list=" + prank_list +
|
||||
", completed_list=" + completed_list +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.yunbao.common.custom;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
||||
import com.stx.xhb.androidx.transformers.BasePageTransformer;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
|
||||
public class LiveGuardScalePageTransformer extends BasePageTransformer {
|
||||
/**
|
||||
* author: xiaohaibin.
|
||||
* time: 2018/10/9
|
||||
* mail:xhb_199409@163.com
|
||||
* github:https://github.com/xiaohaibin
|
||||
* describe: 适用于一屏显示多个模式
|
||||
*/
|
||||
private float mMinScale = 0.85f;
|
||||
private float mMinAlpha = 1f;
|
||||
|
||||
public LiveGuardScalePageTransformer() {
|
||||
}
|
||||
|
||||
public LiveGuardScalePageTransformer(float minAlpha, float minScale) {
|
||||
setMinAlpha(minAlpha);
|
||||
setMinScale(minScale);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleInvisiblePage(View view, float position) {
|
||||
ViewCompat.setAlpha(view, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleLeftPage(View view, float position) {
|
||||
float scale = Math.max(mMinScale, 1 + position);
|
||||
float vertMargin = view.getHeight() * (1 - scale) / 2;
|
||||
float horzMargin = view.getWidth() * (1 - scale) / 2;
|
||||
view.setTranslationX(horzMargin - vertMargin / 2);
|
||||
view.setScaleX(scale);
|
||||
view.setScaleY( scale);
|
||||
view.setAlpha( mMinAlpha + (scale - mMinScale) / (1 - mMinScale) * (1 - mMinAlpha));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRightPage(View view, float position) {
|
||||
float scale = Math.max(mMinScale, 1 - position);
|
||||
float vertMargin = view.getHeight() * (1 - scale) / 2;
|
||||
float horzMargin = view.getWidth() * (1 - scale) / 2;
|
||||
view.setTranslationX( -horzMargin + vertMargin / 2);
|
||||
view.setScaleX( scale);
|
||||
|
||||
view.setScaleY( scale);
|
||||
view.setAlpha( mMinAlpha + (scale - mMinScale) / (1 - mMinScale) * (1 - mMinAlpha));
|
||||
}
|
||||
|
||||
public void setMinAlpha(float minAlpha) {
|
||||
if (minAlpha >= 0.6f && minAlpha <= 1.0f) {
|
||||
mMinAlpha = minAlpha;
|
||||
}
|
||||
}
|
||||
|
||||
public void setMinScale(float minScale) {
|
||||
if (minScale >= 0.6f && minScale <= 1.0f) {
|
||||
mMinScale = minScale;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.text.Html;
|
||||
import android.text.Spanned;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
public class GuardBuyCouponTipsDialog {
|
||||
|
||||
/**
|
||||
* @param context
|
||||
* @param coin 钻石
|
||||
* @param content 购买类型名称
|
||||
* @param simpleCallback
|
||||
*/
|
||||
public static void showBuyOrRenewDialog(Context context, String coupon, String coin, String content,
|
||||
DialogUitl.SimpleCallback3 simpleCallback) {
|
||||
if (context instanceof Activity) {
|
||||
if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
final Dialog dialog = new Dialog(context, R.style.dialog2);
|
||||
dialog.setContentView(R.layout.dialog_guard_buy_coupon_tips);
|
||||
dialog.setCancelable(true);
|
||||
dialog.setCanceledOnTouchOutside(true);
|
||||
TextView btn_confirm = dialog.findViewById(R.id.btn_confirm);
|
||||
TextView content2 = dialog.findViewById(R.id.content2);
|
||||
|
||||
Spanned tips;
|
||||
if (WordUtil.isNewZh()) {
|
||||
tips = Html.fromHtml("<font color='#FFE0BF'>您有一張</font>"
|
||||
+ "<font color='#FF9937'>" + content + "優惠券</font><br>"
|
||||
+ "<font color='#FFE0BF'>開通/續費" + content + "(1個月)時,</font><br><font color='#FFE0BF'>可享</font>"
|
||||
+ "<strong><font color='#FF9937'>" + coupon + "折</font></strong>"
|
||||
+ "<font color='#FFE0BF'>優惠 (折後:</font>"
|
||||
+ "<font color='#FF9937'>" + coin + "鑽</font>)<br>"
|
||||
+ "<font color='#FFE0BF'>是否使用優惠券?</font>");
|
||||
} else {
|
||||
tips = Html.fromHtml("<font color='#FFE0BF'>You have a </font>"
|
||||
+ "<font color='#FF9937'>" + content + " coupon</font>"
|
||||
+ "<font color='#FFE0BF'> When activating/renewing " + content + "(1 month), you can enjoy a</font>"
|
||||
+ "<strong><font color='#FF9937'> " + coupon + "% </font></strong>"
|
||||
+ "<font color='#FFE0BF'>discount (After folding:</font>"
|
||||
+ "<font color='#FF9937'>" + coin + " diamonds</font>"
|
||||
+ "<font color='#FFE0BF'>)Do you want to use coupons?</font>");
|
||||
}
|
||||
content2.setText(tips);
|
||||
dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
dialog.findViewById(R.id.btn_cancel1).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
simpleCallback.onCancel();
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
btn_confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
simpleCallback.onConfirmClick(dialog);
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
public class GuardBuyTipsNewDialog {
|
||||
/**
|
||||
* @param context
|
||||
*/
|
||||
public static void showBuyOrRenewDialog(Context context) {
|
||||
if (context instanceof Activity) {
|
||||
if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
final Dialog dialog = new Dialog(context, R.style.dialog2);
|
||||
dialog.setContentView(R.layout.dialog_guard_buy_tips);
|
||||
dialog.setCancelable(true);
|
||||
dialog.setCanceledOnTouchOutside(true);
|
||||
TextView btn_confirm = dialog.findViewById(R.id.btn_confirm);
|
||||
btn_confirm.setText(WordUtil.isNewZh() ? "確認" : "Confirm");
|
||||
dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
dialog.findViewById(R.id.btn_confirm).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -26,18 +29,19 @@ import java.math.BigDecimal;
|
||||
* 战令等级 经验
|
||||
*/
|
||||
public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
private TextView orderLevel, orderLevelDiamond, balanceDiamond, current, expText;
|
||||
private TextView orderLevelDiamond, balanceDiamond, current, expText;
|
||||
private int currentExperience, totalExperience;//当前经验,全部经验
|
||||
private String buyExp = "100", currentLevel, balance;
|
||||
private String buyExp = "1", currentLevel, balance;
|
||||
private ProgressBar progressBar;
|
||||
private OrderLevelCallback orderLevelCallback;
|
||||
private long maxExp;
|
||||
private BattlePassUserInfoBean userInfoBean;
|
||||
private Context mContext;
|
||||
private EditText orderLevel;
|
||||
|
||||
public OrderLevelPopupWindow(@NonNull Context context, BattlePassUserInfoBean userInfoBean,
|
||||
int mCurrentExperience, int mTotalExperience,
|
||||
String mCurrentLevel, String mBalance, long maxExp, OrderLevelCallback mOrderLevelCallback) {
|
||||
public OrderLevelPopupWindow(@NonNull Context context, BattlePassUserInfoBean userInfoBean, int mCurrentExperience, int mTotalExperience, String mCurrentLevel, String mBalance, long maxExp, OrderLevelCallback mOrderLevelCallback) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.userInfoBean = userInfoBean;
|
||||
currentExperience = mCurrentExperience;
|
||||
totalExperience = mTotalExperience;
|
||||
@@ -67,15 +71,15 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
progressBar.setProgress(currentExperience);
|
||||
expText.setText(String.format("%s/%s", userInfoBean.getBattlePassExp(), userInfoBean.getNextLevelExp()));
|
||||
current.setText(String.format("Lv%s", currentLevel));
|
||||
balanceDiamond.setText(balance);
|
||||
balanceDiamond.setText((WordUtil.isNewZh() ? "剩餘:" : "Balance:") + balance);
|
||||
findViewById(R.id.sub).setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
float exp = new BigDecimal(buyExp).floatValue();
|
||||
if (exp > 100) {
|
||||
BigDecimal buyExpBigDecimal = new BigDecimal(buyExp).subtract(new BigDecimal("100"));
|
||||
if (exp > 1) {
|
||||
BigDecimal buyExpBigDecimal = new BigDecimal(buyExp).subtract(new BigDecimal("1"));
|
||||
buyExp = String.valueOf(buyExpBigDecimal.intValue());
|
||||
orderLevelDiamond.setText(String.valueOf(buyExpBigDecimal.floatValue()));
|
||||
orderLevelDiamond.setText("00 = " + buyExp + "00");
|
||||
orderLevel.setText(buyExp);
|
||||
}
|
||||
}
|
||||
@@ -84,15 +88,14 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
float exp = new BigDecimal(buyExp).floatValue();
|
||||
if (exp < maxExp && exp < 10000) {
|
||||
BigDecimal buyExpBigDecimal = new BigDecimal(buyExp).add(new BigDecimal("100"));
|
||||
if (exp < maxExp && (exp + 1) < 10000) {
|
||||
BigDecimal buyExpBigDecimal = new BigDecimal(buyExp).add(new BigDecimal("1"));
|
||||
buyExp = String.valueOf(buyExpBigDecimal.intValue());
|
||||
orderLevelDiamond.setText(String.valueOf(buyExpBigDecimal.floatValue()));
|
||||
orderLevelDiamond.setText("00 = " + buyExp + "00");
|
||||
orderLevel.setText(buyExp);
|
||||
} else if (exp >= maxExp) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "经验已滿" : "Experience full");
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "經驗超出,僅需" + maxExp + "經驗可達滿级" : "Exp exceeds.Only " + maxExp + " exp is needed to reach the max level.");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.war_order_close), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@@ -101,40 +104,58 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
orderLevel.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
buyExp = charSequence.toString();
|
||||
orderLevelDiamond.setText("00 = " + charSequence.toString() + "00");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable editable) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.buying_experience), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
LiveNetManager.get(getContext())
|
||||
.buyingExperiencePoint(buyExp, new HttpCallback<ResponseModel<Object>>() {
|
||||
@Override
|
||||
public void onSuccess(ResponseModel<Object> data) {
|
||||
|
||||
if (orderLevelCallback != null) {
|
||||
orderLevelCallback.onCallback(data.getData().getCode(), data.getMsg());
|
||||
}
|
||||
dialog.dismiss();
|
||||
if (Integer.parseInt(orderLevel.getText().toString()+"00") <= maxExp) {
|
||||
LiveNetManager.get(getContext()).buyingExperiencePoint(buyExp + "00", new HttpCallback<ResponseModel<Object>>() {
|
||||
@Override
|
||||
public void onSuccess(ResponseModel<Object> data) {
|
||||
if (orderLevelCallback != null) {
|
||||
orderLevelCallback.onCallback(data.getData().getCode(), data.getMsg());
|
||||
}
|
||||
dialog.dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
if (orderLevelCallback != null) {
|
||||
orderLevelCallback.onCallback(102, error);
|
||||
}
|
||||
dialog.dismiss();
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
if (orderLevelCallback != null) {
|
||||
orderLevelCallback.onCallback(102, error);
|
||||
}
|
||||
});
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "經驗超出,僅需" + maxExp + "經驗可達滿级" : "Exp exceeds.Only " + maxExp + " exp is needed to reach the max level.");
|
||||
}
|
||||
}
|
||||
});
|
||||
IMLoginManager.get(getContext()).updateUserCoin(new OnItemClickListener<JSONObject>() {
|
||||
@Override
|
||||
public void onItemClick(JSONObject bean, int position) {
|
||||
if (bean != null) {
|
||||
balance = bean.getString("coin");
|
||||
balanceDiamond.setText((WordUtil.isNewZh() ? "剩餘:" : "Balance:") + balance);
|
||||
}
|
||||
}
|
||||
});
|
||||
IMLoginManager.get(getContext())
|
||||
.updateUserCoin(new OnItemClickListener<JSONObject>() {
|
||||
@Override
|
||||
public void onItemClick(JSONObject bean, int position) {
|
||||
if (bean != null) {
|
||||
balance = bean.getString("coin");
|
||||
balanceDiamond.setText(balance);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface OrderLevelCallback {
|
||||
|
||||
@@ -37,6 +37,8 @@ public class AllServerNotifyFFGGGDJANEvent extends BaseModel {
|
||||
private List<ButtonStyleDTO> buttonStyle;
|
||||
@SerializedName("h5_type")
|
||||
private String h5Type;
|
||||
@SerializedName("left_image")
|
||||
private String leftImage;
|
||||
|
||||
public String getH5Type() {
|
||||
return h5Type;
|
||||
@@ -47,6 +49,14 @@ public class AllServerNotifyFFGGGDJANEvent extends BaseModel {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLeftImage() {
|
||||
return leftImage;
|
||||
}
|
||||
|
||||
public void setLeftImage(String leftImage) {
|
||||
this.leftImage = leftImage;
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -226,14 +227,20 @@ public class ImgLoader {
|
||||
.skipMemoryCache(SKIP_MEMORY_CACHE)
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
public static void displayDrawable(Context context, String url, final DrawableCallback callback) {
|
||||
displayDrawable(context, url, -1, -1, callback);
|
||||
}
|
||||
public static void displayDrawable(Context context, String url, int width, int height, final DrawableCallback callback) {
|
||||
|
||||
if (TextUtils.isEmpty(url) || !contextIsExist(context)) {
|
||||
if (callback != null)
|
||||
callback.onLoadFailed();
|
||||
} else {
|
||||
Glide.with(context).asDrawable().load(url).thumbnail(thumbnail).skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
|
||||
RequestBuilder<Drawable> builder = Glide.with(context).asDrawable().load(url);
|
||||
if (width != -1 && height != -1) {
|
||||
builder = builder.override(width, height);
|
||||
}
|
||||
builder.thumbnail(thumbnail).skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
|
||||
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
||||
|
||||
@@ -54,7 +54,9 @@ import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.PrankProgressBean;
|
||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||
import com.yunbao.common.bean.RandomPkUserBean;
|
||||
import com.yunbao.common.bean.RankPkInfoBean;
|
||||
@@ -505,7 +507,16 @@ public interface PDLiveApi {
|
||||
* 获取整蛊列表
|
||||
*/
|
||||
@GET("/api/public/?service=Prank.prankList")
|
||||
Observable<ResponseModel<List<PrankGiftBean>>> prankList(@Query("anchor_id") String anchor_id);
|
||||
Observable<ResponseModel<PrankGiftResultBean>>prankList(
|
||||
@Query("anchor_id") String anchor_id,
|
||||
@Query("prank_type") String prank_type
|
||||
);
|
||||
|
||||
/**
|
||||
* 获取整蛊进度列表
|
||||
*/
|
||||
@GET("/api/public/?service=Prank.prankCompletedList")
|
||||
Observable<ResponseModel<PrankProgressBean>> getPrankProgressList(@Query("anchor_id") String anchor_id);
|
||||
|
||||
/**
|
||||
* 设置礼物整蛊
|
||||
@@ -513,9 +524,11 @@ public interface PDLiveApi {
|
||||
@GET("/api/public/?service=Prank.setPrank")
|
||||
Observable<ResponseModel<List<BaseModel>>> setPrank(
|
||||
@Query("anchor_id") String anchor_id,
|
||||
@Query("gift_id") String gift_id,
|
||||
@Query("gift_num") String gift_num,
|
||||
@Query("prank_content") String prank_content
|
||||
@Query("status") String status,
|
||||
@Query("prank_json") String prank_json,
|
||||
@Query("prank_type") String prank_type,
|
||||
@Query("is_cleared") String is_cleared
|
||||
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -1181,7 +1194,7 @@ public interface PDLiveApi {
|
||||
Observable<ResponseModel<GuardGetGuardOpenInfoModel>> getGuardOpenInfo(@Query("liveuid") String liveUid);
|
||||
|
||||
@GET("/api/public/?service=Guard.openGuard")
|
||||
Observable<ResponseModel<Object>> openGuard(@Query("liveuid") String liveUid, @Query("guard_type") String guardType, @Query("price_key") String priceKey, @Query("stream") String stream);
|
||||
Observable<ResponseModel<Object>> openGuard(@Query("liveuid") String liveUid, @Query("guard_type") String guardType, @Query("price_key") String priceKey, @Query("stream") String stream,@Query("coupon_type") String coupon_type,@Query("coupon_id") String coupon_id);
|
||||
|
||||
@GET("/api/public/?service=Guard.sendMoneyLong")
|
||||
Observable<ResponseModel<Object>> sendMoneyLong(@Query("liveuid") String liveUid, @Query("gold_num") String goldNum);
|
||||
@@ -1235,4 +1248,17 @@ public interface PDLiveApi {
|
||||
);
|
||||
@GET("/api/public/?service=Tx.getShengwangToken")
|
||||
Observable<ResponseModel<SwTokenModel>> getSwToken();
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param anchor_id
|
||||
* @param gift_id
|
||||
* @return
|
||||
*/
|
||||
@GET("/api/public/?service=Prank.anchorClickFinish")
|
||||
Observable<ResponseModel<List<BaseModel>>> anchorClickFinish(
|
||||
@Query("anchor_id")String anchor_id,
|
||||
@Query("gift_id")String gift_id
|
||||
);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,9 @@ import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.PrankProgressBean;
|
||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||
import com.yunbao.common.bean.RandomPkUserBean;
|
||||
import com.yunbao.common.bean.RankPkInfoBean;
|
||||
@@ -880,9 +882,9 @@ public class LiveNetManager {
|
||||
/**
|
||||
* 获取转盘整蛊列表
|
||||
*/
|
||||
public void getPrankGiftList(String mLiveUid, HttpCallback<List<PrankGiftBean>> callback) {
|
||||
public void getPrankGiftList(String mLiveUid, String prank_type,HttpCallback<PrankGiftResultBean> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.prankList(mLiveUid)
|
||||
.prankList(mLiveUid,prank_type)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(responseModel -> {
|
||||
@@ -899,12 +901,31 @@ public class LiveNetManager {
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取整蛊进度列表
|
||||
*/
|
||||
public void getPrankProgressList(String mLiveUid, HttpCallback<PrankProgressBean> callback){
|
||||
API.get().pdLiveApi(mContext)
|
||||
.getPrankProgressList(mLiveUid)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(responseModel->{
|
||||
if (callback != null){
|
||||
callback.onSuccess(responseModel.getData().getInfo());
|
||||
}
|
||||
},throwable->{
|
||||
if (callback != null){
|
||||
callback.onError(throwable.getMessage());
|
||||
}
|
||||
} ).isDisposed();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置礼物整蛊
|
||||
*/
|
||||
public void setPrankGift(String mLiveUid, String gift_id, String gift_num, String prank_content, HttpCallback<PrankHttpTurntableBean> callback) {
|
||||
public void setPrankGift(String mLiveUid, String status, String prank_json,String prank_type,String is_cleared, HttpCallback<PrankHttpTurntableBean> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.setPrank(mLiveUid, gift_id, gift_num, prank_content)
|
||||
.setPrank(mLiveUid, status, prank_json, prank_type,is_cleared)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(responseModel -> {
|
||||
@@ -2993,9 +3014,9 @@ public class LiveNetManager {
|
||||
|
||||
}
|
||||
|
||||
public void openGuard(String liveUid, String guardType, String priceKey, String stream, HttpCallback<String> callback) {
|
||||
public void openGuard(String liveUid, String guardType, String priceKey, String stream,String coupon_type,String couponId, HttpCallback<String> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.openGuard(liveUid, guardType, priceKey, stream)
|
||||
.openGuard(liveUid, guardType, priceKey, stream,coupon_type,couponId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<Object>>() {
|
||||
@@ -3192,6 +3213,31 @@ public class LiveNetManager {
|
||||
|
||||
}
|
||||
|
||||
public void anchorClickFinish(String mLiveId, String giftId, HttpCallback<List<BaseModel>>callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.anchorClickFinish(mLiveId, giftId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<List<BaseModel>>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<List<BaseModel>> listResponseModel) throws Exception {
|
||||
if (callback != null) {
|
||||
callback.onSuccess(listResponseModel.getData().getInfo());
|
||||
}
|
||||
}
|
||||
}, new Consumer<Throwable>() {
|
||||
@Override
|
||||
public void accept(Throwable throwable) throws Exception {
|
||||
throwable.printStackTrace();
|
||||
if (callback != null) {
|
||||
callback.onError(mContext.getString(R.string.net_error));
|
||||
}
|
||||
}
|
||||
}).isDisposed();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void updateFile(File file, HttpCallback<AvatarBean> callback) {
|
||||
MultipartBody.Part uploadFile = createUploadFile(file);
|
||||
API.get().pdLiveApi(mContext)
|
||||
|
||||
@@ -54,10 +54,18 @@ public class OpenAdManager {
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
runnableMap.clear();
|
||||
showMap.clear();
|
||||
list.clear();
|
||||
waitRunnableMap.clear();
|
||||
if (runnableMap != null) {
|
||||
runnableMap.clear();
|
||||
}
|
||||
if (showMap != null) {
|
||||
showMap.clear();
|
||||
}
|
||||
if (list != null) {
|
||||
list.clear();
|
||||
}
|
||||
if (waitRunnableMap != null) {
|
||||
waitRunnableMap.clear();
|
||||
}
|
||||
list = null;
|
||||
runNowRunnable = null;
|
||||
}
|
||||
|
||||
@@ -143,6 +143,9 @@ public class RandomPkManager {
|
||||
.randomPK(new HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
if (debugUid != null) {
|
||||
pkUid = data = debugUid;
|
||||
}
|
||||
try {
|
||||
Integer.parseInt(data);//检测返回的data是否为数字uid,不是的话开始下一轮
|
||||
} catch (Exception e) {
|
||||
@@ -152,9 +155,8 @@ public class RandomPkManager {
|
||||
return;
|
||||
}
|
||||
pkUid = data;
|
||||
if (debugUid != null) {
|
||||
pkUid = data = debugUid;
|
||||
}
|
||||
|
||||
ToastUtil.showDebug("随机PK:"+pkUid+"|"+data);
|
||||
for (OnRandomPkTimer pkTimer : randomPkTimer) {
|
||||
pkTimer.onStartPK(data);
|
||||
}
|
||||
|
||||
@@ -4,8 +4,13 @@ import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.google.gson.Gson;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -37,9 +42,8 @@ public class SpUtil {
|
||||
public static final String ANCHOR_PK_TIME = "anchorPkTime";
|
||||
//播放短视频上下滑动引导页
|
||||
public static final String READ_VIDEO_GUIDE = "readVideoGuide";
|
||||
|
||||
public static final String MESSAGE_SYS_DEL = "FIRST_DEL";
|
||||
|
||||
public static final String LIVE_GAME_NEWED_LIST = "LIVE_GAME_NEWED_LIST";
|
||||
|
||||
public SpUtil() {
|
||||
mSharedPreferences = CommonAppContext.sInstance.getSharedPreferences("SharedPreferences", Context.MODE_PRIVATE);
|
||||
@@ -56,6 +60,41 @@ public class SpUtil {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public static void setLiveGameId(String gameId) {
|
||||
String gameMap = getStringValue(LIVE_GAME_NEWED_LIST);
|
||||
List<String> gameNewList;
|
||||
gameNewList = JSONArray.parseArray(gameMap, String.class);
|
||||
L.eSw("gameMap:" + gameMap);
|
||||
if (gameNewList == null) {
|
||||
gameNewList = new ArrayList<>();
|
||||
}
|
||||
for (int i = 0; i < gameNewList.size(); i++) {
|
||||
if (gameNewList.get(i).equals(gameId)) {
|
||||
gameNewList.remove(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
gameNewList.add(gameId);
|
||||
setStringValue(LIVE_GAME_NEWED_LIST, new Gson().toJson(gameNewList));
|
||||
}
|
||||
|
||||
public static boolean isLiveGameNew(String gameId) {
|
||||
String gameMap = getStringValue(LIVE_GAME_NEWED_LIST);
|
||||
List<String> gameNewList = new ArrayList<>();
|
||||
gameNewList = JSONArray.parseArray(gameMap, String.class);
|
||||
if (gameNewList == null) {
|
||||
gameNewList = new ArrayList<>();
|
||||
}
|
||||
boolean isNew = false;
|
||||
for (int i = 0; i < gameNewList.size(); i++) {
|
||||
if (gameNewList.get(i).equals(gameId)) {
|
||||
isNew = true;
|
||||
}
|
||||
}
|
||||
return !isNew;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存一个字符串
|
||||
*/
|
||||
|
||||
12
common/src/main/java/com/yunbao/common/utils/ViewUtils.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
public class ViewUtils {
|
||||
public static <T extends View> T findViewById(View view,int id,Class<T> clazz){
|
||||
return view.findViewById(id);
|
||||
}
|
||||
public static <T extends View> T findViewById(View view,int id){
|
||||
return view.findViewById(id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
public class InteractionGamesChildBottomViewHolder extends RecyclerView.ViewHolder {
|
||||
private RoundedImageView funGamePic;
|
||||
private TextView funGameName;
|
||||
private Context mContext;
|
||||
|
||||
public InteractionGamesChildBottomViewHolder(@NonNull View itemView, Context context) {
|
||||
super(itemView);
|
||||
this.mContext = context;
|
||||
funGamePic = itemView.findViewById(R.id.fun_game_pic);
|
||||
funGameName = itemView.findViewById(R.id.fun_game_name);
|
||||
}
|
||||
|
||||
public void setData(CustomSidebarChildModel model, boolean rigts) {
|
||||
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams((int)
|
||||
(mContext.getResources().getDisplayMetrics().widthPixels / 4.5),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
itemView.setLayoutParams(layoutParams);
|
||||
if (rigts) {
|
||||
ImgLoader.display(itemView.getContext(), model.getIcon(), funGamePic);
|
||||
} else {
|
||||
ImgLoader.display(itemView.getContext(), model.getResIcon(), funGamePic);
|
||||
}
|
||||
funGameName.setText(model.getTitle());
|
||||
if (!TextUtils.isEmpty(model.getSudGameIsNew())&&TextUtils.equals(model.getSudGameIsNew(),"1")&& SpUtil.isLiveGameNew(model.getId())){
|
||||
itemView.findViewById(R.id.icon_new_game).setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
itemView.findViewById(R.id.icon_new_game).setVisibility(View.GONE);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
if (interactionGamesCallBack != null) {
|
||||
interactionGamesCallBack.onItemViewClicks(model, rigts);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private InteractionGamesCallBack interactionGamesCallBack;
|
||||
|
||||
public void setItemViewClicks(InteractionGamesCallBack callBack) {
|
||||
interactionGamesCallBack = callBack;
|
||||
}
|
||||
|
||||
public interface InteractionGamesCallBack {
|
||||
void onItemViewClicks(CustomSidebarChildModel model, boolean rigts);
|
||||
}
|
||||
}
|
||||
@@ -1,40 +1,48 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.event.CustomDrawerPopupEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
public class InteractionGamesChildViewHolder extends RecyclerView.ViewHolder {
|
||||
private ImageView funGamePic;
|
||||
private RoundedImageView funGamePic;
|
||||
private TextView funGameName;
|
||||
private Context mContext;
|
||||
|
||||
public InteractionGamesChildViewHolder(@NonNull View itemView) {
|
||||
public InteractionGamesChildViewHolder(@NonNull View itemView,Context mContext) {
|
||||
super(itemView);
|
||||
this.mContext = mContext;
|
||||
funGamePic = itemView.findViewById(R.id.fun_game_pic);
|
||||
funGameName = itemView.findViewById(R.id.fun_game_name);
|
||||
}
|
||||
|
||||
public void setData(CustomSidebarChildModel model, boolean rigts) {
|
||||
|
||||
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams((int)
|
||||
(mContext.getResources().getDisplayMetrics().widthPixels / 4.5),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
itemView.setLayoutParams(layoutParams);
|
||||
|
||||
if (rigts) {
|
||||
ImgLoader.display(itemView.getContext(), model.getIcon(), funGamePic);
|
||||
} else {
|
||||
ImgLoader.display(itemView.getContext(), model.getResIcon(), funGamePic);
|
||||
}
|
||||
|
||||
|
||||
funGameName.setText(model.getTitle());
|
||||
if (!TextUtils.isEmpty(model.getSudGameIsNew())&&TextUtils.equals(model.getSudGameIsNew(),"1")){
|
||||
if (!TextUtils.isEmpty(model.getSudGameIsNew())&&TextUtils.equals(model.getSudGameIsNew(),"1")&& SpUtil.isLiveGameNew(model.getId())){
|
||||
itemView.findViewById(R.id.icon_new_game).setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
itemView.findViewById(R.id.icon_new_game).setVisibility(View.GONE);
|
||||
@@ -45,8 +53,6 @@ public class InteractionGamesChildViewHolder extends RecyclerView.ViewHolder {
|
||||
if (interactionGamesCallBack != null) {
|
||||
interactionGamesCallBack.onItemViewClicks(model, rigts);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -25,21 +27,22 @@ public class LiveNewRoleFunGamesViewHolder extends RecyclerView.ViewHolder {
|
||||
private RecyclerView childList;
|
||||
private ImageView selectMoreIcon;
|
||||
boolean isShowMore = true;
|
||||
private Context mContext;
|
||||
|
||||
public LiveNewRoleFunGamesViewHolder(@NonNull View itemView) {
|
||||
public LiveNewRoleFunGamesViewHolder(@NonNull View itemView, Context context) {
|
||||
super(itemView);
|
||||
this.mContext = context;
|
||||
sendGoodGift = itemView.findViewById(R.id.send_good_gift);
|
||||
childList = itemView.findViewById(R.id.child_list);
|
||||
selectMoreIcon = itemView.findViewById(R.id.select_more_icon);
|
||||
selectMore = itemView.findViewById(R.id.select_more);
|
||||
funGamesAdapter = new NewRoleFunGamesAdapter(itemView.getContext(),true);
|
||||
funGamesAdapter = new NewRoleFunGamesAdapter(itemView.getContext(), true);
|
||||
childList.setLayoutManager(new LinearLayoutManager(itemView.getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
childList.setAdapter(funGamesAdapter);
|
||||
|
||||
}
|
||||
|
||||
public void setData(CustomSidebarInfoModel model) {
|
||||
|
||||
List<CustomSidebarChildModel> sidebarChildModels = model.getChild();
|
||||
itemView.findViewById(R.id.select_more_layout).setVisibility(sidebarChildModels.size() >= 8 ? View.VISIBLE : View.GONE);
|
||||
sendGoodGift.setText(model.getTitle());
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
@@ -21,14 +23,14 @@ public class LiveNewRoleInteractionGamesViewHolder extends RecyclerView.ViewHold
|
||||
private RecyclerView childList;
|
||||
private ImageView selectMoreIcon;
|
||||
boolean isShowMore = true;
|
||||
|
||||
public LiveNewRoleInteractionGamesViewHolder(@NonNull View itemView) {
|
||||
public LiveNewRoleInteractionGamesViewHolder(@NonNull View itemView, Context context) {
|
||||
super(itemView);
|
||||
sendGoodGift = itemView.findViewById(R.id.send_good_gift);
|
||||
childList = itemView.findViewById(R.id.child_list);
|
||||
selectMoreIcon = itemView.findViewById(R.id.select_more_icon);
|
||||
funGamesAdapter = new LiveNewRoleInteractionGamesAdapter(itemView.getContext(), true);
|
||||
childList.setLayoutManager(new GridLayoutManager(itemView.getContext(), 4));
|
||||
LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
|
||||
childList.setLayoutManager(layoutManager);
|
||||
childList.setAdapter(funGamesAdapter);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
@@ -21,19 +24,21 @@ public class LiveNewRoleRigtsInterestsViewHolder extends RecyclerView.ViewHolder
|
||||
private TextView sendGoodGift;
|
||||
private RecyclerView childList;
|
||||
private boolean showRed = false;
|
||||
public LiveNewRoleRigtsInterestsViewHolder(@NonNull View itemView,boolean showRed) {
|
||||
private Context mContext;
|
||||
public LiveNewRoleRigtsInterestsViewHolder(@NonNull View itemView, boolean showRed,Context mContext) {
|
||||
super(itemView);
|
||||
this.mContext = mContext;
|
||||
sendGoodGift = itemView.findViewById(R.id.send_good_gift);
|
||||
childList = itemView.findViewById(R.id.child_list);
|
||||
sendGoodGift = itemView.findViewById(R.id.send_good_gift);
|
||||
childList = itemView.findViewById(R.id.child_list);
|
||||
funGamesAdapter = new LiveNewRoleFunGamesAdapter(itemView.getContext(), false,showRed);
|
||||
childList.setLayoutManager(new GridLayoutManager(itemView.getContext(), 4));
|
||||
LinearLayoutManager layoutManager = new LinearLayoutManager(itemView.getContext(), LinearLayoutManager.HORIZONTAL, false);
|
||||
childList.setLayoutManager(layoutManager);
|
||||
childList.setAdapter(funGamesAdapter);
|
||||
}
|
||||
|
||||
public void setData(CustomSidebarInfoModel model) {
|
||||
|
||||
sendGoodGift.setText(model.getTitle());
|
||||
funGamesAdapter.updateData(generateData());
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public class LiveSudGamePopup extends BottomPopupView {
|
||||
gameTitle.setText(mCreateSudRoomModel.getSudGameName());
|
||||
roomName.setText(mCreateSudRoomModel.getRoomName());
|
||||
roomNumber.setText(mCreateSudRoomModel.getSudGameRoomId());
|
||||
ImgLoader.display(getContext(), mCreateSudRoomModel.getAvatar(), mAvatar);
|
||||
//ImgLoader.display(getContext(), mCreateSudRoomModel.getAvatar(), mAvatar);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.exit), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -27,8 +29,10 @@ public class NewRoleFunGamesChildViewHolder extends RecyclerView.ViewHolder {
|
||||
private View red_point;
|
||||
private boolean showRed = false;
|
||||
private View total_image_red_point;
|
||||
public NewRoleFunGamesChildViewHolder(@NonNull View itemView, boolean showRed) {
|
||||
private Context mContext;
|
||||
public NewRoleFunGamesChildViewHolder(@NonNull View itemView, boolean showRed, Context mContext) {
|
||||
super(itemView);
|
||||
this.mContext = mContext;
|
||||
this.showRed = showRed;
|
||||
funGamePic = itemView.findViewById(R.id.fun_game_pic);
|
||||
funGameName = itemView.findViewById(R.id.fun_game_name);
|
||||
|
||||
@@ -27,7 +27,7 @@ public class RigtsInterestsViewHolder extends RecyclerView.ViewHolder {
|
||||
sendGoodGift = itemView.findViewById(R.id.send_good_gift);
|
||||
childList = itemView.findViewById(R.id.child_list);
|
||||
funGamesAdapter = new FunGamesAdapter(itemView.getContext(), false);
|
||||
childList.setLayoutManager(new GridLayoutManager(itemView.getContext(), 3));
|
||||
childList.setLayoutManager(new GridLayoutManager(itemView.getContext(), 4));
|
||||
childList.setAdapter(funGamesAdapter);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@@ -25,15 +26,19 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
||||
private FrameLayout user_layout;
|
||||
private RoundedImageView sud_game_user;
|
||||
private LinearLayout layout;
|
||||
private TextView userName;
|
||||
private FrameLayout vacancy_sud_gameLayout;
|
||||
|
||||
public SudGameUserListViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
vacancy_sud_game = itemView.findViewById(R.id.vacancy_sud_game);
|
||||
vacancy_sud_gameLayout = itemView.findViewById(R.id.vacancy_sud_gameLayout);
|
||||
sud_game_user = itemView.findViewById(R.id.sud_game_user);
|
||||
user_layout = itemView.findViewById(R.id.user_layout);
|
||||
mic_status = itemView.findViewById(R.id.mic_status);
|
||||
layout = itemView.findViewById(R.id.layout);
|
||||
game_status = itemView.findViewById(R.id.game_status);
|
||||
userName= itemView.findViewById(R.id.userName);
|
||||
}
|
||||
|
||||
public void upData(SudGameUserModel sudGameUserModel, SudGameUserListAdapter.SudGameSmallCallBack sudGameSmallCallBack, int position) {
|
||||
@@ -46,7 +51,7 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
||||
// }
|
||||
// });
|
||||
if (sudGameUserModel.isNullUser()) {
|
||||
vacancy_sud_game.setVisibility(View.VISIBLE);
|
||||
vacancy_sud_gameLayout.setVisibility(View.VISIBLE);
|
||||
user_layout.setVisibility(View.GONE);
|
||||
ViewClicksAntiShake.clicksAntiShake(vacancy_sud_game, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
@@ -55,7 +60,7 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
vacancy_sud_game.setVisibility(View.GONE);
|
||||
vacancy_sud_gameLayout.setVisibility(View.GONE);
|
||||
user_layout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display2(itemView.getContext(), sudGameUserModel.getAvatar(), sud_game_user);
|
||||
if (sudGameUserModel.getMicStatus() == 2) {
|
||||
@@ -71,6 +76,7 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
||||
} else {
|
||||
game_status.setVisibility(View.GONE);
|
||||
}
|
||||
userName.setText(sudGameUserModel.getUserNicename());
|
||||
ViewClicksAntiShake.clicksAntiShake(user_layout, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.BitmapUtil;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -56,6 +57,8 @@ public class NobleNoticeView extends FrameLayout {
|
||||
private HorizontalScrollView contextLayout;
|
||||
private RelativeLayout scrollLayout;
|
||||
private ImageView nobleIcon;
|
||||
private String anchorUid;
|
||||
private String mLiveId;
|
||||
|
||||
public NobleNoticeView(@NonNull Context context) {
|
||||
super(context);
|
||||
@@ -97,9 +100,11 @@ public class NobleNoticeView extends FrameLayout {
|
||||
});
|
||||
}
|
||||
|
||||
public NobleNoticeView setRootView(String uHead, String userNameStr, String anchorNicknameStr, String anchorUid) {
|
||||
public NobleNoticeView setRootView(String uHead, String userNameStr, String anchorNicknameStr, String anchorUid,String mLiveId) {
|
||||
this.uhead = uHead;
|
||||
this.anchorNicknameStr = anchorNicknameStr.trim();
|
||||
this.anchorUid = anchorUid;
|
||||
this.mLiveId = mLiveId;
|
||||
userName.setText(userNameStr);
|
||||
anchorNickname.setText(anchorNicknameStr.trim());
|
||||
if (TextUtils.isEmpty(anchorNicknameStr.trim())) {
|
||||
@@ -112,6 +117,10 @@ public class NobleNoticeView extends FrameLayout {
|
||||
findViewById(R.id.anchor_nickname).setVisibility(VISIBLE);
|
||||
openNoble.setText(mContext.getString(R.string.open_noble));
|
||||
}
|
||||
if(anchorUid.equals(mLiveId)){
|
||||
L.eSw("showBuyVipMessage:"+anchorUid+"__"+mLiveId);
|
||||
gotoRoomView.setVisibility(GONE);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -352,13 +361,15 @@ public class NobleNoticeView extends FrameLayout {
|
||||
gotoRoomView.setLayoutParams(layoutParams);
|
||||
contextLayout.setLayoutParams(contextLayoutParams);
|
||||
if (!TextUtils.isEmpty(anchorNicknameStr)) {
|
||||
gotoRoomView.setVisibility(VISIBLE);
|
||||
if(mLiveId.equals(anchorUid)){
|
||||
gotoRoomView.setVisibility(GONE);
|
||||
}else{
|
||||
gotoRoomView.setVisibility(VISIBLE);
|
||||
}
|
||||
findViewById(R.id.in).setVisibility(VISIBLE);
|
||||
findViewById(R.id.anchor_nickname).setVisibility(VISIBLE);
|
||||
}
|
||||
contextLayout.setVisibility(VISIBLE);
|
||||
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="360dp" />
|
||||
<corners android:radius="10dp" />
|
||||
<solid android:color="#B3414141" />
|
||||
</shape>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:topLeftRadius="12dp" android:topRightRadius="12dp" />
|
||||
<solid android:color="#201E1A" />
|
||||
<solid android:color="#292929" />
|
||||
</shape>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="7dp" />
|
||||
<solid android:color="#B3414141" />
|
||||
</shape>
|
||||
5
common/src/main/res/drawable/live_room_menu_red.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="320dp" />
|
||||
<solid android:color="#FD2D48" />
|
||||
</shape>
|
||||
@@ -14,7 +14,7 @@
|
||||
<clip android:clipOrientation="horizontal">
|
||||
<shape>
|
||||
<corners android:radius="3dp" />
|
||||
<solid android:color="#CE2BFF" />
|
||||
<solid android:color="#936EFF" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="#201E1A"
|
||||
android:orientation="vertical">
|
||||
|
||||
@@ -14,17 +16,25 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_width="138dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_marginStart="23dp"
|
||||
android:layout_marginTop="48dp"
|
||||
android:background="@drawable/bg_live_sud_game_top_new"
|
||||
android:gravity="start|center_vertical">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/live_dialog_top_game_icon"
|
||||
android:visibility="visible"
|
||||
tools:visibility="visible"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
@@ -69,30 +79,27 @@
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="98dp"
|
||||
android:layout_width="88dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="49dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_marginTop="55dp"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sud_history"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:src="@mipmap/icon_sud_history_live_new" />
|
||||
|
||||
<TextView
|
||||
<ImageView
|
||||
android:id="@+id/exit"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@drawable/bg_live_sud_game_back_new"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:background="@mipmap/bg_live_sud_game_back_new2"
|
||||
android:gravity="center"
|
||||
android:text="@string/video_exit"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12sp" />
|
||||
android:textSize="8sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
@@ -131,10 +138,8 @@
|
||||
android:id="@+id/game_seat"
|
||||
android:layout_width="34dp"
|
||||
android:layout_height="34dp"
|
||||
|
||||
android:src="@mipmap/icon_game_seat" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
@@ -146,13 +151,13 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="70dp"
|
||||
android:layout_marginTop="98dp">
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="93dp">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/user_list"
|
||||
android:layout_marginStart="11dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent" />
|
||||
</LinearLayout>
|
||||
|
||||
88
common/src/main/res/layout/dialog_guard_buy_coupon_tips.xml
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="310dp"
|
||||
android:layout_height="260dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="243dp"
|
||||
android:background="@drawable/guard_buy_tips_bg">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_cancel"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:src="@mipmap/icon_guard_buy_tips_close" />
|
||||
|
||||
<com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/dialog_tip"
|
||||
android:textSize="22dp"
|
||||
app:gradient_angle="45"
|
||||
app:gradient_endColor="#F9E1AE"
|
||||
app:gradient_startColor="#C28413" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="center"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/current_guard_expires"
|
||||
android:textColor="#FFE0BF"
|
||||
android:textSize="14dp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:gravity="center"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_cancel1"
|
||||
android:layout_width="100dp"
|
||||
android:gravity="center"
|
||||
android:layout_height="38dp"
|
||||
android:textColor="#F7F7F7"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:background="@mipmap/guard_buy_tips_cancel_bg"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/live_guard_buy_coupon_tips_cancel" />
|
||||
|
||||
<TextView
|
||||
android:layout_marginLeft="40dp"
|
||||
android:id="@+id/btn_confirm"
|
||||
android:layout_width="100dp"
|
||||
android:gravity="center"
|
||||
android:layout_height="38dp"
|
||||
android:textColor="#893D0D"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:background="@drawable/guard_buy_tips_sure_bg"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/live_guard_buy_coupon_tips_use" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -182,10 +182,34 @@
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
<RelativeLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/icon_zhenggu" />
|
||||
android:layout_height="40dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/icon_zhenggu" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/red_menu"
|
||||
android:layout_width="6dp"
|
||||
android:layout_height="6dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@drawable/live_room_menu_red"
|
||||
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="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -3,17 +3,19 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="650dp"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="@drawable/bg_live_sud_list"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/game_title"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
@@ -22,6 +24,79 @@
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="121dp"
|
||||
android:layout_height="39dp"
|
||||
android:padding="2dp"
|
||||
android:background="@drawable/dialog_live_sud_game_name_bg"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/live_dialog_top_game_icon"
|
||||
android:visibility="visible"
|
||||
tools:visibility="visible"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="10dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="1dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/interactive_game_create_room_name"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/room_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxWidth="98dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/interactive_game_create_room_number"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/room_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
@@ -42,18 +117,19 @@
|
||||
android:src="@mipmap/icon_min_game_new"
|
||||
android:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
<ImageView
|
||||
android:id="@+id/exit"
|
||||
android:layout_width="30dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_height="30dp"
|
||||
android:background="@drawable/bg_live_sud_game_back_new2"
|
||||
android:background="@mipmap/bg_live_sud_game_back_new2"
|
||||
android:gravity="center"
|
||||
android:text="@string/video_exit"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="8sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
@@ -62,74 +138,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="175dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/bg_live_sud_game_top"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:visibility="gone"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="4dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/interactive_game_create_room_name"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/room_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxWidth="98dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/interactive_game_create_room_number"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/room_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -3,7 +3,8 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="218dp"
|
||||
android:layout_height="240dp"
|
||||
android:id="@+id/root"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:background="@drawable/background_order_dialog"
|
||||
@@ -39,7 +40,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="46dp"
|
||||
android:text="Lv7"
|
||||
android:textColor="#CE2BFF"
|
||||
android:textColor="#2439B9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
@@ -66,6 +67,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:textColor="#000"
|
||||
android:layout_marginRight="7dp"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -75,23 +77,23 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/buying_experience_point"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/buying_experience_point"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="25dp"
|
||||
@@ -103,7 +105,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
<EditText
|
||||
android:id="@+id/tickets_plus_minus"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
@@ -111,6 +113,8 @@
|
||||
android:background="@null"
|
||||
android:gravity="center"
|
||||
android:imeOptions="actionSend"
|
||||
android:maxEms="4"
|
||||
android:maxLength="4"
|
||||
android:inputType="number"
|
||||
android:singleLine="true"
|
||||
android:text="0"
|
||||
@@ -129,8 +133,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="100"
|
||||
android:textColor="#0D21B2"
|
||||
android:text="00 = 100"
|
||||
android:textColor="#000000"
|
||||
android:textSize="11sp" />
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -38,7 +38,9 @@
|
||||
<ImageView
|
||||
android:id="@+id/btn_close"
|
||||
android:layout_width="50dp"
|
||||
android:layout_marginLeft="-35dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_toRightOf="@+id/layout"
|
||||
android:paddingBottom="30dp"
|
||||
android:src="@mipmap/icon_live_close_3" />
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:gravity="center"
|
||||
android:paddingEnd="7dp"
|
||||
android:gravity="start"
|
||||
android:orientation="vertical">
|
||||
<!--身份特权-->
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="40dp"
|
||||
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="40dp">
|
||||
<!--普通工具合集-->
|
||||
<ImageView
|
||||
@@ -27,7 +27,6 @@
|
||||
android:layout_height="6dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginTop="3dp"
|
||||
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/bg_red_point"
|
||||
tools:visibility="visible" />
|
||||
@@ -35,10 +34,11 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fun_game_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="@string/guard_guard"
|
||||
android:gravity="center"
|
||||
android:textColor="#9A9A9A"
|
||||
android:textSize="10sp" />
|
||||
|
||||
|
||||
@@ -39,9 +39,10 @@
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/child_list"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_marginBottom="16dp" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -23,16 +23,13 @@
|
||||
android:textColor="#F6F7FB"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/child_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginBottom="16dp" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -16,13 +16,12 @@
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="50dp"
|
||||
|
||||
android:layout_height="50dp">
|
||||
<!--普通工具合集-->
|
||||
<ImageView
|
||||
android:id="@+id/fun_game_pic"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@mipmap/live_more_icon_guard" />
|
||||
@@ -63,6 +62,6 @@
|
||||
android:maxLines="1"
|
||||
android:text="@string/guard_guard"
|
||||
android:textColor="#9A9A9A"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="10sp" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,17 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:paddingEnd="30dp"
|
||||
android:clickable="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fun_game_pic"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:src="@mipmap/live_more_icon_guard" />
|
||||
|
||||
<TextView
|
||||
@@ -21,6 +20,6 @@
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/guard_guard"
|
||||
android:textColor="#9A9A9A"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="10sp" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -4,63 +4,70 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="7dp"
|
||||
android:gravity="center"
|
||||
android:gravity="start"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="60dp"
|
||||
<LinearLayout
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fun_game_pic"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:src="@mipmap/live_more_icon_guard" />
|
||||
<RelativeLayout
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/red_point"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/bg_red_point"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="gone" />
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/fun_game_pic"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/live_more_icon_guard"
|
||||
android:visibility="visible"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_new_game"
|
||||
android:layout_width="26dp"
|
||||
android:layout_height="13dp"
|
||||
android:layout_gravity="end"
|
||||
<View
|
||||
android:id="@+id/red_point"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@drawable/bg_red_point"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_new_game"
|
||||
android:layout_width="23dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@mipmap/icon_new_game" />
|
||||
</RelativeLayout>
|
||||
<TextView
|
||||
android:id="@+id/fun_game_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:visibility="gone"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:src="@mipmap/icon_new_game" />
|
||||
</FrameLayout>
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/guard_guard"
|
||||
android:textColor="#9A9A9A"
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:textSize="10sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fun_game_name"
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:maxLines="1"
|
||||
android:text="@string/guard_guard"
|
||||
android:textColor="#9A9A9A"
|
||||
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -2,7 +2,7 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="14dp">
|
||||
|
||||
<TextView
|
||||
@@ -23,5 +23,7 @@
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/child_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginTop="10dp" />
|
||||
</LinearLayout>
|
||||
@@ -2,12 +2,12 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="14dp">
|
||||
|
||||
<TextView
|
||||
@@ -23,7 +23,10 @@
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/child_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:overScrollMode="never" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/select_more_layout"
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
</FrameLayout>
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/child_list"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp" />
|
||||
|
||||
@@ -3,50 +3,73 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/vacancy_sud_game"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:src="@mipmap/icon_vacancy_sud_game"
|
||||
android:visibility="visible" />
|
||||
<FrameLayout
|
||||
android:id="@+id/vacancy_sud_gameLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/vacancy_sud_game"
|
||||
android:layout_width="34dp"
|
||||
android:layout_height="50dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:src="@mipmap/icon_vacancy_sud_game" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/user_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="60dp"
|
||||
android:layout_height="50dp"
|
||||
android:visibility="visible">
|
||||
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/sud_game_user"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_width="34dp"
|
||||
android:layout_height="34dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_vacancy_sud_game"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/mic_status"
|
||||
android:layout_width="15dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="9dp"
|
||||
android:layout_height="9dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:src="@mipmap/icon_game_close_wheat_mute" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/game_status"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="14dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
|
||||
android:layout_width="17dp"
|
||||
android:layout_height="11dp"
|
||||
android:layout_marginTop="31dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@mipmap/icon_game_status" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/userName"
|
||||
android:text="用户名"
|
||||
android:layout_marginTop="40dp"
|
||||
android:ellipsize="end"
|
||||
android:visibility="gone"
|
||||
android:maxLines="1"
|
||||
android:gravity="center"
|
||||
android:textColor="#333333"
|
||||
android:layout_marginStart="8dp"
|
||||
android:textSize="8dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_width="34dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/bg_live_sud_game_back_new2.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/guard_buy_tips_cancel_bg.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_prank_gift_add_gift_to.png
Normal file
|
After Width: | Height: | Size: 933 B |
BIN
common/src/main/res/mipmap-xxhdpi/ic_prank_gift_del.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_prank_gift_switch.png
Normal file
|
After Width: | Height: | Size: 725 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.6 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/live_dialog_top_game_icon.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1332,7 +1332,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="interactive_game_room_all">All Game</string>
|
||||
<string name="interactive_game_create_room">Create a room</string>
|
||||
<string name="interactive_game_create_room_name">"Room Name: "</string>
|
||||
<string name="interactive_game_create_room_number">Room ID:</string>
|
||||
<string name="interactive_game_create_room_number">ID:</string>
|
||||
<string name="interactive_game_create_room_name_input">Please enter a room name</string>
|
||||
<string name="interactive_game_create_game_type">Game type:</string>
|
||||
<string name="interactive_game_create_game_sill">Game threshold:</string>
|
||||
@@ -1353,11 +1353,11 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="interactive_game_search_room_broadcast_room">Whether to enter the live broadcast room</string>
|
||||
<string name="interactive_game_search_room_bhe_game">No,only enter the game</string>
|
||||
<string name="interactive_game_rooms_oin">There are currently no rooms to join</string>
|
||||
<string name="prank_switch">Turntable prank switch</string>
|
||||
<string name="see_the_contents_of">After closing, all users will not be able to see the contents of the turntable</string>
|
||||
<string name="diamonds_every_time">The turntable consumes diamonds every time</string>
|
||||
<string name="diamonds_every_time_requirement_of">Minimum requirement of 1000 diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of_hint">Fill in the content of the prank,Fill in a minimum of 2 words and a maximum of 10 words</string>
|
||||
<string name="prank_switch">Turntable Trick Switch</string>
|
||||
<string name="see_the_contents_of">After turning it on, all users will not be able to see the content of the carousel.</string>
|
||||
<string name="diamonds_every_time">Each turn of the wheel consumes diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of">Starting with at least 1000 diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of_hint">Choose a gift</string>
|
||||
<string name="prank_content_yet_hint">You have not set up the prank content yet</string>
|
||||
<string name="choose_a_prank_gift">Choose a prank gift</string>
|
||||
<string name="choose_a_prank_gift_hint">Enter the prank content...</string>
|
||||
|
||||
@@ -1329,7 +1329,7 @@
|
||||
<string name="interactive_game_room_all">所有遊戲</string>
|
||||
<string name="interactive_game_create_room">創建房間</string>
|
||||
<string name="interactive_game_create_room_name">房間名稱:</string>
|
||||
<string name="interactive_game_create_room_number">房間號:</string>
|
||||
<string name="interactive_game_create_room_number">ID:</string>
|
||||
<string name="interactive_game_create_room_name_input">請輸入房間名</string>
|
||||
<string name="interactive_game_create_game_type">游戲類型:</string>
|
||||
<string name="interactive_game_create_game_sill">游戲門檻:</string>
|
||||
@@ -1499,5 +1499,8 @@
|
||||
<string name="dragon_rule6">2.用戶關注主播並參與活動,將在倒計時五分鐘結束後瓜分活動金豆;</string>
|
||||
<string name="dragon_rule7">3.此活動的最終解釋權歸PDLIVE所有。</string>
|
||||
<string name="main_type_theater">短劇</string>
|
||||
<string name="prank_complete">完成*1</string>
|
||||
<string name="pking_over">主播正在PK,稍後再試</string>
|
||||
<string name="live_guard_buy_coupon_tips_use">使用</string>
|
||||
<string name="live_guard_buy_coupon_tips_cancel">不使用</string>
|
||||
</resources>
|
||||
|
||||
@@ -1328,7 +1328,7 @@
|
||||
<string name="interactive_game_room_all">所有遊戲</string>
|
||||
<string name="interactive_game_create_room">創建房間</string>
|
||||
<string name="interactive_game_create_room_name">房間名稱:</string>
|
||||
<string name="interactive_game_create_room_number">房間號:</string>
|
||||
<string name="interactive_game_create_room_number">ID:</string>
|
||||
<string name="interactive_game_create_room_name_input">請輸入房間名</string>
|
||||
<string name="interactive_game_create_game_type">游戲類型:</string>
|
||||
<string name="interactive_game_create_game_sill">游戲門檻:</string>
|
||||
@@ -1498,5 +1498,8 @@
|
||||
<string name="dragon_rule6">2.用戶關注主播並參與活動,將在倒計時五分鐘結束後瓜分活動金豆;</string>
|
||||
<string name="dragon_rule7">3.此活動的最終解釋權歸PDLIVE所有。</string>
|
||||
<string name="main_type_theater">短劇</string>
|
||||
<string name="prank_complete">完成*1</string>
|
||||
<string name="pking_over">主播正在PK,稍後再試</string>
|
||||
<string name="live_guard_buy_coupon_tips_use">使用</string>
|
||||
<string name="live_guard_buy_coupon_tips_cancel">不使用</string>
|
||||
</resources>
|
||||
|
||||
@@ -1327,7 +1327,7 @@
|
||||
<string name="interactive_game_room_all">所有遊戲</string>
|
||||
<string name="interactive_game_create_room">創建房間</string>
|
||||
<string name="interactive_game_create_room_name">房間名稱:</string>
|
||||
<string name="interactive_game_create_room_number">房間號:</string>
|
||||
<string name="interactive_game_create_room_number">ID:</string>
|
||||
<string name="interactive_game_create_room_name_input">請輸入房間名</string>
|
||||
<string name="interactive_game_create_game_type">游戲類型:</string>
|
||||
<string name="interactive_game_create_game_sill">游戲門檻:</string>
|
||||
@@ -1495,6 +1495,9 @@
|
||||
<string name="dragon_rule6">2.用戶關注主播並參與活動,將在倒計時五分鐘結束後瓜分活動金豆;</string>
|
||||
<string name="dragon_rule7">3.此活動的最終解釋權歸PDLIVE所有。</string>
|
||||
<string name="main_type_theater">短劇</string>
|
||||
<string name="prank_complete">完成*1</string>
|
||||
<string name="pking_over">主播正在PK,稍後再試</string>
|
||||
<string name="live_guard_buy_coupon_tips_use">使用</string>
|
||||
<string name="live_guard_buy_coupon_tips_cancel">不使用</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -1335,7 +1335,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="interactive_game_room_all">All Game</string>
|
||||
<string name="interactive_game_create_room">Create a room</string>
|
||||
<string name="interactive_game_create_room_name">"Room Name: "</string>
|
||||
<string name="interactive_game_create_room_number">Room ID:</string>
|
||||
<string name="interactive_game_create_room_number">ID:</string>
|
||||
<string name="interactive_game_create_room_name_input">Please enter a room name</string>
|
||||
<string name="interactive_game_create_game_type">Game type:</string>
|
||||
<string name="interactive_game_create_game_sill">Game threshold:</string>
|
||||
@@ -1356,11 +1356,11 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="interactive_game_search_room_broadcast_room">Whether to enter the live broadcast room</string>
|
||||
<string name="interactive_game_search_room_bhe_game">No,only enter the game</string>
|
||||
<string name="interactive_game_rooms_oin">There are currently no rooms to join</string>
|
||||
<string name="prank_switch">Turntable prank switch</string>
|
||||
<string name="see_the_contents_of">After closing, all users will not be able to see the contents of the turntable</string>
|
||||
<string name="diamonds_every_time">The turntable consumes diamonds every time</string>
|
||||
<string name="diamonds_every_time_requirement_of">Minimum requirement of 1000 diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of_hint">Fill in the content of the prank,Fill in a minimum of 2 words and a maximum of 10 words</string>
|
||||
<string name="prank_switch">Turntable Trick Switch</string>
|
||||
<string name="see_the_contents_of">After turning it on, all users will not be able to see the content of the carousel.</string>
|
||||
<string name="diamonds_every_time">Each turn of the wheel consumes diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of">Starting with at least 1000 diamonds</string>
|
||||
<string name="diamonds_every_time_requirement_of_hint">Choose a gift</string>
|
||||
<string name="prank_content_yet_hint">You have not set up the prank content yet</string>
|
||||
<string name="choose_a_prank_gift">Choose a prank gift</string>
|
||||
<string name="choose_a_prank_gift_hint">Enter the prank content...</string>
|
||||
@@ -1505,4 +1505,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="dragon_rule7">3.The final interpretation of this activity belongs to PDLIVE.</string>
|
||||
<string name="main_type_theater" >Theater</string>
|
||||
<string name="pking_over">The anchor is in PK, please try again later</string>
|
||||
<string name="prank_complete">once</string>
|
||||
<string name="live_guard_buy_coupon_tips_use">Use</string>
|
||||
<string name="live_guard_buy_coupon_tips_cancel">Not use</string>
|
||||
</resources>
|
||||
|
||||
@@ -131,4 +131,10 @@
|
||||
<item name="android:activityCloseEnterAnimation">@anim/out_to_right_abit</item>
|
||||
<item name="android:activityCloseExitAnimation">@anim/out_to_right</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="PrankTabLayoutTextStyle" parent="TextAppearance.Design.Tab">
|
||||
<item name="textAllCaps">false</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -4,20 +4,20 @@ ext {
|
||||
buildToolsVersion: "29.0.2",
|
||||
minSdkVersion : 21,
|
||||
targetSdkVersion : 33,
|
||||
versionCode : 676,
|
||||
versionName : "6.6.9"
|
||||
versionCode : 690,
|
||||
versionName : "6.7.1"
|
||||
]
|
||||
manifestPlaceholders = [
|
||||
//正式、
|
||||
// serverHost : "https://napi.yaoulive.com",
|
||||
// 测试
|
||||
serverHost : "https://ceshi.yaoulive.com",
|
||||
serverHost : "https://napi.yaoulive.com",
|
||||
|
||||
buildTime : new Date().format("MM-dd HH:mm", TimeZone.getTimeZone("GMT+8")),
|
||||
testServerHost : "https://ceshi.yaoulive.com",
|
||||
|
||||
//百度语音识别
|
||||
|
||||
swReleaseModel : true, //true声网正式服 false测试服
|
||||
swReleaseModel : true, //true 声网正式服 false 测试服
|
||||
|
||||
baiduAppId : "23774720",
|
||||
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnRB",
|
||||
@@ -32,3 +32,4 @@ ext {
|
||||
isPluginModel : false,
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@ android.enableJetifier=true
|
||||
|
||||
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=10809
|
||||
systemProp.http.proxyPort=10809
|
||||
|
||||
#android.enableR8.fullMode=true
|
||||
@@ -1,6 +1,6 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
@@ -45,6 +46,7 @@ dependencies {
|
||||
|
||||
// Because the components are created only during the afterEvaluate phase, you must
|
||||
// configure your publications using the afterEvaluate() lifecycle method.
|
||||
/*
|
||||
afterEvaluate {
|
||||
publishing {
|
||||
publications {
|
||||
@@ -77,4 +79,4 @@ afterEvaluate {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
@@ -2,8 +2,16 @@ package io.agora.beautyapi.faceunity.agora;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.opengl.EGL14;
|
||||
import android.opengl.EGLConfig;
|
||||
import android.opengl.EGLContext;
|
||||
import android.opengl.EGLDisplay;
|
||||
import android.opengl.EGLSurface;
|
||||
import android.opengl.GLES20;
|
||||
import android.util.Log;
|
||||
import android.view.Surface;
|
||||
import android.view.TextureView;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
|
||||
@@ -98,7 +106,7 @@ public class SWAuManager extends BaseCacheManager {
|
||||
*/
|
||||
public void initRtcEngine(Activity mContext) {
|
||||
this.mContext = mContext;
|
||||
if(mRtcEngine==null){
|
||||
if (mRtcEngine == null) {
|
||||
try {
|
||||
// 创建 RtcEngineConfig 对象,并进行配置
|
||||
RtcEngineConfig config = new RtcEngineConfig();
|
||||
@@ -122,7 +130,7 @@ public class SWAuManager extends BaseCacheManager {
|
||||
public void initRtcEngineAudio(Activity mContext) {
|
||||
this.mContext = mContext;
|
||||
try {
|
||||
if(mRtcEngine==null){
|
||||
if (mRtcEngine == null) {
|
||||
RtcEngineConfig config = new RtcEngineConfig();
|
||||
config.mContext = mContext;
|
||||
config.mAppId = CommonAppConfig.getSwAppId();
|
||||
@@ -354,7 +362,7 @@ public class SWAuManager extends BaseCacheManager {
|
||||
}
|
||||
|
||||
public static String getChannelName(String liveUid) {
|
||||
if ( liveUid != null &&liveUid.contains("g")) {
|
||||
if (liveUid != null && liveUid.contains("g")) {
|
||||
return liveUid;
|
||||
} else {
|
||||
return CommonAppConfig.SWChannelPrefix + liveUid;
|
||||
@@ -416,14 +424,26 @@ public class SWAuManager extends BaseCacheManager {
|
||||
this.linkUserContainer = linkUserContainer;
|
||||
}
|
||||
|
||||
public void release() {
|
||||
if (audienceContainer != null) {
|
||||
TextureView childAt = (TextureView) audienceContainer.getChildAt(0);
|
||||
if (childAt != null && childAt.getSurfaceTexture() != null) {
|
||||
childAt.setVisibility(View.GONE);
|
||||
childAt.invalidate();
|
||||
audienceContainer.removeAllViews();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public interface SwListener {
|
||||
void onUserOffline(int liveUid);
|
||||
}
|
||||
|
||||
public void preloadChannel(List<LiveBean> uids){
|
||||
for (int i = 0; i <uids.size(); i++) {
|
||||
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);
|
||||
public void preloadChannel(List<LiveBean> uids) {
|
||||
for (int i = 0; i < uids.size(); i++) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
package io.agora.beautyapi.faceunity.agora;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
import android.view.SurfaceView;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.bean.SwTokenModel;
|
||||
@@ -17,6 +24,9 @@ import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.faceunity.utils.FURenderer;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,13 +37,16 @@ import io.agora.beautyapi.faceunity.Config;
|
||||
import io.agora.beautyapi.faceunity.FaceUnityBeautyAPI;
|
||||
import io.agora.beautyapi.faceunity.FaceUnityBeautyAPIKt;
|
||||
import io.agora.beautyapi.faceunity.MirrorMode;
|
||||
import io.agora.beautyapi.faceunity.R;
|
||||
import io.agora.rtc2.ChannelMediaOptions;
|
||||
import io.agora.rtc2.Constants;
|
||||
import io.agora.rtc2.IRtcEngineEventHandler;
|
||||
import io.agora.rtc2.RtcConnection;
|
||||
import io.agora.rtc2.RtcEngine;
|
||||
import io.agora.rtc2.RtcEngineConfig;
|
||||
import io.agora.rtc2.RtcEngineEx;
|
||||
import io.agora.rtc2.video.ContentInspectConfig;
|
||||
import io.agora.rtc2.video.ImageTrackOptions;
|
||||
import io.agora.rtc2.video.VideoCanvas;
|
||||
import io.agora.rtc2.video.VideoEncoderConfiguration;
|
||||
|
||||
@@ -53,6 +66,7 @@ public class SWManager extends BaseCacheManager {
|
||||
private FrameLayout linkUserContainer;//连麦用户视图
|
||||
private onRtcEngineListener onRtcEngineListener;
|
||||
private List<String> drPkUserInfo = new ArrayList<>();
|
||||
private ImageTrackOptions imageTrackOptions = null;
|
||||
|
||||
private onDrPkJoinSuccessListener onDrPkJoinSuccessListener;
|
||||
|
||||
@@ -66,6 +80,17 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
public SWManager(Context context) {
|
||||
super(context);
|
||||
|
||||
String filePath = context.getCacheDir() + File.separator + "zslk.png";
|
||||
if (!new File(filePath).exists()) {
|
||||
Bitmap bitmap = ((BitmapDrawable) ResourcesCompat.getDrawable(context.getResources(), com.yunbao.common.R.mipmap.zslk, null)).getBitmap();
|
||||
try {
|
||||
bitmap.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream(filePath));
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
imageTrackOptions = new ImageTrackOptions(filePath, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,6 +105,12 @@ public class SWManager extends BaseCacheManager {
|
||||
return manager;
|
||||
}
|
||||
|
||||
public void setLeaveFlag(boolean leave) {
|
||||
if (mRtcEngine != null) {
|
||||
mRtcEngine.enableVideoImageSource(leave, imageTrackOptions);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化声网SDK
|
||||
*/
|
||||
@@ -126,7 +157,6 @@ public class SWManager extends BaseCacheManager {
|
||||
cfg.orientationMode = VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_FIXED_PORTRAIT;
|
||||
|
||||
|
||||
|
||||
mRtcEngine.setVideoEncoderConfiguration(cfg);
|
||||
|
||||
// 创建一个 SurfaceView 对象,并将其作为 FrameLayout 的子对象
|
||||
@@ -497,6 +527,7 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
public interface onRtcEngineListener {
|
||||
void onOpenSuccess(String channel, int uid);
|
||||
|
||||
void onUserOffline(int uid);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
|
||||
@@ -1 +1 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'com.android.library'
|
||||
@@ -169,6 +169,10 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
|
||||
public static boolean isSw;
|
||||
|
||||
public static boolean PKing = false;
|
||||
public static int isDRPK = 0;
|
||||
public static int DRPKing = -1; //-1 未发起多人PK 0 多人PK前 1 多人PK中 2多人PK后
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||
@@ -767,13 +771,15 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
mLiveSwLinkMicPkPresenter.onLinkMicPkStart(pkUid, 1);
|
||||
pr = new pkRunnable(pkUid, pkhead, pkname, isLadders);
|
||||
mHandler.postDelayed(pr, 4000);//3秒后执行Runnable中的run方法
|
||||
mLiveRoomViewHolder.initAnchorSay();
|
||||
mLiveRoomViewHolder.closePrankView();
|
||||
}
|
||||
} else {
|
||||
if (mLiveRyLinkMicPkPresenter != null && mLiveRoomViewHolder != null) {
|
||||
mLiveRyLinkMicPkPresenter.onLinkMicPkStart(pkUid, 1);
|
||||
pr = new pkRunnable(pkUid, pkhead, pkname, isLadders);
|
||||
mHandler.postDelayed(pr, 4000);//3秒后执行Runnable中的run方法
|
||||
|
||||
mLiveRoomViewHolder.closePrankView();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1057,6 +1057,11 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdatePrankProgress(String prankString) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 腾讯sdk连麦时候主播混流
|
||||
*/
|
||||
|
||||
@@ -103,6 +103,7 @@ import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.ProcessResultUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@@ -618,6 +619,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
manager.prankTurntable(msgtype, time, jsonObject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdatePrankProgress(String prankString) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (manager != null && manager.getsudGameMin()) {
|
||||
|
||||
@@ -170,8 +170,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
private int mReqCount;
|
||||
private boolean mPaused;
|
||||
String mBeautySdkType;
|
||||
public static int isDRPK = 0;
|
||||
public static boolean PKing = false;
|
||||
public static int pk_nub;
|
||||
public static int backIndex = 0;//0=未判断,1=已判断
|
||||
private FaceManager manager;
|
||||
@@ -268,7 +266,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mContainerWrap = (ViewGroup) findViewById(R.id.container_wrap);
|
||||
mContainer = (ViewGroup) findViewById(R.id.container);
|
||||
mLiveRyLinkMicPkPresenter = new LiveRyLinkMicPkPresenter(mContext, mLivePushViewHolder, true, mContainer);
|
||||
|
||||
RandomPkManager.getInstance().addOnRandomPkTimer(onRandomPkTimer);
|
||||
|
||||
//添加开播前设置控件
|
||||
@@ -300,8 +297,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
ToastUtil.show(mContext.getString(R.string.live_push_failed));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void initFaceManager() {
|
||||
@@ -380,8 +375,17 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
case Constants.LIVE_FUNC_ZG://zg
|
||||
// ToastUtil.show("開發中,敬請期待");
|
||||
LivePrankDialogFragment fragment = new LivePrankDialogFragment();
|
||||
fragment.setOnPrankResultListener(new LivePrankDialogFragment.onPrankResultListener() {
|
||||
@Override
|
||||
public void OpenAndCloseListener() {
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.initPrankProgress(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
fragment.setmLiveUid(mLiveUid);
|
||||
fragment.show(getSupportFragmentManager(), "LivePrankDialogFragment");
|
||||
mLiveAnchorViewHolder.closeMenuRed();
|
||||
break;
|
||||
case Constants.LIVE_FUNC_MIC://語音
|
||||
//ToastUtil.show("開發中,敬請期待");
|
||||
@@ -700,6 +704,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
bundle.putBoolean("isPk", isDRPK == 1 || PKing || mLivePushViewHolder.isPking());
|
||||
bundle.putLong("liveTime", mLiveAnchorViewHolder.getmAnchorLiveTime());
|
||||
bundle.putBoolean(Constants.OPEN_FLASH, mLivePushViewHolder != null && mLivePushViewHolder.isFlashOpen());
|
||||
bundle.putBoolean("isShowZgRed",mLiveAnchorViewHolder.isShowMenuRed());
|
||||
fragment.setArguments(bundle);
|
||||
fragment.setFunctionClickListener(this);
|
||||
fragment.show(getSupportFragmentManager(), "LiveFunctionDialogFragment");
|
||||
@@ -808,6 +813,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mLiveRoomViewHolder.initAnchorSay();
|
||||
mLiveRoomViewHolder.setGiftWall(obj.getString("gift_wall_lighten_number"), obj.getString("gift_wall_lighten_total"));
|
||||
}
|
||||
mLiveRyLinkMicPkPresenter.setmLiveRoomViewHolder(mLiveRoomViewHolder);
|
||||
if (mLiveAnchorViewHolder == null) {
|
||||
mLiveAnchorViewHolder = new LiveRyAnchorViewHolder(mContext, mContainer);
|
||||
mLiveAnchorViewHolder.setLiveBean(mLiveBean);
|
||||
@@ -873,6 +879,11 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
getAiRobotStatus();
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
//加载整蛊
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.initPrankProgress(2);
|
||||
mLiveRoomViewHolder.sendMsgPrank();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1457,6 +1468,13 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdatePrankProgress(String prankString) {
|
||||
if (mLiveRoomViewHolder != null){
|
||||
mLiveRoomViewHolder.refreshPrank(prankString);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 腾讯sdk连麦时候主播混流
|
||||
|
||||
@@ -25,7 +25,6 @@ import android.widget.ImageView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
@@ -125,6 +124,7 @@ import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
|
||||
import cn.rongcloud.rtc.base.RCRTCRect;
|
||||
import cn.rongcloud.rtc.base.RTCErrorCode;
|
||||
import io.agora.beautyapi.faceunity.agora.SWManager;
|
||||
import io.agora.rtc2.RtcEngine;
|
||||
import io.rong.imlib.IRongCallback;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
@@ -165,9 +165,8 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
private int mReqCount;
|
||||
private boolean mPaused;
|
||||
String mBeautySdkType;
|
||||
public static int isDRPK = 0;
|
||||
public static int DRPKing = -1; //-1 未发起多人PK 0 多人PK前 1 多人PK中 2多人PK后
|
||||
public static boolean PKing = false;
|
||||
|
||||
|
||||
public static int pk_nub;
|
||||
public static int backIndex = 0;//0=未判断,1=已判断
|
||||
private FaceManager manager;
|
||||
@@ -246,7 +245,6 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mContainerWrap = (ViewGroup) findViewById(R.id.container_wrap);
|
||||
mContainer = (ViewGroup) findViewById(R.id.container);
|
||||
mLiveSwLinkMicPkPresenter = new LiveSwLinkMicPkPresenter(mContext, mLivePushViewHolder, true, mContainer);
|
||||
|
||||
RandomPkManager.getInstance().addOnRandomPkTimer(onRandomPkTimer);
|
||||
|
||||
manager.setOnMirrorChanged(new FaceManager.OnMirrorChanged() {
|
||||
@@ -366,8 +364,17 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
case Constants.LIVE_FUNC_ZG://zg
|
||||
// ToastUtil.show("開發中,敬請期待");
|
||||
LivePrankDialogFragment fragment = new LivePrankDialogFragment();
|
||||
fragment.setOnPrankResultListener(new LivePrankDialogFragment.onPrankResultListener() {
|
||||
@Override
|
||||
public void OpenAndCloseListener() {
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.initPrankProgress(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
fragment.setmLiveUid(mLiveUid);
|
||||
fragment.show(getSupportFragmentManager(), "LivePrankDialogFragment");
|
||||
mLiveAnchorViewHolder.closeMenuRed();
|
||||
break;
|
||||
case Constants.LIVE_FUNC_MIC://語音
|
||||
//ToastUtil.show("開發中,敬請期待");
|
||||
@@ -548,12 +555,16 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
|
||||
}
|
||||
});
|
||||
SWManager.get().setLeaveFlag(true);
|
||||
mLiveAnchorViewHolder.setLeaveFlag(true);
|
||||
} else if (leave == 1) {
|
||||
leave = 0;
|
||||
leave_img.setVisibility(View.GONE);
|
||||
// 清除水印
|
||||
boolean ret = RCRTCEngine.getInstance().getDefaultVideoStream().setWatermark(null, rect);
|
||||
sendSystemMessageSw(mContext.getString(R.string.live_anchor_come_back));
|
||||
SWManager.get().setLeaveFlag(false);
|
||||
mLiveAnchorViewHolder.setLeaveFlag(false);
|
||||
}
|
||||
|
||||
HttpClient.getInstance().get("Live.isLeave", "Live.isLeave")
|
||||
@@ -688,6 +699,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
bundle.putBoolean("isPk", isDRPK == 1 || PKing || mLivePushViewHolder.isPking());
|
||||
bundle.putLong("liveTime", mLiveAnchorViewHolder.getmAnchorLiveTime());
|
||||
bundle.putBoolean(Constants.OPEN_FLASH, mLivePushViewHolder != null && mLivePushViewHolder.isFlashOpen());
|
||||
bundle.putBoolean("isShowZgRed",mLiveAnchorViewHolder.isShowMenuRed());
|
||||
fragment.setArguments(bundle);
|
||||
fragment.setFunctionClickListener(this);
|
||||
fragment.show(getSupportFragmentManager(), "LiveFunctionDialogFragment");
|
||||
@@ -861,6 +873,12 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
getAiRobotStatus();
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
//加载整蛊
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.initPrankProgress(2);
|
||||
mLiveRoomViewHolder.sendMsgPrank();
|
||||
}
|
||||
mLiveSwLinkMicPkPresenter.setmLiveRoomViewHolder(mLiveRoomViewHolder);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1468,6 +1486,13 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdatePrankProgress(String prankString) {
|
||||
if (mLiveRoomViewHolder != null){
|
||||
mLiveRoomViewHolder.refreshPrank(prankString);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 腾讯sdk连麦时候主播混流
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
@@ -56,6 +57,7 @@ import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.LiveSudGameHistoryPopup;
|
||||
import com.yunbao.common.views.TopGradual;
|
||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
|
||||
@@ -102,6 +104,9 @@ public class SudRyGameActivity extends AbsActivity implements GameRyMicManager.M
|
||||
Bus.getOn(this);
|
||||
super.main();
|
||||
initView();
|
||||
//进游戏房就关掉小窗
|
||||
EasyFloat.dismiss("LiveFloatView", true);
|
||||
APPEasyFloat.getInstance().dismiss(mContext);
|
||||
initDate();
|
||||
}
|
||||
|
||||
@@ -443,7 +448,7 @@ public class SudRyGameActivity extends AbsActivity implements GameRyMicManager.M
|
||||
// 设置游戏安全操作区域
|
||||
GameViewInfoModel.GameViewRectModel gameViewRectModel = new GameViewInfoModel.GameViewRectModel();
|
||||
gameViewRectModel.left = 0;
|
||||
gameViewRectModel.top = DpUtil.dp2px(155);
|
||||
gameViewRectModel.top = DpUtil.dp2px(180);
|
||||
gameViewRectModel.right = 0;
|
||||
gameViewRectModel.bottom = DpUtil.dp2px(155);
|
||||
gameViewModel.gameViewRectModel = gameViewRectModel;
|
||||
|
||||
@@ -18,6 +18,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.google.gson.Gson;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
@@ -34,6 +35,7 @@ import com.yunbao.common.bean.SudGameChatImModel;
|
||||
import com.yunbao.common.bean.SudGameUserModel;
|
||||
import com.yunbao.common.dialog.SudGameInputPopupWindow;
|
||||
import com.yunbao.common.event.CheckRemainingBalanceEvent;
|
||||
import com.yunbao.common.event.LiveFloatEvent;
|
||||
import com.yunbao.common.event.SudGameSocketImEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
@@ -52,6 +54,7 @@ import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.LiveSudGameHistoryPopup;
|
||||
import com.yunbao.common.views.TopGradual;
|
||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
|
||||
@@ -67,6 +70,7 @@ import cn.rongcloud.rtc.api.RCRTCRemoteUser;
|
||||
import cn.rongcloud.rtc.api.RCRTCRoom;
|
||||
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
|
||||
import cn.rongcloud.rtc.base.RTCErrorCode;
|
||||
import io.agora.beautyapi.faceunity.agora.LiveFloatView;
|
||||
import io.agora.beautyapi.faceunity.agora.SWAuManager;
|
||||
import io.rong.imlib.IRongCoreCallback;
|
||||
import io.rong.imlib.IRongCoreEnum;
|
||||
@@ -103,6 +107,9 @@ public class SudSwGameActivity extends AbsActivity implements GameSwMicManager.M
|
||||
Bus.getOn(this);
|
||||
super.main();
|
||||
initView();
|
||||
//进游戏房就关掉小窗
|
||||
EasyFloat.dismiss("LiveFloatView", true);
|
||||
APPEasyFloat.getInstance().dismiss(mContext);
|
||||
initDate();
|
||||
}
|
||||
|
||||
@@ -489,7 +496,7 @@ public class SudSwGameActivity extends AbsActivity implements GameSwMicManager.M
|
||||
// 设置游戏安全操作区域
|
||||
GameViewInfoModel.GameViewRectModel gameViewRectModel = new GameViewInfoModel.GameViewRectModel();
|
||||
gameViewRectModel.left = 0;
|
||||
gameViewRectModel.top = DpUtil.dp2px(155);
|
||||
gameViewRectModel.top = DpUtil.dp2px(180); //游戏安全区域
|
||||
gameViewRectModel.right = 0;
|
||||
gameViewRectModel.bottom = DpUtil.dp2px(155);
|
||||
gameViewModel.gameViewRectModel = gameViewRectModel;
|
||||
|
||||
76
live/src/main/java/com/yunbao/live/adapter/ComboAdapter.java
Normal file
@@ -0,0 +1,76 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.bean.PrankProgressBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ComboAdapter extends RecyclerView.Adapter<ComboAdapter.MyViewHolder>{
|
||||
|
||||
private List<PrankProgressBean.PrankList> mList = new ArrayList<>();
|
||||
private Context mContext;
|
||||
|
||||
public ComboAdapter(Context context){
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public void setList(List<PrankProgressBean.PrankList> list){
|
||||
mList.clear();
|
||||
mList.addAll(list);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new MyViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_combo_vote, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
|
||||
PrankProgressBean.PrankList data = mList.get(position);
|
||||
holder.itemView.setOnClickListener(v-> onItemClickListener.onItemClick(v,data.getGift_id()));
|
||||
holder.combo_item_prank_name.setText(data.getPrank_content());
|
||||
ImgLoader.display(mContext,data.getGift_icon(),holder.combo_item_icon);
|
||||
holder.combo_item_combo.setText(String.valueOf(data.getSend_num()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
class MyViewHolder extends RecyclerView.ViewHolder{
|
||||
|
||||
private TextView combo_item_prank_name,combo_item_combo;
|
||||
private ImageView combo_item_icon;
|
||||
|
||||
public MyViewHolder(@NonNull View itemView){
|
||||
super(itemView);
|
||||
combo_item_prank_name = itemView.findViewById(R.id.combo_item_prank_name);
|
||||
combo_item_combo = itemView.findViewById(R.id.combo_item_combo);
|
||||
combo_item_icon = itemView.findViewById(R.id.combo_item_icon);
|
||||
}
|
||||
}
|
||||
|
||||
private OnItemClickListener onItemClickListener;
|
||||
|
||||
public interface OnItemClickListener {
|
||||
void onItemClick(View view,int giftId);
|
||||
}
|
||||
|
||||
public void addOnItemClickListener(OnItemClickListener onItemClickListener){
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
}
|
||||
@@ -42,6 +42,7 @@ public class FrameGiftAdapter extends RecyclerView.Adapter {
|
||||
|
||||
if (!TextUtils.isEmpty(wishGiftId) && TextUtils.equals(giftJson.get(position).getId() + "", wishGiftId)) {
|
||||
Bus.get().post(new LiveGiftItemEvent().setLiveGiftModel(giftJson.get(position)));
|
||||
wishGiftId = null;
|
||||
}
|
||||
|
||||
FrameGiftViewHolder frameGiftViewHolder = (FrameGiftViewHolder) holder;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -10,6 +11,8 @@ import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.RandomPkUserBean;
|
||||
@@ -18,6 +21,8 @@ import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
@@ -134,61 +139,98 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
ToastUtil.show(mContext.getString(R.string.free_pk_num_null));
|
||||
return;
|
||||
}
|
||||
LiveHttpUtil.getMicList(liveUid, 0, new com.yunbao.common.http.HttpCallback() {
|
||||
//检查自己是不是在PK中
|
||||
LiveHttpUtil.livePkCheckLive(IMLoginManager.get(AppManager.getInstance().getMainActivity()).getUserInfo().getId() + "", "", "", new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
System.out.println("code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
|
||||
//非0认为未开通连麦权限
|
||||
if (code != 0) {
|
||||
if (mDrPkNum == -1) {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + bean.getUserNiceName() + " successful");
|
||||
}
|
||||
mOnItemClickListener.onItemClick(bean, -1);
|
||||
if(mContext instanceof LiveSwAnchorActivity){
|
||||
((LiveSwAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
false);
|
||||
}else{
|
||||
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (mDrPkNum <= 0) {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
} else {
|
||||
ToastUtil.show("Multiple times have been used up");
|
||||
}
|
||||
return;
|
||||
}
|
||||
yaoqing.put(bean.getId(), bean.getId());
|
||||
if (yaoqing.size() < 5) {
|
||||
if(mContext instanceof LiveSwAnchorActivity){
|
||||
((LiveSwAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
}else{
|
||||
((LiveRyAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "多人PK最大參與人數為4人" : "The maximum number of participants in a multiplayer PK is 4 people");
|
||||
}
|
||||
if (freePkRecyclerListener != null) {
|
||||
freePkRecyclerListener.onClose();
|
||||
}
|
||||
if (code == 0 && info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
if (obj != null) {
|
||||
if(mDrPkNum!=-1){
|
||||
LiveHttpUtil.getMicList(liveUid, 0, new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
System.out.println("code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
|
||||
//非0认为未开通连麦权限
|
||||
if (code != 0) {
|
||||
if (mDrPkNum <= 0) {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
} else {
|
||||
ToastUtil.show("Multiple times have been used up");
|
||||
}
|
||||
return;
|
||||
}
|
||||
yaoqing.put(bean.getId(), bean.getId());
|
||||
if (yaoqing.size() < 5) {
|
||||
if(mContext instanceof LiveSwAnchorActivity){
|
||||
((LiveSwAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
}else{
|
||||
((LiveRyAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "多人PK最大參與人數為4人" : "The maximum number of participants in a multiplayer PK is 4 people");
|
||||
}
|
||||
if (freePkRecyclerListener != null) {
|
||||
freePkRecyclerListener.onClose();
|
||||
}
|
||||
|
||||
} else {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
} else {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
if (TextUtils.equals(obj.getString("ispk"), "0")) {//自己不在PK,可以发起邀请
|
||||
LiveHttpUtil.getMicList(liveUid, 0, new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
System.out.println("code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
|
||||
//非0认为未开通连麦权限
|
||||
if (code != 0) {
|
||||
if (mDrPkNum == -1) {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + bean.getUserNiceName() + " successful");
|
||||
}
|
||||
mOnItemClickListener.onItemClick(bean, -1);
|
||||
if(mContext instanceof LiveSwAnchorActivity){
|
||||
((LiveSwAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
false);
|
||||
}else{
|
||||
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉PK");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the PK");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
mFollow.setOnClickListener(v -> {
|
||||
RandomPkUserBean bean = (RandomPkUserBean) itemView.getTag();
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.live.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemLivePrankGiftNumberAdapter extends RecyclerView.Adapter<ItemLivePrankGiftNumberAdapter.ViewHolder> {
|
||||
List<Integer> list = new ArrayList<>();
|
||||
int selectNumber;
|
||||
OnSelectNumberListener onSelectNumberListener;
|
||||
|
||||
public void setOnSelectNumberListener(OnSelectNumberListener onSelectNumberListener) {
|
||||
this.onSelectNumberListener = onSelectNumberListener;
|
||||
}
|
||||
|
||||
public void setSelectNumber(int selectNumber) {
|
||||
this.selectNumber = selectNumber;
|
||||
}
|
||||
|
||||
public int getSelectNumber() {
|
||||
return selectNumber;
|
||||
}
|
||||
|
||||
public void setList(List<Integer> list) {
|
||||
this.list = list;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_prank_dialog_add_gift_number, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
holder.setData(list.get(position), selectNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list.size();
|
||||
}
|
||||
|
||||
public interface OnSelectNumberListener {
|
||||
void onSelectNumber(int number);
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
private Button button;
|
||||
|
||||
public ViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
button = itemView.findViewById(R.id.coin);
|
||||
}
|
||||
|
||||
public void setData(int number, int selectNumber) {
|
||||
button.setText(String.valueOf(number));
|
||||
if (number == selectNumber) {
|
||||
button.setBackgroundResource(R.drawable.bg_prank_btn_gift_add_number);
|
||||
} else {
|
||||
button.setBackgroundResource(R.drawable.bg_prank_coin);
|
||||
}
|
||||
button.setOnClickListener(view -> {
|
||||
ItemLivePrankGiftNumberAdapter.this.selectNumber = number;
|
||||
notifyDataSetChanged();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@ import static com.yunbao.live.bean.LiveChatBean.LUCKY_ANGEL;
|
||||
import static com.yunbao.live.bean.LiveChatBean.RECOMMEND_CARD_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.STAR_CHALLENGE_UPGRADE_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.SYSTEM3_COLOR;
|
||||
import static com.yunbao.live.bean.LiveChatBean.TYPE_TO_ANCHOR_PRANK;
|
||||
import static com.yunbao.live.bean.LiveChatBean.TYPE_TO_ANCHOR_PRANK_GIFT;
|
||||
import static com.yunbao.live.bean.LiveChatBean.TYPE_TO_USER_MSG;
|
||||
import static com.yunbao.live.bean.LiveChatBean.WISH_LIST_PROGRESS;
|
||||
import static com.yunbao.live.bean.LiveChatBean.XYD_COMPLETE;
|
||||
@@ -219,6 +221,10 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
LinearLayoutCompat attentionLayout;
|
||||
ClipPathCircleImage clipImage2;
|
||||
|
||||
LinearLayoutCompat prank_open_live_layout;
|
||||
TextView prank_open_live_msg;
|
||||
TextView prank_to_setting;
|
||||
|
||||
public Vh(View itemView) {
|
||||
super(itemView);
|
||||
mBg = (LinearLayout) itemView.findViewById(R.id.bg);
|
||||
@@ -245,6 +251,10 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
btnAttention = (ImageView) itemView.findViewById(R.id.btn_attention);
|
||||
textLeave = (ImageView) itemView.findViewById(R.id.text_leave);
|
||||
|
||||
prank_open_live_layout = itemView.findViewById(R.id.prank_open_live_layout);
|
||||
prank_open_live_msg = itemView.findViewById(R.id.prank_open_live_msg);
|
||||
prank_to_setting = itemView.findViewById(R.id.prank_to_setting);
|
||||
|
||||
}
|
||||
|
||||
void setData(final LiveChatBean bean, int position) {
|
||||
@@ -255,9 +265,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.INPUT_DIALOG)
|
||||
.setOlineUserlistModel(new OlineUserlistModel().setId(bean.getId()).setUserNicename(bean.getUserNiceName())));
|
||||
|
||||
}
|
||||
|
||||
Log.e("eqwewqeweq", bean.toString());
|
||||
return true;
|
||||
}
|
||||
@@ -521,7 +529,29 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
if (!StringUtil.isEmpty(bean.getBubble())) {
|
||||
new LoadDian9TuUtil().loadDian9Tu(mContext, mBg, bean.getBubble(), 1);
|
||||
}
|
||||
} else {
|
||||
} else if(bean.getType() == TYPE_TO_ANCHOR_PRANK){
|
||||
/*String str1 = "<font color='#ff1a1a'>娛樂整蠱</font>";
|
||||
String str2 = "<font color='#0d0d0d'>全新升級,快去設置整蠱内容,給直播間增加更多趣味吧!</font>";
|
||||
String str3 = "<font color='#3384ff'>>>立即前往>></font>";
|
||||
mTextView.setText(Html.fromHtml(str1+str2+str3));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);*/
|
||||
|
||||
LinearLayout.LayoutParams params3 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params3.setMargins(0, 8, DpUtil.dp2px(80), 8);
|
||||
params3.gravity = Gravity.CENTER_VERTICAL;
|
||||
mBg.setLayoutParams(params3);
|
||||
prank_open_live_layout.setVisibility(View.VISIBLE);
|
||||
|
||||
}else if(bean.getType() == TYPE_TO_ANCHOR_PRANK_GIFT){
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
stringBuffer.append("<font color='#ffffff'>"+(WordUtil.isNewZh()?"整蠱來了!":"Tricky is coming")+"</font>");
|
||||
stringBuffer.append(" <font color='#ECB238'>"+bean.getUserNiceName()+"</font>");
|
||||
stringBuffer.append("<font color='#ffffff'>"+(WordUtil.isNewZh()?"送出":"send")+"【"+bean.getGiftName()+"*"+bean.getHot_num()+"】</font>");
|
||||
stringBuffer.append("<font color='#ffffff'>,"+(WordUtil.isNewZh()?"主播需完成":",and the anchor needs to complete ")+"</font>");
|
||||
stringBuffer.append( "<font color='#ECB238'>【"+bean.getContent()+"】</font>");
|
||||
mTextView.setText(Html.fromHtml(stringBuffer.toString()));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
}else{
|
||||
if (bean.getBubble() != null && !bean.getBubble().equals("")) {
|
||||
//加载.9图聊天气泡
|
||||
new LoadDian9TuUtil().loadDian9Tu(mContext, mBg, bean.getBubble(), 1);
|
||||
|
||||