Compare commits
166 Commits
master
...
dev_poyo_6
Author | SHA1 | Date | |
---|---|---|---|
caf748f5f2 | |||
589e855aba | |||
|
bae13be70e | ||
|
cfb9cca71a | ||
|
50fa5831c0 | ||
|
33b889cb79 | ||
|
336b433513 | ||
|
211a6bd2de | ||
|
363f2c5ddc | ||
|
b3fb2ebf43 | ||
|
8a6f1ae9e8 | ||
|
af23094df7 | ||
|
16cb90d9bc | ||
|
9984adfb8e | ||
|
b6a5fbf313 | ||
|
841adbcd17 | ||
|
85160a305c | ||
|
0ea401a90e | ||
|
b3fc0c5ca5 | ||
|
5330e2d884 | ||
|
d2f508699c | ||
|
d56d9d8f45 | ||
|
4d3a360a09 | ||
|
ff9e2de819 | ||
|
26b6e3b83e | ||
|
de35a605a7 | ||
|
1348d2899c | ||
|
2ba7e9955d | ||
|
a27d033dc6 | ||
|
5573c5d96b | ||
|
53a6f23033 | ||
|
619ab8a91a | ||
|
ee431d0ee2 | ||
|
d05c975068 | ||
|
7746111b83 | ||
|
ccf6b55119 | ||
|
b831f20e5b | ||
|
39818064f6 | ||
97c93ea108 | |||
|
7b256ff3c4 | ||
|
17527c1b60 | ||
|
62c8e38a87 | ||
|
98f00304b9 | ||
|
75d87885c0 | ||
|
c049fcfecd | ||
4fd14c5cbd | |||
6aefceae32 | |||
|
7b541e8dc3 | ||
|
89f2f40f34 | ||
|
aca659efdb | ||
|
34ddb61aa1 | ||
|
d9f5c4040b | ||
|
4b4954483b | ||
|
53ea1426ad | ||
|
12c5e18b0c | ||
|
d17bb8cf50 | ||
|
2c0816ea28 | ||
|
55a769fee2 | ||
|
eb5d77bad0 | ||
|
a454da8518 | ||
|
95e4eca7cf | ||
|
c92ae05606 | ||
|
a038384f2c | ||
|
3cdf9d5609 | ||
dc7b00c257 | |||
|
f75f0c0f0a | ||
|
fd15b269d9 | ||
|
2c7e499d0c | ||
|
71aa4d527d | ||
|
8a83f558e2 | ||
|
2fb0afef7d | ||
|
b415bd47ea | ||
|
d7982c65e1 | ||
|
98e9246213 | ||
|
c21607d6d4 | ||
|
7119f83cbf | ||
|
2b5af6a53e | ||
|
07ff6f32f0 | ||
|
df5e42f2e8 | ||
|
bc205ea9e5 | ||
|
3c25547f04 | ||
|
9e6443293d | ||
|
ad895b54d1 | ||
|
948dfe974c | ||
|
c202522d04 | ||
83e94b3b2e | |||
a40ba0ceb1 | |||
|
381d906bdc | ||
e0dd0c4618 | |||
|
9d6c921882 | ||
|
6f4f5df020 | ||
|
e8d33e749e | ||
|
0799d15b2e | ||
|
fbcf95baeb | ||
|
6a78563d32 | ||
|
5a7950da75 | ||
|
25ae11b77d | ||
|
4bda504eba | ||
|
22dca86721 | ||
|
9e65289821 | ||
|
4b87df86d0 | ||
|
094000ce57 | ||
|
7433369c1a | ||
|
6ab70b4fcb | ||
|
9817fb1ff7 | ||
|
54eb9ea099 | ||
|
98cb22a706 | ||
|
767bc41820 | ||
|
ef99178d33 | ||
|
24fa740e05 | ||
|
d662d5c3ea | ||
|
b9a6d9b966 | ||
|
0586360408 | ||
|
9d8bef398a | ||
|
602417f45d | ||
|
86902a8f9b | ||
|
7cb89035d8 | ||
|
f39f2b483e | ||
|
15f19e39a7 | ||
|
10d1d22b8a | ||
|
96b302f0ee | ||
|
99d8df2ec3 | ||
|
4e42a4b04c | ||
|
c582376cc4 | ||
|
e58ce7932f | ||
|
9a72e54ca3 | ||
|
6de4523d27 | ||
|
40966e0b33 | ||
|
935a5a3ec5 | ||
|
34aaa61f11 | ||
|
5373f6b5bc | ||
|
c84fc9e8f1 | ||
|
b68b334e00 | ||
|
bfb172c1e8 | ||
|
277684b8e0 | ||
|
d181e0e743 | ||
|
361d23b9ef | ||
|
745702e36c | ||
|
0b62d4ddc4 | ||
|
23d3c9a915 | ||
|
8a23e76788 | ||
|
6f2de3a4d7 | ||
|
68f444b3fc | ||
|
f616fb1192 | ||
|
cd4d0c13c1 | ||
|
a8f92a1e38 | ||
|
a1b59733b3 | ||
|
f1670965b9 | ||
|
1985eebfb1 | ||
|
d299e579d6 | ||
|
02ee96e369 | ||
|
ed595ec1f4 | ||
|
5dc2b15bd8 | ||
|
08bc59f80e | ||
|
25a926e507 | ||
|
abfb8e74be | ||
|
6e0e195c20 | ||
|
0854d931d4 | ||
|
98a0009019 | ||
|
b9503b91f5 | ||
|
dee916ea7d | ||
|
2e1eb3c7b4 | ||
|
2102a3bfc2 | ||
|
1576a75c08 | ||
|
89e4373d81 | ||
|
59271ce709 |
@ -27,7 +27,7 @@
|
||||
|
||||
<provider
|
||||
android:name="com.facebook.FacebookContentProvider"
|
||||
android:authorities="com.facebook.app.FacebookContentProvider2011402032399020"
|
||||
android:authorities="com.facebook.app.FacebookContentProvider2011402032399022"
|
||||
android:exported="true" />
|
||||
<receiver
|
||||
android:name="com.yunbao.share.receiver.TwitterResultReceiver"
|
||||
|
@ -3,7 +3,9 @@ package com.yunbao.share;
|
||||
import android.content.Context;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
import com.twitter.sdk.android.tweetcomposer.TweetUploadService;
|
||||
@ -15,12 +17,18 @@ import java.io.File;
|
||||
public abstract class AbsShareInterface {
|
||||
protected final Context mContext;
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
public AbsShareInterface(Context context) {
|
||||
this.mContext = context;
|
||||
IntentFilter filter = new IntentFilter(TweetUploadService.UPLOAD_SUCCESS);
|
||||
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(TweetUploadService.UPLOAD_SUCCESS);
|
||||
filter.addAction(TweetUploadService.UPLOAD_FAILURE);
|
||||
filter.addAction(TweetUploadService.TWEET_COMPOSE_CANCEL);
|
||||
context.registerReceiver(new TwitterResultReceiver(), filter);
|
||||
|
||||
TwitterResultReceiver receiver = new TwitterResultReceiver();
|
||||
context.registerReceiver(receiver, filter, Context.RECEIVER_NOT_EXPORTED);
|
||||
|
||||
}
|
||||
|
||||
public abstract void share(ShareBuilder builder, ICallback callback);
|
||||
|
@ -4,7 +4,7 @@
|
||||
<string name="com.twitter.sdk.android.CONSUMER_SECRET">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
|
||||
|
||||
<string name="dialog_share_title">分享</string>
|
||||
<string name="dialog_share_info">快來 PDLIVE觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_info">快來 POYO觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_app_facebook" >Facebook</string>
|
||||
<string name="dialog_share_app_line" >Line</string>
|
||||
<string name="dialog_share_app_twitter">Twitter</string>
|
||||
@ -13,6 +13,6 @@
|
||||
<string name="dialog_share_app_instagram" >Instagram</string>
|
||||
|
||||
<string name="dialog_invite_title">邀請好友</string>
|
||||
<string name="dialog_invite_info">快來 PDLIVE觀看直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_invite_info">快來 POYO觀看直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_copy">複製</string>
|
||||
</resources>
|
@ -9,8 +9,8 @@
|
||||
<string name="dialog_share_app_messenger">Messenger</string>
|
||||
<string name="dialog_share_app_instagram" >Instagram</string>
|
||||
<string name="dialog_share_title">Share</string>
|
||||
<string name="dialog_share_info">Come and watch %s live on PDLIVE and meet more interesting people!</string>
|
||||
<string name="dialog_share_info">Come and watch %s live on PoYo and meet more interesting people!</string>
|
||||
<string name="dialog_invite_title">Invite Friends</string>
|
||||
<string name="dialog_invite_info">Come to PDLIVE to discover more and better live streams.</string>
|
||||
<string name="dialog_invite_info">Come to PoYo to discover more and better live streams.</string>
|
||||
<string name="dialog_share_copy">Copy</string>
|
||||
</resources>
|
@ -4,10 +4,12 @@ apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'com.alibaba.arouter'
|
||||
apply from: "../package_config.gradle"
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
|
||||
android {
|
||||
namespace "myname.pdlive.shayu"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -68,7 +70,7 @@ android {
|
||||
exclude 'lib/armeabi-v7a/libMNN_CL.so'
|
||||
exclude 'lib/armeabi-v7a/libMNN_Express.so'
|
||||
|
||||
if (rootProject.ext.manifestPlaceholders.isGooglePlay == 0) {
|
||||
/*if (rootProject.ext.manifestPlaceholders.isGooglePlay == 0) {
|
||||
// 链接包剔除相心美颜SO
|
||||
exclude 'lib/armeabi-v7a/libCNamaSDK.so'
|
||||
exclude 'lib/armeabi-v7a/libfuai.so'
|
||||
@ -76,7 +78,7 @@ android {
|
||||
exclude 'lib/arm64-v8a/libCNamaSDK.so'
|
||||
exclude 'lib/arm64-v8a/libfuai.so'
|
||||
|
||||
/* // 剔除声网X86架构的so
|
||||
// 剔除声网X86架构的so
|
||||
exclude 'lib/x86/libagora-core.so'
|
||||
exclude 'lib/x86/libagora-ffmpeg.so'
|
||||
exclude 'lib/x86/libagora-fdkaac.so'
|
||||
@ -99,7 +101,7 @@ android {
|
||||
exclude 'lib/x86/libagora_video_encoder_extension.so'
|
||||
exclude 'lib/x86/libagora_video_quality_analyzer_extension.so'
|
||||
exclude 'lib/x86/libagora_video_dec.so'
|
||||
exclude 'lib/x86/libagora_video_enc.so'*//*
|
||||
exclude 'lib/x86/libagora_video_enc.so'/*
|
||||
|
||||
exclude 'lib/x86_64/libagora-core.so'
|
||||
exclude 'lib/x86_64/libagora-ffmpeg.so'
|
||||
@ -107,7 +109,7 @@ android {
|
||||
exclude 'lib/x86_64/libagora-soundtouch.so'
|
||||
exclude 'lib/x86_64/libagora-rtc-sdk.so'
|
||||
|
||||
*//* exclude 'lib/x86_64/libagora_clear_vision_extension.so'
|
||||
/* exclude 'lib/x86_64/libagora_clear_vision_extension.so'
|
||||
exclude 'lib/x86_64/libagora_segmentation_extension.so'
|
||||
exclude 'lib/x86_64/libagora_screen_capture_extension.so'
|
||||
exclude 'lib/x86_64/libagora_audio_beauty_extension.so'
|
||||
@ -123,10 +125,13 @@ android {
|
||||
exclude 'lib/x86_64/libagora_ai_echo_cancellation_extension.so'
|
||||
exclude 'lib/x86_64/libagora_lip_sync_extension.so'
|
||||
exclude 'lib/x86_64/libagora_video_dec.so'
|
||||
exclude 'lib/x86_64/libagora_video_enc.so'*/
|
||||
exclude 'lib/x86_64/libagora_video_enc.so'
|
||||
|
||||
*//*
|
||||
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
@ -138,6 +143,34 @@ android {
|
||||
}
|
||||
|
||||
applicationVariants.all { variant ->
|
||||
// 根据渠道配置删除美颜so文件
|
||||
if (variant.flavorName == "link_test" || variant.flavorName == "link_online") {
|
||||
println "variant.flavorName:${variant.flavorName}"
|
||||
println "variant.name:${variant.name}"
|
||||
|
||||
// 这里使用 mergeNativeLibs 任务,它会在文件合并后执行
|
||||
def taskName = "merge${variant.name.capitalize()}NativeLibs"
|
||||
tasks.matching { it.name == taskName }.configureEach { task ->
|
||||
task.doLast {
|
||||
def soFiles = [
|
||||
file("${buildDir}/intermediates/merged_native_libs/${variant.name}/merge${variant.name.capitalize()}NativeLibs/out/lib/armeabi-v7a/libCNamaSDK.so"),
|
||||
file("${buildDir}/intermediates/merged_native_libs/${variant.name}/merge${variant.name.capitalize()}NativeLibs/out/lib/armeabi-v7a/libfuai.so"),
|
||||
file("${buildDir}/intermediates/merged_native_libs/${variant.name}/merge${variant.name.capitalize()}NativeLibs/out/lib/arm64-v8a/libCNamaSDK.so"),
|
||||
file("${buildDir}/intermediates/merged_native_libs/${variant.name}/merge${variant.name.capitalize()}NativeLibs/out/lib/arm64-v8a/libfuai.so")
|
||||
]
|
||||
|
||||
soFiles.each { soFile ->
|
||||
if (soFile.exists()) {
|
||||
soFile.delete()
|
||||
println "Deleted ${soFile.name} for ${variant.flavorName}"
|
||||
} else {
|
||||
println "File not found: ${soFile.path}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
println "清空build文件夹";
|
||||
for (final def project in rootProject.getAllprojects()) {
|
||||
def name = variant.name.replace('Debug', '').replace('Release', '').toLowerCase()
|
||||
@ -229,7 +262,7 @@ android {
|
||||
} 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}.apk"
|
||||
def fileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PoYo-${defaultConfig.versionName}-${defaultConfig.versionCode}-${channel}-${server}-${variant.buildType.name}.apk"
|
||||
variant.outputs.forEach { fe ->
|
||||
copy {
|
||||
from fe.outputFile
|
||||
@ -259,24 +292,24 @@ android {
|
||||
} 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"
|
||||
def fileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PoYo-${defaultConfig.versionName}-${defaultConfig.versionCode}-${channel}-${server}-${variant.buildType.name}.aab"
|
||||
File finalFile = new File("${project.rootDir}\\outputs\\aab", fileName)
|
||||
finalBundleFile.set(finalFile)
|
||||
}
|
||||
}
|
||||
signingConfigs {
|
||||
release {
|
||||
keyAlias 'phonelive'
|
||||
keyPassword 'phonelive'
|
||||
storeFile file('../hdl.jks')
|
||||
storePassword 'phonelive'
|
||||
keyAlias 'poyo'
|
||||
keyPassword 'poyolive'
|
||||
storeFile file('../py.jks')
|
||||
storePassword 'poyolive'
|
||||
}
|
||||
//陌陌本地配置需要
|
||||
config {//TODO BEAUTYSDK 这里需要配置keystore相关信息
|
||||
keyAlias 'phonelive'
|
||||
keyPassword 'phonelive'
|
||||
storeFile file('../hdl.jks')//keystore的存放路径
|
||||
storePassword 'phonelive'
|
||||
keyAlias 'poyo'
|
||||
keyPassword 'poyolive'
|
||||
storeFile file('../py.jks')//keystore的存放路径
|
||||
storePassword 'poyolive'
|
||||
v2SigningEnabled true // android 5.0-8.0,必须用V2,否则会有安全问题
|
||||
v1SigningEnabled true
|
||||
}
|
||||
@ -286,10 +319,6 @@ android {
|
||||
useNewCruncher = false
|
||||
}
|
||||
|
||||
packagingOptions {//加上这写代码 为了mob兼容性androidx
|
||||
// pickFirst 'META-INF/*'
|
||||
}
|
||||
|
||||
|
||||
defaultConfig {
|
||||
// applicationId "myname.pdlive.shayu"
|
||||
@ -329,6 +358,9 @@ android {
|
||||
zipAlignEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
firebaseCrashlytics{
|
||||
mappingFileUploadEnabled = true
|
||||
}
|
||||
}
|
||||
debug {
|
||||
minifyEnabled false
|
||||
@ -336,6 +368,10 @@ android {
|
||||
zipAlignEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
|
||||
firebaseCrashlytics{
|
||||
mappingFileUploadEnabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
lintOptions {
|
||||
@ -344,7 +380,6 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
repositories {
|
||||
flatDir {
|
||||
dirs 'libs', '../libs'
|
||||
|
@ -1,65 +1,33 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "822566078854",
|
||||
"project_id": "pdlvenew",
|
||||
"storage_bucket": "pdlvenew.appspot.com"
|
||||
"project_number": "1030372740653",
|
||||
"project_id": "ppolive-8dc70",
|
||||
"storage_bucket": "ppolive-8dc70.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:822566078854:android:9cafc8bca8f63076bf8407",
|
||||
"mobilesdk_app_id": "1:1030372740653:android:f6abe9e5211a05dbd6f2a4",
|
||||
"android_client_info": {
|
||||
"package_name": "com.newpdlive.sy"
|
||||
"package_name": "com.pdpdlive.pdlive"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "822566078854-8c7698l64j66ijng9bq799o5qvbguhdo.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "e059b937bfa49d58f40fddee4c7463e03e2aae47"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-9cej31ie42tgjeimdk691gmvkavrooa7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-c63gcmvkn2ctfct9eebuo0r4tiolloel.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-jfpovcealtjkv6sf0338to2grv4e5i6k.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_id": "1030372740653-hlfqlj42eqifn2dmckh8u4oi0ec5t0tp.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBVlPTRCNLnBNJNei5rHjEqok8CfbJLraI"
|
||||
"current_key": "AIzaSyB-JfPkKpbpigLxyjw28RVnxQMmF7uSpTM"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_id": "1030372740653-hlfqlj42eqifn2dmckh8u4oi0ec5t0tp.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
|
@ -1,65 +1,33 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "822566078854",
|
||||
"project_id": "pdlvenew",
|
||||
"storage_bucket": "pdlvenew.appspot.com"
|
||||
"project_number": "1030372740653",
|
||||
"project_id": "ppolive-8dc70",
|
||||
"storage_bucket": "ppolive-8dc70.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:822566078854:android:9cafc8bca8f63076bf8407",
|
||||
"mobilesdk_app_id": "1:1030372740653:android:f6abe9e5211a05dbd6f2a4",
|
||||
"android_client_info": {
|
||||
"package_name": "com.pdsylive.yo"
|
||||
"package_name": "com.pdpdlive.pdlive"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "822566078854-8c7698l64j66ijng9bq799o5qvbguhdo.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdsylive.yo",
|
||||
"certificate_hash": "e059b937bfa49d58f40fddee4c7463e03e2aae47"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-9cej31ie42tgjeimdk691gmvkavrooa7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdsylive.yo",
|
||||
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-c63gcmvkn2ctfct9eebuo0r4tiolloel.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdsylive.yo",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-jfpovcealtjkv6sf0338to2grv4e5i6k.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdsylive.yo",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_id": "1030372740653-hlfqlj42eqifn2dmckh8u4oi0ec5t0tp.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBVlPTRCNLnBNJNei5rHjEqok8CfbJLraI"
|
||||
"current_key": "AIzaSyB-JfPkKpbpigLxyjw28RVnxQMmF7uSpTM"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_id": "1030372740653-hlfqlj42eqifn2dmckh8u4oi0ec5t0tp.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
|
@ -1,65 +1,66 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "292494634914",
|
||||
"project_id": "pdlive-1631521064967",
|
||||
"storage_bucket": "pdlive-1631521064967.appspot.com"
|
||||
"project_number": "822566078854",
|
||||
"project_id": "pdlvenew",
|
||||
"storage_bucket": "pdlvenew.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:292494634914:android:d8db197d7e7a6c3a3a4cfb",
|
||||
"mobilesdk_app_id": "1:822566078854:android:9cafc8bca8f63076bf8407",
|
||||
"android_client_info": {
|
||||
"package_name": "com.pdlive.shayu"
|
||||
"package_name": "com.newpdlive.sy"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "292494634914-8nuhhoeo061ki1jevbcsrl7dfdl6dlm0.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-8c7698l64j66ijng9bq799o5qvbguhdo.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "e059b937bfa49d58f40fddee4c7463e03e2aae47"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ctr3fptp5mkv2qqr4gkgjo9uluq2joqb.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-9cej31ie42tgjeimdk691gmvkavrooa7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ejtqvaj86a2lldv0di2pr3d5gngprahd.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-c63gcmvkn2ctfct9eebuo0r4tiolloel.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-jfpovcealtjkv6sf0338to2grv4e5i6k.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyDVnuGnQzjI_vDrxh20Hv_S1OMUD7Vp3zU"
|
||||
"current_key": "AIzaSyBVlPTRCNLnBNJNei5rHjEqok8CfbJLraI"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-v9j4rei86q2pfh9as4seotb23vr2744a.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "com.live.pd"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -104,9 +104,10 @@
|
||||
|
||||
</queries>
|
||||
<application
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:name="com.shayu.phonelive.AppContext"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:icon="@mipmap/new_logo"
|
||||
android:label="@string/app_name"
|
||||
android:largeHeap="true"
|
||||
android:preserveLegacyExternalStorage="true"
|
||||
@ -177,7 +178,7 @@
|
||||
android:value="${lineChannelId}" />
|
||||
<meta-data
|
||||
android:name="com.openinstall.APP_KEY"
|
||||
android:value="smvslm" />
|
||||
android:value="j20q7t" /> <!--替換時間2024.10.09-->
|
||||
<meta-data
|
||||
android:name="HIDE_GOOGLE_LOGIN"
|
||||
android:value="${isHideGoogleLogin}" />
|
||||
|
@ -147,7 +147,6 @@ public class LauncherActivity extends AppCompatActivity implements View.OnClickL
|
||||
mBtnSkipVideo = findViewById(R.id.btn_skip_video);
|
||||
mBtnSkipImage.setOnClickListener(this);
|
||||
mBtnSkipVideo.setOnClickListener(this);
|
||||
ImgLoader.display(mContext, R.mipmap.screen, mCover);
|
||||
mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
|
BIN
app/src/main/res/drawable/screen.9.png
Normal file
After Width: | Height: | Size: 228 KiB |
@ -59,6 +59,15 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/screen"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<ImageView
|
||||
android:visibility="gone"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_width="84dp"
|
||||
android:src="@mipmap/logo"
|
||||
android:layout_marginBottom="56dp"
|
||||
android:layout_height="30dp"/>
|
||||
</FrameLayout>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 2.7 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 3.5 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/logo.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/new_logo.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 425 KiB |
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">PDLIVE</string>
|
||||
<string name="app_name">PoYo</string>
|
||||
<string name="leak_canary_test_class_name">assertk.Assert</string>
|
||||
</resources>
|
12
app/src/main/res/values/styles.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="MySplashTheme" parent="AppTheme">
|
||||
<!--正常-->
|
||||
<item name="android:windowBackground">@drawable/screen</item>
|
||||
<!-- <item name="android:windowBackground">@drawable/bg_splash</item>-->
|
||||
<item name="android:windowFullscreen">true</item>
|
||||
|
||||
</style>
|
||||
|
||||
</resources>
|
6
app/src/main/res/xml/network_security_config.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
<domain-config cleartextTrafficPermitted="true">
|
||||
<domain includeSubdomains="true">upload-z0.qiniup.com</domain>
|
||||
</domain-config>
|
||||
</network-security-config>
|
@ -1,65 +1,66 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "292494634914",
|
||||
"project_id": "pdlive-1631521064967",
|
||||
"storage_bucket": "pdlive-1631521064967.appspot.com"
|
||||
"project_number": "822566078854",
|
||||
"project_id": "pdlvenew",
|
||||
"storage_bucket": "pdlvenew.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:292494634914:android:d8db197d7e7a6c3a3a4cfb",
|
||||
"mobilesdk_app_id": "1:822566078854:android:9cafc8bca8f63076bf8407",
|
||||
"android_client_info": {
|
||||
"package_name": "com.pdlive.shayu"
|
||||
"package_name": "com.newpdlive.sy"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "292494634914-8nuhhoeo061ki1jevbcsrl7dfdl6dlm0.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-8c7698l64j66ijng9bq799o5qvbguhdo.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "e059b937bfa49d58f40fddee4c7463e03e2aae47"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ctr3fptp5mkv2qqr4gkgjo9uluq2joqb.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-9cej31ie42tgjeimdk691gmvkavrooa7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ejtqvaj86a2lldv0di2pr3d5gngprahd.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-c63gcmvkn2ctfct9eebuo0r4tiolloel.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pdlive.shayu",
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-jfpovcealtjkv6sf0338to2grv4e5i6k.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpdlive.sy",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyDVnuGnQzjI_vDrxh20Hv_S1OMUD7Vp3zU"
|
||||
"current_key": "AIzaSyBVlPTRCNLnBNJNei5rHjEqok8CfbJLraI"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com",
|
||||
"client_id": "822566078854-lt8fjmii2f35anh46dquk0mk5qa0hi5f.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "292494634914-v9j4rei86q2pfh9as4seotb23vr2744a.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "com.live.pd"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ import java.util.Map;
|
||||
*/
|
||||
public class CommonAppConfig {
|
||||
//域名
|
||||
public static final String HOST = getMetaDataString("SERVER_HOST");
|
||||
public static String HOST = getMetaDataString("SERVER_HOST");
|
||||
//是否使用谷歌支付
|
||||
public static final int IS_GOOGLE_PLAY = getMetaDataInt("IS_GOOGLE_PLAY");
|
||||
//是否开启上报错误日志功能
|
||||
|
@ -7,12 +7,12 @@ package com.yunbao.common;
|
||||
public class HtmlConfig {
|
||||
|
||||
//登录即代表同意服务和隐私条款
|
||||
public static final String LOGIN_PRIVCAY = CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=3";
|
||||
public static final String LOGIN_PRIVCAY1 = CommonAppConfig.HOST + "/index.php?g=Portal&m=Page&a=index&id=59";
|
||||
public static final String LOGIN_PRIVCAY = CommonAppConfig.HOST + "/h5/page/index.html?id=706";
|
||||
public static final String LOGIN_PRIVCAY1 = CommonAppConfig.HOST + "/h5/page/index.html?id=705";
|
||||
|
||||
//注册用户协议
|
||||
public static final String REG_PRIVCAY1 = CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=2";
|
||||
public static final String REG_PRIVCAY2 = CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=3";
|
||||
public static final String REG_PRIVCAY1 = CommonAppConfig.HOST + "/h5/page/index.html?id=706";
|
||||
public static final String REG_PRIVCAY2 = CommonAppConfig.HOST + "/h5/page/index.html?id=705";
|
||||
|
||||
//直播间贡献榜
|
||||
public static final String LIVE_LIST = CommonAppConfig.HOST + "/index.php?g=Appapi&m=contribute&a=index&uid=";
|
||||
@ -33,7 +33,7 @@ public class HtmlConfig {
|
||||
public static final String LUCK_GIFT_TIP = CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=26";
|
||||
|
||||
//直播间玩家看到的心愿单
|
||||
public static final String WISHLIST_URL = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Wish&a=index";
|
||||
public static final String WISHLIST_URL = CommonAppConfig.HOST + "/h5/wish/index.html?1=1";
|
||||
|
||||
//直播间玩家看到的转盘
|
||||
public static final String TURNTABLE_URL = CommonAppConfig.HOST + "/Appapi/Turntable/index";
|
||||
@ -48,7 +48,7 @@ public class HtmlConfig {
|
||||
public static final String PERSONAL = CommonAppConfig.HOST + "/h5/shequ/index.html#/h5/shequ/Personal";
|
||||
|
||||
//我的徽章 右上角问号
|
||||
public static final String MEDAL_QUESTION = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Fans&a=rule&isfans=1";
|
||||
public static final String MEDAL_QUESTION = CommonAppConfig.HOST + "/h5/fans/rule.html?isfans=1";
|
||||
|
||||
//我的明细
|
||||
public static final String DETAIL = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Detail&a=index";
|
||||
|
@ -97,6 +97,7 @@ public class WebViewActivity extends AbsActivity {
|
||||
// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
String url = getIntent().getStringExtra(Constants.URL);
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@ -8,29 +11,44 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.SudRoomListModel;
|
||||
import com.yunbao.common.views.SudGameListViewHolder;
|
||||
import com.yunbao.common.views.NewSudGameListViewHolder;
|
||||
|
||||
public class SudGameListAdapter extends RefreshAdapter<SudRoomListModel> {
|
||||
private boolean isHome = false;
|
||||
|
||||
private final Drawable[] bgList = new Drawable[6];
|
||||
|
||||
@SuppressLint("UseCompatLoadingForDrawables")
|
||||
public SudGameListAdapter(Context context, boolean isHome) {
|
||||
super(context);
|
||||
this.isHome = isHome;
|
||||
|
||||
bgList[0] = mContext.getDrawable(R.drawable.grid_item_bg_1);
|
||||
bgList[1] = mContext.getDrawable(R.drawable.grid_item_bg_2);
|
||||
bgList[2] = mContext.getDrawable(R.drawable.grid_item_bg_3);
|
||||
bgList[3] = mContext.getDrawable(R.drawable.grid_item_bg_4);
|
||||
bgList[4] = mContext.getDrawable(R.drawable.grid_item_bg_5);
|
||||
bgList[5] = mContext.getDrawable(R.drawable.grid_item_bg_6);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (isHome){
|
||||
/*if (isHome){
|
||||
return new SudGameListViewHolder(mInflater.inflate(R.layout.item_home_sud_game_list, parent, false));
|
||||
}else {
|
||||
return new SudGameListViewHolder(mInflater.inflate(R.layout.item_sud_game_list, parent, false));
|
||||
}
|
||||
}*/
|
||||
|
||||
return new NewSudGameListViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_new_game_room, parent, false));
|
||||
// return new NewSudGameListViewHolder(mInflater.inflate(R.layout.item_new_game_room, parent, false));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
SudGameListViewHolder sudGameListViewHolder = (SudGameListViewHolder) holder;
|
||||
NewSudGameListViewHolder sudGameListViewHolder = (NewSudGameListViewHolder) holder;
|
||||
sudGameListViewHolder.itemView.setBackground(bgList[position % 6]);
|
||||
sudGameListViewHolder.setData(mList.get(position),isHome);
|
||||
}
|
||||
}
|
||||
|
@ -62,6 +62,7 @@ public class ConfigBean extends BaseModel {
|
||||
private String google_isup;
|
||||
|
||||
private String sud_game_speech;
|
||||
private int pay_type = 0;
|
||||
|
||||
@SerializedName("is_return_user")//是否需要弹窗(0否,1是)
|
||||
private String isReturnUser="";
|
||||
@ -72,6 +73,14 @@ public class ConfigBean extends BaseModel {
|
||||
@SerializedName("jump_h5_url")//点击跳转H5页面地址
|
||||
private String jumpH5Url="";
|
||||
|
||||
public int getPay_type() {
|
||||
return pay_type;
|
||||
}
|
||||
|
||||
public void setPay_type(int pay_type) {
|
||||
this.pay_type = pay_type;
|
||||
}
|
||||
|
||||
@JSONField(name = "is_return_user")
|
||||
public String getIsReturnUser() {
|
||||
return isReturnUser;
|
||||
|
@ -36,6 +36,16 @@ public class CustomSidebarChildModel extends BaseModel {
|
||||
private String isShow;
|
||||
@SerializedName("sud_game_is_new")
|
||||
private String sudGameIsNew;
|
||||
@SerializedName("is_click")
|
||||
private boolean isClick;
|
||||
|
||||
public boolean isClick() {
|
||||
return isClick;
|
||||
}
|
||||
|
||||
public void setClick(boolean click) {
|
||||
isClick = click;
|
||||
}
|
||||
|
||||
public String getSudGameIsNew() {
|
||||
return sudGameIsNew;
|
||||
|
17
common/src/main/java/com/yunbao/common/bean/DomainUrl.java
Normal file
@ -0,0 +1,17 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
public class DomainUrl extends BaseModel{
|
||||
@SuppressWarnings("domain_url")
|
||||
@JSONField(name = "domain_url")
|
||||
String domain_url;
|
||||
|
||||
public String getDomain_url() {
|
||||
return domain_url;
|
||||
}
|
||||
|
||||
public void setDomain_url(String domain_url) {
|
||||
this.domain_url = domain_url;
|
||||
}
|
||||
}
|
@ -12,6 +12,16 @@ public class NewPeopleTaskModel extends BaseModel {
|
||||
private RewardAllModel rewardAll = new RewardAllModel();
|
||||
@SerializedName("reward_one")
|
||||
private RewardAllModel rewardOne = new RewardAllModel();
|
||||
@SerializedName("is_free_gift")
|
||||
private String is_free_gift;
|
||||
|
||||
public String getIs_free_gift() {
|
||||
return is_free_gift;
|
||||
}
|
||||
|
||||
public void setIs_free_gift(String is_free_gift) {
|
||||
this.is_free_gift = is_free_gift;
|
||||
}
|
||||
|
||||
public TaskModel getTask() {
|
||||
return task;
|
||||
|
@ -16,6 +16,17 @@ public class SlideInBannerModel extends BaseModel {
|
||||
@SerializedName("slide")
|
||||
private List<SlideInfoModel> slide = new ArrayList<>();
|
||||
|
||||
@SerializedName("slide_pic")
|
||||
private List<SlideInfoModel> slide_pic = new ArrayList<>();
|
||||
|
||||
public List<SlideInfoModel> getSlide_pic() {
|
||||
return slide_pic;
|
||||
}
|
||||
|
||||
public void setSlide_pic(List<SlideInfoModel> slide_pic) {
|
||||
this.slide_pic = slide_pic;
|
||||
}
|
||||
|
||||
public List<SlideInfoModel> getSlide() {
|
||||
return slide;
|
||||
}
|
||||
|
@ -53,6 +53,7 @@ public class UserBean implements Parcelable {
|
||||
private String token_rong = "";
|
||||
private String noble_end_time;
|
||||
private String slide;
|
||||
private String slide_pic;
|
||||
private String users_type;
|
||||
private String is_bind;
|
||||
private String mobile;
|
||||
@ -94,6 +95,14 @@ public class UserBean implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSlide_pic() {
|
||||
return slide_pic;
|
||||
}
|
||||
|
||||
public void setSlide_pic(String slide_pic) {
|
||||
this.slide_pic = slide_pic;
|
||||
}
|
||||
|
||||
public int getTypeMic() {
|
||||
return typeMic;
|
||||
}
|
||||
|
@ -412,6 +412,14 @@ public class CommonRefreshView extends FrameLayout implements View.OnClickListen
|
||||
}
|
||||
}
|
||||
|
||||
public void addItemDecoration(RecyclerView.ItemDecoration gridSpacingItemDecoration) {
|
||||
mRecyclerView.addItemDecoration(gridSpacingItemDecoration);
|
||||
}
|
||||
|
||||
public RecyclerView getRefreshView() {
|
||||
return mRecyclerView;
|
||||
}
|
||||
|
||||
public interface DataHelperNew {
|
||||
void loadData(int p);
|
||||
|
||||
|
@ -26,6 +26,6 @@ public class MyRelativeLayout5 extends RelativeLayout {
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
|
||||
heightMeasureSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY);
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec+150);
|
||||
}
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ public class TabButton extends LinearLayout {
|
||||
}
|
||||
}
|
||||
});
|
||||
mAnimator.setDuration(800);
|
||||
mAnimator.setDuration(1200);
|
||||
mAnimator.setInterpolator(new LinearInterpolator());
|
||||
}
|
||||
|
||||
|
@ -198,6 +198,14 @@ public class ImgLoader {
|
||||
.skipMemoryCache(SKIP_MEMORY_CACHE)
|
||||
.into(imageView);
|
||||
}
|
||||
public static void displayNew(Context context, int res, ImageView imageView) {
|
||||
if (!contextIsExist(context)) {
|
||||
return;
|
||||
}
|
||||
Glide.with(context)
|
||||
.load(res)
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示视频封面缩略图
|
||||
|
@ -48,6 +48,9 @@ public class API extends BaseApi {
|
||||
}
|
||||
return pdLiveApi;
|
||||
}
|
||||
public void reloadUrl(){
|
||||
pdLiveApi=null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建新的PDLiveApi,兼容部分接口需要控制是否添加UID参数
|
||||
@ -80,7 +83,7 @@ public class API extends BaseApi {
|
||||
.addInterceptor(initQuery(isNeedUid, isNeedToken, CommonAppContext.sInstance.getApplicationContext()))
|
||||
.addInterceptor(loggingInterceptor);
|
||||
return create(builder.build(),
|
||||
GsonConverterFactory.create(gson), RxJava2CallAdapterFactory.create(), CommonAppConfig.HOST, PDLiveApi.class);
|
||||
JavaConverterFactory.create(gson), RxJava2CallAdapterFactory.create(), CommonAppConfig.HOST, PDLiveApi.class);
|
||||
}
|
||||
|
||||
//公共参数
|
||||
|
@ -20,8 +20,8 @@ public class CommonHttpConsts {
|
||||
public static final String DOWNLOAD_GIF = "downloadGif";
|
||||
public static final String GET_BALANCE = "getBalance";
|
||||
public static final String CHECK_TOKEN_INVALID = "checkTokenInvalid";
|
||||
public static final String NOTIFY_GOOGLE = "Charge.google_pay";
|
||||
public static final String COMMUNITY_SETREPORT = "Community.setReport";
|
||||
public static final String NOTIFY_GOOGLE = "gugezhifuhuidiao";
|
||||
public static final String COMMUNITY_SETREPORT = "yonghushequdongtaijubao";
|
||||
|
||||
public static final String GET_USER_HOME = "getUserHome";
|
||||
public static final String GET_USER_BASEINFO = "getUserBaseinfo";
|
||||
|
@ -175,7 +175,7 @@ public class CommonHttpUtil {
|
||||
}
|
||||
Log.i("来了", lang);
|
||||
//或者仅仅使用 locale = Locale.getDefault(); 不需要考虑接口 deprecated(弃用)问题
|
||||
HttpClient.getInstance().get("Home.getConfig", CommonHttpConsts.GET_CONFIG).params("langue", lang).params("version", "" + VersionUtil.getVersion()).params("from", "android").params("appType", "1").execute(new HttpCallback() {
|
||||
HttpClient.getInstance().get("huoquzhuyepeizhixinxi", CommonHttpConsts.GET_CONFIG).params("langue", lang).params("version", "" + VersionUtil.getVersion()).params("from", "android").params("appType", "1").execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
@ -305,7 +305,7 @@ public class CommonHttpUtil {
|
||||
ToastUtil.show(WordUtil.getString(R.string.cannot_follow_self));
|
||||
return;
|
||||
}
|
||||
HttpClient.getInstance().get("User.setAttents", tag).params("touid", touid).execute(new HttpCallback() {
|
||||
HttpClient.getInstance().get("caozuoguanzhuzhuangtaiv2", tag).params("touid", touid).execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0 || code == 1001) {
|
||||
@ -340,7 +340,7 @@ public class CommonHttpUtil {
|
||||
} else {
|
||||
isGoogle = "-1";
|
||||
}
|
||||
HttpClient.getInstance().get("User.getBalance", CommonHttpConsts.GET_BALANCE).params("type", 0).params("isGooglePay", isGoogle).execute(callback);
|
||||
HttpClient.getInstance().get("huoquwodezuanshi", CommonHttpConsts.GET_BALANCE).params("type", 0).params("isGooglePay", isGoogle).execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -389,7 +389,7 @@ public class CommonHttpUtil {
|
||||
* 检查token是否失效
|
||||
*/
|
||||
public static void checkTokenInvalid() {
|
||||
HttpClient.getInstance().get("User.ifToken", CommonHttpConsts.CHECK_TOKEN_INVALID).execute(NO_CALLBACK);
|
||||
HttpClient.getInstance().get("shezhijiaoyouzhaopianzhuangtai", CommonHttpConsts.CHECK_TOKEN_INVALID).execute(NO_CALLBACK);
|
||||
}
|
||||
|
||||
|
||||
@ -405,11 +405,11 @@ public class CommonHttpUtil {
|
||||
}
|
||||
|
||||
public static void Google_sec_pay(String purchaseToken, String orderNo, String tradeNo, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Charge.Google_sec_pay", "Charge.Google_sec_pay").params("purchaseToken", purchaseToken).params("orderno", orderNo).params("trade_no", tradeNo).params("package_name", AppManager.getInstance().getMainActivity().getPackageName()).execute(callback);
|
||||
HttpClient.getInstance().get("gugedingdanyanzheng", "gugedingdanyanzheng").params("purchaseToken", purchaseToken).params("orderno", orderNo).params("trade_no", tradeNo).params("package_name", AppManager.getInstance().getMainActivity().getPackageName()).execute(callback);
|
||||
}
|
||||
|
||||
public static void notifySamsung(String purchaseId, String selfOrderId,HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Charge.SamsungNotify", "Charge.SamsungNotify")
|
||||
HttpClient.getInstance().get("sanxingzhifuhuidiao", "sanxingzhifuhuidiao")
|
||||
.params("purchaseID", purchaseId)
|
||||
.params("SelfOrderId", selfOrderId)
|
||||
.params("PackageName", "pd")
|
||||
@ -450,13 +450,13 @@ public class CommonHttpUtil {
|
||||
* 用户个人主页信息
|
||||
*/
|
||||
public static void getUserBaseinfo(String touid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getUserBaseinfo", CommonHttpConsts.GET_USER_BASEINFO).params("touid", touid).execute(callback);
|
||||
HttpClient.getInstance().get("huoquyonghujichuxinxi", CommonHttpConsts.GET_USER_BASEINFO).params("touid", touid).execute(callback);
|
||||
}
|
||||
/**
|
||||
* 上传文件 获取七牛云token的接口
|
||||
*/
|
||||
public static void getUploadQiNiuToken(HttpCallback callback, boolean isImg) {
|
||||
HttpClient.getInstance().get("Pdluserhome.getQiNiuToken2", "Pdluserhome.getQiNiuToken2")
|
||||
HttpClient.getInstance().get("huoquqiniushangchuanlingpaiv2", "huoquqiniushangchuanlingpaiv2")
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("ext", isImg ? ".jpeg" : ".mp4")
|
||||
@ -469,7 +469,7 @@ public class CommonHttpUtil {
|
||||
if(StringUtil.isEmpty(uid)){
|
||||
uid="NotLogin_"+ DeviceUtils.getUniqueDeviceId();
|
||||
}
|
||||
HttpClient.getInstance().get("Pdluserhome.getQiNiuToken3", "Pdluserhome.getQiNiuToken3")
|
||||
HttpClient.getInstance().get("huoquqiniushangchuanlingpaiv3", "huoquqiniushangchuanlingpaiv3")
|
||||
.params("uid",uid)
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("file_name", fileName)
|
||||
|
@ -36,6 +36,7 @@ public abstract class HttpCallback extends AbsCallback<JsonBean> {
|
||||
public void onSuccess(Response<JsonBean> response) {
|
||||
JsonBean bean = response.body();
|
||||
String gson = new Gson().toJson(bean);
|
||||
L.e("gson:" + gson);
|
||||
if (bean != null) {
|
||||
if (200 == bean.getRet()) {
|
||||
Data data = bean.getData();
|
||||
|
@ -34,7 +34,7 @@ public class HttpClient {
|
||||
private String mUrl;
|
||||
|
||||
private HttpClient() {
|
||||
mUrl = CommonAppConfig.HOST + "/api/public/?service=";
|
||||
mUrl = CommonAppConfig.HOST + "/";
|
||||
}
|
||||
|
||||
public static HttpClient getInstance() {
|
||||
@ -45,6 +45,7 @@ public class HttpClient {
|
||||
}
|
||||
}
|
||||
}
|
||||
sInstance.mUrl = CommonAppConfig.HOST + "/";
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
|
@ -107,6 +107,9 @@ public class HttpLoggingInterceptor implements Interceptor {
|
||||
String name = headers.name(i);
|
||||
// Skip headers from the request body as they are explicitly logged above.
|
||||
if (!"Content-Type".equalsIgnoreCase(name) && !"Content-Length".equalsIgnoreCase(name)) {
|
||||
if (i == 0){
|
||||
log("请求头:");
|
||||
}
|
||||
log("\t" + name + ": " + headers.value(i));
|
||||
}
|
||||
}
|
||||
@ -114,6 +117,7 @@ public class HttpLoggingInterceptor implements Interceptor {
|
||||
log(" ");
|
||||
if (logBody && hasRequestBody) {
|
||||
if (isPlaintext(requestBody.contentType())) {
|
||||
log("request Body :");
|
||||
bodyToString(request);
|
||||
} else {
|
||||
log("\tbody: maybe [binary body], omitted!");
|
||||
|
@ -0,0 +1,97 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.TypeAdapter;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.yunbao.common.utils.AesUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Base64;
|
||||
|
||||
import okhttp3.RequestBody;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.Converter;
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
public final class JavaConverterFactory extends Converter.Factory {
|
||||
/**
|
||||
* Create an instance using a default {@link Gson} instance for conversion. Encoding to JSON and
|
||||
* decoding from JSON (when no charset is specified by a header) will use UTF-8.
|
||||
*/
|
||||
public static JavaConverterFactory create() {
|
||||
return create(new Gson());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance using {@code gson} for conversion. Encoding to JSON and
|
||||
* decoding from JSON (when no charset is specified by a header) will use UTF-8.
|
||||
*/
|
||||
public static JavaConverterFactory create(Gson gson) {
|
||||
return new JavaConverterFactory(gson);
|
||||
}
|
||||
|
||||
private final Gson gson;
|
||||
|
||||
private JavaConverterFactory(Gson gson) {
|
||||
if (gson == null) throw new NullPointerException("gson == null");
|
||||
this.gson = gson;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {
|
||||
TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type));
|
||||
return new JsonResponseBodyConverter<>(gson, adapter);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Converter<?, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) {
|
||||
return super.requestBodyConverter(type, parameterAnnotations, methodAnnotations, retrofit);
|
||||
}
|
||||
|
||||
final class JsonResponseBodyConverter<T> implements Converter<ResponseBody, T> {
|
||||
private final Gson gson;
|
||||
private final TypeAdapter<T> adapter;
|
||||
|
||||
JsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter) {
|
||||
this.gson = gson;
|
||||
this.adapter = adapter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T convert(ResponseBody value) throws IOException {
|
||||
String response = value.string();
|
||||
String allResponseData;
|
||||
L.e("解密前::" + response);
|
||||
JSONObject jsonObject = JSONObject.parseObject(response);
|
||||
allResponseData = jsonObject.getString("data");
|
||||
if (allResponseData.indexOf(":") <= 0) {
|
||||
byte[] decodedData = null;
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
||||
decodedData = Base64.getDecoder().decode(allResponseData);
|
||||
}
|
||||
response = AesUtils.decryptToString(decodedData);
|
||||
jsonObject.put("data", JSONObject.parseObject(response));
|
||||
|
||||
response = JSON.toJSONString(jsonObject);
|
||||
L.e("解密后::" + response);
|
||||
//获取加密数据,解密,之后再让adapter去处理json串,解析具体的数据就可以了
|
||||
try {
|
||||
return adapter.fromJson(response);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
value.close();
|
||||
}
|
||||
} else {
|
||||
return adapter.fromJson(response);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,18 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONException;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.google.gson.Gson;
|
||||
import com.yunbao.common.bean.AdBean;
|
||||
import com.yunbao.common.utils.AesUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
|
||||
import java.util.Base64;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2017/8/5.
|
||||
*/
|
||||
@ -7,7 +20,7 @@ package com.yunbao.common.http;
|
||||
public class JsonBean {
|
||||
private int ret;
|
||||
private String msg;
|
||||
private Data data;
|
||||
private String data;
|
||||
|
||||
public int getRet() {
|
||||
return ret;
|
||||
@ -26,10 +39,47 @@ public class JsonBean {
|
||||
}
|
||||
|
||||
public Data getData() {
|
||||
return data;
|
||||
L.e("data:" + data);
|
||||
if (data.indexOf(":") > 0) {
|
||||
L.e("未加密::" + data);
|
||||
return JSON.parseObject(data, Data.class);
|
||||
//return GsonUtils.fromJson(data, Data.class);
|
||||
} else {
|
||||
Data resultData = new Data();
|
||||
byte[] decodedData = null;
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
||||
decodedData = Base64.getDecoder().decode(data);
|
||||
}
|
||||
String decryptedText = AesUtils.decryptToString(decodedData);
|
||||
L.e("解码前:" + data);
|
||||
L.e("解码前-转成base64:" + decodedData);
|
||||
L.e("解码前-解密後:" + decryptedText);
|
||||
JSONObject object = JSON.parseObject(decryptedText);
|
||||
try {
|
||||
JSONArray jsonArray = object.getJSONArray("info");
|
||||
String[] array = new String[jsonArray.size()];
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
array[i] = jsonArray.getString(i);
|
||||
}
|
||||
resultData.setInfo(array);
|
||||
resultData.setCode(object.getInteger("code"));
|
||||
resultData.setMsg(object.getString("msg"));
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
String[] array = new String[1];
|
||||
array[0] = object.getString("info");
|
||||
resultData.setInfo(array);
|
||||
resultData.setCode(object.getInteger("code"));
|
||||
resultData.setMsg(object.getString("msg"));
|
||||
} catch (JSONException ex) {
|
||||
L.e("字符串格式错误");
|
||||
}
|
||||
}
|
||||
return resultData;
|
||||
}
|
||||
}
|
||||
|
||||
public void setData(Data data) {
|
||||
public void setData(String data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ public class LiveHttpUtil {
|
||||
* 获取当前直播间的用户列表
|
||||
*/
|
||||
public static void getUserList(String liveuid, String stream, String type, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getUserLists", LiveHttpConsts.GET_USER_LIST)
|
||||
HttpClient.getInstance().get("zhibojianyonghuliebiao", LiveHttpConsts.GET_USER_LIST)
|
||||
.params("liveuid", liveuid)
|
||||
.params("stream", stream)
|
||||
.params("type", type)
|
||||
@ -51,7 +51,7 @@ public class LiveHttpUtil {
|
||||
* @param callback 回调
|
||||
*/
|
||||
public static void getUserRankList(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Contribute.index", LiveHttpConsts.GET_USER_LIST)
|
||||
HttpClient.getInstance().get("xiaofeitongji", LiveHttpConsts.GET_USER_LIST)
|
||||
.params("uid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -60,7 +60,7 @@ public class LiveHttpUtil {
|
||||
* 获取当前直播间的连麦用户列表
|
||||
*/
|
||||
public static void getMicList(String liveuid, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getDrLm", "Live.getDrLm")
|
||||
HttpClient.getInstance().get("huoqulianmaizhuangtai", "huoqulianmaizhuangtai")
|
||||
.params("uid", liveuid, true)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -69,7 +69,7 @@ public class LiveHttpUtil {
|
||||
* 获取活动列表
|
||||
*/
|
||||
public static void getHDList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Active.getActiveList", "Active.getActiveList")
|
||||
HttpClient.getInstance().get("huoquhuodongliebiao", "huoquhuodongliebiao")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ public class LiveHttpUtil {
|
||||
* @param stream 主播的stream
|
||||
*/
|
||||
public static void roomCharge(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.roomCharge", LiveHttpConsts.ROOM_CHARGE)
|
||||
HttpClient.getInstance().get("fangjiankoufei", LiveHttpConsts.ROOM_CHARGE)
|
||||
.params("stream", stream)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
@ -94,7 +94,7 @@ public class LiveHttpUtil {
|
||||
* @param stream 主播的stream
|
||||
*/
|
||||
public static void timeCharge(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.timeCharge", LiveHttpConsts.TIME_CHARGE)
|
||||
HttpClient.getInstance().get("fangjianjishikoufei", LiveHttpConsts.TIME_CHARGE)
|
||||
.params("stream", stream)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
@ -105,7 +105,7 @@ public class LiveHttpUtil {
|
||||
* 获取用户余额
|
||||
*/
|
||||
public static void getCoin(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getCoin", LiveHttpConsts.GET_COIN)
|
||||
HttpClient.getInstance().get("zhibojianhuoquyonghuyue", LiveHttpConsts.GET_COIN)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -115,7 +115,7 @@ public class LiveHttpUtil {
|
||||
* @param touid 对方的uid
|
||||
*/
|
||||
public static void getLiveRecord(String touid, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getLiverecord", LiveHttpConsts.GET_LIVE_RECORD)
|
||||
HttpClient.getInstance().get("huoquzhibojilu", LiveHttpConsts.GET_LIVE_RECORD)
|
||||
.params("touid", touid)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
@ -127,7 +127,7 @@ public class LiveHttpUtil {
|
||||
* @param recordId 视频的id
|
||||
*/
|
||||
public static void getAliCdnRecord(String recordId, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getAliCdnRecord", LiveHttpConsts.GET_ALI_CDN_RECORD)
|
||||
HttpClient.getInstance().get("huoqulubojilu", LiveHttpConsts.GET_ALI_CDN_RECORD)
|
||||
.params("id", recordId)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -137,7 +137,7 @@ public class LiveHttpUtil {
|
||||
* 获取主播印象列表
|
||||
*/
|
||||
public static void getAllImpress(String touid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getUserLabel", LiveHttpConsts.GET_ALL_IMPRESS)
|
||||
HttpClient.getInstance().get("huoquyonghuyingxiangbiaoqian", LiveHttpConsts.GET_ALL_IMPRESS)
|
||||
.params("touid", touid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class LiveHttpUtil {
|
||||
* 给主播设置印象
|
||||
*/
|
||||
public static void setImpress(String touid, String ImpressIDs, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.setUserLabel", LiveHttpConsts.SET_IMPRESS)
|
||||
HttpClient.getInstance().get("shezhiyonghuyingxiangbiaoqian", LiveHttpConsts.SET_IMPRESS)
|
||||
.params("touid", touid)
|
||||
.params("labels", ImpressIDs)
|
||||
.execute(callback);
|
||||
@ -157,7 +157,7 @@ public class LiveHttpUtil {
|
||||
* 获取当前直播间的管理员列表
|
||||
*/
|
||||
public static void getAdminList(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getAdminList", LiveHttpConsts.GET_ADMIN_LIST)
|
||||
HttpClient.getInstance().get("huoquguanliyuanliebiao", LiveHttpConsts.GET_ADMIN_LIST)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -166,7 +166,7 @@ public class LiveHttpUtil {
|
||||
* 主播设置或取消直播间的管理员
|
||||
*/
|
||||
public static void setAdmin(String liveUid, String touid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.setAdmin", LiveHttpConsts.SET_ADMIN)
|
||||
HttpClient.getInstance().get("shezhiguanliyuanzhuangtai", LiveHttpConsts.SET_ADMIN)
|
||||
.params("liveuid", liveUid)
|
||||
.params("touid", touid)
|
||||
.execute(callback);
|
||||
@ -176,7 +176,7 @@ public class LiveHttpUtil {
|
||||
* 获取直播间的禁言列表
|
||||
*/
|
||||
public static void getLiveShutUpList(String liveUid, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livemanage.getShutList", LiveHttpConsts.GET_LIVE_SHUT_UP_LIST)
|
||||
HttpClient.getInstance().get("jinyanyonghu", LiveHttpConsts.GET_LIVE_SHUT_UP_LIST)
|
||||
.params("liveuid", liveUid)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
@ -186,7 +186,7 @@ public class LiveHttpUtil {
|
||||
* 直播间解除禁言
|
||||
*/
|
||||
public static void liveCancelShutUp(String liveUid, String toUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livemanage.cancelShut", LiveHttpConsts.LIVE_CANCEL_SHUT_UP)
|
||||
HttpClient.getInstance().get("jiechujinyan", LiveHttpConsts.LIVE_CANCEL_SHUT_UP)
|
||||
.params("liveuid", liveUid)
|
||||
.params("touid", toUid)
|
||||
.execute(callback);
|
||||
@ -196,7 +196,7 @@ public class LiveHttpUtil {
|
||||
* 获取直播间的拉黑列表
|
||||
*/
|
||||
public static void getLiveBlackList(String liveUid, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livemanage.getKickList", LiveHttpConsts.GET_LIVE_BLACK_LIST)
|
||||
HttpClient.getInstance().get("tichuyonghu", LiveHttpConsts.GET_LIVE_BLACK_LIST)
|
||||
.params("liveuid", liveUid)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
@ -206,7 +206,7 @@ public class LiveHttpUtil {
|
||||
* 直播间解除拉黑
|
||||
*/
|
||||
public static void liveCancelBlack(String liveUid, String toUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livemanage.cancelKick", LiveHttpConsts.LIVE_CANCEL_BLACK)
|
||||
HttpClient.getInstance().get("jiechutichu", LiveHttpConsts.LIVE_CANCEL_BLACK)
|
||||
.params("liveuid", liveUid)
|
||||
.params("touid", toUid)
|
||||
.execute(callback);
|
||||
@ -217,7 +217,7 @@ public class LiveHttpUtil {
|
||||
* 直播结束后,获取直播收益,观看人数,时长等信息
|
||||
*/
|
||||
public static void getLiveEndInfo(String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.stopInfo", LiveHttpConsts.GET_LIVE_END_INFO)
|
||||
HttpClient.getInstance().get("zhibojieshuxinxi", LiveHttpConsts.GET_LIVE_END_INFO)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -226,7 +226,7 @@ public class LiveHttpUtil {
|
||||
* 获取直播间举报内容列表
|
||||
*/
|
||||
public static void getLiveReportList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getReportClass", LiveHttpConsts.GET_LIVE_REPORT_LIST)
|
||||
HttpClient.getInstance().get("huoqujubaopeizhixinxi", LiveHttpConsts.GET_LIVE_REPORT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -234,7 +234,7 @@ public class LiveHttpUtil {
|
||||
* 举报用户
|
||||
*/
|
||||
public static void setReport(String touid, String content, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.setReport", LiveHttpConsts.SET_REPORT)
|
||||
HttpClient.getInstance().get("yonghujubao", LiveHttpConsts.SET_REPORT)
|
||||
.params("touid", touid)
|
||||
.params("content", content)
|
||||
.params("app_type", "1")
|
||||
@ -245,7 +245,7 @@ public class LiveHttpUtil {
|
||||
* 举报用户 + 图片
|
||||
*/
|
||||
public static void setReport(String touid,String report_argument, String content, File file1, File file2, File file3, String videoId, HttpCallback callback) {
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("Live.setReport", LiveHttpConsts.SET_REPORT)
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("yonghujubao", LiveHttpConsts.SET_REPORT)
|
||||
.isMultipart(true)
|
||||
.params("touid", touid)
|
||||
.params("report_argument", report_argument)
|
||||
@ -271,7 +271,7 @@ public class LiveHttpUtil {
|
||||
* 举报用户 + 图片 二次补充证据
|
||||
*/
|
||||
public static void setReportToSecondReport(int report_id, String content, File file1, File file2, File file3, HttpCallback callback) {
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("Live.setReportReplenishment", LiveHttpConsts.SETREPORTREPLENISHMENT)
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("jubaojieguobuchongfankui", LiveHttpConsts.SETREPORTREPLENISHMENT)
|
||||
.isMultipart(true)
|
||||
.params("report_id", report_id)
|
||||
.params("content", content);
|
||||
@ -291,7 +291,7 @@ public class LiveHttpUtil {
|
||||
* 获取被举报人的名字
|
||||
*/
|
||||
public static void getReportName(int report_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getReportInfo", LiveHttpConsts.GETREPORTINFO)
|
||||
HttpClient.getInstance().get("genjuyonghuidhuoqujubaorennicheng", LiveHttpConsts.GETREPORTINFO)
|
||||
.params("report_id", report_id)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -300,7 +300,7 @@ public class LiveHttpUtil {
|
||||
* 直播间点击聊天列表和头像出现的弹窗
|
||||
*/
|
||||
public static void getLiveUser(String touid, String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getPop", LiveHttpConsts.GET_LIVE_USER)
|
||||
HttpClient.getInstance().get("zhibojiantanchuangxinxi", LiveHttpConsts.GET_LIVE_USER)
|
||||
.params("touid", touid)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
@ -310,7 +310,7 @@ public class LiveHttpUtil {
|
||||
* 主播或管理员踢人
|
||||
*/
|
||||
public static void kicking(String liveUid, String touid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.kicking", LiveHttpConsts.KICKING)
|
||||
HttpClient.getInstance().get("zhibojiantiren", LiveHttpConsts.KICKING)
|
||||
.params("liveuid", liveUid)
|
||||
.params("touid", touid)
|
||||
.execute(callback);
|
||||
@ -326,7 +326,7 @@ public class LiveHttpUtil {
|
||||
* @param time 禁言时间 (分)
|
||||
*/
|
||||
public static void setShutUp(String liveUid, String stream, int type, String touid, String time, HttpCallback callback) {
|
||||
GetRequest<JsonBean> request = HttpClient.getInstance().get("Live.setShutUp", LiveHttpConsts.SET_SHUT_UP)
|
||||
GetRequest<JsonBean> request = HttpClient.getInstance().get("zhibojianjinyan", LiveHttpConsts.SET_SHUT_UP)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("type", type)
|
||||
@ -344,7 +344,7 @@ public class LiveHttpUtil {
|
||||
* @param type 0表示关闭当前直播 1表示禁播,2表示封禁账号
|
||||
*/
|
||||
public static void superCloseRoom(String liveUid, int type, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.superStopRoom", LiveHttpConsts.SUPER_CLOSE_ROOM)
|
||||
HttpClient.getInstance().get("chaoguanguanbo", LiveHttpConsts.SUPER_CLOSE_ROOM)
|
||||
.params("liveuid", liveUid)
|
||||
.params("type", type)
|
||||
.execute(callback);
|
||||
@ -355,7 +355,7 @@ public class LiveHttpUtil {
|
||||
* 守护商品类型列表
|
||||
*/
|
||||
public static void getGuardBuyList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Guard.getList", LiveHttpConsts.GET_GUARD_BUY_LIST)
|
||||
HttpClient.getInstance().get("shouhuliebiaov2", LiveHttpConsts.GET_GUARD_BUY_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -363,7 +363,7 @@ public class LiveHttpUtil {
|
||||
* 购买守护接口
|
||||
*/
|
||||
public static void buyGuard(String liveUid, String stream, int guardId, int cid, HttpCallback callback) {
|
||||
GetRequest<JsonBean> request = HttpClient.getInstance().get("Guard.buyGuard", LiveHttpConsts.BUY_GUARD)
|
||||
GetRequest<JsonBean> request = HttpClient.getInstance().get("goumaishouhu", LiveHttpConsts.BUY_GUARD)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("guardid", guardId);
|
||||
@ -379,13 +379,13 @@ public class LiveHttpUtil {
|
||||
* 查看主播的守护列表
|
||||
*/
|
||||
public static void getGuardList(String liveUid, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Guard.getGuardList", LiveHttpConsts.GET_GUARD_LIST)
|
||||
HttpClient.getInstance().get("shouhuliebiao", LiveHttpConsts.GET_GUARD_LIST)
|
||||
.params("liveuid", liveUid)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
}
|
||||
public static void getContactMsg(int page, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getContactMsg", "getContactMsg")
|
||||
HttpClient.getInstance().get("huoqulianxifangshixiaoxi", "huoqulianxifangshixiaoxi")
|
||||
.params("p", page)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -394,7 +394,7 @@ public class LiveHttpUtil {
|
||||
* 观众跟主播连麦时,获取自己的流地址
|
||||
*/
|
||||
public static void getLinkMicStream(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Linkmic.requestLVBAddrForLinkMic", LiveHttpConsts.GET_LINK_MIC_STREAM)
|
||||
HttpClient.getInstance().get("lianmaituilaliudizhi", LiveHttpConsts.GET_LINK_MIC_STREAM)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -405,7 +405,7 @@ public class LiveHttpUtil {
|
||||
* @param pull_url 连麦用户播流地址
|
||||
*/
|
||||
public static void linkMicShowVideo(String touid, String pull_url) {
|
||||
HttpClient.getInstance().get("Live.showVideo", LiveHttpConsts.LINK_MIC_SHOW_VIDEO)
|
||||
HttpClient.getInstance().get("lianmaixinxi", LiveHttpConsts.LINK_MIC_SHOW_VIDEO)
|
||||
.params("liveuid", CommonAppConfig.getInstance().getUid())
|
||||
.params("touid", touid)
|
||||
.params("pull_url", pull_url)
|
||||
@ -421,7 +421,7 @@ public class LiveHttpUtil {
|
||||
* 主播设置是否允许观众发起连麦
|
||||
*/
|
||||
public static void setLinkMicEnable(boolean linkMicEnable, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Linkmic.setMic", LiveHttpConsts.SET_LINK_MIC_ENABLE)
|
||||
HttpClient.getInstance().get("shezhilianmaikaiguan", LiveHttpConsts.SET_LINK_MIC_ENABLE)
|
||||
.params("ismic", linkMicEnable ? 1 : 0)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -431,7 +431,7 @@ public class LiveHttpUtil {
|
||||
* 观众检查主播是否允许连麦
|
||||
*/
|
||||
public static void checkLinkMicEnable(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Linkmic.isMic", LiveHttpConsts.CHECK_LINK_MIC_ENABLE)
|
||||
HttpClient.getInstance().get("panduanzhubaoshifoukaiqilianmai", LiveHttpConsts.CHECK_LINK_MIC_ENABLE)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -440,7 +440,7 @@ public class LiveHttpUtil {
|
||||
* 连麦pk检查对方主播在线状态
|
||||
*/
|
||||
public static void livePkCheckLive(String liveUid, String stream, String uidStream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Home.getisPk", "Home.getisPk")
|
||||
HttpClient.getInstance().get("huoqupkzhuangtai", "huoqupkzhuangtai")
|
||||
.params("uid", liveUid, true)
|
||||
// .params("token", CommonAppConfig.getInstance().getToken())
|
||||
// .params("liveuid", liveUid)
|
||||
@ -505,7 +505,7 @@ public class LiveHttpUtil {
|
||||
* 发送弹幕
|
||||
*/
|
||||
public static void sendDanmu(String content, String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendBarrage", LiveHttpConsts.SEND_DANMU)
|
||||
HttpClient.getInstance().get("fasongdanmu", LiveHttpConsts.SEND_DANMU)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", "1")
|
||||
@ -521,7 +521,7 @@ public class LiveHttpUtil {
|
||||
* @param stream 主播的stream
|
||||
*/
|
||||
public static void checkLive(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.checkLive", LiveHttpConsts.CHECK_LIVE)
|
||||
HttpClient.getInstance().get("jianchazhibo", LiveHttpConsts.CHECK_LIVE)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
@ -532,33 +532,13 @@ public class LiveHttpUtil {
|
||||
* 观众进入直播间
|
||||
*/
|
||||
public static void enterRoom(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.enterRoom", LiveHttpConsts.ENTER_ROOM)
|
||||
HttpClient.getInstance().get("jinruzhibojian", LiveHttpConsts.ENTER_ROOM)
|
||||
.params("city", CommonAppConfig.getInstance().getCity())
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 观众进入直播间后,还要请求一次
|
||||
*/
|
||||
public static void enterBackRoom(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Tx.userjoinroom", "Tx.userjoinroom")
|
||||
.params("GroupId", "g" + liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 观众退出直播间后,还要请求一次
|
||||
*/
|
||||
public static void qBackRoom(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Tx.leave_room", "Tx.leave_room")
|
||||
.params("GroupId", "g" + liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取礼物列表,同时会返回剩余的钱
|
||||
*/
|
||||
@ -571,14 +551,14 @@ public class LiveHttpUtil {
|
||||
* 获取礼物列表,同时会返回剩余的钱(新版)
|
||||
*/
|
||||
public static void getNewGiftList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getGiftListApp", LiveHttpConsts.GET_GIFT_LIST)
|
||||
HttpClient.getInstance().get("zhibojianliwuxinxi", LiveHttpConsts.GET_GIFT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
/**
|
||||
* 获取礼物列表,同时会返回剩余的钱(新版) -用于获取联系方式时的礼物设置
|
||||
*/
|
||||
public static void getHotGiftList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Gift.getHotGiftList", LiveHttpConsts.GET_GIFT_LIST)
|
||||
HttpClient.getInstance().get("huoqusuoyouremenliwu", LiveHttpConsts.GET_GIFT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -586,7 +566,7 @@ public class LiveHttpUtil {
|
||||
* 获取包裹列表
|
||||
*/
|
||||
public static void getWrapList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getPackList", LiveHttpConsts.GET_WRAP_LIST)
|
||||
HttpClient.getInstance().get("zhibojianbaoguoxinxi", LiveHttpConsts.GET_WRAP_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -594,7 +574,7 @@ public class LiveHttpUtil {
|
||||
* 主播获取心愿单列表
|
||||
*/
|
||||
public static void getWishList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Guide.getWishlist", LiveHttpConsts.GET_WISH_LIST)
|
||||
HttpClient.getInstance().get("huoquxinyuandan", LiveHttpConsts.GET_WISH_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -602,7 +582,7 @@ public class LiveHttpUtil {
|
||||
* 用户获取主播的心愿单列表
|
||||
*/
|
||||
public static void getWishList(String liveId, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Guide.getWishlist", LiveHttpConsts.GET_WISH_LIST)
|
||||
HttpClient.getInstance().get("huoquxinyuandan", LiveHttpConsts.GET_WISH_LIST)
|
||||
.params("uid", liveId, true)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -613,7 +593,7 @@ public class LiveHttpUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public static void getFrontTask(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getFrontTask", "User.getFrontTask")
|
||||
HttpClient.getInstance().get("huoquxinshouyindaozhuangtai", "huoquxinshouyindaozhuangtai")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -623,7 +603,7 @@ public class LiveHttpUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public static void getFrontTask(String Token, String uid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getFrontTask", "User.getFrontTask")
|
||||
HttpClient.getInstance().get("huoquxinshouyindaozhuangtai", "huoquxinshouyindaozhuangtai")
|
||||
.params("token", Token, true)
|
||||
.params("uid", uid, true)
|
||||
.execute(callback);
|
||||
@ -633,7 +613,7 @@ public class LiveHttpUtil {
|
||||
* 完成新手任務
|
||||
*/
|
||||
public static void setFrontTask(String type, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.setFrontTask", "User.setFrontTask")
|
||||
HttpClient.getInstance().get("shezhixinshouyindaozhuangtai", "shezhixinshouyindaozhuangtai")
|
||||
.params("type", type)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -642,17 +622,22 @@ public class LiveHttpUtil {
|
||||
* 完成新手任務
|
||||
*/
|
||||
public static void setFrontTask(String type, String liveuid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.setFrontTask", "User.setFrontTask")
|
||||
HttpClient.getInstance().get("sendFreeGift", "sendFreeGift")
|
||||
.params("liveuid", liveuid)
|
||||
.execute(callback);
|
||||
/*
|
||||
HttpClient.getInstance().get("shezhixinshouyindaozhuangtai", "shezhixinshouyindaozhuangtai")
|
||||
.params("type", type)
|
||||
.params("liveuid", liveuid)
|
||||
.execute(callback);
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改心愿单列表
|
||||
*/
|
||||
public static void modifyWishList(String list, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Guide.setWishlist", LiveHttpConsts.SET_WISH_LIST)
|
||||
HttpClient.getInstance().get("shezhixinyuandan", LiveHttpConsts.SET_WISH_LIST)
|
||||
.params("list", list)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -674,7 +659,7 @@ public class LiveHttpUtil {
|
||||
* @param isContactGift 是否为联系方式礼物
|
||||
*/
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendGift", LiveHttpConsts.SEND_GIFT)
|
||||
HttpClient.getInstance().get("zhibojianzengsongliwu", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", giftId)
|
||||
@ -691,7 +676,7 @@ public class LiveHttpUtil {
|
||||
* @param isContactGift 是否为联系方式礼物
|
||||
*/
|
||||
public static void sendGiftForPage(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendPackGift", LiveHttpConsts.SEND_GIFT)
|
||||
HttpClient.getInstance().get("zhibojianzengsongbaoguoliwu", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", giftId)
|
||||
@ -708,7 +693,7 @@ public class LiveHttpUtil {
|
||||
* @param isContactGift 是否为联系方式礼物
|
||||
*/
|
||||
public static void sendGiftForFansGroup(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.fansExclusivePack", LiveHttpConsts.SEND_GIFT)
|
||||
HttpClient.getInstance().get("zengsongfensituanbaoguoliwu", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", giftId)
|
||||
@ -720,7 +705,7 @@ public class LiveHttpUtil {
|
||||
.execute(callback);
|
||||
}
|
||||
public static void sendBlindBoxTicket(String by, String liveUid, String stream, int giftId, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendBlindBoxTicket", LiveHttpConsts.SEND_GIFT)
|
||||
HttpClient.getInstance().get("mangheshiyongquan", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", giftId)
|
||||
@ -749,7 +734,7 @@ public class LiveHttpUtil {
|
||||
* 点亮發IM
|
||||
*/
|
||||
public static void sendZAN(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Fans.doubleClickLight", "Fans.DoubleClickLight")
|
||||
HttpClient.getInstance().get("shuangjidianliang", "shuangjidianliang")
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -758,7 +743,7 @@ public class LiveHttpUtil {
|
||||
* 连麦pk搜索主播
|
||||
*/
|
||||
public static void livePkSearchAnchor(String key, int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livepk.search", LiveHttpConsts.LIVE_PK_SEARCH_ANCHOR)
|
||||
HttpClient.getInstance().get("sousuozhiboyonghu", LiveHttpConsts.LIVE_PK_SEARCH_ANCHOR)
|
||||
.params("key", key)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
@ -769,7 +754,7 @@ public class LiveHttpUtil {
|
||||
* 获取主播连麦pk列表
|
||||
*/
|
||||
public static void getLivePkList(int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livepk.getLiveList", LiveHttpConsts.GET_LIVE_PK_LIST)
|
||||
HttpClient.getInstance().get("huoquzhiboyonghuliebiao", LiveHttpConsts.GET_LIVE_PK_LIST)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -806,7 +791,7 @@ public class LiveHttpUtil {
|
||||
*/
|
||||
public static void newcreateRoom(String title, int liveClassId, int type, int typeVal, File file, int clarityType,boolean isSw, HttpCallback callback) {
|
||||
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("Live.createRoom2", LiveHttpConsts.CREATE_ROOM)
|
||||
PostRequest<JsonBean> request = HttpClient.getInstance().post("chuangjianzhibov2", LiveHttpConsts.CREATE_ROOM)
|
||||
.params("title", title)
|
||||
.params("liveclassid", liveClassId)
|
||||
.params("type", type)
|
||||
@ -825,7 +810,7 @@ public class LiveHttpUtil {
|
||||
* 修改直播状态
|
||||
*/
|
||||
public static void changeLive(String stream) {
|
||||
HttpClient.getInstance().get("Live.changeLive", LiveHttpConsts.CHANGE_LIVE)
|
||||
HttpClient.getInstance().get("xiugaizhibozhuangtai", LiveHttpConsts.CHANGE_LIVE)
|
||||
.params("stream", stream)
|
||||
.params("status", "1")
|
||||
.execute(new HttpCallback() {
|
||||
@ -840,7 +825,7 @@ public class LiveHttpUtil {
|
||||
* 主播结束直播
|
||||
*/
|
||||
public static void stopLive(String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.stopRoom", LiveHttpConsts.STOP_LIVE)
|
||||
HttpClient.getInstance().get("guanbizhibo", LiveHttpConsts.STOP_LIVE)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -849,12 +834,12 @@ public class LiveHttpUtil {
|
||||
* 主播开播前获取sdk类型 0金山 1腾讯
|
||||
*/
|
||||
public static void getLiveSdk(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getSDK", LiveHttpConsts.GET_LIVE_SDK)
|
||||
HttpClient.getInstance().get("huoqusdk", LiveHttpConsts.GET_LIVE_SDK)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
public static void getisRong(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.isRong", "Live.isRong")
|
||||
HttpClient.getInstance().get("shifouweirongyunzhubo", "shifouweirongyunzhubo")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -863,7 +848,7 @@ public class LiveHttpUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public static void getIsSw(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Tx.setRtcFirm", "Tx.setRtcFirm")
|
||||
HttpClient.getInstance().get("shezhiyuanshengduanshengwangpeizhi", "shezhiyuanshengduanshengwangpeizhi")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -871,7 +856,7 @@ public class LiveHttpUtil {
|
||||
* 腾讯sdk 跟主播连麦时,获取主播的低延时流
|
||||
*/
|
||||
public static void getTxLinkMicAccUrl(String originStreamUrl, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Linkmic.requestPlayUrlWithSignForLinkMic", LiveHttpConsts.GET_TX_LINK_MIC_ACC_URL)
|
||||
HttpClient.getInstance().get("jianquanliudizhi", LiveHttpConsts.GET_TX_LINK_MIC_ACC_URL)
|
||||
.params("originStreamUrl", originStreamUrl)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -881,7 +866,7 @@ public class LiveHttpUtil {
|
||||
* 连麦时候 主播混流
|
||||
*/
|
||||
public static void linkMicTxMixStream(String mergeparams) {
|
||||
HttpClient.getInstance().get("Linkmic.mergeVideoStream", LiveHttpConsts.LINK_MIC_TX_MIX_STREAM)
|
||||
HttpClient.getInstance().get("lianmaihunliu", LiveHttpConsts.LINK_MIC_TX_MIX_STREAM)
|
||||
.params("mergeparams", mergeparams)
|
||||
.execute(CommonHttpUtil.NO_CALLBACK);
|
||||
}
|
||||
@ -891,7 +876,7 @@ public class LiveHttpUtil {
|
||||
* 我是哪些直播间的管理员,返回这些直播间列表
|
||||
*/
|
||||
public static void getMyAdminRoomList(int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Livemanage.getRoomList", LiveHttpConsts.GET_MY_ADMIN_ROOM_LIST)
|
||||
HttpClient.getInstance().get("huoquwodefangjian", LiveHttpConsts.GET_MY_ADMIN_ROOM_LIST)
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -901,7 +886,7 @@ public class LiveHttpUtil {
|
||||
* 获取直播间奖池等级
|
||||
*/
|
||||
public static void getLiveGiftPrizePool(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Jackpot.getJackpot", LiveHttpConsts.GET_LIVE_GIFT_PRIZE_POOL)
|
||||
HttpClient.getInstance().get("huoquyindaoyexinxi", LiveHttpConsts.GET_LIVE_GIFT_PRIZE_POOL)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
@ -911,7 +896,7 @@ public class LiveHttpUtil {
|
||||
* 主播checkLive
|
||||
*/
|
||||
public static void anchorCheckLive(String liveUid, String stream, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.checkLiveing", LiveHttpConsts.ANCHOR_CHECK_LIVE)
|
||||
HttpClient.getInstance().get("jiancefangjiangzhuangtai", LiveHttpConsts.ANCHOR_CHECK_LIVE)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.execute(callback);
|
||||
@ -922,7 +907,7 @@ public class LiveHttpUtil {
|
||||
* 获取直播间信息
|
||||
*/
|
||||
public static void getLiveInfo(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getLiveInfo", LiveHttpConsts.GET_LIVE_INFO)
|
||||
HttpClient.getInstance().get("huoquzhiboxinxi", LiveHttpConsts.GET_LIVE_INFO)
|
||||
.params("liveuid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -933,7 +918,7 @@ public class LiveHttpUtil {
|
||||
*/
|
||||
|
||||
public static void getHcGiftList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getSvgaList", LiveHttpConsts.GET_GIFT_LIST)
|
||||
HttpClient.getInstance().get("huoquliwudonghualiebiao", LiveHttpConsts.GET_GIFT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -943,7 +928,7 @@ public class LiveHttpUtil {
|
||||
*/
|
||||
|
||||
public static void getHczGiftList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Home.aoto_load", "Home.aoto_load")
|
||||
HttpClient.getInstance().get("yuxiazai", "yuxiazai")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -952,29 +937,21 @@ public class LiveHttpUtil {
|
||||
* 获取活动
|
||||
*/
|
||||
public static void geteEvent(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Rank.isActivity", LiveHttpConsts.GET_EVENT)
|
||||
HttpClient.getInstance().get("huodongpeizhixinxi", LiveHttpConsts.GET_EVENT)
|
||||
.params("anchorUid", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
public static void getAnchorActiveImgStatus(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.getAnchorActiveImgStatus", LiveHttpConsts.GET_EVENT)
|
||||
HttpClient.getInstance().get("huoquzhuboxunfuchuangzhuangtai", LiveHttpConsts.GET_EVENT)
|
||||
.params("anchorUid", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
/**
|
||||
* 重置活动
|
||||
*/
|
||||
public static void setEvent(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Rank.crystalTimeEnd", LiveHttpConsts.GET_EVENT)
|
||||
.params("anchor_id", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 整蛊转盘拯救主播
|
||||
*/
|
||||
public static void userHopePrankTurntable(String anchor_id, String prankid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Prank.userHopePrankTurntable", LiveHttpConsts.USERHOPEPRANKTURNTABLE)
|
||||
HttpClient.getInstance().get("yonghuzhengjiuzhubo", LiveHttpConsts.USERHOPEPRANKTURNTABLE)
|
||||
.params("prankid", prankid)
|
||||
.params("anchor_id", anchor_id)
|
||||
.execute(callback);
|
||||
@ -984,7 +961,7 @@ public class LiveHttpUtil {
|
||||
* 倒计时结束
|
||||
*/
|
||||
public static void endPrankTurntable(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Prank.endPrankTurntable", LiveHttpConsts.ENDPRANKTURNTABLE)
|
||||
HttpClient.getInstance().get("zhenggudaojishijieshu", LiveHttpConsts.ENDPRANKTURNTABLE)
|
||||
.params("anchor_id", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -993,7 +970,7 @@ public class LiveHttpUtil {
|
||||
* 周星榜数据
|
||||
*/
|
||||
public static void getAnchorLastWeekList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("WeekStar.getAnchorLastWeekList", LiveHttpConsts.GETANCHORLASTWEEKLIST)
|
||||
HttpClient.getInstance().get("huoqushangzhouzhouxingbangzhubo", LiveHttpConsts.GETANCHORLASTWEEKLIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -1001,7 +978,7 @@ public class LiveHttpUtil {
|
||||
* 热度加成列表
|
||||
*/
|
||||
public static void useHotCardUserList(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.useHotCardUserList", LiveHttpConsts.USEHOTCARDUSERLIST)
|
||||
HttpClient.getInstance().get("redukayonghuliebiao", LiveHttpConsts.USEHOTCARDUSERLIST)
|
||||
.params("anchor_id", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -1010,7 +987,7 @@ public class LiveHttpUtil {
|
||||
* 是否有热度加成
|
||||
*/
|
||||
public static void isHotCard(String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.isHotCard", LiveHttpConsts.ISHOTCARD)
|
||||
HttpClient.getInstance().get("zhibozhongshifoushiyongreduka", LiveHttpConsts.ISHOTCARD)
|
||||
.params("anchor_id", anchor_id)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -1019,7 +996,7 @@ public class LiveHttpUtil {
|
||||
* 修改im备注信息
|
||||
*/
|
||||
public static void setInstructorRemark(String touid, String remark, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.setInstructorRemark", LiveHttpConsts.SETINSTRUCTORREMARK)
|
||||
HttpClient.getInstance().get("shezhiyonghubeizhuming", LiveHttpConsts.SETINSTRUCTORREMARK)
|
||||
.params("touid", touid)
|
||||
.params("remark", remark)
|
||||
.execute(callback);
|
||||
@ -1029,7 +1006,7 @@ public class LiveHttpUtil {
|
||||
* 获取用户贵族喇叭的数量
|
||||
*/
|
||||
public static void getNobleTrumpetNum(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Noble.getNobleTrumpetNum", "getNobleTrumpetNum")
|
||||
HttpClient.getInstance().get("huoquguizulabashuliang", "huoquguizulabashuliang")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@ -1037,7 +1014,7 @@ public class LiveHttpUtil {
|
||||
* 获取用户贵族喇叭的数量
|
||||
*/
|
||||
public static void nobleUseTrumpet(String trumpet_msg, String anchor_id, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Noble.nobleUseTrumpet", "nobleUseTrumpet")
|
||||
HttpClient.getInstance().get("guizushiyonglaba", "guizushiyonglaba")
|
||||
.params("", trumpet_msg)
|
||||
.params("", anchor_id)
|
||||
.execute(callback);
|
||||
@ -1047,7 +1024,7 @@ public class LiveHttpUtil {
|
||||
* 获取用户贵族喇叭的数量
|
||||
*/
|
||||
public static void getStarChallengeStatus(String liveUid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("StarChallenge.getStarChallengeStatus", "StarChallengeStatus")
|
||||
HttpClient.getInstance().get("huoquxingjitiaozhanzhuangtai", "huoquxingjitiaozhanzhuangtai")
|
||||
.params("liveUid", liveUid)
|
||||
.execute(callback);
|
||||
}
|
||||
@ -1056,14 +1033,14 @@ public class LiveHttpUtil {
|
||||
* 首页关注直播
|
||||
*/
|
||||
public static void getHomeFollow(int p, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Home.getFollow", "Home.getFollow")
|
||||
HttpClient.getInstance().get("huoquguanzhuzhuboliebiao", "huoquguanzhuzhuboliebiao")
|
||||
.params("p", p)
|
||||
.execute(callback);
|
||||
|
||||
}
|
||||
|
||||
public static void getRoomList(String sudGameId, String threshold, String roomHolderType, String liveUid, String currencyType, int page, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Sudgameserver.getRoomList", "Sudgameserver.getRoomList")
|
||||
HttpClient.getInstance().get("huoquyouxiliebiao", "huoquyouxiliebiao")
|
||||
.params("sud_game_id", sudGameId)
|
||||
.params("threshold", threshold)
|
||||
.params("room_holder_type", roomHolderType)
|
||||
@ -1083,7 +1060,7 @@ public class LiveHttpUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public static void gameRecord(String sudGameId, String currencyType, String dateType, int page, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Sudgameserver.gameRecord", "Sudgameserver.gameRecord")
|
||||
HttpClient.getInstance().get("chaxunyouxijilu", "chaxunyouxijilu")
|
||||
.params("sud_game_id", sudGameId)
|
||||
.params("currency_type", currencyType)
|
||||
.params("date_type", dateType)
|
||||
@ -1095,7 +1072,7 @@ public class LiveHttpUtil {
|
||||
* 获取短剧Url
|
||||
*/
|
||||
public static void getCoolydrama(HttpCallback callback){
|
||||
HttpClient.getInstance().get("cool.register", "Home.getFollow")
|
||||
HttpClient.getInstance().get("duanjuzhanghaozhuce", "duanjuzhanghaozhuce")
|
||||
.params("lang", WordUtil.isNewZh()?"zh_CN":"en")
|
||||
.execute(callback);
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ import com.yunbao.common.bean.CoolConfig;
|
||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
||||
import com.yunbao.common.bean.CustomSidebarInfoModel;
|
||||
import com.yunbao.common.bean.DiscountsModel;
|
||||
import com.yunbao.common.bean.DomainUrl;
|
||||
import com.yunbao.common.bean.EnterRoomNewModel;
|
||||
import com.yunbao.common.bean.FansCheckRed;
|
||||
import com.yunbao.common.bean.FansGroupGiftPack;
|
||||
@ -135,7 +136,25 @@ public class LiveNetManager {
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
|
||||
public void getDomainName(HttpCallback<DomainUrl> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.getDomainName()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(listResponseModel -> {
|
||||
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();
|
||||
}
|
||||
/**
|
||||
* 获取用户贵族喇叭的数量
|
||||
*
|
||||
|
@ -13,6 +13,7 @@ import com.yunbao.common.http.API;
|
||||
import com.yunbao.common.http.ResponseData;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
import java.util.HashMap;
|
||||
@ -55,7 +56,7 @@ public class MainNetManager {
|
||||
* @param callback 网络请求回调
|
||||
*/
|
||||
public void login(String phoneNum, String pwd, String uuid, HttpCallback<IMLoginModel> callback) {
|
||||
API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android", WordUtil.isNewZh()?"chinese":"english")
|
||||
API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android", WordUtil.isNewZh()?"chinese":"english", RongcloudIMManager.RONG_IM_KEY)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<IMLoginModel>>() {
|
||||
@ -218,7 +219,7 @@ public class MainNetManager {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(slideInBannerModelResponseModel -> {
|
||||
if (callback != null) {
|
||||
List<SlideInfoModel> slideInfoModels = slideInBannerModelResponseModel.getData().getInfo().get(0).getSlide();
|
||||
List<SlideInfoModel> slideInfoModels = slideInBannerModelResponseModel.getData().getInfo().get(0).getSlide_pic();
|
||||
callback.onSuccess(slideInfoModels);
|
||||
}
|
||||
}, throwable -> {
|
||||
|
@ -447,7 +447,7 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
private Runnable isInstructorRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
HttpClient.getInstance().get("User.isInstructor", "isInstructor")
|
||||
HttpClient.getInstance().get("shifouweituiguangzhanghao", "isInstructor")
|
||||
.params("uid", userInfo.getId(), true)
|
||||
.params("token", userInfo.getToken(), true)
|
||||
.execute(new HttpCallback() {
|
||||
@ -518,7 +518,8 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
String uid = uidAndToken[0];
|
||||
String token = uidAndToken[1];
|
||||
if (TextUtils.isEmpty(token)) return;
|
||||
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
||||
HttpClient.getInstance().get("huoquyonghujibenxinxiv2", "getBaseInfo")
|
||||
.params("key1", RongcloudIMManager.RONG_IM_KEY)
|
||||
.params("uid", uid)
|
||||
.params("token", token)
|
||||
.execute(new HttpCallback() {
|
||||
@ -539,7 +540,7 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
}
|
||||
|
||||
public void updateUserCoin() {
|
||||
HttpClient.getInstance().get("User.getUserBalance", "User.getUserBalance")
|
||||
HttpClient.getInstance().get("chaxunyonghuyue", "chaxunyonghuyue")
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@ -557,7 +558,7 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
}
|
||||
|
||||
public void updateUserCoin(OnItemClickListener<JSONObject> listener) {
|
||||
HttpClient.getInstance().get("User.getUserBalance", "User.getUserBalance")
|
||||
HttpClient.getInstance().get("chaxunyonghuyue", "chaxunyonghuyue")
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
@ -102,7 +102,7 @@ public class InstructorRemarkManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void run() {
|
||||
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
|
||||
HttpClient.getInstance().get("User.getInstructorRemark", "getInstructorRemark")
|
||||
HttpClient.getInstance().get("huoqutuiguangbeizhumingliebiao", "huoqutuiguangbeizhumingliebiao")
|
||||
.params("uid", userInfo.getId(),true)
|
||||
.params("token", userInfo.getToken(),true)
|
||||
.execute(new HttpCallback() {
|
||||
|
@ -116,7 +116,7 @@ public class NoviceInstructorManager extends BaseCacheManager {
|
||||
IMLoginModel userModel = new Gson().fromJson(model1.getExtra(), IMLoginModel.class);
|
||||
if (userModel != null && TextUtils.equals(userModel.getIsAdmin(), "1")) {
|
||||
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
|
||||
HttpClient.getInstance().get("Message.setZdyMsg", "setZdyMsg")
|
||||
HttpClient.getInstance().get("shezhizhidaoyuanxiaoxizhuangtai", "shezhizhidaoyuanxiaoxizhuangtai")
|
||||
.params("uid", userInfo.getId(), true)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
|
@ -101,7 +101,7 @@ public class MessageIMManager {
|
||||
if (userInfo == null) {
|
||||
return;
|
||||
}
|
||||
HttpClient.getInstance().get("Message.getLists", "getImUserInfo")
|
||||
HttpClient.getInstance().get("huoquxitongxiaoxiliebiaov2", "huoquxitongxiaoxiliebiaov2")
|
||||
.params("uid", userInfo.getId())
|
||||
.params("token", userInfo.getToken())
|
||||
.params("app_type", "1")
|
||||
@ -165,7 +165,7 @@ public class MessageIMManager {
|
||||
public void getSystemMessages(SystemMessagesHttpCallback callback) {
|
||||
systemNumber = 0;
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
HttpClient.getInstance().get("Message.getLists", "getImUserInfo")
|
||||
HttpClient.getInstance().get("huoquxitongxiaoxiliebiaov2", "huoquxitongxiaoxiliebiaov2")
|
||||
.params("uid", userInfo.getId())
|
||||
.params("token", userInfo.getToken())
|
||||
.params("app_type", "1")
|
||||
|
@ -43,7 +43,7 @@ public class RongcloudIMManager {
|
||||
//融云开发者平台注册app唯一识别符
|
||||
// public static final String RONG_IM_KEY = "uwd1c0sxu1p71";
|
||||
//测试环境
|
||||
public static String RONG_IM_KEY = "pvxdm17jpd3hr";
|
||||
public static String RONG_IM_KEY = "6tnym1br6lhu7";
|
||||
|
||||
private static final String CLASSNAME = "RongcloudIMManager";
|
||||
|
||||
@ -51,7 +51,7 @@ public class RongcloudIMManager {
|
||||
if (CommonAppConfig.HOST.contains("ceshi")) {
|
||||
RONG_IM_KEY = "pvxdm17jpd3hr"; //测试服key
|
||||
} else {
|
||||
RONG_IM_KEY = "uwd1c0sxu1p71"; //正式服key
|
||||
RONG_IM_KEY = "6tnym1br6lhu7"; //正式服key
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ public class PayPresenter {
|
||||
initGooglePay();
|
||||
}
|
||||
|
||||
String newParm = StringUtil.contact("Charge.getGoogleOrder", orderParams, "&type=android",
|
||||
String newParm = StringUtil.contact("gugeshangpindingdan", orderParams, "&type=android",
|
||||
"&appname=", mActivity.getString(R.string.app_name),
|
||||
"&desc=" + mActivity.getPackageName() + "&source=android"
|
||||
);
|
||||
|
@ -188,8 +188,10 @@ public class DownloadService extends Service {
|
||||
if (downloadFile == null || !downloadFile.exists()) return false;
|
||||
try {
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), Context.MODE_PRIVATE);
|
||||
PackageInfo info = pm.getPackageArchiveInfo(downloadFile.getAbsolutePath(), PackageManager.GET_ACTIVITIES);
|
||||
if (info == null) return false;
|
||||
if(info.versionCode == packageInfo.versionCode) return false;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -54,14 +54,29 @@ public class UploadQnImpl implements UploadStrategy {
|
||||
public void complete(String key, ResponseInfo info, JSONObject response) {
|
||||
System.out.println("UploadQnImpl 上传-----ok----> " + info.isOK() + "--key---> " + "---response---> " + (response != null ? response.toString() : null));
|
||||
//L.e("UploadQnImpl 上传-----ok----> " + info.isOK() + "--key---> " + "---response---> " + (response != null ? response.toString() : null));
|
||||
try {
|
||||
/* try {
|
||||
assert response != null;
|
||||
mList.get(mIndex).setRemoteAccessUrl(response.getString("key"));
|
||||
} catch (JSONException e) {
|
||||
// throw new RuntimeException(e);
|
||||
L.e(e);
|
||||
return;
|
||||
}*/
|
||||
|
||||
if (response == null) {
|
||||
// Handle the null case, e.g., log an error, throw a specific exception, etc.
|
||||
L.e("Response is null");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
mList.get(mIndex).setRemoteAccessUrl(response.getString("key"));
|
||||
} catch (JSONException e) {
|
||||
L.e(e);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mList == null || mList.size() == 0) {
|
||||
if (mUploadCallback != null) {
|
||||
mUploadCallback.onFinish(mList, false);
|
||||
|
74
common/src/main/java/com/yunbao/common/utils/AesUtils.java
Normal file
@ -0,0 +1,74 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
public class AesUtils {
|
||||
/**
|
||||
* 使用AES/ECB/PKCS5Padding模式解密数据
|
||||
*
|
||||
* @param encryptedData 加密后的字节数组(Base64解码后的结果,如果原始数据是Base64编码的话)
|
||||
* @param keyBytes AES密钥(16/24/32字节长,对应AES-128/192/256)
|
||||
* @return 解密后的明文字节数组,如果解密失败则返回null
|
||||
*/
|
||||
public static byte[] decrypt(byte[] encryptedData, byte[] keyBytes) {
|
||||
try {
|
||||
// 创建密钥规格
|
||||
SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES-128-ECB");
|
||||
|
||||
// 获取Cipher实例并初始化为解密模式
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
|
||||
cipher.init(Cipher.DECRYPT_MODE, keySpec);
|
||||
// 执行解密
|
||||
byte[] decryptedBytes = cipher.doFinal(encryptedData);
|
||||
// 返回解密后的字节数组
|
||||
return decryptedBytes;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null; // 解密失败时返回null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果需要将解密后的字节数组转换为字符串(注意:这可能会导致数据丢失或乱码)
|
||||
*
|
||||
* @param encryptedData 加密后的字节数组(或Base64解码后的结果)
|
||||
* @return 解密后的字符串,如果解密失败则返回null
|
||||
*/
|
||||
public static String decryptToString(byte[] encryptedData) {
|
||||
byte[] decryptedBytes = decrypt(encryptedData,"LhHBfcsN2VmBpHCn".getBytes());
|
||||
if (decryptedBytes != null) {
|
||||
// 尝试将字节数组转换为字符串(使用指定的字符集)
|
||||
try {
|
||||
return decodeUnicode(new String(decryptedBytes, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String decodeUnicode(String unicode) {
|
||||
/* StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < unicode.length();) {
|
||||
if (unicode.charAt(i) == '\\') {
|
||||
if (i + 5 < unicode.length()) {
|
||||
String codePointStr = unicode.substring(i + 2, i + 6);
|
||||
try {
|
||||
int codePoint = Integer.parseInt(codePointStr, 16);
|
||||
sb.append((char) codePoint);
|
||||
i += 6;
|
||||
continue;
|
||||
} catch (NumberFormatException e) {
|
||||
// Handle format error
|
||||
}
|
||||
}
|
||||
}
|
||||
sb.append(unicode.charAt(i++));
|
||||
}*/
|
||||
return JSON.parseObject(unicode).toString();
|
||||
}
|
||||
}
|
@ -30,6 +30,7 @@ import com.yunbao.common.bean.ReportCommunityBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.VideoBean;
|
||||
import com.yunbao.common.bean.VideoListBean;
|
||||
import com.yunbao.common.dialog.GiftWallDialog;
|
||||
import com.yunbao.common.dialog.GuardUpgradePopup;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
@ -40,6 +41,7 @@ import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.RandomSudGameManager;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
@ -620,7 +622,7 @@ public class JavascriptInterfaceUtils {
|
||||
@JavascriptInterface
|
||||
public void androidClickToTaskPage() {
|
||||
ARouter.getInstance().build(PATH_REWARD).withString("url",
|
||||
CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index" + "&uid=" + CommonAppConfig.getInstance().getUid()
|
||||
CommonAppConfig.HOST + "/h5/task/index.html?" + "uid=" + CommonAppConfig.getInstance().getUid()
|
||||
+ "&token=" + CommonAppConfig.getInstance().getToken() + "&tabIndex=1" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0")).navigation();
|
||||
}
|
||||
|
||||
@ -656,9 +658,17 @@ public class JavascriptInterfaceUtils {
|
||||
new com.yunbao.common.dialog.GiftWallDialog(mContext, mLiveUid,mAnchorName, null,isAnchor==1).setFullWindows(true).showDialog();
|
||||
}
|
||||
|
||||
|
||||
@JavascriptInterface
|
||||
public void OpenTheLastNaming(String mAnchorName, String mLiveUid, String mAvatarUrl, int isAnchor) {
|
||||
// RouteUtil.forwardGiftWallActivity("", mAnchorName, mLiveUid, mAvatarUrl, 0, isAnchor == 1);
|
||||
new GiftWallDialog(mContext, mLiveUid,mAnchorName, null,isAnchor==1).setFullWindows(true).setTab2(true).showDialog();
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void wearOrCancelFanMedal() {
|
||||
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
||||
HttpClient.getInstance().get("huoquyonghujibenxinxiv2", "getBaseInfo")
|
||||
.params("key1", RongcloudIMManager.RONG_IM_KEY)
|
||||
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
|
||||
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
|
||||
.execute(new HttpCallback() {
|
||||
|
@ -146,7 +146,7 @@ public class LogUtil {
|
||||
|
||||
|
||||
public static void shareFile(Context context) {
|
||||
String title = "[PDLIVE]" + CommonAppConfig.getInstance().getUid() + "_";
|
||||
String title = "[POYO]" + CommonAppConfig.getInstance().getUid() + "_";
|
||||
String today = title + SimpleDateFormat.getDateInstance(DEFAULT, Locale.CHINA).format(new Date());
|
||||
File dir = new File("/data/data/" + context.getPackageName() + File.separator);
|
||||
File zip = new File(context.getDir("files", Context.MODE_PRIVATE).getAbsolutePath() + File.separator + today + ".zip");
|
||||
|
@ -40,7 +40,7 @@ public class LogUtils {
|
||||
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
||||
String line;
|
||||
PrintWriter writer = null;
|
||||
String title = "[PDLIVE]" + CommonAppConfig.getInstance().getUid() + "_";
|
||||
String title = "[POYO]" + CommonAppConfig.getInstance().getUid() + "_";
|
||||
String today = title + SimpleDateFormat.getDateInstance(DEFAULT, Locale.CHINA).format(new Date());
|
||||
File dir = new File(context.getDir("files", Context.MODE_PRIVATE).getAbsolutePath() + File.separator);
|
||||
if (dir.listFiles() != null) {
|
||||
|
@ -0,0 +1,65 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
public class NavigationBarUtils {
|
||||
|
||||
public static boolean hasNavigationBar(Activity activity) {
|
||||
boolean hasNavigationBar = false;
|
||||
int resourceId = activity.getResources().getIdentifier("config_showNavigationBar", "bool", "android");
|
||||
if (resourceId > 0) {
|
||||
hasNavigationBar = activity.getResources().getBoolean(resourceId);
|
||||
}
|
||||
|
||||
try {
|
||||
hasNavigationBar |= (Boolean) ViewConfiguration.class.getDeclaredMethod("hasNavigationBar").invoke(ViewConfiguration.get(activity));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Fall back on checking the navigation bar height, if available
|
||||
if (!hasNavigationBar && hasNavBarHeight()) {
|
||||
hasNavigationBar = true;
|
||||
}
|
||||
|
||||
return hasNavigationBar;
|
||||
}
|
||||
|
||||
public static boolean hasNavBarHeight() {
|
||||
Resources res = Resources.getSystem();
|
||||
int resourceId = res.getIdentifier("navigation_bar_height", "dimen", "android");
|
||||
if (resourceId > 0) {
|
||||
return res.getDimensionPixelSize(resourceId) > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 示例:在Activity中使用该方法
|
||||
public static boolean checkNavigationBar(Activity activity) {
|
||||
return hasNavigationBar(activity);
|
||||
}
|
||||
|
||||
public static int checkBarHeight(Activity activity) {
|
||||
int result = 0;
|
||||
Resources resources = activity.getResources();
|
||||
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
|
||||
if (resourceId > 0) {
|
||||
result = resources.getDimensionPixelSize(resourceId);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void setBarStatus(RelativeLayout rt_main_tab, Activity mContext){
|
||||
if("Xiaomi".equals(Build.BRAND)&&"2210132C".equals(Build.MODEL)){
|
||||
ViewGroup.LayoutParams params = rt_main_tab.getLayoutParams();
|
||||
params.height =params.height+ NavigationBarUtils.checkBarHeight(mContext);
|
||||
rt_main_tab.setLayoutParams(params);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -57,6 +57,8 @@ public class RouteUtil {
|
||||
public static final String PATH_FEEDBACK_ACTIVITY = "/main/FeedbackActivity";
|
||||
public static final String PATH_FEEDBACK_EDIT_ACTIVITY = "/main/FeedbackEditActivity";
|
||||
public static final String PATH_LIVE_PUNISHACTIVITY = "/live/PunishActivity";
|
||||
public static final String PATH_NEW_MESSAGE = "/main/NewMessageActivity";
|
||||
public static final String PATH_Community_Video= "/main/CommunityVideoActivity";
|
||||
public static final String PATH_LIVE_REPORT_SECOND = "/live/ReportSecondActivity";
|
||||
|
||||
|
||||
@ -242,7 +244,7 @@ public class RouteUtil {
|
||||
* 跳转到充值页面
|
||||
*/
|
||||
public static void forwardMyCoin(Context context) {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=zhifu&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
String url = CommonAppConfig.HOST + "/h5/mall/zhifu.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ARouter.getInstance().build(PATH_COIN).withString("url", url).navigation();
|
||||
}
|
||||
|
||||
@ -336,6 +338,11 @@ public class RouteUtil {
|
||||
* 客服页面
|
||||
*/
|
||||
public static void forwardCustomerService(String url) {
|
||||
ARouter.getInstance().build(PATH_CS)
|
||||
.withString(Constants.URL, url+"?1=1")
|
||||
.navigation();
|
||||
}
|
||||
public static void forwardCustomerServiceNew(String url) {
|
||||
ARouter.getInstance().build(PATH_CS)
|
||||
.withString(Constants.URL, url)
|
||||
.navigation();
|
||||
|
@ -20,7 +20,7 @@ public class CustomViewHolder implements BannerViewHolder<BannerBean> {
|
||||
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT
|
||||
);
|
||||
imageView.setLayoutParams(params);
|
||||
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
|
||||
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
//Glide.with(context).load(data.getImageUrl()).into(imageView);
|
||||
ImgLoader.display(context,data.getImageUrl(),imageView);
|
||||
|
||||
|
@ -0,0 +1,242 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.google.gson.Gson;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.SudGameScoreBean;
|
||||
import com.yunbao.common.bean.SudRoomListModel;
|
||||
import com.yunbao.common.event.LiveOpenSudRoomEvent;
|
||||
import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent;
|
||||
import com.yunbao.common.event.SudGameListDissMissEvent;
|
||||
import com.yunbao.common.event.SudGameListRefreshEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.RandomSudGameManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class NewSudGameListViewHolder extends RecyclerView.ViewHolder {
|
||||
private RoundedImageView mAvatar;
|
||||
private TextView roomName, playerWeAre, playerWeAre2, goldenBeanNumber;
|
||||
private ImageView sex,tmpImage;
|
||||
|
||||
public NewSudGameListViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
mAvatar = itemView.findViewById(R.id.avatar);
|
||||
roomName = itemView.findViewById(R.id.room_name);
|
||||
playerWeAre = itemView.findViewById(R.id.player_we_are);
|
||||
playerWeAre2 = itemView.findViewById(R.id.player_we_are_2);
|
||||
tmpImage = itemView.findViewById(R.id.tmp_image);
|
||||
|
||||
goldenBeanNumber = itemView.findViewById(R.id.golden_bean_number);
|
||||
sex = itemView.findViewById(R.id.sex);
|
||||
|
||||
}
|
||||
|
||||
public void setData(SudRoomListModel model, boolean isHome) {
|
||||
ImgLoader.display(itemView.getContext(), model.getAvatar(), mAvatar);
|
||||
roomName.setText(model.getRoomName());
|
||||
roomName.setMaxLines(1);
|
||||
playerWeAre.setText(String.format(itemView.getContext().getString(R.string.interactive_game_player_we_are_4), model.getPlayerTotal()));
|
||||
playerWeAre2.setText(String.format(itemView.getContext().getString(R.string.interactive_game_player_we_are_3), model.getTotal()));
|
||||
goldenBeanNumber.setText(model.getGoldenBeanNumber());
|
||||
if (TextUtils.equals(model.getSex(), "1")) {
|
||||
Glide.with(itemView.getContext()).load(R.mipmap.man).into(sex);
|
||||
} else if (TextUtils.equals(model.getSex(), "2")) {
|
||||
Glide.with(itemView.getContext()).load(R.mipmap.girl).into(sex);
|
||||
}
|
||||
// ImgLoader.display(itemView.getContext(), R.mipmap.image, tmp_image);
|
||||
|
||||
/* if (TextUtils.equals(model.getCurrencyType(), "2")) {
|
||||
ImgLoader.display(itemView.getContext(), R.mipmap.icon_collectibles, gold_coin);
|
||||
} else {
|
||||
ImgLoader.display(itemView.getContext(), R.mipmap.gold_coin, gold_coin);
|
||||
}*/
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
LiveNetManager.get(itemView.getContext()).checkRoomStatus(model.getId(), new com.yunbao.common.http.base.HttpCallback<CreateSudRoomModel>() {
|
||||
@Override
|
||||
public void onSuccess(CreateSudRoomModel data) {
|
||||
if (TextUtils.equals(data.getRoomStatus(), "0")) {
|
||||
if (IMLoginManager.get(itemView.getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ToastUtil.show("房间不存在");
|
||||
} else {
|
||||
ToastUtil.show("The room does not exist");
|
||||
}
|
||||
Bus.get().post(new SudGameListRefreshEvent());
|
||||
} else {
|
||||
if (TextUtils.equals(model.getIsActivity(), "1")) {
|
||||
LiveNetManager.get(mAvatar.getContext())
|
||||
.getScore(model.getSudGameRoomId(), new com.yunbao.common.http.base.HttpCallback<SudGameScoreBean>() {
|
||||
@Override
|
||||
public void onSuccess(SudGameScoreBean data) {
|
||||
if(data.getGolden_bean_remaining_balance()!=1){
|
||||
RandomSudGameManager.getManager().showNotActivityTicketDialog(itemView.getContext(), true, new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
toGame(model, isHome, true);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
toGame(model, isHome, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
toGame(model, isHome, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void toGame(SudRoomListModel model, boolean isHome,boolean isActivity) {
|
||||
|
||||
|
||||
CreateSudRoomModel createSudRoomModel = new CreateSudRoomModel();
|
||||
createSudRoomModel.setSudGameId(model.getSudGameId());
|
||||
createSudRoomModel.setSudGameRoomId(model.getSudGameRoomId());
|
||||
createSudRoomModel.setAvatar(model.getAvatar());
|
||||
createSudRoomModel.setRoomName(model.getRoomName());
|
||||
createSudRoomModel.setSudGameName(model.getSudGameName());
|
||||
if (isHome) {
|
||||
if (TextUtils.equals(model.getLiveUid(), "0")) {
|
||||
if (CommonAppConfig.getInstance().getConfig().isSw()) {
|
||||
RouteUtil.forwardSwSudGameActivity(new Gson().toJson(createSudRoomModel), isActivity,false, isHome);
|
||||
} else {
|
||||
RouteUtil.forwardRySudGameActivity(new Gson().toJson(createSudRoomModel), true, isHome);
|
||||
}
|
||||
} else {
|
||||
String yes = "是";
|
||||
if (IMLoginManager.get(itemView.getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
yes = "是";
|
||||
} else {
|
||||
yes = "Yes";
|
||||
}
|
||||
new XPopup.Builder(itemView.getContext())
|
||||
.asCustom(new HintCustomPopup(itemView.getContext(),
|
||||
itemView.getContext().getString(R.string.interactive_game_search_room_currently_live),
|
||||
itemView.getContext().getString(R.string.interactive_game_search_room_broadcast_room))
|
||||
.setLiveOpenOk(yes)
|
||||
.setLiveOpenCancel(itemView.getContext().getString(R.string.interactive_game_search_room_bhe_game))
|
||||
.setCallBack(new HintCustomPopup.HintCustomCallBack() {
|
||||
@Override
|
||||
public void onSure() {
|
||||
LiveHttpUtil.getLiveInfo(model.getLiveUid() + "", new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
new LiveRoomCheckLivePresenter(itemView.getContext(), liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk, boolean isSw) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal), isSw);
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LiveNetManager.get(mAvatar.getContext())
|
||||
.getScore(model.getSudGameRoomId(), new com.yunbao.common.http.base.HttpCallback<SudGameScoreBean>() {
|
||||
@Override
|
||||
public void onSuccess(SudGameScoreBean data) {
|
||||
if(data.getGolden_bean_remaining_balance()!=1){
|
||||
RandomSudGameManager.getManager().showNotActivityTicketDialog(itemView.getContext(), true, new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Bus.get().post(new LiveOpenSudRoomEvent().setActivity(isActivity).setCreateSudRoomModel(createSudRoomModel));
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
Bus.get().post(new LiveOpenSudRoomEvent().setActivity(isActivity).setCreateSudRoomModel(createSudRoomModel));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
RouteUtil.forwardUserHome(itemView.getContext(), model.getLiveUid(), 0);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
if (CommonAppConfig.getInstance().getConfig().isSw()) {
|
||||
RouteUtil.forwardSwSudGameActivity(new Gson().toJson(createSudRoomModel), isActivity,false, isHome);
|
||||
} else {
|
||||
RouteUtil.forwardRySudGameActivity(new Gson().toJson(createSudRoomModel), true, isHome);
|
||||
}
|
||||
}
|
||||
})).show();
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
Bus.get().post(new LiveSudGamePopupShowOrHideEvent().setType(0).setActivityGame(isActivity).setCreateSudRoomModel(createSudRoomModel));
|
||||
Bus.get().post(new SudGameListDissMissEvent());
|
||||
}
|
||||
}
|
||||
}
|
9
common/src/main/res/drawable/bg_main_live_item_title.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:topLeftRadius="4dp"
|
||||
android:topRightRadius="4dp"
|
||||
android:bottomLeftRadius="4dp"
|
||||
android:bottomRightRadius="4dp"/>
|
||||
<solid android:color="#66000000"/>
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_1.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#D1E6FF"
|
||||
android:startColor="#D4F7FF" />
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_2.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#D2FFF8"
|
||||
android:startColor="#E7FAFF" />
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_3.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#EDD9FF"
|
||||
android:startColor="#FFECFF" />
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_4.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#FFF8CD"
|
||||
android:startColor="#FFFCE0" />
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_5.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#FFD1D1"
|
||||
android:startColor="#FFF4E8" />
|
||||
</shape>
|
8
common/src/main/res/drawable/grid_item_bg_6.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="10dp"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#ECFFE8"
|
||||
android:startColor="#EFFFE9" />
|
||||
</shape>
|
9
common/src/main/res/drawable/white_alpa_shape.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="19dp" />
|
||||
<gradient
|
||||
android:angle="0"
|
||||
android:endColor="#FFFFFFFF"
|
||||
android:startColor="#00FFFFFF" />
|
||||
</shape>
|
@ -16,7 +16,6 @@
|
||||
android:id="@+id/ft_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
|
||||
android:background="@color/white"
|
||||
android:paddingTop="24dp"
|
||||
tools:visibility="gone">
|
||||
|
150
common/src/main/res/layout/item_new_game_room.xml
Normal file
@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/layout"
|
||||
android:layout_height="168dp">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginStart="15dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardBackgroundColor="@color/white"
|
||||
android:id="@+id/top_view_1"
|
||||
android:layout_height="25dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent">
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/image"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginStart="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:id="@+id/gold_coin"
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="1,000"
|
||||
android:textColor="#ff333333"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/gold_coin"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:id="@+id/golden_bean_number"
|
||||
/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#ff000000"
|
||||
android:textSize="15sp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:id="@+id/room_name"
|
||||
app:layout_constraintStart_toStartOf="@id/top_view_1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
app:layout_constraintTop_toBottomOf="@id/top_view_1"
|
||||
android:layout_marginTop="10dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#ff777777"
|
||||
android:textSize="10sp"
|
||||
android:id="@+id/player_we_are_2"
|
||||
android:text="@string/interactive_game_player_we_are_3"
|
||||
app:layout_constraintStart_toStartOf="@id/top_view_1"
|
||||
app:layout_constraintTop_toBottomOf="@id/room_name"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:layout_marginEnd="6dp"
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="21dp"
|
||||
android:background="@drawable/white_alpa_shape"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:layout_marginStart="37dp"
|
||||
android:id="@+id/tmp_view"
|
||||
app:layout_constraintEnd_toEndOf="@id/player_we_are"
|
||||
/>
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="47dp"
|
||||
android:layout_height="47dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:riv_oval="true"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tmp_view"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginStart="16dp"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sex"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/avatar"
|
||||
app:layout_constraintEnd_toEndOf="@id/avatar"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#ff777777"
|
||||
android:textSize="10sp"
|
||||
android:id="@+id/player_we_are"
|
||||
android:text="@string/interactive_game_player_we_are_4"
|
||||
app:layout_constraintTop_toTopOf="@id/tmp_view"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tmp_view"
|
||||
app:layout_constraintStart_toEndOf="@id/tmp_image"
|
||||
android:layout_marginStart="2dp"
|
||||
android:paddingEnd="6dp"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tmp_image"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="8dp"
|
||||
android:src="@mipmap/people"
|
||||
app:layout_constraintTop_toTopOf="@id/tmp_view"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tmp_view"
|
||||
app:layout_constraintStart_toEndOf="@id/sex"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginEnd="2dp"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -54,7 +54,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginRight="15dp"
|
||||
android:text="PD LIVE"
|
||||
android:text="PoYo"
|
||||
android:textColor="@color/gray3" />
|
||||
|
||||
</RelativeLayout>
|
@ -37,7 +37,7 @@
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:textColor="#0D21B2"
|
||||
tools:text="1.戰令開啟時,完成戰令任務,提升戰令等級,可獲得大量等級獎勵。\n2.所有用戶免費解鎖普通版,戰令開啟時隨時可進階為精英版和尊享版,獲得豐厚額外專屬獎勵。\n3.三種戰令都會獎勵積分,可在兌換商城中兌換心儀的寶貝,部分寶貝兌換有戰令等級要求或兌換數量限制。\n4.每日任務0點刷新,未完成任務進度不再累計,每季任務將會在新一季戰令開啟時刷新。\n5.任務達成時需主動領取經驗,未领取經驗將會在任務刷新時過期。\n6.活動最終解釋權歸PDLIVE所有。"
|
||||
tools:text="1.戰令開啟時,完成戰令任務,提升戰令等級,可獲得大量等級獎勵。\n2.所有用戶免費解鎖普通版,戰令開啟時隨時可進階為精英版和尊享版,獲得豐厚額外專屬獎勵。\n3.三種戰令都會獎勵積分,可在兌換商城中兌換心儀的寶貝,部分寶貝兌換有戰令等級要求或兌換數量限制。\n4.每日任務0點刷新,未完成任務進度不再累計,每季任務將會在新一季戰令開啟時刷新。\n5.任務達成時需主動領取經驗,未领取經驗將會在任務刷新時過期。\n6.活動最終解釋權歸PoYo所有。"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.1 KiB |