pk房完成,剩余禁止对方麦未完成
拍卖房完成 点歌房完成,音乐播放需要测试
This commit is contained in:
4
.idea/deploymentTargetSelector.xml
generated
4
.idea/deploymentTargetSelector.xml
generated
@@ -4,10 +4,10 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2025-05-26T06:41:03.502984700Z">
|
||||
<DropdownSelection timestamp="2025-07-02T15:26:48.206290400Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=88Y4C19912006888" />
|
||||
<DeviceId pluginId="Default" identifier="serial=emulator-5554;connection=d1b10e5b" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
|
||||
@@ -5,7 +5,7 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace 'com.qxcm.qxlive'
|
||||
compileSdk 34
|
||||
compileSdk 35
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.qxcm.qxlive"
|
||||
@@ -17,7 +17,7 @@ android {
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
ndk {
|
||||
//设置支持的so库框架
|
||||
//设置支持的so库
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
|
||||
@@ -29,7 +29,11 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
// signingConfig signingConfigs.release
|
||||
// proguardFiles 'proguard-rules.pro'
|
||||
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
|
||||
debug {
|
||||
@@ -92,8 +96,8 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
buildFeatures {
|
||||
dataBinding true
|
||||
|
||||
BIN
app/certificate.cer
Normal file
BIN
app/certificate.cer
Normal file
Binary file not shown.
15
app/lint-baseline.xml
Normal file
15
app/lint-baseline.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<issues format="6" by="lint 8.8.0" type="baseline" client="gradle" dependencies="false" name="AGP (8.8.0)" variant="fatal" version="8.8.0">
|
||||
|
||||
<issue
|
||||
id="ExpiredTargetSdkVersion"
|
||||
message="Google Play requires that apps target API level 33 or higher."
|
||||
errorLine1=" targetSdk 28"
|
||||
errorLine2=" ~~~~~~~~~~~~">
|
||||
<location
|
||||
file="build.gradle"
|
||||
line="13"
|
||||
column="9"/>
|
||||
</issue>
|
||||
|
||||
</issues>
|
||||
Binary file not shown.
BIN
app/my-release-key.jks.old
Normal file
BIN
app/my-release-key.jks.old
Normal file
Binary file not shown.
22
app/proguard-rules.pro
vendored
22
app/proguard-rules.pro
vendored
@@ -876,3 +876,25 @@ public static java.lang.String TABLENAME;
|
||||
-dontwarn com.tencent.cloud.huiyansdkface.okhttp3.OkHttpClient$Builder
|
||||
|
||||
####################### normal混淆规则-END#############################
|
||||
|
||||
# 保留 BaseModel 和其子类的字段名
|
||||
-keep class com.qxcm.moduleutil.http.BaseModel { *; }
|
||||
-keep class com.qxcm.moduleutil.bean.** { *; }
|
||||
|
||||
# 保留所有作为 API 响应体的类
|
||||
-keep class com.qxcm.moduleutil.bean.**.*Response { *; }
|
||||
|
||||
# 保留 Gson 使用的字段
|
||||
-keepclassmembers class * {
|
||||
@com.google.gson.annotations.SerializedName <fields>;
|
||||
}
|
||||
|
||||
# 避免 Retrofit 接口被混淆
|
||||
-keep interface com.qxcm.moduleutil.http.ApiServer { *; }
|
||||
|
||||
# 保留 retrofit 相关类
|
||||
-keep class retrofit2.** { *; }
|
||||
-keep class okhttp3.** { *; }
|
||||
|
||||
-keep class com.qxcm.moduleutil.utils.location.** { *; }
|
||||
-keep class io.agora.**{*;}
|
||||
|
||||
485343
app/proguard/mapping.txt
485343
app/proguard/mapping.txt
File diff suppressed because it is too large
Load Diff
337962
app/proguard/seeds.txt
337962
app/proguard/seeds.txt
File diff suppressed because it is too large
Load Diff
BIN
app/release/baselineProfiles/0/羽声_1.0.2_3.dm
Normal file
BIN
app/release/baselineProfiles/0/羽声_1.0.2_3.dm
Normal file
Binary file not shown.
Binary file not shown.
BIN
app/release/baselineProfiles/1/羽声_1.0.2_3.dm
Normal file
BIN
app/release/baselineProfiles/1/羽声_1.0.2_3.dm
Normal file
Binary file not shown.
Binary file not shown.
@@ -11,9 +11,9 @@
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 1,
|
||||
"versionName": "1.0",
|
||||
"outputFile": "羽声_1.0_1.apk"
|
||||
"versionCode": 3,
|
||||
"versionName": "1.0.2",
|
||||
"outputFile": "羽声_1.0.2_3.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File",
|
||||
@@ -22,14 +22,14 @@
|
||||
"minApi": 28,
|
||||
"maxApi": 30,
|
||||
"baselineProfiles": [
|
||||
"baselineProfiles/1/羽声_1.0_1.dm"
|
||||
"baselineProfiles/1/羽声_1.0.2_3.dm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"minApi": 31,
|
||||
"maxApi": 2147483647,
|
||||
"baselineProfiles": [
|
||||
"baselineProfiles/0/羽声_1.0_1.dm"
|
||||
"baselineProfiles/0/羽声_1.0.2_3.dm"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
BIN
app/release/羽声_1.0.2_3.apk
Normal file
BIN
app/release/羽声_1.0.2_3.apk
Normal file
Binary file not shown.
Binary file not shown.
@@ -65,12 +65,9 @@
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32"
|
||||
tools:ignore="ScopedStorage" />
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||
/>
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
@@ -94,6 +91,14 @@
|
||||
<package android:name="com.tencent.mm" />
|
||||
</queries>
|
||||
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
|
||||
tools:ignore="ProtectedPermissions"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
|
||||
android:required="false"
|
||||
android:maxSdkVersion="32"/>
|
||||
|
||||
|
||||
<application
|
||||
android:name="AppContext"
|
||||
@@ -110,9 +115,10 @@
|
||||
android:theme="@style/AppTheme"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:targetApi="31"
|
||||
tools:targetApi="tiramisu"
|
||||
tools:ignore="SelectedPhotoAccess"
|
||||
tools:replace="android:theme,android:allowBackup"
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
>
|
||||
<activity
|
||||
android:name=".LaunchPageActivity"
|
||||
|
||||
@@ -29,7 +29,7 @@ public class AppContext extends CommonAppContext {
|
||||
// L.setDeBug(BuildConfig.DEBUG);
|
||||
}
|
||||
public static void initSdk() {
|
||||
CommonAppContext context = CommonAppContext.getInstance();
|
||||
// CommonAppContext context = CommonAppContext.getInstance();
|
||||
|
||||
// if (BuildConfig.DEBUG) {
|
||||
// L.e("应用签名:" + context.getAppSignature());
|
||||
|
||||
@@ -14,5 +14,7 @@ public final class LaunchContacter {
|
||||
public interface ILoginPre extends IPresenter {
|
||||
|
||||
void oauthLogin(String login_token);
|
||||
|
||||
void address_ip(String address_ip);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.qxcm.qxlive;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -10,10 +13,16 @@ import android.text.TextUtils;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ThreadUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.mobile.auth.gatewayauth.AuthUIConfig;
|
||||
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
|
||||
import com.mobile.auth.gatewayauth.PreLoginResultListener;
|
||||
@@ -29,6 +38,8 @@ import com.qxcm.moduleutil.base.CommonAppContext;
|
||||
import com.qxcm.moduleutil.bean.UserBean;
|
||||
import com.qxcm.moduleutil.dialog.PolicyDialog;
|
||||
import com.qxcm.moduleutil.utils.SpUtil;
|
||||
import com.qxcm.moduleutil.utils.location.LocationProvider;
|
||||
import com.qxcm.moduleutil.utils.location.LocationServiceFactory;
|
||||
import com.qxcm.moduleutil.utils.logger.Logger;
|
||||
import com.qxcm.qxlive.databinding.ActivityLaunchPageBinding;
|
||||
import com.tencent.qcloud.tuicore.TUILogin;
|
||||
@@ -42,7 +53,7 @@ public class LaunchPageActivity extends BaseMvpActivity<LaunchPresenter, Activit
|
||||
private TokenResultListener tokenResultListener;
|
||||
private boolean canOnePass;
|
||||
private boolean isCanOnePass = true;
|
||||
|
||||
private String city1="";
|
||||
@Override
|
||||
protected void initData() {
|
||||
handler = new Handler();
|
||||
@@ -86,12 +97,16 @@ public class LaunchPageActivity extends BaseMvpActivity<LaunchPresenter, Activit
|
||||
});
|
||||
policyDialog.show();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void initLogin() {
|
||||
|
||||
EventBus.getDefault().register(this);
|
||||
initQuickLogin();
|
||||
checkOnePass();
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
private void checkOnePass() {
|
||||
@@ -163,16 +178,18 @@ public class LaunchPageActivity extends BaseMvpActivity<LaunchPresenter, Activit
|
||||
Logger.e("SplashEnd", "ARouters.MAIN");
|
||||
|
||||
UserBean userBean = CommonAppContext.getInstance().getUser();
|
||||
TUILogin.login(getBaseContext(), CommonAppContext.getInstance().getCurrentEnvironment().getSdkAppId(), "u"+userBean.getUser_id(), userBean.getTencent_im(), new TUICallback() {
|
||||
@Override
|
||||
public void onError(final int code, final String desc) {
|
||||
LogUtils.e("@@@",code,"描述:",desc);
|
||||
}
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
LogUtils.e("@@@","成功");
|
||||
}
|
||||
});
|
||||
|
||||
// TUILogin.login(getBaseContext(), CommonAppContext.getInstance().getCurrentEnvironment().getSdkAppId(), "u"+userBean.getUser_id(), userBean.getTencent_im(), new TUICallback() {
|
||||
// @Override
|
||||
// public void onError(final int code, final String desc) {
|
||||
// LogUtils.e("@@@",code,"描述:",desc);
|
||||
// }
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// LogUtils.e("@@@","成功");
|
||||
//
|
||||
// }
|
||||
// });
|
||||
if (userBean.getSex() == 0) {
|
||||
Intent intent = new Intent(this, ImproveInfoActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
@@ -180,7 +197,7 @@ public class LaunchPageActivity extends BaseMvpActivity<LaunchPresenter, Activit
|
||||
intent.putExtras(bundle);
|
||||
startActivity(intent);
|
||||
} else {
|
||||
|
||||
EventBus.getDefault().post(userBean);
|
||||
startActivity(new Intent(this, MainActivity.class));
|
||||
}
|
||||
finish();
|
||||
@@ -324,5 +341,25 @@ public class LaunchPageActivity extends BaseMvpActivity<LaunchPresenter, Activit
|
||||
return new LaunchPresenter(this, this);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
// super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
//
|
||||
// if (requestCode == 1001) {
|
||||
// LocationProvider provider = LocationServiceFactory.createBestProvider(this);
|
||||
// provider.getLastKnownLocation(this, new LocationProvider.LocationCallback() {
|
||||
// @Override
|
||||
// public void onLocationReceived(double latitude, double longitude, String city) {
|
||||
// ToastUtils.showShort("当前位置:" + city);
|
||||
// city1=city;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFailed(String errorMessage) {
|
||||
// ToastUtils.showShort("定位失败");
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -14,6 +14,8 @@ import com.qxcm.moduleutil.bean.UserBean;
|
||||
import com.qxcm.moduleutil.http.BaseObserver;
|
||||
import com.qxcm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
@@ -40,6 +42,21 @@ public class LaunchPresenter extends BasePresenter<LaunchContacter.View> impleme
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void address_ip(String address_ip) {
|
||||
api.address_ip(address_ip, new BaseObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
// addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void loginSuccess(List<UserBean> userBean) {
|
||||
if (userBean==null) {
|
||||
ToastUtils.showShort("登录失败请重试");
|
||||
@@ -76,7 +93,7 @@ public class LaunchPresenter extends BasePresenter<LaunchContacter.View> impleme
|
||||
com.blankj.utilcode.util.ActivityUtils.startActivity(intent);
|
||||
|
||||
}
|
||||
// EventBus.getDefault().post(new LoginFinishEvent());
|
||||
EventBus.getDefault().post(userBean);
|
||||
// EventBus.getDefault().post(new SplashFinishEvent());
|
||||
// AppLog.setUserUniqueID(userBean.getUser_id()); // 设置您自己的账号体系ID, 并保证其唯一性 !
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
<FrameLayout
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/transparent">
|
||||
|
||||
|
||||
<FrameLayout
|
||||
@@ -93,8 +94,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/screen"
|
||||
android:scaleType="centerCrop"
|
||||
android:visibility="visible" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -29,8 +29,8 @@ org.gradle.parallel=false
|
||||
org.gradle.deamon=false
|
||||
android.injected.testOnly=false
|
||||
|
||||
APP_VERSION_NAME=1.0.0
|
||||
APP_VERSION_CODE=1
|
||||
APP_VERSION_NAME=1.0.2
|
||||
APP_VERSION_CODE=3
|
||||
|
||||
org.gradle.jvm.toolchain.useLegacyAdapters=false
|
||||
org.gradle.java.home=C\:\\Users\\qx\\.jdks\\ms-17.0.15
|
||||
|
||||
@@ -15,7 +15,7 @@ android {
|
||||
buildToolsVersion build_versions.build_tools
|
||||
defaultConfig {
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 35
|
||||
targetSdkVersion 28
|
||||
versionCode 1
|
||||
versionName 1.0
|
||||
consumerProguardFiles 'consumer-rules.pro'
|
||||
|
||||
@@ -9,7 +9,7 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.luck.picture.lib.PictureSelector;
|
||||
import com.luck.picture.lib.basic.PictureSelector;
|
||||
import com.luck.picture.lib.config.PictureConfig;
|
||||
import com.luck.picture.lib.config.PictureMimeType;
|
||||
import com.luck.picture.lib.entity.LocalMedia;
|
||||
@@ -62,6 +62,9 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
|
||||
private String avatar;
|
||||
private String birthdy;
|
||||
private String init_code;
|
||||
@Override
|
||||
protected void initData() {
|
||||
|
||||
@@ -133,10 +136,20 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
return;
|
||||
}
|
||||
if (!inviteCode.isEmpty() || inviteCode != null) {
|
||||
map.put("user_no", inviteCode);
|
||||
// map.put("user_no", inviteCode);
|
||||
init_code = inviteCode;
|
||||
}
|
||||
map.put("sex", sex);
|
||||
MvpPre.upDateUserInfo(map);
|
||||
String user_id="";
|
||||
if (userBean!=null){
|
||||
user_id = userBean.getUser_id() + "";
|
||||
}
|
||||
assert userBean != null;
|
||||
userBean.setSex(Integer.parseInt(sex));
|
||||
userBean.setNickname(nickname);
|
||||
userBean.setAvatar(avatar);
|
||||
SpUtil.saveUserBean(userBean);
|
||||
MvpPre.upDateUserInfo(nickname, birthdy, sex, avatar, init_code, user_id);
|
||||
// MvpPre.fill(inviteCode, nickname, sex);
|
||||
|
||||
// try {
|
||||
@@ -157,7 +170,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
mBinding.rlNv.setSelected(false);
|
||||
sex = "1";
|
||||
} else if (id == R.id.rv_user_head) {
|
||||
startChoosePhoto(PictureMimeType.ofImage(), PictureConfig.CHOOSE_REQUEST);
|
||||
startChoosePhoto(1, PictureConfig.CHOOSE_REQUEST);
|
||||
} else if (id == R.id.tv_user_name) {
|
||||
MvpPre.updateNickname();
|
||||
} else if (id == R.id.iv_girl) {
|
||||
@@ -197,13 +210,13 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
PictureSelector.create(this)
|
||||
.openGallery(mimeType)
|
||||
.isGif(false)
|
||||
.imageEngine(GlideEngine.createGlideEngine())
|
||||
.maxSelectNum(1)
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setMaxSelectNum(1)
|
||||
.isPreviewImage(true)
|
||||
.isCamera(true)
|
||||
.setOutputCameraPath(Constants.FILE_PATH)
|
||||
.isCompress(true)
|
||||
.setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
|
||||
.isDisplayCamera(true)
|
||||
.setOutputCameraDir(Constants.FILE_PATH)
|
||||
.isOriginalSkipCompress(true)
|
||||
|
||||
.forResult(requestCode); //结果回调onActivityResult code
|
||||
}
|
||||
|
||||
@@ -214,7 +227,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
if (resultCode == RESULT_OK && data != null) {
|
||||
switch (requestCode) {
|
||||
case PictureConfig.CHOOSE_REQUEST:
|
||||
List<LocalMedia> localMedia = PictureSelector.obtainMultipleResult(data);
|
||||
List<LocalMedia> localMedia = PictureSelector.obtainSelectorList(data);
|
||||
if (localMedia != null && localMedia.size() != 0) {
|
||||
LocalMedia imgMedia = localMedia.get(0);
|
||||
String url;
|
||||
@@ -227,7 +240,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
}
|
||||
break;
|
||||
case PictureConfig.REQUEST_CAMERA:
|
||||
List<LocalMedia> localMedia1 = PictureSelector.obtainMultipleResult(data);
|
||||
List<LocalMedia> localMedia1 = PictureSelector.obtainSelectorList(data);
|
||||
if (localMedia1 != null && localMedia1.size() != 0) {
|
||||
LocalMedia imgMedia = localMedia1.get(0);
|
||||
MvpPre.uploadFile(new File(imgMedia.getRealPath()), 3);
|
||||
@@ -242,6 +255,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
// MvpPre.updateAvatar(url);
|
||||
ImageUtils.loadHeadCC(url, mBinding.rvUserHead);
|
||||
map.put("avatar", url);
|
||||
avatar=url;
|
||||
isFirst = true;
|
||||
}
|
||||
|
||||
@@ -249,6 +263,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
public void updateAvatarSuccess(String headPicture) {
|
||||
ImageLoader.loadHead(this, mBinding.rvUserHead, headPicture);
|
||||
map.put("avatar", headPicture);
|
||||
avatar=headPicture;
|
||||
isFirst = true;
|
||||
}
|
||||
|
||||
@@ -256,13 +271,15 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
public void updateNicknameSuccess(String nickname) {
|
||||
mBinding.edNickName.setText(nickname);
|
||||
map.put("nickname", nickname);
|
||||
this.nickname=nickname;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSexTrue(String sex) {
|
||||
ImageLoader.loadHead(this, mBinding.rvUserHead,sex);
|
||||
map.put("avatar", sex);
|
||||
|
||||
public void updateSexTrue(String sex1) {
|
||||
ImageLoader.loadHead(this, mBinding.rvUserHead,sex1);
|
||||
map.put("avatar", sex1);
|
||||
// sex=sex1;
|
||||
avatar=sex1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -310,6 +327,7 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
||||
mBinding.tvMonth.setText(month);
|
||||
mBinding.tvYear.setText(year);
|
||||
map.put("birthday", year + "-" + month + "-" + day);
|
||||
birthdy=year + "-" + month + "-" + day;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,6 +38,6 @@ public final class ImproveInfoContacts {
|
||||
|
||||
void getSexTrue(String sex);
|
||||
|
||||
void upDateUserInfo(Map<String, String> map);
|
||||
void upDateUserInfo(String nickname,String birthday,String sex,String avatar,String init_code,String user_id);
|
||||
}
|
||||
}
|
||||
@@ -18,21 +18,6 @@ public class ImproveInfoPresenter extends BasePresenter<ImproveInfoContacts.View
|
||||
public ImproveInfoPresenter(ImproveInfoContacts.View view, Context context) {
|
||||
super(view, context);
|
||||
}
|
||||
@Override
|
||||
public void upDateUserInfo(Map<String, String> map) {
|
||||
api.userUpdate(map, new BaseObserver<UserBean>() {
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(UserBean userBean) {
|
||||
MvpRef.get().updateSuccess(userBean);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void uploadFile(File file, int type) {
|
||||
@@ -118,5 +103,21 @@ public class ImproveInfoPresenter extends BasePresenter<ImproveInfoContacts.View
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void upDateUserInfo(String nickname, String birthday, String sex, String avatar, String init_code, String user_id) {
|
||||
api.userUpdate(nickname, birthday, sex, avatar, init_code, user_id, new BaseObserver<UserBean>() {
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(UserBean userBean) {
|
||||
MvpRef.get().updateSuccess(userBean);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -22,6 +22,7 @@ import com.qxcm.moduleutil.bean.UserBean;
|
||||
import com.qxcm.moduleutil.http.BaseObserver;
|
||||
import com.qxcm.moduleutil.presenter.BasePresenter;
|
||||
import com.qxcm.moduleutil.utils.PreferencesUtils;
|
||||
import com.qxcm.moduleutil.utils.SpUtil;
|
||||
import com.tencent.mm.opensdk.modelmsg.SendAuth;
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
||||
|
||||
@@ -161,6 +162,11 @@ public class LoginPresenter extends BasePresenter<LoginContacter.View> implement
|
||||
if (userBean.size()==1) {
|
||||
|
||||
CommonAppContext.getInstance().setUser(userBean.get(0));
|
||||
if (userBean.get(0).getAuth()==1){
|
||||
SpUtil.setRealName(true);
|
||||
}else {
|
||||
SpUtil.setRealName(false);
|
||||
}
|
||||
|
||||
// PreferencesUtils.putString( CommonAppContext.getInstance(), "mobile", userBean.get());
|
||||
|
||||
|
||||
@@ -319,7 +319,7 @@
|
||||
android:layout_gravity="center"
|
||||
android:enabled="false"
|
||||
android:gravity="center"
|
||||
android:text="开启初梦之旅"
|
||||
android:text="开启羽声之旅"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
@@ -328,7 +328,7 @@
|
||||
<TextView
|
||||
android:layout_width="84dp"
|
||||
android:layout_height="21dp"
|
||||
android:text="进入初梦语音"
|
||||
android:text="进入羽声语音"
|
||||
android:textColor="#ff333333"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
|
||||
@@ -23,6 +23,11 @@ android {
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
ndk {
|
||||
// 移除 abiFilters 或仅保留你需要的架构
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86_64"
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -91,7 +96,8 @@ dependencies {
|
||||
|
||||
api(libs.databinding.runtime.v702)
|
||||
|
||||
api(libs.pictureselector.picture.library)
|
||||
// api(libs.pictureselector.picture.library)
|
||||
api('io.github.lucksiege:pictureselector:v3.11.2')
|
||||
api(libs.com.github.bumptech.glide.glide)
|
||||
// api(libs.glide.compiler)
|
||||
|
||||
@@ -150,6 +156,13 @@ dependencies {
|
||||
api("com.liulishuo.okdownload:okdownload:1.0.7")
|
||||
|
||||
api('com.zlc.glide:webpdecoder:1.6.4.9.0')
|
||||
api('com.jungly:gridPasswordView:0.3')
|
||||
api('com.cpiz.bubbleview:bubbleview:1.0.2')
|
||||
|
||||
// 集成音频 SDK声网
|
||||
// api('io.agora.rtc:voice-sdk:4.5.2')
|
||||
api( 'io.agora.rtc:agora-special-full:4.1.1.23')
|
||||
api( 'com.github.AgoraIO-Community:LyricsView:1.1.3')
|
||||
|
||||
//腾讯im
|
||||
// api project(':tuiconversation')
|
||||
@@ -158,6 +171,17 @@ dependencies {
|
||||
annotationProcessor 'com.google.auto.service:auto-service:1.1.1'
|
||||
api files('libs/WbCloudFaceLiveSdk-face-v6.6.2-8e4718fc.aar')
|
||||
api files('libs/WbCloudNormal-v5.1.10-4e3e198.aar')
|
||||
// 房间引擎
|
||||
api "io.trtc.uikit:rtc_room_engine:latest.release"
|
||||
// rtc room engine 依赖 trtc sdk 和 im sdk
|
||||
api "com.tencent.liteav:LiteAVSDK_Professional:latest.release"
|
||||
api "com.tencent.imsdk:imsdk-plus:latest.release"
|
||||
//悬浮框
|
||||
api"io.github.petterpx:floatingx:2.3.5"
|
||||
// system浮窗&&compose时需要导入 https://github.com/Petterpx/FloatingX/
|
||||
// 记得AppHelper里调用 enableComposeSupport()
|
||||
api 'io.github.petterpx:floatingx-compose:2.3.5'
|
||||
|
||||
//2. 云normal SDK,
|
||||
//aar的名称,例如:WbCloudNormal-v5.1.10-123456789.aar,填入 'WbCloudNormal-v5.1.10-123456789.aar'
|
||||
}
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
<application android:allowBackup="true">
|
||||
<service
|
||||
android:name=".http.FloatingWindowService"
|
||||
android:enabled="true"
|
||||
android:exported="true"></service>
|
||||
|
||||
<activity
|
||||
android:name=".activity.WebViewActivity"
|
||||
android:exported="false" />
|
||||
|
||||
BIN
moduleUtil/src/main/assets/gg.mp3
Normal file
BIN
moduleUtil/src/main/assets/gg.mp3
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/hh.mp3
Normal file
BIN
moduleUtil/src/main/assets/hh.mp3
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/mmd.mp3
Normal file
BIN
moduleUtil/src/main/assets/mmd.mp3
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/ripple.svga
Normal file
BIN
moduleUtil/src/main/assets/ripple.svga
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/ripple3695.svga
Normal file
BIN
moduleUtil/src/main/assets/ripple3695.svga
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/xs.mp3
Normal file
BIN
moduleUtil/src/main/assets/xs.mp3
Normal file
Binary file not shown.
BIN
moduleUtil/src/main/assets/zs.mp3
Normal file
BIN
moduleUtil/src/main/assets/zs.mp3
Normal file
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
package com.qxcm.moduleutil;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomAutionTimeBean {
|
||||
private int days; // 天数,例如 1, 3, 5, 10, 15, 20
|
||||
private boolean isSelected;
|
||||
|
||||
public RoomAutionTimeBean(int days) {
|
||||
this.days = days;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应小时数(1天 = 24小时)
|
||||
*/
|
||||
public int getHours() {
|
||||
return days * 24;
|
||||
}
|
||||
}
|
||||
@@ -43,7 +43,6 @@ public abstract class BaseAppCompatActivity<VDB extends ViewDataBinding> extends
|
||||
setContentView(getLayoutId());
|
||||
mBinding = DataBindingUtil.setContentView(this, getLayoutId());
|
||||
mBinding.setLifecycleOwner(this);
|
||||
|
||||
ARouter.getInstance().inject(this);
|
||||
BarUtils.setStatusBarLightMode(this, isLightMode());
|
||||
BarUtils.transparentStatusBar(this);
|
||||
@@ -51,16 +50,7 @@ public abstract class BaseAppCompatActivity<VDB extends ViewDataBinding> extends
|
||||
initData();
|
||||
initCompleted();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (!Settings.canDrawOverlays(this)) {
|
||||
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
||||
Uri.parse("package:" + getPackageName()));
|
||||
startActivityForResult(intent, 100);
|
||||
}
|
||||
} else {
|
||||
// 对于低于 Android 6.0 的设备,无需请求悬浮窗权限
|
||||
// 可在此处添加针对旧版本的处理逻辑(如果需要)
|
||||
}
|
||||
|
||||
|
||||
// 动态判断是否包含 @Subscribe 注解的方法
|
||||
boolean hasSubscribeMethods = false;
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.qxcm.moduleutil.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.PixelFormat;
|
||||
import android.os.Build;
|
||||
import android.view.Gravity;
|
||||
@@ -15,28 +17,40 @@ import android.view.ViewTreeObserver;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
|
||||
import com.blankj.utilcode.util.FragmentUtils;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.base.CommonAppContext;
|
||||
import com.qxcm.moduleutil.bean.UserBean;
|
||||
import com.qxcm.moduleutil.bean.UserInfo;
|
||||
import com.qxcm.moduleutil.utils.LanguageUtil;
|
||||
import com.qxcm.moduleutil.utils.location.LocationProvider;
|
||||
import com.qxcm.moduleutil.utils.location.LocationServiceFactory;
|
||||
import com.qxcm.moduleutil.utils.location.SystemLocationProvider;
|
||||
import com.tencent.imsdk.v2.V2TIMCallback;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo;
|
||||
import com.tencent.qcloud.tuicore.TUILogin;
|
||||
import com.tencent.qcloud.tuicore.interfaces.TUICallback;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewDataBinding> extends BaseAppCompatActivity<VDB> implements IView<Activity> {
|
||||
public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewDataBinding> extends BaseAppCompatActivity<VDB> implements
|
||||
IView<Activity> , LocationProvider.LocationCallback
|
||||
{
|
||||
|
||||
protected P MvpPre;
|
||||
|
||||
protected abstract P bindPresenter();
|
||||
private String city1;
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
@@ -87,9 +101,55 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
LogUtils.e("@@@","成功");
|
||||
|
||||
initLocation();
|
||||
}
|
||||
});
|
||||
}
|
||||
private SystemLocationProvider locationProvider;
|
||||
private void initLocation() {
|
||||
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
|
||||
// 请求定位权限
|
||||
ActivityCompat.requestPermissions(
|
||||
(Activity) this,
|
||||
new String[]{
|
||||
android.Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
Manifest.permission.ACCESS_COARSE_LOCATION
|
||||
},
|
||||
1001 // 自定义常量,比如 1001
|
||||
);
|
||||
}
|
||||
locationProvider = new SystemLocationProvider();
|
||||
|
||||
// 请求一次性的位置信息
|
||||
locationProvider.getLastKnownLocation(this, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationReceived(double latitude, double longitude, String city) {
|
||||
LogUtils.e("当前位置:" + city);
|
||||
city1=city;
|
||||
EventBus.getDefault().post(city1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(String errorMessage) {
|
||||
LogUtils.e("定位失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
|
||||
if (requestCode == 1001) {
|
||||
if (locationProvider==null) {
|
||||
locationProvider = new SystemLocationProvider();
|
||||
}
|
||||
locationProvider.getLastKnownLocation(this, this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void userInfoEvent(UserInfo event) {
|
||||
@@ -174,7 +234,6 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
||||
animator.setDuration(duration);
|
||||
animator.addUpdateListener(animation -> {
|
||||
float value = (float) animation.getAnimatedValue();
|
||||
LogUtils.d("PiaoPing", "translationX = " + value);
|
||||
});
|
||||
animator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
|
||||
import android.view.View;
|
||||
package com.qxcm.moduleutil.adapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.example.modulevocal.R;
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.bean.RechargeBean;
|
||||
|
||||
import java.util.List;
|
||||
@@ -16,6 +16,7 @@ import android.view.ViewTreeObserver;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@@ -29,6 +30,7 @@ import com.qxcm.moduleutil.bean.CircleListBean;
|
||||
import com.qxcm.moduleutil.bean.HeatedBean;
|
||||
import com.qxcm.moduleutil.utils.ImageUtils;
|
||||
import com.qxcm.moduleutil.utils.MeHeadView;
|
||||
import com.qxcm.moduleutil.utils.NumberFormatUtils;
|
||||
import com.qxcm.moduleutil.utils.SpUtil;
|
||||
import com.qxcm.moduleutil.widget.MyGridView;
|
||||
import com.qxcm.moduleutil.widget.img.FullScreenUtil;
|
||||
@@ -37,10 +39,15 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewHolder> {
|
||||
public CirleListAdapter() {
|
||||
super(R.layout.item_cirle_list);
|
||||
}
|
||||
|
||||
public static final int PAGE_HOME = 0; // 首页
|
||||
public static final int PAGE_SEARCH = 2; // 点击头像进入的
|
||||
private int mPageType;
|
||||
|
||||
public CirleListAdapter(int pageType) {
|
||||
super(R.layout.item_cirle_list);
|
||||
this.mPageType = pageType;
|
||||
}
|
||||
public interface OnItemClickListener {
|
||||
void onDianzanClick(CircleListBean item);
|
||||
|
||||
@@ -53,6 +60,8 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
void onPinglunClick(CircleListBean item);
|
||||
|
||||
void onRelaClick(CircleListBean item);
|
||||
|
||||
void onGensui(CircleListBean item);
|
||||
}
|
||||
|
||||
private OnItemClickListener mListener;
|
||||
@@ -69,6 +78,7 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
.addOnClickListener(R.id.diandian)
|
||||
.addOnClickListener(R.id.pinglun)
|
||||
.addOnClickListener(R.id.rela)
|
||||
.addOnClickListener(R.id.gensui)
|
||||
.addOnClickListener(com.qxcm.moduleutil.R.id.zs);
|
||||
|
||||
//先让单图,多图,音频的布局显示
|
||||
@@ -84,7 +94,9 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
|
||||
// 设置点击回调
|
||||
helper.getView(com.qxcm.moduleutil.R.id.dianzan).setOnClickListener(v -> {
|
||||
if (mListener != null) mListener.onDianzanClick(item);
|
||||
if (mListener != null){
|
||||
mListener.onDianzanClick(item);
|
||||
}
|
||||
});
|
||||
|
||||
helper.getView(com.qxcm.moduleutil.R.id.dy_head_image).setOnClickListener(v -> {
|
||||
@@ -106,6 +118,9 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
helper.getView(R.id.rela).setOnClickListener(v -> {
|
||||
if (mListener != null) mListener.onRelaClick(item);
|
||||
});
|
||||
helper.getView(R.id.gensui).setOnClickListener(v -> {
|
||||
if (mListener != null) mListener.onGensui(item);
|
||||
});
|
||||
// 为整个 item 设置点击事件
|
||||
helper.itemView.setOnClickListener(v -> {
|
||||
if (mListener != null) {
|
||||
@@ -196,28 +211,41 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
|
||||
if (item.getIs_like() == 1) {
|
||||
helper.setImageResource(R.id.dianzan_image, R.mipmap.dongtai_hudong_yidianzan);
|
||||
helper.setText(R.id.dy_fabulous, String.valueOf(Integer.parseInt(item.getLike_num()) + 1));
|
||||
// helper.setText(R.id.dy_fabulous, String.valueOf(Integer.parseInt(item.getLike_num()) + 1));
|
||||
} else {
|
||||
helper.setImageResource(R.id.dianzan_image, com.qxcm.moduleutil.R.mipmap.dongtai_hudong_dianzan);
|
||||
helper.setText(R.id.dy_fabulous, item.getLike_num());
|
||||
// helper.setText(R.id.dy_fabulous, item.getLike_num());
|
||||
}
|
||||
|
||||
if (item.getIs_room() != null && item.getIs_room().equals("0")) {
|
||||
helper.setText(R.id.dy_fabulous, item.getLike_num());
|
||||
|
||||
if (mPageType==PAGE_SEARCH){
|
||||
helper.setVisible(R.id.gensui, false);
|
||||
} else if (item.getIs_room() == null) {
|
||||
helper.setVisible(R.id.gensui, false);
|
||||
} else {
|
||||
helper.setVisible(R.id.gensui, true);
|
||||
}else {
|
||||
if (item.getUser_id()==SpUtil.getUserId()){
|
||||
helper.setVisible(R.id.gensui, false);
|
||||
}else {
|
||||
helper.setVisible(R.id.gensui, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (item.getRoom_id() != null && !item.getRoom_id().equals("0")) {
|
||||
helper.setText(R.id.gensui, "跟随");
|
||||
} else if (item.getRoom_id() == null || item.getRoom_id().equals("0")){
|
||||
helper.setText(R.id.gensui, "私信");
|
||||
}
|
||||
//分享数
|
||||
helper.setText(R.id.dy_zs, item.getRewards_num() != null ? item.getRewards_num() : "0");
|
||||
// helper.setText(R.id.dy_zs, item.getRewards_num() != null ? item.getRewards_num() : "0");
|
||||
double rewardNum = item.getRewards_num() != null ? Double.parseDouble(item.getRewards_num()) : 0;
|
||||
helper.setText(R.id.dy_zs, NumberFormatUtils.formatRewardNumber(rewardNum));
|
||||
|
||||
//评论数
|
||||
helper.setText(R.id.dy_comment, item.getComment_num() + "");
|
||||
|
||||
//时间
|
||||
if (!item.getCreatetime().isEmpty()) {
|
||||
try {
|
||||
helper.setText(R.id.dy_time_text, "发布于:" + TimeUtils.millis2String(Long.parseLong(item.getCreatetime()) * 1000));
|
||||
helper.setText(R.id.dy_time_text, TimeUtils.millis2String(Long.parseLong(item.getCreatetime()) * 1000));
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -239,6 +267,8 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
recyclerView.setOnItemClickListener((parent, view, position, id) -> {
|
||||
FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter());
|
||||
});
|
||||
}else {
|
||||
helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (item.getLike_list() == null){
|
||||
@@ -249,11 +279,39 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
||||
helper.getView(R.id.view).setVisibility(GONE);
|
||||
RecyclerView recyclerView= helper.getView(R.id.recycle_view);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
LikeUserAdapter likeUserAdapter = new LikeUserAdapter();
|
||||
LikeUserAdapter<CircleListBean.LikeList> likeUserAdapter = new LikeUserAdapter<>();
|
||||
recyclerView.setAdapter(likeUserAdapter);
|
||||
likeUserAdapter.setNewData(item.getLike_list());
|
||||
helper.setText(R.id.pinglun_tv, item.getLike_num()+"人点赞");
|
||||
}
|
||||
|
||||
}
|
||||
public static final String PAYLOAD_LIKE = "like";
|
||||
|
||||
public void updateLikeStatusOnly(int position, int isLike) {
|
||||
notifyItemChanged(position, PAYLOAD_LIKE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull BaseViewHolder holder, int position, @NonNull List<Object> payloads) {
|
||||
if (payloads.isEmpty()) {
|
||||
onBindViewHolder(holder, position); // 全量绑定
|
||||
} else {
|
||||
for (Object payload : payloads) {
|
||||
if (payload.equals(PAYLOAD_LIKE)) {
|
||||
CircleListBean item = getData().get(position);
|
||||
if (item.getIs_like() == 1) {
|
||||
holder.setImageResource(R.id.dianzan_image, R.mipmap.dongtai_hudong_yidianzan);
|
||||
holder.setText(R.id.dy_fabulous, String.valueOf(Integer.parseInt(item.getLike_num()) + 1));
|
||||
} else {
|
||||
holder.setImageResource(R.id.dianzan_image, com.qxcm.moduleutil.R.mipmap.dongtai_hudong_dianzan);
|
||||
holder.setText(R.id.dy_fabulous, item.getLike_num());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -172,11 +172,11 @@ public class CommentAdapter extends RecyclerView.Adapter<CommentAdapter.CommentV
|
||||
}
|
||||
});
|
||||
|
||||
if (comment.getUser_id()!= SpUtil.getUserId()){
|
||||
btnReply.setVisibility(GONE);
|
||||
}else {
|
||||
btnReply.setVisibility(VISIBLE);
|
||||
}
|
||||
// if (comment.getUser_id()!= SpUtil.getUserId()){
|
||||
// btnReply.setVisibility(GONE);
|
||||
// }else {
|
||||
// btnReply.setVisibility(VISIBLE);
|
||||
// }
|
||||
|
||||
// 添加长按监听
|
||||
itemView.setOnLongClickListener(v -> {
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
package com.qxcm.moduleutil.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.Log;
|
||||
import android.view.GestureDetector;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.bean.RoonGiftModel;
|
||||
import com.qxcm.moduleutil.event.RoomGiftClickToEvent;
|
||||
import com.qxcm.moduleutil.utils.ImageUtils;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
public class GiftRoomAdapter extends BaseAdapter {
|
||||
private final List<RoonGiftModel> mDatas;
|
||||
private final LayoutInflater inflater;
|
||||
private final Context mContext;
|
||||
private final MyGestureDetector gestureDetector;
|
||||
private final String type;
|
||||
/**
|
||||
* 页数下标,从0开始(当前是第几页)
|
||||
*/
|
||||
private final int curIndex;
|
||||
/**
|
||||
* 每一页显示的个数
|
||||
*/
|
||||
private final int pageSize = 100;
|
||||
|
||||
public GiftRoomAdapter(Context context, List<RoonGiftModel> mDatas, int curIndex, String type) {
|
||||
inflater = LayoutInflater.from(context);
|
||||
this.mDatas = mDatas;
|
||||
this.curIndex = curIndex;
|
||||
this.mContext = context;
|
||||
this.type = type;
|
||||
this.gestureDetector = new MyGestureDetector(mContext);
|
||||
}
|
||||
|
||||
/**
|
||||
* 先判断数据集的大小是否足够显示满本页?mDatas.size() > (curIndex+1)*pageSize,
|
||||
* 如果够,则直接返回每一页显示的最大条目个数pageSize,
|
||||
* 如果不够,则有几项返回几,(mDatas.size() - curIndex * pageSize);(也就是最后一页的时候就显示剩余item)
|
||||
*/
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mDatas.size() > (curIndex + 1) * pageSize ? pageSize : (mDatas.size() - curIndex * pageSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RoonGiftModel getItem(int position) {
|
||||
return mDatas.get(position + curIndex * pageSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return position + (long) curIndex * pageSize;
|
||||
}
|
||||
|
||||
private static class MyGestureDetector extends GestureDetector {
|
||||
private static WeakReference<GiftRoomAdapter> sAdapter = new WeakReference<>(null);
|
||||
private static RoonGiftModel sGiftModel;
|
||||
|
||||
public void setGiftModel(GiftRoomAdapter adapter, RoonGiftModel gift) {
|
||||
sAdapter = new WeakReference<>(adapter);
|
||||
sGiftModel = gift;
|
||||
}
|
||||
|
||||
private static final SimpleOnGestureListener sSimpleOnGestureListener = new SimpleOnGestureListener() {
|
||||
@Override
|
||||
public boolean onSingleTapConfirmed(MotionEvent e) {
|
||||
EventBus.getDefault().post(new RoomGiftClickToEvent(sAdapter.get(), sGiftModel, 1));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onDoubleTap(MotionEvent e) {
|
||||
EventBus.getDefault().post(new RoomGiftClickToEvent(sAdapter.get(), sGiftModel, 2));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
public MyGestureDetector(Context context) {
|
||||
super(context, sSimpleOnGestureListener);
|
||||
setOnDoubleTapListener(sSimpleOnGestureListener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressLint({"SetTextI18n", "ClickableViewAccessibility"})
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
ViewHolder viewHolder;
|
||||
RoonGiftModel giftModel = getItem(position);
|
||||
if (convertView == null) {
|
||||
convertView = inflater.inflate(R.layout.item_gift_room, parent, false);
|
||||
viewHolder = new ViewHolder();
|
||||
viewHolder.tv_gift_name = (TextView) convertView.findViewById(R.id.tv_gift_name);
|
||||
viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
|
||||
viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
|
||||
viewHolder.item_layout = (ConstraintLayout) convertView.findViewById(R.id.cl_gift);
|
||||
viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
|
||||
viewHolder.cl_iv_down_on = (ConstraintLayout) convertView.findViewById(R.id.cl_iv_down_on);
|
||||
// viewHolder.tv_gift_num = convertView.findViewById(R.id.tv_gift_num);
|
||||
// viewHolder.tv_gift_change_love_values = convertView.findViewById(R.id.tv_gift_change_love_values);
|
||||
viewHolder.item_layout.setOnTouchListener((v, event) -> {
|
||||
gestureDetector.setGiftModel(GiftRoomAdapter.this, giftModel);
|
||||
gestureDetector.onTouchEvent(event);
|
||||
|
||||
return true;
|
||||
});
|
||||
convertView.setTag(viewHolder);
|
||||
} else {
|
||||
viewHolder = (ViewHolder) convertView.getTag();
|
||||
}
|
||||
/*
|
||||
* 在给View绑定显示的数据时,计算正确的position = position + curIndex * pageSize,
|
||||
*/
|
||||
// viewHolder.tv_gift_num.setVisibility(type.equals("1") ? View.VISIBLE : View.INVISIBLE);
|
||||
// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
|
||||
|
||||
|
||||
//设置礼物名字
|
||||
viewHolder.tv_gift_name.setText(giftModel.getGift_name());
|
||||
//设置礼物价格
|
||||
String surplusTxt = giftModel.getGift_price();
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
|
||||
//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
|
||||
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
|
||||
stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
|
||||
viewHolder.tv_gift_price.setText(stringBuilder);
|
||||
// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
|
||||
|
||||
//加载礼物图片
|
||||
ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
|
||||
//设置选中后的样式
|
||||
|
||||
if (giftModel.isChecked()) {//被选中
|
||||
viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
|
||||
viewHolder.ivDownOn.setVisibility(View.GONE);
|
||||
} else {
|
||||
viewHolder.ivDownOn.setVisibility(View.GONE);
|
||||
viewHolder.cl_iv_down_on.setBackgroundResource(0);
|
||||
}
|
||||
//设置
|
||||
// //设置礼物心动值
|
||||
// if (giftModel.getCardiac().equals("0")) {
|
||||
// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_reduce);
|
||||
// viewHolder.tv_gift_change_love_values.setText(String.format("%s", giftModel.getCardiac()));
|
||||
// } else {
|
||||
// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_add);
|
||||
// viewHolder.tv_gift_change_love_values.setText(String.format("+%s", giftModel.getCardiac()));
|
||||
// }
|
||||
// if (giftModel.isManghe()) {
|
||||
// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
|
||||
static class ViewHolder {
|
||||
public ConstraintLayout item_layout;
|
||||
public TextView tv_gift_name, tv_gift_price, tv_gift_num;
|
||||
public ImageView iv_gift_pic;
|
||||
public TextView tv_gift_change_love_values;
|
||||
public ImageView ivDownOn;
|
||||
public ConstraintLayout cl_iv_down_on;
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,8 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.bean.RoonGiftModel;
|
||||
import com.qxcm.moduleutil.event.RoomGiftClickEvent;
|
||||
import com.qxcm.moduleutil.event.RoomGiftClickToEvent;
|
||||
import com.qxcm.moduleutil.utils.ImageUtils;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -83,15 +85,13 @@ public class GiftTwoAdapter extends BaseAdapter {
|
||||
private static final SimpleOnGestureListener sSimpleOnGestureListener = new SimpleOnGestureListener() {
|
||||
@Override
|
||||
public boolean onSingleTapConfirmed(MotionEvent e) {
|
||||
Log.d("@@", "sGiftModel"+sGiftModel.toString());
|
||||
// EventBus.getDefault().post(new RoomGiftClickEvent(sAdapter.get(), sGiftModel, 1));
|
||||
EventBus.getDefault().post(new RoomGiftClickEvent(sAdapter.get(), sGiftModel, 1));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onDoubleTap(MotionEvent e) {
|
||||
Log.d("@@", "sGiftModel"+sGiftModel.toString());
|
||||
// EventBus.getDefault().post(new RoomGiftClickEvent(sAdapter.get(), sGiftModel, 2));
|
||||
EventBus.getDefault().post(new RoomGiftClickEvent(sAdapter.get(), sGiftModel, 2));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
@@ -118,8 +118,8 @@ public class GiftTwoAdapter extends BaseAdapter {
|
||||
// viewHolder.tv_gift_num = convertView.findViewById(R.id.tv_gift_num);
|
||||
// viewHolder.tv_gift_change_love_values = convertView.findViewById(R.id.tv_gift_change_love_values);
|
||||
viewHolder.item_layout.setOnTouchListener((v, event) -> {
|
||||
// gestureDetector.setGiftModel(GiftTwoAdapter.this, (RoonGiftModel) v.getTag(R.id.id_gift_tag));
|
||||
// gestureDetector.onTouchEvent(event);
|
||||
gestureDetector.setGiftModel(GiftTwoAdapter.this, (RoonGiftModel) v.getTag(R.id.id_gift_tag));
|
||||
gestureDetector.onTouchEvent(event);
|
||||
|
||||
return true;
|
||||
});
|
||||
@@ -135,9 +135,9 @@ public class GiftTwoAdapter extends BaseAdapter {
|
||||
|
||||
RoonGiftModel giftModel = getItem(position);
|
||||
//设置礼物名字
|
||||
viewHolder.tv_gift_name.setText(giftModel.getName());
|
||||
viewHolder.tv_gift_name.setText(giftModel.getGift_name());
|
||||
//设置礼物价格
|
||||
String surplusTxt = giftModel.getPrice();
|
||||
String surplusTxt = giftModel.getGift_price();
|
||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
|
||||
//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
|
||||
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
|
||||
@@ -146,11 +146,11 @@ public class GiftTwoAdapter extends BaseAdapter {
|
||||
// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
|
||||
|
||||
//加载礼物图片
|
||||
ImageUtils.loadImageView(giftModel.getPicture(), viewHolder.iv_gift_pic);
|
||||
ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
|
||||
//设置选中后的样式
|
||||
|
||||
if (giftModel.isChecked()) {//被选中
|
||||
viewHolder.cl_iv_down_on.setBackgroundResource(R.drawable.gift_x);
|
||||
viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
|
||||
viewHolder.ivDownOn.setVisibility(View.GONE);
|
||||
} else {
|
||||
viewHolder.ivDownOn.setVisibility(View.GONE);
|
||||
@@ -165,9 +165,9 @@ public class GiftTwoAdapter extends BaseAdapter {
|
||||
// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_add);
|
||||
// viewHolder.tv_gift_change_love_values.setText(String.format("+%s", giftModel.getCardiac()));
|
||||
// }
|
||||
if (giftModel.isManghe()) {
|
||||
viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
|
||||
}
|
||||
// if (giftModel.isManghe()) {
|
||||
// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@@ -1,36 +1,51 @@
|
||||
package com.qxcm.moduleutil.adapter;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.base.BaseMvpFragment;
|
||||
import com.qxcm.moduleutil.bean.GiftLabelBean;
|
||||
import com.qxcm.moduleutil.bean.RewardUserBean;
|
||||
import com.qxcm.moduleutil.bean.RoonGiftModel;
|
||||
import com.qxcm.moduleutil.bean.WalletBean;
|
||||
import com.qxcm.moduleutil.bean.room.RoomAuction;
|
||||
import com.qxcm.moduleutil.databinding.RoomVpGiftBinding;
|
||||
import com.qxcm.moduleutil.event.GiftDoubleClickEvent;
|
||||
import com.qxcm.moduleutil.event.GiftUserRefreshEvent;
|
||||
import com.qxcm.moduleutil.event.RoomGiftClickEvent;
|
||||
import com.qxcm.moduleutil.event.RoomGiftClickToEvent;
|
||||
import com.qxcm.moduleutil.presenter.RewardGiftContacts;
|
||||
import com.qxcm.moduleutil.presenter.RewardGiftPresenter;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter, RoomVpGiftBinding> implements RewardGiftContacts.View {
|
||||
private String id;
|
||||
private GiftTwoAdapter mAdapter;
|
||||
private GiftRoomAdapter roomAdapter;
|
||||
private String tag;
|
||||
private int pageSize = 100;//一页显示的礼物个数
|
||||
private int pageCount;//页数
|
||||
private int type;//1:房间点击进入的;2:打赏进入的
|
||||
private List<RoonGiftModel> giftList=new ArrayList<>();
|
||||
|
||||
public static GiftTwoDetailsFragment newInstance(String type) {
|
||||
public static GiftTwoDetailsFragment newInstance(String id,int type) {
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putString("id", type);
|
||||
args.putString("id", id);
|
||||
args.putInt("type", type);
|
||||
GiftTwoDetailsFragment fragment = new GiftTwoDetailsFragment();
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
@@ -40,12 +55,13 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
||||
public void initArgs(Bundle arguments) {
|
||||
super.initArgs(arguments);
|
||||
id = arguments.getString("id");
|
||||
type = arguments.getInt("type");
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
// EventBus.getDefault().register(this);
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,13 +71,12 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getGiftList(id);
|
||||
MvpPre.getGiftList(id,type);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -70,18 +85,60 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
||||
}
|
||||
|
||||
|
||||
|
||||
public RoonGiftModel getGiftList() {
|
||||
if (giftList != null) {
|
||||
for (RoonGiftModel item : giftList) {
|
||||
if (item.isChecked()) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public void setGiftList(List<RoonGiftModel> data) {
|
||||
|
||||
pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize);
|
||||
for (int j = 0; j < pageCount; j++) {
|
||||
mAdapter = new GiftTwoAdapter(getActivity(), data, j, "0");
|
||||
mBinding.rvGift.setAdapter(mAdapter);
|
||||
public void setGiftList(List<RoonGiftModel> data,int type) {
|
||||
if (type == 1){
|
||||
giftList=new ArrayList<>();
|
||||
giftList.addAll(data);
|
||||
pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize);
|
||||
for (int j = 0; j < pageCount; j++) {
|
||||
roomAdapter = new GiftRoomAdapter(getActivity(), data, j, "0");
|
||||
mBinding.rvGift.setAdapter(roomAdapter);
|
||||
}
|
||||
}else {
|
||||
giftList=new ArrayList<>();
|
||||
giftList.addAll(data);
|
||||
pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize);
|
||||
for (int j = 0; j < pageCount; j++) {
|
||||
// mAdapter = new GiftTwoAdapter(getActivity(), data, j, "0");
|
||||
// mBinding.rvGift.setAdapter(mAdapter);
|
||||
roomAdapter = new GiftRoomAdapter(getActivity(), data, j, "0");
|
||||
mBinding.rvGift.setAdapter(roomAdapter);
|
||||
}
|
||||
}
|
||||
// EventBus.getDefault().post(new RoomGiftEvent(data));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void giveGift() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wallet(WalletBean walletBean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reward_zone() {
|
||||
ToastUtils.showShort("打赏成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void roomAuctionJoin(RoomAuction.AuctionListBean auctionListBean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getRewardList(List<RewardUserBean> rewardUserBeanList) {
|
||||
|
||||
@@ -92,5 +149,97 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftClicRoomkEvent(RoomGiftClickEvent event) {
|
||||
if (giftList == null){
|
||||
giftList = new ArrayList<>();
|
||||
giftList.add(event.gift);
|
||||
}
|
||||
if (event.type == 1) {
|
||||
String id = event.gift.getGift_id();
|
||||
for (int i = 0; i < giftList.size(); i++) {
|
||||
RoonGiftModel giftModel = giftList.get(i);
|
||||
if (giftModel.getGift_id().equals(id)) {
|
||||
if (!giftModel.isChecked()) {
|
||||
EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift));
|
||||
giftModel.setChecked(true);
|
||||
}
|
||||
} else {
|
||||
giftModel.setChecked(false);
|
||||
}
|
||||
}
|
||||
if (event.adapter != null && event.adapter.get() != null) {
|
||||
event.adapter.get().notifyDataSetChanged();
|
||||
}
|
||||
} else if (event.type == 2) {
|
||||
String id = event.gift.getGift_id();
|
||||
RoonGiftModel selGift = null;
|
||||
for (int i = 0; i < giftList.size(); i++) {
|
||||
RoonGiftModel giftModel = giftList.get(i);
|
||||
if (giftModel.getGift_id().equals(id)) {
|
||||
selGift = giftModel;
|
||||
if (!giftModel.isChecked()) {
|
||||
EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift));
|
||||
giftModel.setChecked(true);
|
||||
}
|
||||
} else {
|
||||
giftModel.setChecked(false);
|
||||
}
|
||||
}
|
||||
if (event.adapter != null && event.adapter.get() != null) {
|
||||
event.adapter.get().notifyDataSetChanged();
|
||||
}
|
||||
if (selGift != null) {
|
||||
EventBus.getDefault().post(new GiftDoubleClickEvent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftClicRoomkTEvent(RoomGiftClickToEvent event) {
|
||||
if (giftList == null){
|
||||
giftList = new ArrayList<>();
|
||||
giftList.add(event.gift);
|
||||
}
|
||||
if (event.type == 1) {
|
||||
String id = event.gift.getGift_id();
|
||||
for (int i = 0; i < giftList.size(); i++) {
|
||||
RoonGiftModel giftModel = giftList.get(i);
|
||||
if (giftModel.getGift_id().equals(id)) {
|
||||
if (!giftModel.isChecked()) {
|
||||
EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift));
|
||||
giftModel.setChecked(true);
|
||||
}
|
||||
} else {
|
||||
giftModel.setChecked(false);
|
||||
}
|
||||
}
|
||||
if (event.adapter != null && event.adapter.get() != null) {
|
||||
event.adapter.get().notifyDataSetChanged();
|
||||
}
|
||||
} else if (event.type == 2) {
|
||||
String id = event.gift.getGift_id();
|
||||
RoonGiftModel selGift = null;
|
||||
for (int i = 0; i < giftList.size(); i++) {
|
||||
RoonGiftModel giftModel = giftList.get(i);
|
||||
if (giftModel.getGift_id().equals(id)) {
|
||||
selGift = giftModel;
|
||||
if (!giftModel.isChecked()) {
|
||||
EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift));
|
||||
giftModel.setChecked(true);
|
||||
}
|
||||
} else {
|
||||
giftModel.setChecked(false);
|
||||
}
|
||||
}
|
||||
if (event.adapter != null && event.adapter.get() != null) {
|
||||
event.adapter.get().notifyDataSetChanged();
|
||||
}
|
||||
if (selGift != null) {
|
||||
EventBus.getDefault().post(new GiftDoubleClickEvent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,7 +5,11 @@ import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.bean.CircleListBean;
|
||||
import com.qxcm.moduleutil.utils.ImageUtils;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/10
|
||||
*@description: 点赞适配
|
||||
*/
|
||||
public class LikeListAdapter extends BaseQuickAdapter<CircleListBean.LikeList, BaseViewHolder> {
|
||||
public LikeListAdapter() {
|
||||
super(R.layout.item_like_list);
|
||||
|
||||
@@ -4,15 +4,25 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.qxcm.moduleutil.R;
|
||||
import com.qxcm.moduleutil.bean.CircleListBean;
|
||||
import com.qxcm.moduleutil.bean.room.RoomOnlineBean;
|
||||
import com.qxcm.moduleutil.utils.ImageUtils;
|
||||
|
||||
public class LikeUserAdapter extends BaseQuickAdapter<CircleListBean.LikeList, BaseViewHolder> {
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/10
|
||||
*@description: 显示用户小头像
|
||||
*/
|
||||
public class LikeUserAdapter<T> extends BaseQuickAdapter<T, BaseViewHolder> {
|
||||
public LikeUserAdapter() {
|
||||
super(R.layout.item_like_user);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, CircleListBean.LikeList item) {
|
||||
ImageUtils.loadHeadCC(item.getAvatar(), helper.getView(R.id.user_icon));
|
||||
protected void convert(BaseViewHolder helper,T item) {
|
||||
if (item instanceof CircleListBean.LikeList) {
|
||||
ImageUtils.loadHeadCC(((CircleListBean.LikeList) item).getAvatar(), helper.getView(R.id.user_icon));
|
||||
} else {
|
||||
// 可扩展:通过接口回调获取头像 URL
|
||||
ImageUtils.loadHeadCC(((RoomOnlineBean) item).getAvatar(), helper.getView(R.id.user_icon));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.qxcm.moduleutil.adapter;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -73,18 +76,19 @@ public class ReplyAdapter extends RecyclerView.Adapter<ReplyAdapter.ReplyViewHol
|
||||
return isExpanded ? replyList.size() : Math.min(2, replyList.size());
|
||||
}
|
||||
|
||||
static class ReplyViewHolder extends RecyclerView.ViewHolder {
|
||||
class ReplyViewHolder extends RecyclerView.ViewHolder {
|
||||
private TextView tvNickname;
|
||||
private TextView tvContent;
|
||||
private TextView btnReply;
|
||||
private TextView tvTime;
|
||||
|
||||
private TextView btnShowAllReplies;
|
||||
public ReplyViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
tvNickname = itemView.findViewById(R.id.tv_name);
|
||||
tvContent = itemView.findViewById(R.id.tv_reply);
|
||||
btnReply = itemView.findViewById(R.id.btn_reply);
|
||||
tvTime = itemView.findViewById(R.id.tv_time);
|
||||
// btnShowAllReplies = itemView.findViewById(R.id.btn_show_all_replies);
|
||||
}
|
||||
|
||||
public void bind(CommentBean.CommentDetailsBean.Replies reply,int position, OnReplyClickListener listener,OnReplyLongClickListener longClickListener) {
|
||||
@@ -110,7 +114,14 @@ public class ReplyAdapter extends RecyclerView.Adapter<ReplyAdapter.ReplyViewHol
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
// 控制“全部评论...”按钮的显示
|
||||
// btnShowAllReplies.setVisibility(position > 2 ? VISIBLE : GONE);
|
||||
//
|
||||
// btnShowAllReplies.setOnClickListener(v -> {
|
||||
//// replyAdapter.setExpanded(true); // 展开所有评论
|
||||
// notifyDataSetChanged(); // 刷新适配器
|
||||
// btnShowAllReplies.setVisibility(GONE); // 隐藏按钮
|
||||
// });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,7 @@ public abstract class BaseMvpDialogFragment<P extends IPresenter, VDM extends Vi
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
|
||||
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
|
||||
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
if (isAnimation) {
|
||||
window.setWindowAnimations(R.style.CommonShowDialogBottom);
|
||||
}
|
||||
|
||||
@@ -34,14 +34,13 @@ import com.lahm.library.EmulatorCheckCallback;
|
||||
import com.qxcm.moduleutil.bean.UserBean;
|
||||
import com.qxcm.moduleutil.event.AppLifecycleEvent;
|
||||
import com.qxcm.moduleutil.interfaces.AppLifecycleUtil;
|
||||
import com.qxcm.moduleutil.rtc.RtcManager;
|
||||
import com.qxcm.moduleutil.utils.FloatWindowHelper;
|
||||
import com.qxcm.moduleutil.utils.SPConstants;
|
||||
import com.qxcm.moduleutil.utils.SpUtil;
|
||||
import com.qxcm.moduleutil.utils.UtilConfig;
|
||||
import com.qxcm.moduleutil.utils.config.EnvironmentEnum;
|
||||
import com.qxcm.moduleutil.utils.config.EnvironmentPrefs;
|
||||
import com.qxcm.moduleutil.widget.CommonAppConfig;
|
||||
import com.qxcm.moduleutil.widget.Constants;
|
||||
import com.qxcm.moduleutil.widget.CustomRefreshHeader;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.api.DefaultRefreshFooterCreator;
|
||||
@@ -58,9 +57,7 @@ import java.security.MessageDigest;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@@ -78,6 +75,14 @@ public class CommonAppContext extends MultiDexApplication {
|
||||
@Getter
|
||||
private EnvironmentEnum currentEnvironment;
|
||||
public UserBean mUserBean;
|
||||
|
||||
public boolean isShow;
|
||||
public boolean isPlaying;
|
||||
|
||||
public String playId;
|
||||
public String playCover;
|
||||
public boolean showSelf;//盲盒是否能送自己
|
||||
public String playName;
|
||||
private final ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
|
||||
private ScheduledExecutorService scheduledExecutorServiceRoom = null;
|
||||
|
||||
@@ -96,6 +101,7 @@ public class CommonAppContext extends MultiDexApplication {
|
||||
UtilConfig.checkInEmulator();
|
||||
}
|
||||
}
|
||||
// RtcManager.instance(this);
|
||||
EnvironmentPrefs prefs = new EnvironmentPrefs(this);
|
||||
currentEnvironment = prefs.getSelectedEnvironment();
|
||||
}
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BlackUserBean {
|
||||
private String userName;
|
||||
private String userId;
|
||||
private String userAvatar;
|
||||
|
||||
private int type;//0:关注;1:黑名单;2:粉丝
|
||||
private int status;//0:未关注 1:已关注
|
||||
|
||||
private int user_id;
|
||||
private String createTime;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private int sex;
|
||||
private String user_code;
|
||||
private int is_online;
|
||||
private int is_follow;
|
||||
private List<String> icon;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,298 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
|
||||
import com.qxcm.moduleutil.bean.room.RankInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目名称 qipao-android
|
||||
* 包名:com.qpyy.room.bean
|
||||
* 创建人 黄强
|
||||
* 创建时间 2020/7/25 14:38
|
||||
* 描述 describe
|
||||
*/
|
||||
public class CharmRankingResp {
|
||||
private MyBean my;
|
||||
private List<ListsBean> lists;
|
||||
|
||||
public MyBean getMy() {
|
||||
return my;
|
||||
}
|
||||
|
||||
public void setMy(MyBean my) {
|
||||
this.my = my;
|
||||
}
|
||||
|
||||
public List<ListsBean> getLists() {
|
||||
return lists;
|
||||
}
|
||||
|
||||
public void setLists(List<ListsBean> lists) {
|
||||
this.lists = lists;
|
||||
}
|
||||
|
||||
public static class MyBean {
|
||||
/**
|
||||
* head_picture : https://gudao-prod.oss-cn-hangzhou.aliyuncs.com/android_images/577547/20200331141523_1585635321420.png
|
||||
* nickname : 687592
|
||||
* user_id : 577547
|
||||
* level : 55
|
||||
* number : 0
|
||||
* rank : -1
|
||||
* diff : 52474
|
||||
* rank_info : {"rank_id":"55","rank_name":1000,"nobility_id":0,"nobility_name":"","picture":""}
|
||||
*/
|
||||
|
||||
private String head_picture;
|
||||
private String nickname;
|
||||
private String user_id;
|
||||
private String level;
|
||||
private String number;
|
||||
private int rank;
|
||||
private String diff;
|
||||
private String sex;
|
||||
private String number_format;
|
||||
|
||||
public String getNumber_format() {
|
||||
return number_format;
|
||||
}
|
||||
|
||||
public void setNumber_format(String number_format) {
|
||||
this.number_format = number_format;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
private RankInfo rank_info;
|
||||
private String nobility_icon;
|
||||
private String level_icon;
|
||||
|
||||
public String getNobility_icon() {
|
||||
return nobility_icon;
|
||||
}
|
||||
|
||||
public void setNobility_icon(String nobility_icon) {
|
||||
this.nobility_icon = nobility_icon;
|
||||
}
|
||||
|
||||
public String getLevel_icon() {
|
||||
return level_icon;
|
||||
}
|
||||
|
||||
public void setLevel_icon(String level_icon) {
|
||||
this.level_icon = level_icon;
|
||||
}
|
||||
|
||||
public String getHead_picture() {
|
||||
return head_picture;
|
||||
}
|
||||
|
||||
public void setHead_picture(String head_picture) {
|
||||
this.head_picture = head_picture;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return nickname;
|
||||
}
|
||||
|
||||
public void setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
}
|
||||
|
||||
public String getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(String user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public void setLevel(String level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
public void setRank(int rank) {
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
public String getDiff() {
|
||||
return diff;
|
||||
}
|
||||
|
||||
public void setDiff(String diff) {
|
||||
this.diff = diff;
|
||||
}
|
||||
|
||||
public RankInfo getRank_info() {
|
||||
return rank_info;
|
||||
}
|
||||
|
||||
public void setRank_info(RankInfo rank_info) {
|
||||
this.rank_info = rank_info;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ListsBean {
|
||||
/**
|
||||
* user_id : 642649
|
||||
* number : 43280001
|
||||
* head_picture : https://gudao-prod.oss-cn-hangzhou.aliyuncs.com/android_images/642649/20200601132728_1590989246548.jpeg
|
||||
* nickname : 109179
|
||||
* level : 4
|
||||
* sex : 1
|
||||
* nobility_icon : http://gudao-prod.oss-cn-hangzhou.aliyuncs.com/admin_images/5e71d1ef847ba.png
|
||||
* rank : 1
|
||||
* rank_info : {"rank_id":"4","rank_name":4,"nobility_id":6,"nobility_name":"帝皇","picture":""}
|
||||
*/
|
||||
|
||||
private String user_id;
|
||||
private String number;
|
||||
private String head_picture;
|
||||
private String nickname;
|
||||
private String level;
|
||||
private String sex;
|
||||
private String nobility_icon;
|
||||
private String level_icon;
|
||||
private String user_code;
|
||||
private int rank;
|
||||
private RankInfo rank_info;
|
||||
private String number_format;
|
||||
private String good_number;
|
||||
private String id_color;
|
||||
|
||||
public String getUser_code() {
|
||||
return user_code;
|
||||
}
|
||||
|
||||
public void setUser_code(String user_code) {
|
||||
this.user_code = user_code;
|
||||
}
|
||||
|
||||
public String getNumber_format() {
|
||||
return number_format;
|
||||
}
|
||||
|
||||
public void setNumber_format(String number_format) {
|
||||
this.number_format = number_format;
|
||||
}
|
||||
|
||||
public String getLevel_icon() {
|
||||
return level_icon;
|
||||
}
|
||||
|
||||
public void setLevel_icon(String level_icon) {
|
||||
this.level_icon = level_icon;
|
||||
}
|
||||
|
||||
public String getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(String user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public String getHead_picture() {
|
||||
return head_picture;
|
||||
}
|
||||
|
||||
public void setHead_picture(String head_picture) {
|
||||
this.head_picture = head_picture;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return nickname;
|
||||
}
|
||||
|
||||
public void setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public void setLevel(String level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
public String getNobility_icon() {
|
||||
return nobility_icon;
|
||||
}
|
||||
|
||||
public void setNobility_icon(String nobility_icon) {
|
||||
this.nobility_icon = nobility_icon;
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
public void setRank(int rank) {
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
public RankInfo getRank_info() {
|
||||
return rank_info;
|
||||
}
|
||||
|
||||
public void setRank_info(RankInfo rank_info) {
|
||||
this.rank_info = rank_info;
|
||||
}
|
||||
|
||||
public String getGood_number() {
|
||||
return good_number;
|
||||
}
|
||||
|
||||
public void setGood_number(String good_number) {
|
||||
this.good_number = good_number;
|
||||
}
|
||||
|
||||
public String getId_color() {
|
||||
return id_color;
|
||||
}
|
||||
|
||||
public void setId_color(String id_color) {
|
||||
this.id_color = id_color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
public class ExpandColumnBean {
|
||||
private String id;
|
||||
private String user_id;
|
||||
private String sex;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FromUserInfo {
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String user_id;
|
||||
private List<String> icon;
|
||||
}
|
||||
@@ -1,51 +1,15 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiftBean {
|
||||
|
||||
private String number;
|
||||
private String gift_id;
|
||||
private String name;
|
||||
private String picture;
|
||||
private String price;
|
||||
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public String getGift_id() {
|
||||
return gift_id;
|
||||
}
|
||||
|
||||
public void setGift_id(String gift_id) {
|
||||
this.gift_id = gift_id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getPicture() {
|
||||
return picture;
|
||||
}
|
||||
|
||||
public void setPicture(String picture) {
|
||||
this.picture = picture;
|
||||
}
|
||||
|
||||
public String getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(String price) {
|
||||
this.price = price;
|
||||
}
|
||||
private String gift_name;
|
||||
private String gift_price;
|
||||
private int file_type;
|
||||
private String play_image;
|
||||
private String base_image;
|
||||
private String gift_type;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@ import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiftLabelBean {
|
||||
private String label;
|
||||
private String id;
|
||||
private String name;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HostBean {
|
||||
private String id;
|
||||
private String user_id;
|
||||
private String room_id;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String sex;
|
||||
private String type;//类型 1:主持人 2:管理员
|
||||
private String ratio;//主持人收益比
|
||||
private List<String> icon;//
|
||||
private String earnings;//收益
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class MixerResp {
|
||||
private int id;
|
||||
private String name;
|
||||
private int imgUrtl;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import com.alibaba.fastjson.serializer.SerializeBeanInfo;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/19
|
||||
*@description: 已点歌曲实体
|
||||
*/
|
||||
@Data
|
||||
public class MusicSongBean implements Serializable {
|
||||
|
||||
private String did;//歌曲id
|
||||
private String room_id;
|
||||
private String song_code;//歌曲唯一标识
|
||||
private String song_name;//歌曲名称
|
||||
private String singer;//歌手
|
||||
private String poster;//封面
|
||||
private String duration;//播放时长
|
||||
private int sort;//
|
||||
private String user_id;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String dress;
|
||||
private String charm;
|
||||
private int is_hot;//是否是主持,并且是在9号麦位上
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/7/1
|
||||
*@description: cp房实体类
|
||||
*/
|
||||
@Data
|
||||
public class MyCpRoom {
|
||||
private String room_name;
|
||||
private int room_number;
|
||||
private String end_time;
|
||||
private String user1_avatar;
|
||||
private String user2_avatar;
|
||||
private int earnings;
|
||||
private String relation;
|
||||
private String room_id;
|
||||
}
|
||||
@@ -2,113 +2,27 @@ package com.qxcm.moduleutil.bean;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class MyFootResp {
|
||||
|
||||
private String room_name;
|
||||
private String room_number;//房间号
|
||||
private String room_name;//房间名称
|
||||
private String room_code;
|
||||
private String popularity;
|
||||
private String label_name;
|
||||
private String label_icon;
|
||||
private String label_icon;//房间标签图标
|
||||
private String owner_picture;
|
||||
private String owner_nickname;
|
||||
private String room_id;
|
||||
private String room_id;//房间id
|
||||
private int locked;
|
||||
private String label_id; //房间标签id
|
||||
private String room_intro; //房间简介
|
||||
private String room_cover;//房间封面
|
||||
|
||||
private String cover_picture;
|
||||
private String label_id;
|
||||
private String user_count;//人数
|
||||
|
||||
public String getLabel_id() {
|
||||
return label_id;
|
||||
}
|
||||
private String room_password;//密码
|
||||
|
||||
public void setLabel_id(String label_id) {
|
||||
this.label_id = label_id;
|
||||
}
|
||||
|
||||
public String getRoomPicture() {
|
||||
if (!TextUtils.isEmpty(cover_picture)) {
|
||||
return cover_picture;
|
||||
}
|
||||
return owner_picture;
|
||||
}
|
||||
|
||||
public String getCover_picture() {
|
||||
return cover_picture;
|
||||
}
|
||||
|
||||
public void setCover_picture(String cover_picture) {
|
||||
this.cover_picture = cover_picture;
|
||||
}
|
||||
|
||||
public int getLocked() {
|
||||
return locked;
|
||||
}
|
||||
|
||||
public void setLocked(int locked) {
|
||||
this.locked = locked;
|
||||
}
|
||||
|
||||
public String getRoom_id() {
|
||||
return room_id;
|
||||
}
|
||||
|
||||
public void setRoom_id(String room_id) {
|
||||
this.room_id = room_id;
|
||||
}
|
||||
|
||||
public String getRoom_name() {
|
||||
return room_name;
|
||||
}
|
||||
|
||||
public void setRoom_name(String room_name) {
|
||||
this.room_name = room_name;
|
||||
}
|
||||
|
||||
public String getRoom_code() {
|
||||
return room_code;
|
||||
}
|
||||
|
||||
public void setRoom_code(String room_code) {
|
||||
this.room_code = room_code;
|
||||
}
|
||||
|
||||
public String getPopularity() {
|
||||
return popularity;
|
||||
}
|
||||
|
||||
public void setPopularity(String popularity) {
|
||||
this.popularity = popularity;
|
||||
}
|
||||
|
||||
public String getLabel_name() {
|
||||
return label_name;
|
||||
}
|
||||
|
||||
public void setLabel_name(String label_name) {
|
||||
this.label_name = label_name;
|
||||
}
|
||||
|
||||
public String getLabel_icon() {
|
||||
return label_icon;
|
||||
}
|
||||
|
||||
public void setLabel_icon(String label_icon) {
|
||||
this.label_icon = label_icon;
|
||||
}
|
||||
|
||||
public String getOwner_picture() {
|
||||
return owner_picture;
|
||||
}
|
||||
|
||||
public void setOwner_picture(String owner_picture) {
|
||||
this.owner_picture = owner_picture;
|
||||
}
|
||||
|
||||
public String getOwner_nickname() {
|
||||
return owner_nickname;
|
||||
}
|
||||
|
||||
public void setOwner_nickname(String owner_nickname) {
|
||||
this.owner_nickname = owner_nickname;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author qx
|
||||
* @data 2025/6/11
|
||||
* @description: 我创建的房间
|
||||
*/
|
||||
@Data
|
||||
public class MyRoomBean {
|
||||
|
||||
/*
|
||||
@@ -15,103 +25,49 @@ public class MyRoomBean {
|
||||
"today_income": 0
|
||||
*/
|
||||
|
||||
private String room_id;
|
||||
private String room_number;
|
||||
private String user_id;
|
||||
private String nickname;
|
||||
private String room_name; //房间名称
|
||||
private int room_id; //房间ID
|
||||
private String label_id; //房间类型
|
||||
private String room_cover;//房间封面
|
||||
private String apply_status;//房间状态,1:申请中,2:申请通过,3:申请被拒绝
|
||||
private String room_status;//房间状态,1:正常,2:封禁3:关闭
|
||||
private String room_password;//房间密码
|
||||
private String type_id;//房间类型id
|
||||
private String type_name;//类型名称
|
||||
private String label_icon; //分类图标
|
||||
private String label_id; //分类id
|
||||
private String is_user_code;//是否使用靓号1:是,0:否
|
||||
private String today_profit;//今日收益
|
||||
private int online_num; //房间在线人数
|
||||
private int visit_num;//访问人数
|
||||
private int follow_num;//房间关注人数
|
||||
private String ratio;//房间提成
|
||||
|
||||
private List<CpRoom> cp_room;
|
||||
|
||||
private String room_intro;//房间介绍
|
||||
private String user_count;//房间人数
|
||||
private String label_name; //房间类型名称
|
||||
private String cover_picture; //房间图片
|
||||
private String label_icon; //房间类型图标
|
||||
private String online_num; //房间在线人数
|
||||
private String favorite_count; //房间收藏数
|
||||
private String come_count; //房间进入数
|
||||
private Double today_income; //今日收益;
|
||||
private int earnings_ratio;//房间收益比例
|
||||
|
||||
public int getEarnings_ratio() {
|
||||
return earnings_ratio;
|
||||
@Data
|
||||
static class CpRoom {
|
||||
private String id;
|
||||
private String room_name;
|
||||
private String room_number;
|
||||
|
||||
private String end_time;
|
||||
|
||||
private String earnings;
|
||||
|
||||
private String user1_avatar;
|
||||
|
||||
private String user2_avatar;
|
||||
}
|
||||
|
||||
public void setEarnings_ratio(int earnings_ratio) {
|
||||
this.earnings_ratio = earnings_ratio;
|
||||
}
|
||||
|
||||
public String getRoom_name() {
|
||||
return room_name;
|
||||
}
|
||||
|
||||
public void setRoom_name(String room_name) {
|
||||
this.room_name = room_name;
|
||||
}
|
||||
|
||||
public int getRoom_id() {
|
||||
return room_id;
|
||||
}
|
||||
|
||||
public void setRoom_id(int room_id) {
|
||||
this.room_id = room_id;
|
||||
}
|
||||
|
||||
public String getLabel_id() {
|
||||
return label_id;
|
||||
}
|
||||
|
||||
public void setLabel_id(String label_id) {
|
||||
this.label_id = label_id;
|
||||
}
|
||||
|
||||
public String getLabel_name() {
|
||||
return label_name;
|
||||
}
|
||||
|
||||
public void setLabel_name(String label_name) {
|
||||
this.label_name = label_name;
|
||||
}
|
||||
|
||||
public String getCover_picture() {
|
||||
return cover_picture;
|
||||
}
|
||||
|
||||
public void setCover_picture(String cover_picture) {
|
||||
this.cover_picture = cover_picture;
|
||||
}
|
||||
|
||||
public String getLabel_icon() {
|
||||
return label_icon;
|
||||
}
|
||||
|
||||
public void setLabel_icon(String label_icon) {
|
||||
this.label_icon = label_icon;
|
||||
}
|
||||
|
||||
public String getOnline_num() {
|
||||
return online_num;
|
||||
}
|
||||
|
||||
public void setOnline_num(String online_num) {
|
||||
this.online_num = online_num;
|
||||
}
|
||||
|
||||
public String getFavorite_count() {
|
||||
return favorite_count;
|
||||
}
|
||||
|
||||
public void setFavorite_count(String favorite_count) {
|
||||
this.favorite_count = favorite_count;
|
||||
}
|
||||
|
||||
public String getCome_count() {
|
||||
return come_count;
|
||||
}
|
||||
|
||||
public void setCome_count(String come_count) {
|
||||
this.come_count = come_count;
|
||||
}
|
||||
|
||||
public Double getToday_income() {
|
||||
return today_income;
|
||||
}
|
||||
|
||||
public void setToday_income(Double today_income) {
|
||||
this.today_income = today_income;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
public class RefreshEvent {
|
||||
private String roomId;
|
||||
|
||||
public RefreshEvent(String roomId) {
|
||||
this.roomId = roomId;
|
||||
}
|
||||
|
||||
public String getRoomId() {
|
||||
return roomId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/16
|
||||
*@description: 关系信息
|
||||
*/
|
||||
@Data
|
||||
public class RelationshipBean {
|
||||
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String relation;
|
||||
private String nickname2;
|
||||
private String avatar2;
|
||||
private String time;
|
||||
}
|
||||
@@ -9,4 +9,6 @@ public class RewardUserBean {
|
||||
private String avatar;
|
||||
private String is_online;
|
||||
private String total_price;
|
||||
private String pit_number;
|
||||
private boolean isSelect = false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||
import com.qxcm.moduleutil.RoomAutionTimeBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/28
|
||||
*@description: 拍卖房中选择对应的关系和礼物、时间
|
||||
*/
|
||||
@Data
|
||||
public class RoomAuctionABean implements MultiItemEntity {
|
||||
|
||||
private int itemType;
|
||||
|
||||
private List<RoomRelationBean> roomRelationBeanList;
|
||||
private List<RoomAutionTimeBean> roomTimeBeanList;
|
||||
private List<RoonGiftModel> roomGiftBeanList;
|
||||
|
||||
@Override
|
||||
public int getItemType() {
|
||||
return itemType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomBgBean {
|
||||
private List<RoomBg> public_bg;
|
||||
private List<RoomBg> private_bg;
|
||||
|
||||
|
||||
@Data
|
||||
public static class RoomBg{
|
||||
private String id;//图片id
|
||||
private String image_name;//图片名称
|
||||
private String image_url;//图片地址
|
||||
private String upload_user;//上传用户id
|
||||
private String image_size;//大小
|
||||
private String status;//状态 1 正常 2 删除
|
||||
private String createtime;//创建时间
|
||||
|
||||
private boolean isPublic; // 是否是公共背景
|
||||
private boolean isAddButton; // 是否是添加按钮项
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/20
|
||||
*@description: 房间魅力排行
|
||||
*/
|
||||
@Data
|
||||
public class RoomCharmRankBean {
|
||||
private String user_id;//用户ID
|
||||
private String nickname;//昵称
|
||||
private String avatar;//头像
|
||||
private String dress;//装扮
|
||||
private String charm;//魅力值
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomHostUserBean {
|
||||
|
||||
private String user_id;
|
||||
private String user_code;
|
||||
private String nickname;
|
||||
private String head_picture;
|
||||
private String sex;
|
||||
private String follow;
|
||||
private String fans_count;
|
||||
private String online_text;
|
||||
private String good_number;
|
||||
private String id_color;
|
||||
private int age;
|
||||
private String level_icon;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/12
|
||||
*@description: 输入文字,传递给聊天室PublicScreenEaseChatFragment
|
||||
*/
|
||||
public class RoomInputEvent {
|
||||
public String text;
|
||||
public RoomInputEvent(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import com.qxcm.moduleutil.bean.room.AuctionBean;
|
||||
import com.qxcm.moduleutil.bean.room.RoomAuction;
|
||||
import com.qxcm.moduleutil.bean.room.RoomBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomMessageEvent {
|
||||
private int MsgType; // 消息类型,如 QXRoomMessageTypeJoin
|
||||
private String RoomId; // 房间 ID
|
||||
private T Text; // 携带的数据对象
|
||||
|
||||
public RoomMessageEvent(int msgType, String roomId, T text) {
|
||||
MsgType = msgType;
|
||||
RoomId = roomId;
|
||||
Text = text;
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
public static class T {
|
||||
private String text;
|
||||
private String GiftNum;
|
||||
private String pit_number;
|
||||
private String jia_jia;
|
||||
private UserInfo FromUserInfo;
|
||||
private UserInfo ToUserInfo;
|
||||
private GiftBean GiftInfo;
|
||||
private int room_up_pit_type;
|
||||
private MusicSongBean songInfo;
|
||||
private MusicSongBean nextInfo;
|
||||
private int action;
|
||||
private int total;
|
||||
private RoomBean RoomInfo;
|
||||
private RoomAuction.AuctionUserBean auction_user;
|
||||
private List<RoomAuction.AuctionListBean> auction_list;
|
||||
private long duration;//时间
|
||||
private RoomAuction.AuctionListBean recipient;//是否成功,有值的是成功的,没有值的时候,是失败的
|
||||
private int type;//拍卖者,1:上麦、2:下麦
|
||||
private String hot_value;
|
||||
private String SendRoomId;//发起者所在的房间ID
|
||||
private String AcceptRoomId;//接收者所在的房间id
|
||||
private String PkId;
|
||||
private String room_id;//当type==1的时候。这个roomId是对方的房间id
|
||||
private String user_id;
|
||||
private String pk_end_times;//pk结束时间
|
||||
|
||||
private String room_id_a;//发起者房间id
|
||||
private String room_id_b;//接收者房间id
|
||||
private String create_value_a;//发起者房间值
|
||||
private String receive_value_b;//接受者房间值
|
||||
private String pk_id;
|
||||
|
||||
private String victory_name;//胜利的名称
|
||||
private String victory_cover;//胜利的头像
|
||||
private String defeated_name;//输掉的名称
|
||||
private String defeated_cover;//输掉的头像
|
||||
private String end_time;//惩罚时间
|
||||
private int is_mute;//1:静音对方 0:不静音对方
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class text {
|
||||
private long position;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
@Data
|
||||
public class RoomMessageEvent1 {
|
||||
private int MsgType; // 消息类型,如 QXRoomMessageTypeJoin
|
||||
private String RoomId; // 房间 ID
|
||||
private RoomMessageEvent.T Text; // 携带的数据对象
|
||||
|
||||
public RoomMessageEvent1(int msgType, String roomId, RoomMessageEvent.T text) {
|
||||
MsgType = msgType;
|
||||
RoomId = roomId;
|
||||
Text = text;
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
public static class T {
|
||||
private String text;
|
||||
private String GiftNum;
|
||||
|
||||
private UserInfo FromUserInfo;
|
||||
private UserInfo ToUserInfo;
|
||||
private GiftBean GiftInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class RoomMessageManager {
|
||||
|
||||
private static final RoomMessageManager instance = new RoomMessageManager();
|
||||
|
||||
private RoomMessageManager() {}
|
||||
|
||||
public static RoomMessageManager getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收原始消息,转换后发送到 EventBus
|
||||
*/
|
||||
public void onNewMessage(String roomId, int msgType, RoomMessageEvent.T data) {
|
||||
RoomMessageEvent event = new RoomMessageEvent(msgType, roomId, data);
|
||||
EventBus.getDefault().post(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册监听器(如 Fragment 或 Activity)
|
||||
*/
|
||||
public void register(Object subscriber) {
|
||||
if (!EventBus.getDefault().isRegistered(subscriber)) {
|
||||
EventBus.getDefault().register(subscriber);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 反注册监听器
|
||||
*/
|
||||
public void unregister(Object subscriber) {
|
||||
if (EventBus.getDefault().isRegistered(subscriber)) {
|
||||
EventBus.getDefault().unregister(subscriber);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/28
|
||||
*@description: 房间中根据类型获取到的关系实体
|
||||
*/
|
||||
@Data
|
||||
public class RoomRelationBean {
|
||||
private String relation_id;//关系id
|
||||
private String name;//关系名称
|
||||
private String type;//1:真爱拍;2:亲密拍
|
||||
private String icon;//图标
|
||||
private boolean isSelected;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomSearchResp {
|
||||
private String id;
|
||||
private String name;
|
||||
private String pictrue;
|
||||
private String code;
|
||||
private List<String> icon;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/17
|
||||
*@description: 清楚消息
|
||||
*/
|
||||
@Data
|
||||
public class RoomSettingEvent {
|
||||
private String roomId;
|
||||
private String userId;
|
||||
private int type;
|
||||
private int room_up_pit_type;///// 房间当前麦位模式 2 自由模式 1 排麦
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/7/1
|
||||
*@description: 选择完礼物后,请求接口得到的时间
|
||||
*/
|
||||
@Data
|
||||
public class RoomTime {
|
||||
private String time_day;
|
||||
}
|
||||
@@ -1,5 +1,12 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/11
|
||||
*@description: 房间分类列表
|
||||
*/
|
||||
@Data
|
||||
public class RoomTypeModel {
|
||||
|
||||
|
||||
@@ -11,39 +18,8 @@ public class RoomTypeModel {
|
||||
*/
|
||||
|
||||
private String id;
|
||||
private String name;
|
||||
private String label_name;
|
||||
private String type;
|
||||
private String sort;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
public void setSort(String sort) {
|
||||
this.sort = sort;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
public class RoomWheatEvent {
|
||||
}
|
||||
@@ -2,15 +2,22 @@ package com.qxcm.moduleutil.bean;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/12
|
||||
*@description: 礼物
|
||||
*/
|
||||
@Data
|
||||
public class RoonGiftModel {
|
||||
private String id;
|
||||
private String name;
|
||||
private String gid;//礼物id
|
||||
private String gift_name;//礼物名称
|
||||
private String base_image;//礼物图片
|
||||
private String gift_price;//礼物价格
|
||||
private String gift_id;//礼物id
|
||||
|
||||
|
||||
private String title;
|
||||
private String all_room_push;
|
||||
private String picture;
|
||||
private String price;
|
||||
private String special;
|
||||
private String sort;
|
||||
private String type;
|
||||
@@ -18,17 +25,17 @@ public class RoonGiftModel {
|
||||
private String sold;
|
||||
private String cardiac;
|
||||
private boolean isChecked;
|
||||
|
||||
private boolean isSelected;
|
||||
private boolean can_send_self;//是否能送自己
|
||||
|
||||
public boolean isCan_send_self() {
|
||||
if ( isManghe()) {
|
||||
return true;
|
||||
}
|
||||
return can_send_self;
|
||||
}
|
||||
// public boolean isCan_send_self() {
|
||||
// if ( isManghe()) {
|
||||
// return true;
|
||||
// }
|
||||
// return can_send_self;
|
||||
// }
|
||||
|
||||
public boolean isManghe() {
|
||||
return type.equals("4") || type.equals("5") || type.equals("13");
|
||||
}
|
||||
// public boolean isManghe() {
|
||||
// return type.equals("4") || type.equals("5") || type.equals("13");
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/20
|
||||
*@description: 歌曲实体类
|
||||
*/
|
||||
@Data
|
||||
public class SongMusicBean {
|
||||
private String room_song_id; // 歌曲列表ID
|
||||
private String times; // 场次
|
||||
private String times_status; // 本场次状态:1-进行中,2-结束
|
||||
private String room_id; // 房间ID
|
||||
private String user_id; // 用户ID
|
||||
private String song_name; // 歌曲名
|
||||
private String song_id; // 歌曲唯一标识
|
||||
private String song_url; // 歌曲资源地址
|
||||
private String status; // 状态:1-排队中,2-演唱中,3-演唱结束
|
||||
private String sort; // 阈值 越大越靠前
|
||||
}
|
||||
@@ -1,28 +1,33 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TopRoom {
|
||||
|
||||
private String id;
|
||||
private String user_id;
|
||||
private String room_name;
|
||||
private String label_id;
|
||||
private String cover_picture;
|
||||
private String voice;
|
||||
private String on_line;
|
||||
private String chatrooms;
|
||||
private String popularity;
|
||||
private String room_id;
|
||||
private String user_count;
|
||||
public class TopRoom implements MultiItemEntity {
|
||||
private int itemViewType;
|
||||
private String room_id;//房间id 请求接口是这个
|
||||
private String room_number;//房间号 房间展示是这个
|
||||
private String user_id; //房主id
|
||||
private String room_name; //房间名称
|
||||
private String room_cover;//房间封面
|
||||
private String room_password;//房间密码
|
||||
private String hot_value;//火热值
|
||||
private List<UserList> user_list;
|
||||
|
||||
@Override
|
||||
public int getItemType() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class UserList {
|
||||
private String head_picture;
|
||||
private String nickname;
|
||||
private String user_id;
|
||||
private String avatar;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ public class UserBean implements Serializable {
|
||||
private String tencent_im;
|
||||
private String mobile;
|
||||
private int sex;
|
||||
private int auth;
|
||||
|
||||
private List<MultiUserBean> multi_user;
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/24
|
||||
*@description: 关注列表
|
||||
*/
|
||||
@Data
|
||||
public class UserFollowBean {
|
||||
private int follow_id;
|
||||
private String createTime;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private int sex;
|
||||
private String user_code;
|
||||
private int is_online;
|
||||
private int is_follow;
|
||||
private List<String> icon;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,9 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.qxcm.moduleutil.bean.room.RoomAuction;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
@@ -9,10 +13,12 @@ import lombok.Data;
|
||||
*@description: 个人信息,点击我的获取
|
||||
*/
|
||||
@Data
|
||||
public class UserInfo {
|
||||
public class UserInfo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
public static final String FEMALE = "2";
|
||||
public static final String MALE = "1";
|
||||
private int id; //用户id
|
||||
@SerializedName(value = "id", alternate = "user_id")
|
||||
private int user_id; //用户id
|
||||
private String user_code;//用户id码
|
||||
private String avatar;//头像
|
||||
private String nickname;//昵称
|
||||
@@ -24,15 +30,30 @@ public class UserInfo {
|
||||
private int charm_level; //魅力等级
|
||||
private int is_use_code; //是否是靓号 0否 1是
|
||||
private String tencent_im;
|
||||
|
||||
private String jia_jia;//坐骑
|
||||
private int is_in_pit;//是否在麦上,1在0不在
|
||||
private int is_open_live_remind;//是否设置开播提醒
|
||||
private String birthday;//生日
|
||||
private String profile;//简介
|
||||
private String home_bgimages;//背景图片
|
||||
private String is_follow;//是否关注
|
||||
private int is_follow;//是否关注
|
||||
private List<UserTagBean> tag_list;
|
||||
private List<GiftWall> gift_wall;
|
||||
private int age;//年龄
|
||||
private String is_room;
|
||||
private String dress;//头像框
|
||||
private String charm;//魅力值
|
||||
private String room_id;
|
||||
private String guile;//公会名称
|
||||
private String is_mute;//禁言状态 0否 1是
|
||||
private String is_mute_pit;//禁麦状态 0否 1是
|
||||
private String is_manager;//是否是管理员 0否 1是
|
||||
private String is_host;//是否是主持 0否 1是
|
||||
private String is_room_owner;//是否是房主 0否 1是
|
||||
private String pit_number;//在点击麦上用户的时候使用
|
||||
private String auction_id;//在拍卖中的拍卖序号
|
||||
|
||||
|
||||
|
||||
// @Data
|
||||
// public static class TagList{
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/28
|
||||
*@description: 多布局下的viewItem包装类
|
||||
*/
|
||||
public class ViewItem {
|
||||
// 定义四种 item 类型
|
||||
public static final int TYPE_TEXT = 0;
|
||||
public static final int TYPE_RELATION = 1;
|
||||
public static final int TYPE_GIFT = 2;
|
||||
public static final int TYPE_IMAGE_SELECTION = 3;
|
||||
|
||||
private int type;
|
||||
private Object data;
|
||||
|
||||
public ViewItem(int type, Object data) {
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public Object getData() {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/12
|
||||
*@description:钱包实体
|
||||
*/
|
||||
@Data
|
||||
public class WalletBean {
|
||||
|
||||
private String id;
|
||||
private String user_id;
|
||||
private String coin;//金币
|
||||
private String earnings;//钻石
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
package com.qxcm.moduleutil.bean;
|
||||
|
||||
|
||||
import com.qxcm.moduleutil.bean.room.RankInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目名称 qipao-android
|
||||
* 包名:com.qpyy.room.bean
|
||||
* 创建人 黄强
|
||||
* 创建时间 2020/7/25 14:38
|
||||
* 描述 describe
|
||||
*/
|
||||
public class WealthRankingResp {
|
||||
private MyBean my;
|
||||
private List<ListsBean> lists;
|
||||
|
||||
public MyBean getMy() {
|
||||
return my;
|
||||
}
|
||||
|
||||
public void setMy(MyBean my) {
|
||||
this.my = my;
|
||||
}
|
||||
|
||||
public List<ListsBean> getLists() {
|
||||
return lists;
|
||||
}
|
||||
|
||||
public void setLists(List<ListsBean> lists) {
|
||||
this.lists = lists;
|
||||
}
|
||||
|
||||
public static class MyBean {
|
||||
/**
|
||||
* head_picture : https://gudao-prod.oss-cn-hangzhou.aliyuncs.com/android_images/577547/20200331141523_1585635321420.png
|
||||
* nickname : 687592
|
||||
* user_id : 577547
|
||||
* level : 55
|
||||
* number : 0
|
||||
* rank : -1
|
||||
* diff : 52474
|
||||
* rank_info : {"rank_id":"55","rank_name":1000,"nobility_id":0,"nobility_name":"","picture":""}
|
||||
*/
|
||||
|
||||
private String head_picture;
|
||||
private String nickname;
|
||||
private String user_id;
|
||||
private String level;
|
||||
private String number;
|
||||
private int rank;
|
||||
private String diff;
|
||||
private String sex;
|
||||
private String number_format;
|
||||
|
||||
public String getNumber_format() {
|
||||
return number_format;
|
||||
}
|
||||
|
||||
public void setNumber_format(String number_format) {
|
||||
this.number_format = number_format;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
private RankInfo rank_info;
|
||||
private String nobility_icon;
|
||||
private String level_icon;
|
||||
|
||||
public String getNobility_icon() {
|
||||
return nobility_icon;
|
||||
}
|
||||
|
||||
public void setNobility_icon(String nobility_icon) {
|
||||
this.nobility_icon = nobility_icon;
|
||||
}
|
||||
|
||||
public String getLevel_icon() {
|
||||
return level_icon;
|
||||
}
|
||||
|
||||
public void setLevel_icon(String level_icon) {
|
||||
this.level_icon = level_icon;
|
||||
}
|
||||
|
||||
public String getHead_picture() {
|
||||
return head_picture;
|
||||
}
|
||||
|
||||
public void setHead_picture(String head_picture) {
|
||||
this.head_picture = head_picture;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return nickname;
|
||||
}
|
||||
|
||||
public void setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
}
|
||||
|
||||
public String getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(String user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public void setLevel(String level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
public void setRank(int rank) {
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
public String getDiff() {
|
||||
return diff;
|
||||
}
|
||||
|
||||
public void setDiff(String diff) {
|
||||
this.diff = diff;
|
||||
}
|
||||
|
||||
public RankInfo getRank_info() {
|
||||
return rank_info;
|
||||
}
|
||||
|
||||
public void setRank_info(RankInfo rank_info) {
|
||||
this.rank_info = rank_info;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ListsBean {
|
||||
/**
|
||||
* user_id : 642649
|
||||
* number : 43280001
|
||||
* head_picture : https://gudao-prod.oss-cn-hangzhou.aliyuncs.com/android_images/642649/20200601132728_1590989246548.jpeg
|
||||
* nickname : 109179
|
||||
* level : 4
|
||||
* sex : 1
|
||||
* nobility_icon : http://gudao-prod.oss-cn-hangzhou.aliyuncs.com/admin_images/5e71d1ef847ba.png
|
||||
* rank : 1
|
||||
* rank_info : {"rank_id":"4","rank_name":4,"nobility_id":6,"nobility_name":"帝皇","picture":""}
|
||||
*/
|
||||
|
||||
private String user_id;
|
||||
private String number;
|
||||
private String head_picture;
|
||||
private String nickname;
|
||||
private String level;
|
||||
private String sex;
|
||||
private String nobility_icon;
|
||||
private String level_icon;
|
||||
private String user_code;
|
||||
private int rank;
|
||||
private RankInfo rank_info;
|
||||
private String number_format;
|
||||
private String good_number;
|
||||
private String id_color;
|
||||
|
||||
public String getGood_number() {
|
||||
return good_number;
|
||||
}
|
||||
|
||||
public void setGood_number(String good_number) {
|
||||
this.good_number = good_number;
|
||||
}
|
||||
|
||||
public String getUser_code() {
|
||||
return user_code;
|
||||
}
|
||||
|
||||
public void setUser_code(String user_code) {
|
||||
this.user_code = user_code;
|
||||
}
|
||||
|
||||
public String getNumber_format() {
|
||||
return number_format;
|
||||
}
|
||||
|
||||
public void setNumber_format(String number_format) {
|
||||
this.number_format = number_format;
|
||||
}
|
||||
|
||||
public String getLevel_icon() {
|
||||
return level_icon;
|
||||
}
|
||||
|
||||
public void setLevel_icon(String level_icon) {
|
||||
this.level_icon = level_icon;
|
||||
}
|
||||
|
||||
public String getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(String user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public String getHead_picture() {
|
||||
return head_picture;
|
||||
}
|
||||
|
||||
public void setHead_picture(String head_picture) {
|
||||
this.head_picture = head_picture;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return nickname;
|
||||
}
|
||||
|
||||
public void setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public void setLevel(String level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
public String getNobility_icon() {
|
||||
return nobility_icon;
|
||||
}
|
||||
|
||||
public void setNobility_icon(String nobility_icon) {
|
||||
this.nobility_icon = nobility_icon;
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
public void setRank(int rank) {
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
public RankInfo getRank_info() {
|
||||
return rank_info;
|
||||
}
|
||||
|
||||
public void setRank_info(RankInfo rank_info) {
|
||||
this.rank_info = rank_info;
|
||||
}
|
||||
|
||||
public String getId_color() {
|
||||
return id_color;
|
||||
}
|
||||
|
||||
public void setId_color(String id_color) {
|
||||
this.id_color = id_color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/28
|
||||
*@description: 拍卖序号
|
||||
*/
|
||||
@Data
|
||||
public class AuctionBean {
|
||||
private String auction_id;
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||
import com.qxcm.moduleutil.bean.RoomMessageEvent;
|
||||
|
||||
public class EMMessageInfo implements MultiItemEntity {
|
||||
|
||||
/// 系统消息
|
||||
public static final int QXRoomMessageTypeSystem = 1000;
|
||||
/// 用户进入房间
|
||||
public static final int QXRoomMessageTypeJoin = 1001;
|
||||
/// 用户退出房间
|
||||
public static final int QXRoomMessageTypeQuit = 1002;
|
||||
/// 用户上麦
|
||||
public static final int QXRoomMessageTypeUpSeat = 1003;
|
||||
/// 用户下麦
|
||||
public static final int QXRoomMessageTypeDownSeat = 1004;
|
||||
/// 房间收到礼物
|
||||
public static final int QXRoomMessageTypeGift = 1005;
|
||||
/// 设置管理员
|
||||
public static final int QXRoomMessageTypeSetManage = 1006;
|
||||
/// 设置主持
|
||||
public static final int QXRoomMessageTypeSetCompere = 1007;
|
||||
/// 禁麦/解禁
|
||||
public static final int QXRoomMessageTypeSeatMute = 1008;
|
||||
/// 锁麦/解除锁麦
|
||||
public static final int QXRoomMessageTypeSeatLock = 1009;
|
||||
/// 踢出房间
|
||||
public static final int QXRoomMessageTypeTakeOff = 1011;
|
||||
/// 房间类型发生变化
|
||||
public static final int QXRoomMessageTypeRoomTypeChanged = 1012;
|
||||
/// 点歌/切歌/同意点歌
|
||||
public static final int QXRoomMessageTypeSwicthSong = 1013;
|
||||
|
||||
/// 上麦模式发生变化 自由麦 | 排麦
|
||||
public static final int QXRoomMessageTypeAplayPitModeDidChanged = 1014;
|
||||
/// pk房数值变化
|
||||
public static final int QXRoomMessageTypePKValueDidChanged = 1015;
|
||||
/// 房间类型发生变化
|
||||
public static final int QXRoomMessageTypeRoomTypeDidChanged = 1016;
|
||||
/// 管理员被删除
|
||||
public static final int QXRoomMessageTypeManagerIsDelete = 1017;
|
||||
/// 主持人被删除
|
||||
public static final int QXRoomMessageTypeCompereIsDelete = 1018;
|
||||
/// k歌房送礼后魅力发生变化
|
||||
public static final int QXRoomMessageTypeRoomIsClose = 1019;
|
||||
/// 修改房间信息
|
||||
public static final int QXRoomMessageTypeRoomUpdate = 1020;
|
||||
/// 清楚魅力值
|
||||
public static final int QXRoomMessageTypeRoom = 1021;
|
||||
/// 拍卖者被拉上麦
|
||||
public static final int QXRoomMessageTypeAuctionIsUp = 1022;
|
||||
/// 拍卖者拍卖开始
|
||||
public static final int QXRoomMessageTypeAuctionIsSelected = 1023;
|
||||
/// 竞拍开始,竞拍麦位发生变化
|
||||
public static final int QXRoomMessageTypeAuctionIsStart = 1024;
|
||||
/// 竞拍结束
|
||||
public static final int QXRoomMessageTypeAuctionIsEnd = 1025;
|
||||
/// 主持延时
|
||||
public static final int QXRoomMessageTypeCompereDelay = 1026;
|
||||
/// 竞拍类型变化
|
||||
public static final int QXRoomMessageTypeAuctionTypeChanged = 1027;
|
||||
/// cp房送礼物推送礼物火热值
|
||||
public static final int QXRoomMessageTypeRoomIsHostvalue = 1028;
|
||||
/// 有人向我发起pk
|
||||
public static final int QXRoomMessageTypeRoomRecieveInvitePk = 1029;
|
||||
/// 拒绝或接受pk
|
||||
public static final int QXRoomMessageTypeRoomPKAgreeOrRefuse = 1030;
|
||||
/// pk开始
|
||||
public static final int QXRoomMessageTypeRoomPKStart = 1031;
|
||||
/// pk结束 惩罚时间
|
||||
public static final int QXRoomMessageTypeRoomPKEnd = 1032;
|
||||
/// pk断开
|
||||
public static final int QXRoomMessageTypeRoomPKDisconnect = 1033;
|
||||
///关闭对方麦克风
|
||||
public static final int QXRoomMessageTypeMuteRemoteAudio = 125;
|
||||
private RoomMessageEvent emMessage;
|
||||
|
||||
private int custom = 0;
|
||||
|
||||
|
||||
/**
|
||||
* 1 系统消息、官方公告
|
||||
* 2 用户发送的消息
|
||||
* 3 加入房间 、赠送礼物、上下麦、禁言
|
||||
* 4 新用户注册
|
||||
* 5 摇签
|
||||
* 6 表情
|
||||
* 8 球球大作战
|
||||
* 9 派单需求
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int getItemType() {
|
||||
if (emMessage != null) {
|
||||
int type = emMessage.getMsgType();
|
||||
switch (type) {
|
||||
case QXRoomMessageTypeSystem:
|
||||
case QXRoomMessageTypeJoin:
|
||||
case QXRoomMessageTypeQuit:
|
||||
case QXRoomMessageTypeUpSeat:
|
||||
case QXRoomMessageTypeDownSeat:
|
||||
case QXRoomMessageTypeAplayPitModeDidChanged:
|
||||
case QXRoomMessageTypeSetCompere://设置主持
|
||||
case QXRoomMessageTypeSetManage:
|
||||
case QXRoomMessageTypeManagerIsDelete:
|
||||
case QXRoomMessageTypeCompereIsDelete:
|
||||
case QXRoomMessageTypeAuctionIsUp:
|
||||
case QXRoomMessageTypeAuctionIsSelected:
|
||||
case QXRoomMessageTypeAuctionIsStart:
|
||||
case QXRoomMessageTypeAuctionIsEnd:
|
||||
case QXRoomMessageTypeCompereDelay:
|
||||
case QXRoomMessageTypeAuctionTypeChanged:
|
||||
case QXRoomMessageTypeRoomIsHostvalue:
|
||||
case QXRoomMessageTypeRoomRecieveInvitePk:
|
||||
case QXRoomMessageTypeRoomPKAgreeOrRefuse:
|
||||
case QXRoomMessageTypeRoomPKStart:
|
||||
case QXRoomMessageTypeRoomPKEnd:
|
||||
case QXRoomMessageTypeRoomPKDisconnect:
|
||||
return 1;
|
||||
case QXRoomMessageTypeGift:
|
||||
return 3;
|
||||
case 1:
|
||||
return 2;
|
||||
case QXRoomMessageTypeRoomTypeChanged://房间类型发生变化
|
||||
return 4;
|
||||
case QXRoomMessageTypeSwicthSong://点歌/切歌/同意点歌
|
||||
return 4;
|
||||
case QXRoomMessageTypeRoomIsClose://魅力发生变化
|
||||
return 4;
|
||||
case QXRoomMessageTypeTakeOff://提出房间
|
||||
return 4;
|
||||
default:
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int getCustom() {
|
||||
return custom;
|
||||
}
|
||||
|
||||
public void setCustom(int custom) {
|
||||
this.custom = custom;
|
||||
}
|
||||
|
||||
public EMMessageInfo(RoomMessageEvent emMessage) {
|
||||
this.emMessage = emMessage;
|
||||
}
|
||||
|
||||
public RoomMessageEvent getEmMessage() {
|
||||
return emMessage;
|
||||
}
|
||||
|
||||
public void setEmMessage(RoomMessageEvent emMessage) {
|
||||
this.emMessage = emMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查ItemType是否在范围内,避免crash
|
||||
*
|
||||
* @param action
|
||||
* @return
|
||||
*/
|
||||
public boolean checkItemType(int action) {
|
||||
return action > 0 && action < 10 && action != 7;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import lombok.Data;
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/7/3
|
||||
*@description: pk实体
|
||||
*/
|
||||
@Data
|
||||
public class PkRoomInfo {
|
||||
private String pk_room_id;//对方房间的roomId
|
||||
private String invite_pk_user_id;//pk发起者的用户id
|
||||
private String pk_id;//pkid
|
||||
private String pk_time;//剩余时间点
|
||||
private String my_room_value;//自己房间的pk值
|
||||
private String pk_room_value;//对方房间的pk值
|
||||
private String pk_part;;//2:等待开始、3:进行中、4:惩罚阶段
|
||||
private String pk_end_times;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomApplyListBean {
|
||||
|
||||
private List<Special> regular;//普通通道
|
||||
private List<Special> special;//优先通道
|
||||
private GiftInfo gift_info;
|
||||
@Data
|
||||
public static class Regular {
|
||||
private String id; //排到id
|
||||
private String user_id;//用户id
|
||||
private String rank_value;//排序值
|
||||
private String nickname;//昵称
|
||||
private String avatar;//头像
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Special {
|
||||
private String id; //排到id
|
||||
private String user_id;//用户id
|
||||
private String rank_value;//排序值
|
||||
private String nickname;//昵称
|
||||
private String avatar;//头像
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class GiftInfo {
|
||||
private String id;//用户助力上麦礼物id
|
||||
private String user_id;//用户id,设置本次礼物的用户id
|
||||
private String room_id;//房间id
|
||||
private String gift_id;//礼物id
|
||||
private String gift_price;//礼物价格
|
||||
private String gift_name;//礼物名称
|
||||
private String base_image;//礼物图片
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/28
|
||||
*@description: 拍卖房信息
|
||||
*/
|
||||
@Data
|
||||
public class RoomAuction implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private List<AuctionListBean> auction_list;//拍卖房右边列表
|
||||
private AuctionUserBean auction_user;//拍卖房用户信息
|
||||
|
||||
@Data
|
||||
public static class AuctionUserBean implements Serializable{
|
||||
private String auction_id;
|
||||
private String user_id;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String sex;
|
||||
private String user_code;
|
||||
private String auction_type;//拍卖类型
|
||||
private String relation_id;//关系id
|
||||
private String gift_id;
|
||||
private String gift_name;//礼物名称
|
||||
private String gift_price;//礼物价值
|
||||
private String time_day;//关系拍卖时间
|
||||
private String dress;//用户头像装扮
|
||||
private String relation_name;//关系名称
|
||||
private String relation_icon;//关系图标
|
||||
private String base_image;//礼物图片
|
||||
private long duration;//时间
|
||||
}
|
||||
|
||||
@Data
|
||||
public class AuctionListBean implements Serializable {
|
||||
private String user_id;
|
||||
private String user_code;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String dress;
|
||||
private String sex;
|
||||
private String gift_price;
|
||||
private String charm;
|
||||
private List<String> icon;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import com.qxcm.moduleutil.bean.MusicSongBean;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@@ -67,28 +69,41 @@ public class RoomBean implements Serializable {
|
||||
* role : 3
|
||||
*/
|
||||
|
||||
private String room_id;
|
||||
private String room_id;//房间id
|
||||
private String room_number;//房间id码
|
||||
private String is_user_code;//是否使用靓号
|
||||
private String room_name;//房间名称
|
||||
private String room_cover;//房间封面
|
||||
private String room_intro;//房间公告
|
||||
private String type_id;//房间类型
|
||||
private String type_name;//房间类型名称
|
||||
private String user_id;//房主id
|
||||
private String label_id;//类型id
|
||||
private String label_icon;//房间类型图标
|
||||
private String room_background;//房间背景
|
||||
private String hot_value;//房间火热值
|
||||
private String chatrooms;//房间群组id
|
||||
private List<RoomPitBean> pit_list;//麦位信息
|
||||
private String room_up_pit_type;
|
||||
private int online_number;
|
||||
|
||||
|
||||
private String room_code;
|
||||
private String popularity;
|
||||
private String chatrooms;
|
||||
private String room_name;
|
||||
private String label_icon_room;
|
||||
private String bg_picture;
|
||||
private String cover_picture;
|
||||
private String playing;
|
||||
private String label_id;
|
||||
private String label_name;
|
||||
private String wheat;
|
||||
private String greeting;
|
||||
private String type_id;
|
||||
private String type_name;
|
||||
private int show_ball_game;
|
||||
private int is_password;
|
||||
private String official_notice;
|
||||
private String apply_count;
|
||||
private String contribution;
|
||||
private int role;
|
||||
private List<RoomPitBean> pit_list;
|
||||
|
||||
private int cardiac; // 显示心动 1开 0关
|
||||
private int is_fm;
|
||||
private int room_type;//0普通房1电台房2相亲房3派单厅"
|
||||
@@ -108,6 +123,8 @@ public class RoomBean implements Serializable {
|
||||
private int status; // 相亲状态
|
||||
private AInfo activity_img; // 相亲活动介绍图片
|
||||
private RoomFriendBean friend;
|
||||
private int is_pk; //1:接收 2:不接受
|
||||
private int last_pk_room_id;//记录上次pk的房间id
|
||||
|
||||
public int getSceneId() {
|
||||
if (sound_effect != null) {
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/7/1
|
||||
*@description: Cp电影房用户信息
|
||||
*/
|
||||
@Data
|
||||
public class RoomCpUserBean {
|
||||
private String time_day;
|
||||
private String user_id;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String cp_id;
|
||||
private String user_code;
|
||||
private String user_id1;
|
||||
private String nickname1;
|
||||
private String avatar1;
|
||||
private String user_code1;
|
||||
private String dress;
|
||||
private String dress1;
|
||||
}
|
||||
@@ -1,51 +1,61 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import com.qxcm.moduleutil.bean.MusicSongBean;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 项目名称 qipao-android
|
||||
* 包名:com.qpyy.room.bean
|
||||
* 创建人 王欧
|
||||
* 创建时间 2020/7/24 2:58 PM
|
||||
* 描述 describe
|
||||
*@author qx
|
||||
*@data 2025/6/10
|
||||
*@description: 房间信息
|
||||
*/
|
||||
@Data
|
||||
public class RoomInfoResp implements Serializable {
|
||||
private RoomBean room_info;
|
||||
private RoomOwnerBean owner_info;
|
||||
private RoomUserBean user_info;
|
||||
private static final long serialVersionUID = 1L;
|
||||
private RoomBean room_info; //房间信息
|
||||
private RoomOwnerBean room_owner;//房主信息
|
||||
private RoomUserBean user_info;//用户信息
|
||||
private List<BannerItem> banner;
|
||||
private RoomOrderDemand demand;//嘉宾需求
|
||||
private int rejoin;
|
||||
private int is_show_self;//盲盒是否送自己
|
||||
private MusicSongBean song_user_info;
|
||||
private MusicSongBean nextInfo;
|
||||
private RoomAuction room_auction;//拍卖房信息
|
||||
private RoomCpUserBean cp_user;
|
||||
private PkRoomInfo pk_info;
|
||||
|
||||
|
||||
//弹出麦位操作弹出
|
||||
public boolean isWheatManager() {
|
||||
//是管理员且在1或者9号麦,当时房主模式时,2号麦也有管理权限
|
||||
// return isManager() && (user_info.getPit() == 1 || user_info.getPit() == 9 || (room_info.getIs_owner_model() == 1 && user_info.getPit() == 2));
|
||||
return isManager() && ( user_info.getPit() == 9 || (room_info.getIs_owner_model() == 1 && user_info.getPit() == 2));
|
||||
return isManager() && user_info.getPit_number() == 9 ;
|
||||
}
|
||||
|
||||
public boolean isPreside(){
|
||||
return user_info.getIs_preside() == 1;
|
||||
return user_info.getIs_host() == 1;
|
||||
}
|
||||
//管理权限
|
||||
public boolean isManager() {
|
||||
return room_info.getRole() == 1 || room_info.getRole() == 2 || room_info.getRole() == 5;
|
||||
return user_info.getIs_management() == 1 ;
|
||||
}
|
||||
|
||||
//管理权限
|
||||
public boolean isOwner() {
|
||||
return room_info.getRole() == 1;
|
||||
return user_info.getIs_management() == 1;
|
||||
}
|
||||
|
||||
//可查看房间流水
|
||||
public boolean isMicPlace() {
|
||||
return (room_info.getRole() == 1 || room_info.getRole() == 2 || room_info.getActual_role() == 5) && room_info.getRoom_type() != 1;
|
||||
return isManager();
|
||||
}
|
||||
|
||||
public boolean isCollect(){
|
||||
return user_info.getIs_collect() == 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +65,7 @@ public class RoomInfoResp implements Serializable {
|
||||
* @return
|
||||
*/
|
||||
public boolean isHost() {
|
||||
return (room_info.getRole() == 1 || room_info.getRole() == 2) && user_info.getPit() == 9;
|
||||
return user_info.getIs_host() == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -73,7 +83,7 @@ public class RoomInfoResp implements Serializable {
|
||||
* @return
|
||||
*/
|
||||
public boolean isOnWheat() {
|
||||
return user_info.getPit() != 0;
|
||||
return user_info.getPit_number() != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,18 +91,18 @@ public class RoomInfoResp implements Serializable {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isRowWheat() {
|
||||
return user_info.getApply_wait() == 1;
|
||||
}
|
||||
// public boolean isRowWheat() {
|
||||
// return user_info.getApply_wait() == 1;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 是否是点单排麦中
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isOrderRowWheat() {
|
||||
return isRowWheat() && user_info.getApply_wait_type() == 1;
|
||||
}
|
||||
// public boolean isOrderRowWheat() {
|
||||
// return isRowWheat() && user_info.getApply_wait_type() == 1;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 是否自由模式
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomOnline {
|
||||
|
||||
private List<RoomOnlineBean> on_pit;//麦上用户
|
||||
private List<RoomOnlineBean> off_pit;//麦下用户
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.qxcm.moduleutil.bean.room;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author qx
|
||||
* @data 2025/6/10
|
||||
* @description: 房间在线列表
|
||||
*/
|
||||
@Data
|
||||
public class RoomOnlineBean {
|
||||
|
||||
private int user_id;
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private int pit_number;//麦位号
|
||||
private String role;//1:房主、2:管理员、3:主持人 4:嘉宾 5:普通用户
|
||||
private List<String> icon;
|
||||
private int type;//1:麦上用户 2:麦下用户
|
||||
private int type_pit;//判断是从哪里点击进来的,确认显示不显示抱麦按钮 1:点击顶部列表,不显示抱麦按钮 2:点击麦位上的抱麦按钮,显示抱麦按钮 ,
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user