合并2
This commit is contained in:
@@ -50,6 +50,7 @@ dependencies {
|
||||
implementation libs.material
|
||||
implementation libs.activity
|
||||
implementation libs.constraintlayout
|
||||
implementation project(':locktableview')
|
||||
// implementation project(':modulevoice')
|
||||
// implementation project(':modulecircle')
|
||||
// implementation project(':modulevocal')
|
||||
|
||||
@@ -166,6 +166,19 @@
|
||||
android:name=".activity.user.activity.RealNameActivity"
|
||||
android:exported="false" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.user.activity.NoblePaymentActivity"
|
||||
android:exported="false"/>
|
||||
<activity
|
||||
android:name=".activity.user.activity.NobleDetailsActivity"
|
||||
android:exported="false"/>
|
||||
<activity
|
||||
android:name=".activity.user.activity.NobleTitleActivity"
|
||||
android:exported="false"/>
|
||||
<activity
|
||||
android:name=".activity.user.activity.GiftWallActivity"
|
||||
android:exported="false"/>
|
||||
|
||||
|
||||
<activity
|
||||
android:name=".activity.WebViewActivity"
|
||||
|
||||
@@ -57,7 +57,7 @@ open class Application : CommonAppContext() {
|
||||
|
||||
private fun initLogUtils() {
|
||||
LogUtils.getConfig()
|
||||
.setLogSwitch(true) // 全局开关
|
||||
.setLogSwitch(false) // 全局开关
|
||||
.setLog2FileSwitch(true) // 必须设为 true!
|
||||
.setDir(LOGUTILS_SAVE_PATH) // 设置有效路径
|
||||
.setFileFilter(LogUtils.V); // 允许所有级别
|
||||
|
||||
@@ -350,7 +350,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
||||
|
||||
selectShow(2);
|
||||
} else if (id == R.id.rl_me) {
|
||||
mBinding.llBottomBar.setBackgroundResource(com.xscm.moduleutil.R.drawable.home_bbar_yuan);
|
||||
mBinding.llBottomBar.setBackgroundResource(com.xscm.moduleutil.R.drawable.home_bbar_xz);
|
||||
|
||||
selectShow(3);
|
||||
//C0101我的界面
|
||||
@@ -809,6 +809,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
||||
public void activitiesPermissionSuccess(ActivitiesPermission activitiesPermission) {
|
||||
List<PermissionPicBean> list;
|
||||
if (activitiesPermission != null) {
|
||||
mBinding.dvr.setVisibility(View.VISIBLE);
|
||||
list = new ArrayList<>();
|
||||
if (activitiesPermission.getFirst_charge_permission() == 1) {
|
||||
PermissionPicBean bean = new PermissionPicBean();
|
||||
@@ -859,6 +860,8 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
||||
}
|
||||
}
|
||||
});
|
||||
}else {
|
||||
mBinding.dvr.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,19 +20,25 @@ import android.text.Spannable
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.TextUtils
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.util.DisplayMetrics
|
||||
import android.util.Log
|
||||
import android.view.GestureDetector
|
||||
import android.view.Gravity
|
||||
import android.view.KeyEvent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import android.view.animation.Animation
|
||||
import android.view.animation.DecelerateInterpolator
|
||||
import android.view.animation.TranslateAnimation
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.Button
|
||||
import android.widget.EditText
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
@@ -53,6 +59,7 @@ import com.liulishuo.okdownload.OkDownloadProvider
|
||||
import com.orhanobut.logger.Logger
|
||||
import com.petterp.floatingx.assist.helper.FxScopeHelper
|
||||
import com.petterp.floatingx.listener.control.IFxControl
|
||||
import com.sunfusheng.marqueeview.DisplayUtil
|
||||
import com.tencent.imsdk.v2.V2TIMManager
|
||||
import com.tencent.imsdk.v2.V2TIMSDKListener
|
||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
||||
@@ -432,11 +439,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
override fun initData() {
|
||||
if (!EasyPermissions.hasPermissions(this, *permissions)) {
|
||||
PermissionDescriptionHelper.addPermissionDescription(
|
||||
false,
|
||||
mBinding?.root as ViewGroup,
|
||||
permissions
|
||||
)
|
||||
PermissionDescriptionHelper.addPermissionDescription(false, mBinding?.root as ViewGroup, permissions)
|
||||
EasyPermissions.requestPermissions(
|
||||
this, "请开启录音使用权限",
|
||||
1, *permissions
|
||||
@@ -492,7 +495,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
this, LinearLayoutManager.HORIZONTAL, false
|
||||
)
|
||||
likeUserAdapter = LikeUserAdapter()
|
||||
mBinding!!.roomTop.userRecyclerView.adapter = likeUserAdapter
|
||||
mBinding?.roomTop?.userRecyclerView?.adapter = likeUserAdapter
|
||||
likeUserAdapter!!.onItemClickListener =
|
||||
BaseQuickAdapter.OnItemClickListener { adapter, view, position ->
|
||||
// RoomOnlineDialogFragment.show(roomId, "", mRoomUserBean, mRoomInfoResp, getSupportFragmentManager());
|
||||
@@ -690,14 +693,22 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置顶部操作按钮的可见性和点击事件
|
||||
* 包括结束按钮和延时按钮的初始化和事件绑定
|
||||
*/
|
||||
fun tob() {
|
||||
// 获取并显示stubButtons2布局
|
||||
val stub = mBinding!!.roomTop.stubButtons2
|
||||
stub.visibility = View.VISIBLE
|
||||
// 获取结束按钮和延时按钮的ImageView控件
|
||||
val imActionJs = mBinding!!.roomTop.imActionJs.findViewById<ImageView>(R.id.im_action_js)
|
||||
val imActionYs = mBinding!!.roomTop.imActionYs.findViewById<ImageView>(R.id.im_action_ys)
|
||||
if (imActionJs != null && imActionYs != null) {
|
||||
imActionJs.setOnClickListener { dialogEnd() }
|
||||
// 设置结束按钮点击事件,调用dialogEnd()方法
|
||||
imActionYs.setOnClickListener {
|
||||
// 设置延时按钮点击事件,调用MvpPre的auctionDelay方法,传入当前拍卖ID
|
||||
MvpPre!!.auctionDelay(
|
||||
SpUtil.getauctionId()
|
||||
)
|
||||
@@ -744,6 +755,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
if (visible) View.VISIBLE else View.INVISIBLE
|
||||
}
|
||||
|
||||
// 根据传入的visible参数设置JS按钮的可见性
|
||||
// 使用View.VISIBLE显示按钮,使用View.INVISIBLE隐藏按钮
|
||||
fun upYs(visible: Boolean) {
|
||||
mBinding!!.roomTop.imActionYs.visibility =
|
||||
if (visible) View.VISIBLE else View.INVISIBLE
|
||||
@@ -820,7 +833,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
* 释放当前房间
|
||||
*/
|
||||
private fun releaseRoom() {
|
||||
AgoraManager.getInstance(this).cleanup()
|
||||
AgoraManager.getInstance().cleanup()
|
||||
CommonAppContext.getInstance().isPlaying = false
|
||||
CommonAppContext.getInstance().isShow = false
|
||||
QXGiftPlayerManager.getInstance(applicationContext).destroyEffectSvga()
|
||||
@@ -930,9 +943,9 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
mBinding!!.roomTop.btnFollow.text = "收藏"
|
||||
}
|
||||
if ((roomBean.type_id == "3" || roomBean.type_id == "1" || roomBean.type_id == "4") && roomBean.label_id == "2") {
|
||||
AgoraManager.getInstance(this).isBjMusic = false
|
||||
AgoraManager.getInstance().isBjMusic = false
|
||||
} else {
|
||||
AgoraManager.getInstance(this).isBjMusic = true
|
||||
AgoraManager.getInstance().isBjMusic = true
|
||||
}
|
||||
|
||||
|
||||
@@ -1549,7 +1562,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
} else {
|
||||
if (customMusicFloatingView != null) {
|
||||
customMusicFloatingView!!.destroy()
|
||||
AgoraManager.getInstance(this@RoomActivity).desMusic()
|
||||
AgoraManager.getInstance().desMusic()
|
||||
isMusic = false
|
||||
}
|
||||
|
||||
@@ -1605,20 +1618,20 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
if (customMusicFloatingView != null) {
|
||||
customMusicFloatingView!!.destroy()
|
||||
}
|
||||
AgoraManager.getInstance(this@RoomActivity).desMusic()
|
||||
AgoraManager.getInstance().desMusic()
|
||||
|
||||
if ((mRoomInfoResp!!.room_info.type_id == "1" || mRoomInfoResp!!.room_info.type_id == "4" ||
|
||||
mRoomInfoResp!!.room_info.type_id == "3" || mRoomInfoResp!!.room_info.type_id == "8") &&
|
||||
mRoomInfoResp!!.room_info.label_id == "2"
|
||||
) {
|
||||
for (roomPitBean in mRoomInfoResp!!.song_pit_list) {
|
||||
AgoraManager.getInstance(this@RoomActivity).ClientRole(false)
|
||||
AgoraManager.getInstance().ClientRole(false)
|
||||
ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding)
|
||||
mBinding?.rlMic?.visibility = View.GONE
|
||||
}
|
||||
if (mRoomInfoResp!!.song_user_info != null && mRoomInfoResp!!.song_user_info.user_id != null) {
|
||||
if (mRoomInfoResp!!.song_user_info.user_id == SpUtil.getUserId().toString() + "") {
|
||||
AgoraManager.getInstance(this@RoomActivity).ClientRole(false)
|
||||
AgoraManager.getInstance().ClientRole(false)
|
||||
ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding)
|
||||
mBinding?.rlMic?.visibility = View.GONE
|
||||
}
|
||||
@@ -1719,7 +1732,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
if (userId == currentUserId && "9" == pitNumber) {
|
||||
if (customMusicFloatingView != null) {
|
||||
customMusicFloatingView!!.destroy()
|
||||
AgoraManager.getInstance(this@RoomActivity).desMusic()
|
||||
AgoraManager.getInstance().desMusic()
|
||||
isMusic = false
|
||||
}
|
||||
mBinding!!.roomTop.rl.visibility = View.GONE
|
||||
@@ -1844,12 +1857,134 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleMsgType1001(messageEvent: RoomMessageEvent) {
|
||||
if (messageEvent.text.fromUserInfo.user_id != SpUtil.getUserId()) {
|
||||
number++
|
||||
// private fun handleMsgType1001(messageEvent: RoomMessageEvent) {
|
||||
// if (messageEvent.text.fromUserInfo.user_id != SpUtil.getUserId()) {
|
||||
// number++
|
||||
// }
|
||||
// mBinding!!.roomTop.tvNum.text = number.toString()
|
||||
// }
|
||||
|
||||
private var currentMqttView: View? = null // 正在播放
|
||||
var decorView: ViewGroup? = null //礼物的
|
||||
|
||||
|
||||
private fun handleMsgType1001(roomMessageEvent: RoomMessageEvent) {
|
||||
if (roomMessageEvent.text.fromUserInfo.enter_image?.isNotEmpty() == true){
|
||||
showFloatingMessage(roomMessageEvent.text.fromUserInfo)
|
||||
}
|
||||
mBinding!!.roomTop.tvNum.text = number.toString()
|
||||
// number++
|
||||
// mBinding!!.roomTop.tvNum.text = number.toString() + ""
|
||||
}
|
||||
private fun showFloatingMessage(userInfo: UserInfo) {
|
||||
try {
|
||||
// 清理之前的视图(如果存在)
|
||||
if ( currentMqttView?.getParent() != null) {
|
||||
val parent = currentMqttView?.getParent() as ViewGroup
|
||||
parent.removeView(currentMqttView)
|
||||
}
|
||||
|
||||
if (decorView == null) {
|
||||
decorView = getWindow().getDecorView() as ViewGroup?
|
||||
}
|
||||
|
||||
currentMqttView = LayoutInflater.from(this).inflate(R.layout.item_noble_piaoping, null)
|
||||
val layoutParams = FrameLayout.LayoutParams(
|
||||
FrameLayout.LayoutParams.MATCH_PARENT,
|
||||
FrameLayout.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
layoutParams.topMargin = DisplayUtil.dip2px(this, 300f)
|
||||
layoutParams.gravity = Gravity.TOP or Gravity.CENTER_HORIZONTAL
|
||||
currentMqttView?.setLayoutParams(layoutParams)
|
||||
decorView?.addView(currentMqttView)
|
||||
currentMqttView?.let { updateFloatingViewData(it, userInfo) }
|
||||
|
||||
currentMqttView?.let {
|
||||
resetAndStartMqttAnimation(it, Runnable {
|
||||
// 清理当前视图
|
||||
if (currentMqttView?.getParent() != null) {
|
||||
val parent = currentMqttView?.getParent() as ViewGroup
|
||||
parent.removeView(currentMqttView)
|
||||
}
|
||||
currentMqttView = null
|
||||
|
||||
})
|
||||
}
|
||||
} catch (e: java.lang.Exception) {
|
||||
|
||||
}
|
||||
}
|
||||
private fun resetAndStartMqttAnimation(view: View, onAnimationEnd: Runnable) {
|
||||
try {
|
||||
val screenWidth = getScreenWidth()
|
||||
// 设置初始位置:在屏幕右侧外部(完全不可见)
|
||||
view.setTranslationX(screenWidth.toFloat())
|
||||
|
||||
|
||||
val enterAnim = TranslateAnimation(
|
||||
Animation.ABSOLUTE, screenWidth.toFloat(),
|
||||
Animation.ABSOLUTE, ((screenWidth - SystemUtils.getWidth(316)) / 2).toFloat(),
|
||||
Animation.ABSOLUTE, 0f,
|
||||
Animation.ABSOLUTE, 0f
|
||||
)
|
||||
enterAnim.setDuration(1500)
|
||||
enterAnim.setInterpolator(DecelerateInterpolator(2.0f))
|
||||
enterAnim.setAnimationListener(object : Animation.AnimationListener {
|
||||
override fun onAnimationStart(animation: Animation?) {
|
||||
}
|
||||
|
||||
override fun onAnimationEnd(animation: Animation?) {
|
||||
// 停留后退出
|
||||
CommonAppContext.postDelayed(Runnable {
|
||||
val exitAnim = TranslateAnimation(
|
||||
Animation.ABSOLUTE, ((screenWidth - SystemUtils.getWidth(316)) / 2).toFloat(),
|
||||
Animation.ABSOLUTE, -screenWidth.toFloat(),
|
||||
Animation.ABSOLUTE, 0f,
|
||||
Animation.ABSOLUTE, 0f
|
||||
)
|
||||
exitAnim.setDuration(3000)
|
||||
exitAnim.setInterpolator(DecelerateInterpolator(2f))
|
||||
exitAnim.setAnimationListener(object : Animation.AnimationListener {
|
||||
override fun onAnimationStart(animation: Animation?) {
|
||||
}
|
||||
|
||||
override fun onAnimationEnd(animation: Animation?) {
|
||||
// 移除视图并处理下一个
|
||||
onAnimationEnd.run()
|
||||
}
|
||||
|
||||
override fun onAnimationRepeat(animation: Animation?) {
|
||||
}
|
||||
})
|
||||
view.startAnimation(exitAnim)
|
||||
}, 5000) // 停留1秒
|
||||
}
|
||||
|
||||
override fun onAnimationRepeat(animation: Animation?) {
|
||||
}
|
||||
})
|
||||
view.startAnimation(enterAnim)
|
||||
} catch (e: java.lang.Exception) {
|
||||
LogUtils.e("MQTT动画启动失败", e)
|
||||
onAnimationEnd.run()
|
||||
}
|
||||
}
|
||||
private fun getScreenWidth(): Int {
|
||||
val displayMetrics = DisplayMetrics()
|
||||
if (getWindowManager() != null) {
|
||||
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics)
|
||||
return displayMetrics.widthPixels
|
||||
}
|
||||
return getResources().getDisplayMetrics().widthPixels
|
||||
}
|
||||
|
||||
private fun updateFloatingViewData(view: View, userInfo: UserInfo) {
|
||||
val textView = view.findViewById<TextView?>(R.id.tv_name)
|
||||
val im_bj = view.findViewById<ImageView?>(R.id.im_bj)
|
||||
|
||||
textView.text = userInfo.enter_text
|
||||
ImageUtils.loadHeadCC(userInfo.enter_image, im_bj)
|
||||
}
|
||||
|
||||
|
||||
private fun handleMsgType1002(messageEvent: RoomMessageEvent, text: T?) {
|
||||
number--
|
||||
@@ -1965,7 +2100,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
MessageListenerSingleton.getInstance().joinGroup(pendingRoomId)
|
||||
MvpPre!!.getRoomIn(pendingRoomId, "")
|
||||
lastSwitchedRoomId = pendingRoomId!!
|
||||
AgoraManager.getInstance(OkDownloadProvider.context).lastRoomId =
|
||||
AgoraManager.getInstance().lastRoomId =
|
||||
messageEvent.roomId
|
||||
}
|
||||
}
|
||||
@@ -2057,9 +2192,9 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
val parsedText: RoomMessageEvent.text =
|
||||
GsonUtils.fromJson(text, RoomMessageEvent.text::class.java)
|
||||
if (parsedText.is_mute == 1) {
|
||||
AgoraManagerEx.getInstance(this).muteLocalAudioStreamEx(true)
|
||||
AgoraManagerEx.getInstance().muteLocalAudioStreamEx(true)
|
||||
} else {
|
||||
AgoraManagerEx.getInstance(this).muteLocalAudioStreamEx(false)
|
||||
AgoraManagerEx.getInstance().muteLocalAudioStreamEx(false)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
// Handle exception
|
||||
@@ -2098,7 +2233,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
private fun handleMsgType126(messageEvent: RoomMessageEvent, text: T?) {
|
||||
if (text == null) return
|
||||
|
||||
AgoraManager.getInstance(this)
|
||||
AgoraManager.getInstance()
|
||||
.setLocalAudioEnabled(false, text.fromUserInfo.user_id.toString() + "")
|
||||
}
|
||||
|
||||
@@ -2291,7 +2426,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
mBinding!!.imVoive.setImageResource(com.xscm.moduleutil.R.mipmap.room_voice_kg)
|
||||
voive = true
|
||||
}
|
||||
AgoraManager.getInstance(this).muteSpeaker(!voive)
|
||||
AgoraManager.getInstance().muteSpeaker(!voive)
|
||||
} else if (id == R.id.rl_more) { //点击PK
|
||||
val fragment = RoomPkDialogFragment.newInstance(
|
||||
roomId,
|
||||
@@ -2414,7 +2549,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
CommonAppContext.getInstance().isPlaying = false
|
||||
CommonAppContext.getInstance().isShow = false
|
||||
QXGiftPlayerManager.getInstance(this).destroyEffectSvga()
|
||||
AgoraManager.getInstance(this).cleanup()
|
||||
AgoraManager.getInstance().cleanup()
|
||||
|
||||
MyRoomSingleton.getInstance().onExitRoom()
|
||||
MessageListenerSingleton.quitGroup(roomId)
|
||||
@@ -2518,15 +2653,15 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
fun switchMic(type: Int) {
|
||||
if (type == 1) {
|
||||
mBinding!!.ivMic.setImageResource(com.xscm.moduleutil.R.mipmap.room_microphone)
|
||||
AgoraManager.getInstance(this)
|
||||
AgoraManager.getInstance()
|
||||
.setLocalAudioEnabled(true, SpUtil.getUserId().toString() + "")
|
||||
isSwith = false
|
||||
AgoraManager.getInstance(this).muteLocalAudioStream(false)
|
||||
AgoraManager.getInstance(this).ClientRole(true)
|
||||
AgoraManager.getInstance().muteLocalAudioStream(false)
|
||||
AgoraManager.getInstance().ClientRole(true)
|
||||
CommonAppContext.getInstance().isMai = true
|
||||
} else {
|
||||
mBinding!!.ivMic.setImageResource(com.xscm.moduleutil.R.mipmap.room_microphone_off)
|
||||
AgoraManager.getInstance(this)
|
||||
AgoraManager.getInstance()
|
||||
.setLocalAudioEnabled(false, SpUtil.getUserId().toString() + "")
|
||||
isSwith = true
|
||||
isMute(1)
|
||||
@@ -2611,7 +2746,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
val typeId = mRoomInfoResp!!.room_info.type_id
|
||||
val labelId = mRoomInfoResp!!.room_info.label_id
|
||||
val userPitNumber = mRoomInfoResp!!.user_info.pit_number
|
||||
val userPitNumber = mRoomInfoResp?.user_info?.pit_number!!
|
||||
|
||||
// 情况1: typeId = 6 时,只显示消息按钮
|
||||
if ("6" == typeId) {
|
||||
@@ -2938,9 +3073,9 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
// mBinding.roomTop.btnFollow.setBackground(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.collect));
|
||||
}
|
||||
if ((roomBean.type_id == "3" || roomBean.type_id == "1" || roomBean.type_id == "4") && roomBean.label_id == "2") {
|
||||
AgoraManager.getInstance(this).isBjMusic = false
|
||||
AgoraManager.getInstance().isBjMusic = false
|
||||
} else {
|
||||
AgoraManager.getInstance(this).isBjMusic = true
|
||||
AgoraManager.getInstance().isBjMusic = true
|
||||
}
|
||||
|
||||
AgoraManager.stopMuisc()
|
||||
@@ -3016,7 +3151,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
ivSoundEffects(false)
|
||||
}
|
||||
// }
|
||||
if (mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()
|
||||
if (mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId()
|
||||
&& mRoomInfoResp!!.user_info.pit_number == 9
|
||||
&& mRoomInfoResp!!.room_info.type_id != "2"
|
||||
&& mRoomInfoResp!!.room_info.type_id != "6"
|
||||
@@ -3162,13 +3297,13 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
*/
|
||||
fun initializeAudio() {
|
||||
if (mRoomUserBean!!.pit_number != 0) {
|
||||
AgoraManager.getInstance(this).ClientRole(true)
|
||||
AgoraManager.getInstance(this).muteLocalAudioStream(false)
|
||||
AgoraManager.getInstance().ClientRole(true)
|
||||
AgoraManager.getInstance().muteLocalAudioStream(false)
|
||||
} else {
|
||||
AgoraManager.getInstance(this).ClientRole(false)
|
||||
AgoraManager.getInstance(this).muteLocalAudioStream(true)
|
||||
AgoraManager.getInstance().ClientRole(false)
|
||||
AgoraManager.getInstance().muteLocalAudioStream(true)
|
||||
}
|
||||
AgoraManager.getInstance(this)
|
||||
AgoraManager.getInstance()
|
||||
.setLocalAudioEnabled(false, SpUtil.getUserId().toString() + "")
|
||||
}
|
||||
|
||||
@@ -3385,7 +3520,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
customMusicFloatingView!!.setOnItemClickListener(object : OnMusicItemClickListener {
|
||||
override fun onMinimize() {
|
||||
customMusicFloatingView!!.destroy()
|
||||
AgoraManager.getInstance(this@RoomActivity).desMusic()
|
||||
AgoraManager.getInstance().desMusic()
|
||||
isMusic = false
|
||||
}
|
||||
|
||||
@@ -3398,20 +3533,20 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
override fun onPause() {
|
||||
// ToastUtils.showShort("暂停播放");
|
||||
// 调用播放器或通知 MusicView
|
||||
AgoraManager.getInstance(this@RoomActivity).pauseMusic()
|
||||
AgoraManager.getInstance().pauseMusic()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
// ToastUtils.showShort("恢复播放");
|
||||
// 调用播放器或通知 MusicView
|
||||
AgoraManager.getInstance(this@RoomActivity).resumeMusic()
|
||||
AgoraManager.getInstance().resumeMusic()
|
||||
}
|
||||
|
||||
override fun onNext() {
|
||||
// ToastUtils.showShort("下一首");
|
||||
// 切换歌曲
|
||||
// List<Music> musicSongBeans = AgoraManager.getInstance(RoomActivity.this).getMusicList();
|
||||
AgoraManager.nextSong()
|
||||
AgoraManager.getInstance().nextSong()
|
||||
}
|
||||
})
|
||||
// customMusicFloatingView.initView();
|
||||
@@ -3484,8 +3619,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
|
||||
// 恢复音频状态
|
||||
if (AgoraManager.getInstance(this) != null) {
|
||||
AgoraManager.getInstance(this).resumeMusic()
|
||||
if (AgoraManager.getInstance() != null) {
|
||||
AgoraManager.getInstance().resumeMusic()
|
||||
}
|
||||
|
||||
// 清除最小化状态标志
|
||||
@@ -3732,7 +3867,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
fun quit() {
|
||||
CommonAppContext.getInstance().isPlaying = false
|
||||
CommonAppContext.getInstance().isShow = false
|
||||
AgoraManager.getInstance(this).cleanup()
|
||||
AgoraManager.getInstance().cleanup()
|
||||
MyRoomSingleton.getInstance().onExitRoom()
|
||||
}
|
||||
|
||||
@@ -3743,10 +3878,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
fun jiaR() {
|
||||
LogUtils.e(
|
||||
"@@@",
|
||||
"上一个房间的roonid" + AgoraManager.getInstance(OkDownloadProvider.context).lastRoomId
|
||||
"上一个房间的roonid" + AgoraManager.getInstance().lastRoomId
|
||||
)
|
||||
MvpPre?.getRoomIn(AgoraManager.getInstance(OkDownloadProvider.context).lastRoomId, "")
|
||||
AgoraManager.getInstance(OkDownloadProvider.context).lastRoomId = ""
|
||||
MvpPre?.getRoomIn(AgoraManager.getInstance().lastRoomId, "")
|
||||
AgoraManager.getInstance().lastRoomId = ""
|
||||
}
|
||||
|
||||
override fun userGuanzSuccess(s: String) {
|
||||
@@ -3844,6 +3979,9 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
GiftDisplayManager.getInstance().clearAll()
|
||||
mBinding!!.giftContainer.removeAllViews()
|
||||
CommonAppContext.getInstance().isMai = false
|
||||
CommonAppContext.getInstance().playId = null
|
||||
|
||||
// 确保父类的 onDestroy 被调用
|
||||
super.finish()
|
||||
}
|
||||
@@ -3880,8 +4018,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
|
||||
// 6. 清理 Agora 资源
|
||||
// if (AgoraManager.getInstance(this) != null) {
|
||||
// AgoraManager.getInstance(this).cleanup();
|
||||
// if (AgoraManager.getInstance() != null) {
|
||||
// AgoraManager.getInstance().cleanup();
|
||||
// }
|
||||
// 清理所有弹框
|
||||
dismissAllDialogs()
|
||||
|
||||
@@ -90,6 +90,11 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
onFragmentShowDestroy();
|
||||
// 清理消息队列,避免内存泄漏
|
||||
synchronized (queueLock) {
|
||||
messageQueue.clear();
|
||||
messageHandler.removeCallbacksAndMessages(null);
|
||||
}
|
||||
super.onDestroyView();
|
||||
}
|
||||
|
||||
@@ -438,34 +443,37 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
|
||||
}
|
||||
|
||||
// 使用Handler将消息处理放到消息队列中,避免阻塞
|
||||
if (messageHandler.hasMessages(MSG_HANDLE_ROOM_MESSAGE)) {
|
||||
// 如果队列中已有待处理消息,将当前消息加入队列
|
||||
Message msg = Message.obtain();
|
||||
msg.what = MSG_HANDLE_ROOM_MESSAGE;
|
||||
msg.obj = message;
|
||||
messageHandler.sendMessage(msg);
|
||||
} else {
|
||||
// 立即处理第一条消息
|
||||
processRoomMessage(message);
|
||||
// 标记有待处理消息
|
||||
messageHandler.sendEmptyMessageDelayed(MSG_HANDLE_ROOM_MESSAGE, 100);
|
||||
synchronized (queueLock) {
|
||||
if (messageHandler.hasMessages(MSG_HANDLE_ROOM_MESSAGE)) {
|
||||
// 如果队列中已有待处理消息,将当前消息加入队列
|
||||
messageQueue.add(message);
|
||||
} else {
|
||||
// 立即处理第一条消息
|
||||
processRoomMessage(message);
|
||||
// 标记有待处理消息
|
||||
messageHandler.sendEmptyMessageDelayed(MSG_HANDLE_ROOM_MESSAGE, 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final int MSG_HANDLE_ROOM_MESSAGE = 1001;
|
||||
private final Handler messageHandler = new Handler(Looper.getMainLooper()) {
|
||||
private List<RoomMessageEvent> messageQueue = new ArrayList<>();
|
||||
// 将messageQueue移到类级别,并添加同步控制
|
||||
private final List<RoomMessageEvent> messageQueue = new ArrayList<>();
|
||||
private final Object queueLock = new Object(); // 用于同步的锁对象
|
||||
|
||||
private final Handler messageHandler = new Handler(Looper.getMainLooper()) {
|
||||
@Override
|
||||
public void handleMessage(@NonNull Message msg) {
|
||||
if (msg.what == MSG_HANDLE_ROOM_MESSAGE) {
|
||||
if (!messageQueue.isEmpty()) {
|
||||
// 批量处理消息
|
||||
processBatchMessages(messageQueue);
|
||||
messageQueue.clear();
|
||||
} else if (msg.obj instanceof RoomMessageEvent) {
|
||||
// 处理单条消息
|
||||
processRoomMessage((RoomMessageEvent) msg.obj);
|
||||
synchronized (queueLock) {
|
||||
if (!messageQueue.isEmpty()) {
|
||||
// 批量处理消息
|
||||
processBatchMessages(new ArrayList<>(messageQueue)); // 创建副本避免并发修改
|
||||
messageQueue.clear();
|
||||
} else if (msg.obj instanceof RoomMessageEvent) {
|
||||
// 处理单条消息
|
||||
processRoomMessage((RoomMessageEvent) msg.obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -899,7 +899,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
if (getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).setrlMic(false);
|
||||
((RoomActivity) getActivity()).ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding);
|
||||
AgoraManager.getInstance(getActivity()).setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
}
|
||||
} else {
|
||||
if (getActivity() instanceof RoomActivity) {
|
||||
|
||||
@@ -131,10 +131,10 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
boolean b = AgoraManager.getInstance(getContext()).isBjMusic();
|
||||
boolean b = AgoraManager.getInstance().isBjMusic();
|
||||
if (b) {
|
||||
List<MusicSongBean> musicSongBeans = new ArrayList<>();
|
||||
List<Music> music = AgoraManager.getInstance(getContext()).getMusicList();
|
||||
List<Music> music = AgoraManager.getInstance().getMusicList();
|
||||
if (music != null && music.size() > 0) {
|
||||
for (int i = 0; i < music.size(); i++) {
|
||||
MusicSongBean musicSongBean = new MusicSongBean();
|
||||
|
||||
@@ -131,7 +131,7 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
|
||||
public void afterTextChanged(Editable s) {
|
||||
input = s.toString();
|
||||
SpUtil.setMusicName( input);
|
||||
AgoraManager.getInstance(getContext()).searchMusic(input, 1);
|
||||
AgoraManager.getInstance().searchMusic(input, 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -142,13 +142,13 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
|
||||
@Override
|
||||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||
page++;
|
||||
AgoraManager.getInstance(getContext()).searchMusic(mBinding.editQuery.getText().toString(), page);
|
||||
AgoraManager.getInstance().searchMusic(mBinding.editQuery.getText().toString(), page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||
page = 1;
|
||||
AgoraManager.getInstance(getContext()).searchMusic(mBinding.editQuery.getText().toString(), page);
|
||||
AgoraManager.getInstance().searchMusic(mBinding.editQuery.getText().toString(), page);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -170,18 +170,18 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
|
||||
if (status==1) {
|
||||
MvpPre.song(roomId, SpUtil.getUserId() + "", item.getSongCode() + "", item.getName(), item.getSinger(), item.getPoster(), String.valueOf(item.getDurationS()));
|
||||
} else {
|
||||
if (AgoraManager.getInstance(getContext()).getMusicList()==null) {
|
||||
// AgoraManager.getInstance(getContext()).isPreload2(item.getSongCode(), 1);
|
||||
if (AgoraManager.getInstance().getMusicList()==null) {
|
||||
// AgoraManager.getInstance().isPreload(item.getSongCode(), 1);
|
||||
List<Music> music = new ArrayList<>();
|
||||
music.add(item);
|
||||
AgoraManager.getInstance(getContext()).setMusicList(music);
|
||||
AgoraManager.getInstance().setMusicList(music);
|
||||
EventBus.getDefault().post(item);
|
||||
AgoraManager.getInstance(getContext()).nextSong();
|
||||
AgoraManager.getInstance().nextSong();
|
||||
} else {
|
||||
|
||||
List<Music> music = AgoraManager.getInstance(getContext()).getMusicList();
|
||||
List<Music> music = AgoraManager.getInstance().getMusicList();
|
||||
music.add(item);
|
||||
AgoraManager.getInstance(getContext()).setMusicList(music);
|
||||
AgoraManager.getInstance().setMusicList(music);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
} else {
|
||||
isMicPlace = false;
|
||||
ToastUtils.show("将停止屏幕共享");
|
||||
AgoraManager.getInstance(getActivity()).stopScreenCapture();
|
||||
AgoraManager.getInstance().stopScreenCapture();
|
||||
mBinding.im3.setImageResource(com.xscm.moduleutil.R.mipmap.gongxiang);
|
||||
CommonAppContext.getInstance().isMicPlace = false;
|
||||
}
|
||||
@@ -282,17 +282,17 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
|
||||
if (type == 1) {
|
||||
mBinding.im1.setImageResource(com.xscm.moduleutil.R.mipmap.close_m);
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(true);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(false);
|
||||
AgoraManager.getInstance(getActivity()).setLocalAudioEnabled(true,SpUtil.getUserId()+"");
|
||||
AgoraManager.getInstance().ClientRole(true);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(false);
|
||||
AgoraManager.getInstance().setLocalAudioEnabled(true,SpUtil.getUserId()+"");
|
||||
isShow = false;
|
||||
CommonAppContext.getInstance().isShowAg=false;
|
||||
|
||||
} else {
|
||||
mBinding.im1.setImageResource(com.xscm.moduleutil.R.mipmap.op_m);
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(true);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
|
||||
AgoraManager.getInstance(getActivity()).setLocalAudioEnabled(false,SpUtil.getUserId()+"");
|
||||
AgoraManager.getInstance().ClientRole(true);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(true);
|
||||
AgoraManager.getInstance().setLocalAudioEnabled(false,SpUtil.getUserId()+"");
|
||||
isShow = true;
|
||||
CommonAppContext.getInstance().isShowAg=true;
|
||||
|
||||
@@ -362,7 +362,7 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
// 调用退出房间方法
|
||||
if (label_id!=null && label_id.equals(LABEL_ID_MOVIE)){
|
||||
MvpPre.quitRoom(roomId, SpUtil.getUserId() + "");
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", AgoraManager.getInstance(getActivity()).getLastRoomId()).navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", AgoraManager.getInstance().getLastRoomId()).navigation();
|
||||
return;
|
||||
}
|
||||
if (roomInfoResp != null) {
|
||||
@@ -583,7 +583,7 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
((RoomActivity) getActivity()).quitRoom2(roomId);
|
||||
if (label_id!=null && label_id.equals(LABEL_ID_MOVIE)){
|
||||
((RoomActivity) getActivity()).jiaR();
|
||||
//// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", AgoraManager.getInstance(getActivity()).getLastRoomId()).navigation();
|
||||
//// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", AgoraManager.getInstance().getLastRoomId()).navigation();
|
||||
return;
|
||||
}else {
|
||||
((RoomActivity) getActivity()).performExitRoom(1);
|
||||
@@ -616,8 +616,8 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
|
||||
private void joinChannel() {
|
||||
|
||||
AgoraManager.getInstance(getActivity()).updateChannelMediaOptions();
|
||||
AgoraManager.getInstance(getActivity()).post();
|
||||
AgoraManager.getInstance().updateChannelMediaOptions();
|
||||
AgoraManager.getInstance().post();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -418,9 +418,9 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
|
||||
if (mRoomInfoResp.getUser_info().getPit_number() != 0) {
|
||||
mRoomActivity.switchMic(CommonAppContext.getInstance().isMai?1:2);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(CommonAppContext.getInstance().isMai);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(CommonAppContext.getInstance().isMai);
|
||||
} else {
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
if (existingFragment != null) {
|
||||
transaction.show(existingFragment);
|
||||
} else {
|
||||
callSpecificDestroyMethod(newFragment);
|
||||
// callSpecificDestroyMethod(newFragment);
|
||||
transaction.add(containerId, newFragment, tag);
|
||||
}
|
||||
transaction.commitAllowingStateLoss();
|
||||
@@ -765,12 +765,12 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
if (getActivity() instanceof RoomActivity) {
|
||||
RoomActivity roomActivity = (RoomActivity) getActivity();
|
||||
if (!haveMe) {
|
||||
AgoraManager.getInstance(getContext()).ClientRole(false);
|
||||
AgoraManager.getInstance().ClientRole(false);
|
||||
roomActivity.setrlMic(false);
|
||||
AgoraManager.getInstance(getContext()).setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
} else {
|
||||
roomActivity.setrlMic(true);
|
||||
if (AgoraManager.getInstance(getContext()).isLocalAudioEnabled()) {
|
||||
if (AgoraManager.getInstance().isLocalAudioEnabled()) {
|
||||
roomActivity.ivMic(com.xscm.moduleutil.R.mipmap.room_microphone);
|
||||
} else {
|
||||
// roomActivity.ivMic(com.xscm.moduleutil.R.mipmap.room_microphone_off);
|
||||
@@ -779,9 +779,9 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
}
|
||||
} else {
|
||||
if (!user_id.equals(SpUtil.getUserId() + "") && getActivity() instanceof RoomActivity) {
|
||||
AgoraManager.getInstance(getContext()).ClientRole(false);
|
||||
AgoraManager.getInstance().ClientRole(false);
|
||||
((RoomActivity) getActivity()).setrlMic(false);
|
||||
AgoraManager.getInstance(getContext()).setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,10 +126,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
did = roomInfoResp.getSong_user_info().getDid();
|
||||
if (roomInfoResp.getSong_user_info().getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||
setBz();
|
||||
AgoraManager.getInstance(getActivity()).isPreload(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()), 1);
|
||||
AgoraManager.getInstance().isPreload(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()), 1);
|
||||
} else {
|
||||
if (AgoraManager.getInstance(getActivity()).isOnJoin()) {
|
||||
AgoraManager.getInstance(getActivity()).loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
|
||||
if (AgoraManager.getInstance().isOnJoin()) {
|
||||
AgoraManager.getInstance().loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
|
||||
}
|
||||
}
|
||||
musicSongBean = roomInfoResp.getSong_user_info();
|
||||
@@ -200,12 +200,12 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
|
||||
private void setBz(){
|
||||
if (volumeManager.getBz(SpUtil.getUserId()+"")){
|
||||
AgoraManager.getInstance(getActivity()).selectAudioTrack(0);
|
||||
AgoraManager.getInstance().selectAudioTrack(0);
|
||||
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_on);
|
||||
mBinding.tvBz.setText("原唱");
|
||||
isRotate = false;
|
||||
}else {
|
||||
AgoraManager.getInstance(getActivity()).selectAudioTrack(1);
|
||||
AgoraManager.getInstance().selectAudioTrack(1);
|
||||
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_off);
|
||||
mBinding.tvBz.setText("伴奏");
|
||||
isRotate = true;
|
||||
@@ -218,8 +218,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
int[] volumes = volumeManager.getUserVolumes(SpUtil.getUserId()+"");
|
||||
int musicVolume = volumes[0];
|
||||
int playoutVolume = volumes[1];
|
||||
AgoraManager.getInstance(getContext()).setMusicVolume(musicVolume); // 使用原始值(0-200
|
||||
AgoraManager.getInstance(getContext()).setPlayoutVolume(playoutVolume);
|
||||
AgoraManager.getInstance().setMusicVolume(musicVolume); // 使用原始值(0-200
|
||||
AgoraManager.getInstance().setPlayoutVolume(playoutVolume);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -515,7 +515,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
ToastUtils.showShort("暂时没有歌曲");
|
||||
return;
|
||||
}
|
||||
AgoraManager.getInstance(getActivity()).stopMuisc();
|
||||
AgoraManager.getInstance().stopMuisc();
|
||||
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
|
||||
} else if (id == R.id.ll_ds) {
|
||||
if (mBinding.muYc.pitBean.getUser_id() != null && !mBinding.muYc.pitBean.getUser_id().equals("")) {
|
||||
@@ -530,13 +530,13 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
}
|
||||
} else if (id == R.id.ll_bz) {
|
||||
if (isRotate) {
|
||||
AgoraManager.getInstance(getActivity()).selectAudioTrack(0);
|
||||
AgoraManager.getInstance().selectAudioTrack(0);
|
||||
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_on);
|
||||
mBinding.tvBz.setText("原唱");
|
||||
isRotate = false;
|
||||
volumeManager.saveBz(SpUtil.getUserId()+"",true);
|
||||
} else {
|
||||
AgoraManager.getInstance(getActivity()).selectAudioTrack(1);
|
||||
AgoraManager.getInstance().selectAudioTrack(1);
|
||||
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_off);
|
||||
mBinding.tvBz.setText("伴奏");
|
||||
isRotate = true;
|
||||
@@ -607,7 +607,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
position += 1000;
|
||||
double duration = Math.ceil(position / 1000);
|
||||
if (duration >= Double.parseDouble(musicSongBean.getDuration())) {
|
||||
AgoraManager.getInstance(getActivity()).stopMuisc();
|
||||
AgoraManager.getInstance().stopMuisc();
|
||||
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
|
||||
}
|
||||
}
|
||||
@@ -647,17 +647,17 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
roomInfoResp.setSong_user_info(musicSongBean);
|
||||
|
||||
if (messageEvent.getText().getSongInfo().getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||
AgoraManager.getInstance(getActivity());
|
||||
AgoraManager.getInstance();
|
||||
AgoraManager.stopMuisc();
|
||||
LogUtils.e("推送过来的code", messageEvent.getText().getSongInfo().getSong_code());
|
||||
AgoraManager.getInstance(getActivity()).isPreload(Long.parseLong(messageEvent.getText().getSongInfo().getSong_code()), 1);
|
||||
AgoraManager.getInstance().isPreload(Long.parseLong(messageEvent.getText().getSongInfo().getSong_code()), 1);
|
||||
setAgorVolumes();
|
||||
} else {
|
||||
volumeManager.saveBz(SpUtil.getUserId()+"",true);
|
||||
volumeManager.clearCurrentVolumes();
|
||||
|
||||
if (AgoraManager.getInstance(getActivity()).isOnJoin()) {
|
||||
AgoraManager.getInstance(getActivity()).loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
|
||||
if (AgoraManager.getInstance().isOnJoin()) {
|
||||
AgoraManager.getInstance().loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
|
||||
}
|
||||
}
|
||||
if (getActivity() instanceof RoomActivity) {
|
||||
@@ -724,8 +724,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
}
|
||||
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
|
||||
b = true;
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(true);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(false);
|
||||
AgoraManager.getInstance().ClientRole(true);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(false);
|
||||
} else {
|
||||
b = false;
|
||||
}
|
||||
@@ -766,8 +766,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
}
|
||||
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
|
||||
b = true;
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(false);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
|
||||
AgoraManager.getInstance().ClientRole(false);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(true);
|
||||
} else {
|
||||
b = false;
|
||||
}
|
||||
|
||||
@@ -554,12 +554,12 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
mBinding.imMkf.setImageResource(com.xscm.moduleutil.R.mipmap.room_microphone);
|
||||
is_mute = 0;
|
||||
aBoolean = false;
|
||||
AgoraManagerEx.getInstance(getActivity()).muteAllRemoteAudioStreamsExUserId(false);
|
||||
AgoraManager.getInstance().muteAllRemoteAudioStreamsExUserId(false);
|
||||
} else {
|
||||
mBinding.imMkf.setImageResource(com.xscm.moduleutil.R.mipmap.room_microphone_off);
|
||||
is_mute = 1;
|
||||
aBoolean = true;
|
||||
AgoraManagerEx.getInstance(getActivity()).muteAllRemoteAudioStreamsExUserId(true);
|
||||
AgoraManager.getInstance().muteAllRemoteAudioStreamsExUserId(true);
|
||||
}
|
||||
RoomMessageEvent.text text = new RoomMessageEvent.text();
|
||||
text.setIs_mute(is_mute);
|
||||
@@ -662,7 +662,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
LogUtils.e("pk_info", "" + roomInfoRespPk.getRoom_info().getRoom_id());
|
||||
LogUtils.e("pk_info2", "" + roomInfoResp.getRoom_info().getRoom_id());
|
||||
|
||||
AgoraManagerEx.getInstance(CommonAppContext.getInstance())
|
||||
AgoraManagerEx.getInstance()
|
||||
.joinChannelEx(pkSwTokenBean.getAgora_token(), roomInfoRespPk.getRoom_info().getRoom_id(), pkUserId);
|
||||
}
|
||||
|
||||
@@ -1075,6 +1075,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
pitBean.setSex(message.getText().getFromUserInfo().getSex() + "");
|
||||
pitBean.setCharm(message.getText().getFromUserInfo().getCharm());
|
||||
pitBean.setDress(message.getText().getFromUserInfo().getDress());
|
||||
pitBean.setMic_cycle(message.getText().getFromUserInfo().getMic_cycle()!=null?message.getText().getFromUserInfo().getMic_cycle():"");
|
||||
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
|
||||
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
|
||||
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
|
||||
@@ -1088,8 +1089,8 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
// 通知父 Fragment
|
||||
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
|
||||
b = true;
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(true);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(false);
|
||||
AgoraManager.getInstance().ClientRole(true);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(false);
|
||||
} else {
|
||||
b = false;
|
||||
}
|
||||
@@ -1108,6 +1109,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
pitBean.setSex("");
|
||||
pitBean.setCharm("");
|
||||
pitBean.setDress("");
|
||||
pitBean.setMic_cycle("");
|
||||
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
|
||||
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
|
||||
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
|
||||
@@ -1120,8 +1122,8 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
}
|
||||
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
|
||||
b = true;
|
||||
AgoraManager.getInstance(getActivity()).ClientRole(false);
|
||||
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
|
||||
AgoraManager.getInstance().ClientRole(false);
|
||||
AgoraManager.getInstance().muteLocalAudioStream(true);
|
||||
} else {
|
||||
b = false;
|
||||
}
|
||||
@@ -1218,7 +1220,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
//释放定时器
|
||||
releaseCountDownTimer();
|
||||
if (roomInfoRespPk.getRoom_info() != null && roomInfoRespPk.getRoom_info().getRoom_id() != null) {
|
||||
AgoraManagerEx.getInstance(getContext()).leaveChannelEx(roomInfoRespPk.getRoom_info().getRoom_id(), SpUtil.getUserId());
|
||||
AgoraManagerEx.getInstance().leaveChannelEx(roomInfoRespPk.getRoom_info().getRoom_id(), SpUtil.getUserId());
|
||||
}
|
||||
MvpPre.postRoomInfo(roomId, "0", 2);
|
||||
mBinding.imStart2.setVisibility(GONE);
|
||||
@@ -1428,8 +1430,13 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
}
|
||||
releaseCountDownTimer();
|
||||
|
||||
var rootContainer = WheatLayoutSingManager.Companion.getInstance().getRootContainer();
|
||||
flexboxLayout.removeView(rootContainer);
|
||||
// 添加空值检查
|
||||
if (flexboxLayout != null) {
|
||||
var rootContainer = WheatLayoutSingManager.Companion.getInstance().getRootContainer();
|
||||
if (flexboxLayout.indexOfChild(rootContainer) >= 0) {
|
||||
flexboxLayout.removeView(rootContainer);
|
||||
}
|
||||
}
|
||||
|
||||
if (wheatLayoutManager1 != null) {
|
||||
wheatLayoutManager1.clear();
|
||||
@@ -1437,12 +1444,20 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
if (wheatLayoutManager2 != null) {
|
||||
wheatLayoutManager2.clear();
|
||||
}
|
||||
mBinding.flexboxLayout.removeAllViews();
|
||||
mBinding.flexboxLayout2.removeAllViews();
|
||||
|
||||
// 添加对 mBinding 的空值检查
|
||||
if (mBinding != null) {
|
||||
if (mBinding.flexboxLayout != null) {
|
||||
mBinding.flexboxLayout.removeAllViews();
|
||||
}
|
||||
if (mBinding.flexboxLayout2 != null) {
|
||||
mBinding.flexboxLayout2.removeAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
if (MvpPre != null) {
|
||||
MvpPre.detachView();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -101,7 +101,7 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getBanners();
|
||||
MvpPre.getBanners("3");
|
||||
MvpPre.getCarousels(1, 1, "10", "2", "");//顶部推荐
|
||||
MvpPre.getCategories();
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class HotListPresenter extends BasePresenter<HotListContacts.View> implem
|
||||
LogUtils.e("token",token);
|
||||
LogUtils.e("roomId:",roomId);
|
||||
// 初始化 Agora 并加入房间
|
||||
AgoraManager.getInstance(getView().getSelfActivity())
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
// 2. 加入房间
|
||||
// rtcCore.joinRoom(token, roomId, uid, enableMic);
|
||||
|
||||
@@ -58,10 +58,10 @@ public class RoomPresenter extends BasePresenter<RoomContacts.View> implements R
|
||||
LogUtils.e("roomId:",roomId);
|
||||
|
||||
if (getView()!= null && getView().getSelfActivity()!=null){
|
||||
AgoraManager.getInstance(getView().getSelfActivity())
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
}else {
|
||||
AgoraManager.getInstance(mContext.getApplicationContext())
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
}
|
||||
if (MvpRef==null){
|
||||
|
||||
@@ -55,11 +55,11 @@ public class VoiceCategoryPresenter extends BasePresenter<VoiceCategoryContacts.
|
||||
public void getMediaRoom(String label_id) {
|
||||
}
|
||||
|
||||
public void getBanners() {
|
||||
public void getBanners(String s) {
|
||||
// Type listType = new TypeToken<List<BannerModel>>() {}.getType();
|
||||
// List<BannerModel> restoredRoomModels = GsonUtils.getGSON().fromJson(SpUtils.getHomeBanner(), listType);
|
||||
// MvpRef.get().setBanners(restoredRoomModels);
|
||||
api.getBanners(new BaseObserver<List<BannerModel>>() {
|
||||
api.getBanners(s,new BaseObserver<List<BannerModel>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
@@ -74,9 +74,8 @@ public class VoiceCategoryPresenter extends BasePresenter<VoiceCategoryContacts.
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getCarousels(int type, int page, String page_limit, String is_top, String label_id) {
|
||||
if (type == 1) {//这是获取顶部的推荐房间
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.activity.user;
|
||||
|
||||
import static androidx.lifecycle.Transformations.map;
|
||||
|
||||
import androidx.arch.core.util.Function;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,30 +1,28 @@
|
||||
package com.example.modulevocal.activity;
|
||||
package com.xscm.modulemain.activity.user.activity;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.graphics.Color;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.activity.ui.main.GiftWallConacts;
|
||||
import com.example.modulevocal.activity.ui.main.GiftWallPresenter;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import com.example.modulevocal.activity.ui.main.SectionsPagerAdapter;
|
||||
import com.example.modulevocal.databinding.ActivityGiftWallBinding;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.CombinedGiftBean;
|
||||
import com.xscm.modulemain.BaseMvpActivity;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.conacts.GiftWallConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.GiftWallPresenter;
|
||||
import com.xscm.modulemain.adapter.SectionsGifPagerAdapter;
|
||||
import com.xscm.modulemain.databinding.ActivityGiftWallBinding;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
import com.xscm.moduleutil.bean.RoomTypeModel;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
|
||||
/**
|
||||
* 礼物墙
|
||||
*/
|
||||
public class GiftWallActivity extends BaseMvpActivity<GiftWallPresenter, ActivityGiftWallBinding> implements GiftWallConacts.View {
|
||||
SectionsPagerAdapter sectionsPagerAdapter;
|
||||
SectionsGifPagerAdapter sectionsPagerAdapter;
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
@@ -35,7 +33,7 @@ public class GiftWallActivity extends BaseMvpActivity<GiftWallPresenter, Activit
|
||||
|
||||
// 在获取到数据后调用此方法初始化 ViewPager
|
||||
private void setupViewPagerWithData(GiftUserWallBean data) {
|
||||
sectionsPagerAdapter = new SectionsPagerAdapter(this, data);
|
||||
sectionsPagerAdapter = new SectionsGifPagerAdapter(this, data);
|
||||
ViewPager2 viewPager = mBinding.viewPager;
|
||||
viewPager.setAdapter(sectionsPagerAdapter);
|
||||
TabLayout tabs = mBinding.tabs;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
package com.example.modulevocal.activity;
|
||||
package com.xscm.modulemain.activity.user.activity;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
@@ -6,36 +8,31 @@ import android.graphics.LinearGradient;
|
||||
import android.graphics.Shader;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.GridView;
|
||||
import android.widget.TextView;
|
||||
import androidx.activity.EdgeToEdge;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.adapter.GridNobleAdapter;
|
||||
import com.example.modulevocal.adapter.NobliityBannerAdapter;
|
||||
import com.example.modulevocal.conacts.NobleTitleConacts;
|
||||
import com.example.modulevocal.databinding.ActivityNobleDetailsBinding;
|
||||
import com.example.modulevocal.presenter.NobleTitlePresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
|
||||
import com.xscm.modulemain.BaseMvpActivity;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.conacts.NobleTitleConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.NobleTitlePresenter;
|
||||
import com.xscm.modulemain.adapter.GridNobleAdapter;
|
||||
import com.xscm.modulemain.adapter.NobliityBannerAdapter;
|
||||
import com.xscm.modulemain.databinding.ActivityNobleDetailsBinding;
|
||||
import com.xscm.modulemain.dialog.RoomAuctionWebViewDialog;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.*;
|
||||
import com.xscm.moduleutil.dialog.RoomAuctionWebViewDialog;
|
||||
import com.zhpan.bannerview.BannerViewPager;
|
||||
import com.xscm.moduleutil.bean.AppPay;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.NobilitDeatils;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
import com.zhpan.bannerview.constants.PageStyle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
|
||||
/**
|
||||
* @Description: 这是爵位详情方案
|
||||
* @Author: qx
|
||||
|
||||
@@ -1,38 +1,43 @@
|
||||
package com.example.modulevocal.activity;
|
||||
package com.xscm.modulemain.activity.user.activity;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Paint;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.adapter.NoblePrivilegeAdapter;
|
||||
import com.example.modulevocal.conacts.NobleTitleConacts;
|
||||
import com.example.modulevocal.databinding.ActivityNoblePaymentBinding;
|
||||
import com.example.modulevocal.presenter.NobleTitlePresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
||||
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.modulemain.BaseMvpActivity;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.conacts.NobleTitleConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.NobleTitlePresenter;
|
||||
import com.xscm.modulemain.adapter.NoblePrivilegeAdapter;
|
||||
import com.xscm.modulemain.databinding.ActivityNoblePaymentBinding;
|
||||
import com.xscm.modulemain.dialog.RoomAuctionWebViewDialog;
|
||||
import com.xscm.moduleutil.adapter.PayMethodAdapter;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.*;
|
||||
import com.xscm.moduleutil.bean.AppPay;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.NobilitDeatils;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.dialog.RoomAuctionWebViewDialog;
|
||||
import com.xscm.moduleutil.event.PayEvent;
|
||||
import com.xscm.moduleutil.utils.*;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.PaymentUtil;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
@@ -43,9 +48,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
/**
|
||||
* @Description: 这是爵位支付方案
|
||||
* @Author: qx
|
||||
|
||||
@@ -1,53 +1,46 @@
|
||||
package com.example.modulevocal.activity;
|
||||
package com.xscm.modulemain.activity.user.activity;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Shader;
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.HorizontalScrollView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.conacts.NobleTitleConacts;
|
||||
import com.example.modulevocal.databinding.ActivityNobleTitleBinding;
|
||||
import com.example.modulevocal.presenter.NobleTitlePresenter;
|
||||
|
||||
import com.rmondjone.locktableview.LockTableView;
|
||||
import com.rmondjone.xrecyclerview.ProgressStyle;
|
||||
import com.rmondjone.xrecyclerview.XRecyclerView;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.base.BaseRoomContacts;
|
||||
import com.xscm.modulemain.BaseMvpActivity;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.conacts.NobleTitleConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.NobleTitlePresenter;
|
||||
import com.xscm.modulemain.databinding.ActivityNobleTitleBinding;
|
||||
import com.xscm.modulemain.dialog.RoomAuctionWebViewDialog;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.*;
|
||||
import com.xscm.moduleutil.dialog.RoomAuctionWebViewDialog;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.bean.AppPay;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.NobilitDeatils;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
import com.xscm.moduleutil.bean.TableCellData;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
/**
|
||||
* @Description: 爵位展示页面
|
||||
* @Author: qx
|
||||
* @Data: 2022/4/18 21:05
|
||||
*/
|
||||
public class NobleTitleActivity extends BaseMvpActivity<NobleTitlePresenter, ActivityNobleTitleBinding> implements NobleTitleConacts.View {
|
||||
public class NobleTitleActivity extends BaseMvpActivity<NobleTitlePresenter, ActivityNobleTitleBinding> implements com.xscm.modulemain.activity.user.conacts.NobleTitleConacts.View {
|
||||
private LinearLayout mContentView;
|
||||
private List<NobilitDeatils.nobilityPowerItem> mNobilityPowerItemList = new ArrayList<>();
|
||||
private String lid;
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.xscm.modulemain.activity.user.presenter.SettingPresenter;
|
||||
import com.xscm.modulemain.BaseMvpActivity;
|
||||
import com.xscm.modulemain.dialog.YouthModelDialog;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.dialog.RealNameDialog;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -50,6 +51,7 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
|
||||
private int clickCount = 0;
|
||||
private static final int REQUIRED_CLICKS = 6;
|
||||
private UserInfo userInfo;
|
||||
private Handler handler = new Handler();
|
||||
private Runnable resetRunnable = new Runnable() {
|
||||
@Override
|
||||
@@ -60,7 +62,21 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
private static final long RESET_DELAY = 1000; // 1秒无操作自动重置
|
||||
|
||||
protected void initData() {
|
||||
userInfo = SpUtil.getUserInfo();
|
||||
mBinding.tvBbh.setText(CommonAppConfig.getInstance().getVersion());
|
||||
|
||||
if (userInfo != null) {
|
||||
if (userInfo.getIs_hide() != null && userInfo.getIs_hide().equals("1")) {
|
||||
mBinding.llQhdz.setVisibility(View.VISIBLE);
|
||||
if (userInfo.getHide_status()!=null && userInfo.getHide_status().equals("1")){
|
||||
mBinding.swit.setChecked(true);
|
||||
}else {
|
||||
mBinding.swit.setChecked(false);
|
||||
}
|
||||
} else {
|
||||
mBinding.llQhdz.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -89,6 +105,11 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void onClick(View view) {
|
||||
|
||||
if (MvpPre == null) {
|
||||
MvpPre = bindPresenter();
|
||||
}
|
||||
|
||||
if (view.getId() == R.id.ll_youth) {
|
||||
// startActivity(new Intent(this, UnderageActivity.class));
|
||||
showYouthModelDialog();
|
||||
@@ -137,7 +158,7 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
}
|
||||
}).setNegativeButton("取消", null).create().show();
|
||||
} else if (view.getId() == R.id.swit) {
|
||||
if (mBinding.swit.isChecked()) {
|
||||
/* if (mBinding.swit.isChecked()) {
|
||||
ConfigManager.getInstance().switchEnvironment(EnvironmentEnum.PRODUCTION);
|
||||
EnvironmentEnum selectedEnv = EnvironmentEnum.PRODUCTION;
|
||||
EnvironmentPrefs prefs = new EnvironmentPrefs(this);
|
||||
@@ -147,6 +168,11 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
EnvironmentEnum selectedEnv = EnvironmentEnum.TEST;
|
||||
EnvironmentPrefs prefs = new EnvironmentPrefs(this);
|
||||
prefs.setSelectedEnvironment(selectedEnv);
|
||||
}*/
|
||||
if (mBinding.swit.isChecked()) {
|
||||
MvpPre.getModifyHideStatus("1");
|
||||
} else {
|
||||
MvpPre.getModifyHideStatus("0");
|
||||
}
|
||||
} else if (view.getId() == R.id.ll_tcdl) {
|
||||
new AlertDialog.Builder(this).setMessage("确定要退出登录吗?")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.activity.user.conacts;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.activity.IView;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
@@ -4,7 +4,11 @@ import android.app.Activity;
|
||||
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.activity.IView;
|
||||
import com.xscm.moduleutil.bean.BannerModel;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public final class MeConacts {
|
||||
@@ -16,9 +20,9 @@ public final class MeConacts {
|
||||
|
||||
void hideSkill(boolean hideSkill);
|
||||
|
||||
// void isFirstRecharge(EntranceCheckBean entranceCheckBean);
|
||||
void wallet(WalletBean walletBean);
|
||||
|
||||
// void setMemberList(GuardMemberBean guardMemberBean);
|
||||
void setBanners(List<BannerModel> bannerModels);
|
||||
}
|
||||
|
||||
public interface IMePre extends IPresenter {
|
||||
@@ -33,6 +37,9 @@ public final class MeConacts {
|
||||
void entranceCheckFirstRecharge();
|
||||
|
||||
void getMemberList(String userId, int page);
|
||||
|
||||
|
||||
void wallet();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package com.example.modulevocal.conacts;
|
||||
package com.xscm.modulemain.activity.user.conacts;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.activity.IView;
|
||||
import com.xscm.moduleutil.bean.*;
|
||||
import com.xscm.moduleutil.bean.AppPay;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.NobilitDeatils;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -15,5 +15,7 @@ public class SettingConacts {
|
||||
void clearLoginInfo();
|
||||
|
||||
void cancel();
|
||||
|
||||
void getModifyHideStatus(String hide_status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.activity.user.fragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@@ -6,14 +6,16 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.GridView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import com.example.modulevocal.databinding.FragmentGiftWallBinding;
|
||||
|
||||
import com.xscm.modulemain.activity.user.PageViewModel;
|
||||
import com.xscm.modulemain.adapter.GiftWallAdapter;
|
||||
import com.xscm.modulemain.databinding.FragmentGiftWallBinding;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -114,11 +114,24 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
|
||||
} else {
|
||||
mBinding.slidingTabLayout.setCurrentTab(0);
|
||||
}
|
||||
mBinding.headerInfo.rivUserHead.setData(userInfo.getAvatar(), "", userInfo.getSex() + "");
|
||||
mBinding.headerInfo.rivUserHead.setData(userInfo.getAvatar(), "", userInfo.getNobility_image());
|
||||
String sex = userInfo.getSex()==1?"男":"女";
|
||||
mBinding.headerInfo.tvUserId.setText(sex+" | ID:"+userInfo.getUser_code());
|
||||
|
||||
mBinding.headerInfo.tvNickName.setText(userInfo.getNickname());
|
||||
mBinding.headerInfo.tvUserId.setText(userInfo.getUser_code());
|
||||
mBinding.headerInfo.tvNickName.setTextColor( (userInfo.getNickname_color()!=null && !userInfo.getNickname_color().equals(""))?Color.parseColor(userInfo.getNickname_color()):Color.parseColor("#333333"));
|
||||
// mBinding.headerInfo.tvUserId.setText(userInfo.getUser_code());
|
||||
mBinding.headerInfo.tvAge.setText(userInfo.getAge() + "岁");
|
||||
mBinding.headerInfo.tvJj.setText(userInfo.getProfile());
|
||||
|
||||
|
||||
if (userInfo.getIs_use_code()==1){
|
||||
mBinding.headerInfo.imBeautiful.setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
mBinding.headerInfo.imBeautiful.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
LinearLayout llContainer = mBinding.headerInfo.llImageContainer;
|
||||
llContainer.removeAllViews(); // 清空旧的 ImageView
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@@ -15,7 +16,14 @@ import android.widget.LinearLayout;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.stx.xhb.xbanner.XBanner;
|
||||
import com.tencent.mm.opensdk.modelbiz.WXOpenCustomerServiceChat;
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
||||
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.activity.GiftWallActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.NobleTitleActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.RechargeActivity;
|
||||
import com.xscm.modulemain.databinding.FragmentVocalRangeBinding;
|
||||
import com.xscm.modulemain.activity.user.activity.BlacklistActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.DailyTasksActivity;
|
||||
@@ -31,7 +39,9 @@ import com.xscm.modulemain.activity.user.presenter.MePresenter;
|
||||
import com.xscm.modulemain.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.BannerModel;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
|
||||
@@ -90,18 +100,51 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
// mBinding.meMyCustom.setOnClickListener(this::onClick);
|
||||
// mBinding.meMyHelp.setOnClickListener(this::onClick);
|
||||
mBinding.ivSz.setOnClickListener(this::onClick);
|
||||
mBinding.beautifulViewCopy.setOnClickListener(this::onClick);
|
||||
mBinding.tvCopy.setOnClickListener(this::onClick);
|
||||
// mBinding.meMyShare.setOnClickListener(this::onClick);
|
||||
mBinding.tvHome.setOnClickListener(this::onClick);
|
||||
mBinding.meDressUp.setOnClickListener(this::onClick);
|
||||
mBinding.tvMyWallet.setOnClickListener(this::onClick);
|
||||
mBinding.meDaily.setOnClickListener(this::onClick);
|
||||
mBinding.meMyGuild.setOnClickListener(this::onClick);
|
||||
mBinding.tvMyShopping.setOnClickListener(this::onClick);
|
||||
mBinding.llMeGuild.setOnClickListener(this::onClick);
|
||||
mBinding.llMyShopping.setOnClickListener(this::onClick);
|
||||
mBinding.imMyRoom.setOnClickListener(this::onClick);
|
||||
mBinding.meMyDan.setOnClickListener(this::onClick);
|
||||
mBinding.ivHb.setOnClickListener(this::onClick);
|
||||
mBinding.ivKf.setOnClickListener(this::onClick);
|
||||
mBinding.ivFk.setOnClickListener(this::onClick);
|
||||
mBinding.llRecharge.setOnClickListener(this::onClick);
|
||||
mBinding.llMeIncome.setOnClickListener(this::onClick);
|
||||
mBinding.llMeHelp.setOnClickListener(this::onClick);
|
||||
mBinding.llGiftWall.setOnClickListener(this::onClick);
|
||||
mBinding.clNobleTitle.setOnClickListener(this::onClick);
|
||||
|
||||
mBinding.banner.loadImage(new XBanner.XBannerAdapter() {
|
||||
@Override
|
||||
public void loadBanner(XBanner banner, Object model, View view, int position) {
|
||||
BannerModel bannerModel = (BannerModel) model;
|
||||
ImageUtils.loadCenterCrop((String) bannerModel.getXBannerUrl(), (ImageView) view);
|
||||
}
|
||||
});
|
||||
mBinding.banner.setOnItemClickListener(new XBanner.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(XBanner banner, Object model, View view, int position) {
|
||||
// if (ProxyChecker.isProxySet(context)) {
|
||||
// ToastUtils.show("使用代理禁止访问");
|
||||
// return;
|
||||
// }
|
||||
/**
|
||||
* 1房间2文章3链接 其他详情图
|
||||
*
|
||||
* type=1时,该值表示房间id;type=2时,表示文章id
|
||||
*/
|
||||
BannerModel bannerModel = (BannerModel) model;
|
||||
Intent intent=new Intent(getActivity(), WebViewActivity.class);
|
||||
intent.putExtra("url", bannerModel.getUrl());
|
||||
intent.putExtra("title", "防骗指南");
|
||||
startActivity(intent);
|
||||
// ARouter.getInstance().build(ARouteConstants.H5).withString("url", bannerModel.getUrl()).withString("title", "首页横幅").navigation();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -109,6 +152,8 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
MvpPre.getMyInfo();
|
||||
MvpPre.wallet();
|
||||
MvpPre.getBanners("6");
|
||||
// MvpPre.getMemberList(SpUtils.getUserId(), 1);
|
||||
}
|
||||
|
||||
@@ -126,12 +171,12 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
Intent intent=new Intent(getContext(), BlacklistActivity.class);
|
||||
intent.putExtra("type",0);
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.me_my_guild){
|
||||
}else if (id==R.id.ll_me_guild){
|
||||
Intent intent=new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/union/index?id="+SpUtil.getToken());
|
||||
intent.putExtra("title", "公会");
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.tv_my_shopping){
|
||||
}else if (id==R.id.ll_my_shopping){
|
||||
Intent intent=new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/prop/propMall?id="+SpUtil.getToken());
|
||||
intent.putExtra("title", "道具商城");
|
||||
@@ -181,13 +226,18 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
startActivity(new Intent(getContext(), DailyTasksActivity.class));
|
||||
}
|
||||
else if (id == R.id.iv_sz) {//设置
|
||||
startActivity(new Intent(getContext(), SettingActivity.class));
|
||||
// startActivity(new Intent(getContext(), SettingActivity.class));
|
||||
Intent intent = new Intent(getContext(), SettingActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("userInfo", userInfo);
|
||||
intent.putExtras(bundle);
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.me_my_dan){//等级
|
||||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/other/grade?id=" + SpUtil.getToken());
|
||||
intent.putExtra("title", "等级");
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.iv_kf){//反馈
|
||||
}else if (id == R.id.ll_me_help){//反馈
|
||||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/feedback/help?id=" + SpUtil.getToken());
|
||||
// intent.putExtra("url", "http://192.168.110.17:8080/web/index.html#/pages/feedback/help?id=" + SpUtil.getToken());
|
||||
@@ -198,8 +248,23 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/other/income?id=" + SpUtil.getToken());
|
||||
intent.putExtra("title", "邀请");
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.beautiful_view_copy){
|
||||
}else if (id==R.id.tv_copy){
|
||||
copyComment(mBinding.beautifulView.getText().toString());
|
||||
}else if (id==R.id.ll_recharge){//充值
|
||||
startActivity(new Intent(getActivity(), RechargeActivity.class));
|
||||
}else if (id==R.id.ll_me_income){
|
||||
String appId = CommonAppContext.getInstance().getCurrentEnvironment().getWxAppId(); // 填移动应用(App)的 AppId
|
||||
IWXAPI api = WXAPIFactory.createWXAPI(getContext(), appId);
|
||||
|
||||
// 判断当前版本是否支持拉起客服会话
|
||||
WXOpenCustomerServiceChat.Req req = new WXOpenCustomerServiceChat.Req();
|
||||
req.corpId = "ww1de4300858c0b461"; // 企业ID
|
||||
req.url = "https://work.weixin.qq.com/kfid/kfcb3d23a59c188a0e7"; // 客服URL
|
||||
api.sendReq(req);
|
||||
}else if (id==R.id.ll_gift_wall){//我的页面的礼物墙
|
||||
startActivity(new Intent(getContext(), GiftWallActivity.class));
|
||||
}else if (id==R.id.cl_noble_title){//爵位展示页面
|
||||
startActivity(new Intent(getContext(), NobleTitleActivity.class));
|
||||
}
|
||||
}
|
||||
private void copyComment(String content) {
|
||||
@@ -245,12 +310,21 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
public void myInfoSuccess(UserInfo data) {
|
||||
SpUtil.saveUserInfo(data);
|
||||
this.userInfo = data;
|
||||
mBinding.rivUserHead.setData(data.getAvatar(), data.getDress(), String.valueOf(data.getSex()));
|
||||
mBinding.rivUserHead.setData(data.getAvatar(), data.getDress(),data.getNobility_image());
|
||||
mBinding.tvNickName.setText(data.getNickname());
|
||||
mBinding.beautifulView.setText("ID:"+data.getUser_code());
|
||||
mBinding.tvNickName.setTextColor( (data.getNickname_color()!=null&& !data.getNickname_color().equals(""))? Color.parseColor(data.getNickname_color()): Color.parseColor("#ffffff"));
|
||||
String sex = data.getSex()==1?"男":"女";
|
||||
mBinding.beautifulView.setText(sex+" | ID:"+data.getUser_code());
|
||||
mBinding.tvFollow.setText(data.getFollow_num()+"");
|
||||
mBinding.tvFans.setText(data.getFans_num()+"");
|
||||
mBinding.tvFriends.setText(data.getLook_me_num()+"");
|
||||
|
||||
if (data.getIs_use_code()==1){
|
||||
mBinding.imBeautiful.setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
mBinding.imBeautiful.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (data.getAuth()==1){
|
||||
SpUtil.setRealName(true);
|
||||
}else {
|
||||
@@ -298,26 +372,16 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
public void hideSkill(boolean hideSkill) {
|
||||
|
||||
}
|
||||
@Override
|
||||
public void wallet(WalletBean walletBean) {
|
||||
mBinding.tvIcon.setText(walletBean.getCoin());
|
||||
}
|
||||
|
||||
/**
|
||||
* 首充有礼显示
|
||||
*/
|
||||
// @Override
|
||||
// public void isFirstRecharge(EntranceCheckBean entranceCheckBean) {
|
||||
//// if (entranceCheckBean != null) {
|
||||
//// mBinding.ivFirstCharge.setVisibility(entranceCheckBean.isAllow_show() ? View.VISIBLE : View.GONE);
|
||||
//// }
|
||||
// }
|
||||
@Override
|
||||
public void setBanners(List<BannerModel> bannerModels) {
|
||||
mBinding.banner.setBannerData(com.xscm.moduleutil.R.layout.index_image_banner, bannerModels);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取守护数
|
||||
*/
|
||||
// @Override
|
||||
// public void setMemberList(GuardMemberBean guardMemberBean) {
|
||||
//// if (guardMemberBean != null) {
|
||||
//// mBinding.tvGuardNum.setText(guardMemberBean.getHead().getTotal_number());
|
||||
//// }
|
||||
// }
|
||||
|
||||
private void copyUserId(CharSequence content) {
|
||||
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
|
||||
@@ -327,85 +391,6 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
}
|
||||
}
|
||||
|
||||
// private List<MeItemBean> initItems() {
|
||||
// List<MeItemBean> items = new ArrayList<>();
|
||||
// // 成为大神
|
||||
// MeItemBean skill = new MeItemBean(true, true);
|
||||
// skill.setIcon(R.mipmap.me_icon_cwds);
|
||||
// skill.setName("成为大神");
|
||||
// skill.setType("skill");
|
||||
// items.add(skill);
|
||||
// // 我的订单
|
||||
//// MeItemBean order = new MeItemBean(true, false);
|
||||
//// order.setIcon(R.mipmap.me_icon_wddd);
|
||||
//// order.setName("我的订单");
|
||||
//// order.setType("order");
|
||||
//// items.add(order);
|
||||
//// // 评价订单
|
||||
//// MeItemBean pjOrder = new MeItemBean(true, false);
|
||||
//// pjOrder.setIcon(R.mipmap.me_icon_pjdd);
|
||||
//// pjOrder.setName("评价订单");
|
||||
//// pjOrder.setType("pjOrder");
|
||||
//// items.add(pjOrder);
|
||||
// // 我的等级
|
||||
// MeItemBean wdDengji = new MeItemBean(true, true);
|
||||
// wdDengji.setIcon(R.mipmap.me_icon_wddj);
|
||||
// wdDengji.setName("我的等级");
|
||||
// wdDengji.setType("wdDengji");
|
||||
// items.add(wdDengji);
|
||||
// // 我的公会
|
||||
// MeItemBean wdGonghui = new MeItemBean(true, true);
|
||||
// wdGonghui.setIcon(R.mipmap.me_icon_wdgh);
|
||||
// wdGonghui.setName("我的公会");
|
||||
// wdGonghui.setType("wdGonghui");
|
||||
// items.add(wdGonghui);
|
||||
//// // 邀请有礼
|
||||
//// MeItemBean yqYouli = new MeItemBean(true, true);
|
||||
//// yqYouli.setIcon(R.mipmap.me_icon_yqyl);
|
||||
//// yqYouli.setName("邀请有礼");
|
||||
//// yqYouli.setType("yqYouli");
|
||||
//// items.add(yqYouli);
|
||||
// // 实名认证
|
||||
// MeItemBean verified = new MeItemBean(false, true);
|
||||
// verified.setIcon(R.mipmap.me_icon_smrz);
|
||||
// verified.setName("实名认证");
|
||||
// verified.setType("verified");
|
||||
// items.add(verified);
|
||||
//
|
||||
// return items;
|
||||
// }
|
||||
|
||||
// private List<MeItemBean> initItems2() {
|
||||
// List<MeItemBean> items = new ArrayList<>();
|
||||
// // 在线客服
|
||||
// MeItemBean customerService = new MeItemBean(true, true);
|
||||
// customerService.setType("customer_service");
|
||||
// customerService.setName("在线客服");
|
||||
// customerService.setIcon(R.mipmap.me_icon_service);
|
||||
// items.add(customerService);
|
||||
// // 帮助中心
|
||||
// MeItemBean helpCenter = new MeItemBean(true, true);
|
||||
// helpCenter.setType("help_center");
|
||||
// helpCenter.setName("帮助中心");
|
||||
// helpCenter.setIcon(R.mipmap.me_icon_help);
|
||||
// items.add(helpCenter);
|
||||
// // 设置
|
||||
// MeItemBean settings = new MeItemBean(false, true);
|
||||
// settings.setType("settings");
|
||||
// settings.setName("设置");
|
||||
// settings.setIcon(R.mipmap.me_icon_setting);
|
||||
// items.add(settings);
|
||||
//
|
||||
// return items;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 关闭首充入口
|
||||
*/
|
||||
// @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
// public void closeFirstCharge(CloseFirstChargeEvent closeFirstChargeEvent) {
|
||||
//// mBinding.ivFirstCharge.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
|
||||
@@ -12,15 +12,17 @@ import com.xscm.moduleutil.utils.cos.CosUploadManager;
|
||||
import com.xscm.moduleutil.utils.oss.OSSOperUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class EditUserPresenter extends BasePresenter<EditUserConactos.View> implements EditUserConactos.IMePre {
|
||||
EditUserConactos.View mView;
|
||||
public EditUserPresenter(EditUserConactos.View view, Context context) {
|
||||
super(view, context);
|
||||
mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void topicList(String page, String page_limit) {
|
||||
|
||||
@@ -85,6 +87,9 @@ public class EditUserPresenter extends BasePresenter<EditUserConactos.View> impl
|
||||
|
||||
@Override
|
||||
public void onNext(UserInfo userInfo) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().getUserHomeSuccess(userInfo);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.activity.user.presenter;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.xscm.modulemain.activity.user.conacts.GiftWallConacts;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,16 +3,23 @@ package com.xscm.modulemain.activity.user.presenter;
|
||||
import android.content.Context;
|
||||
|
||||
import com.xscm.modulemain.activity.user.conacts.MeConacts;
|
||||
import com.xscm.moduleutil.bean.BannerModel;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class MePresenter extends BasePresenter<MeConacts.View> implements MeConacts.IMePre {
|
||||
|
||||
MeConacts.View mView;
|
||||
public MePresenter(MeConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -164,28 +171,39 @@ public class MePresenter extends BasePresenter<MeConacts.View> implements MeCona
|
||||
}
|
||||
|
||||
|
||||
public void getConfig() {
|
||||
// api.appUpdate(new com.qpyy.libcommon.http.BaseObserver<AppUpdateModel>() {
|
||||
// @Override
|
||||
// public void onSubscribe(Disposable d) {
|
||||
// addDisposable(d);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onNext(AppUpdateModel appUpdateModel) {
|
||||
// String channelId = "default";
|
||||
// try {
|
||||
// channelId = MetaDataUtils.getMetaDataInApp("TD_CHANNEL_ID");
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// MvpRef.get().hideSkill(appUpdateModel != null && appUpdateModel.getChannels() != null && appUpdateModel.getChannels().contains(channelId));
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onComplete() {
|
||||
//
|
||||
// }
|
||||
// });
|
||||
@Override
|
||||
public void wallet() {
|
||||
api.wallet(new BaseObserver<WalletBean>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(WalletBean walletBean) {
|
||||
MvpRef.get().wallet(walletBean);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void getBanners(String s) {
|
||||
// Type listType = new TypeToken<List<BannerModel>>() {}.getType();
|
||||
// List<BannerModel> restoredRoomModels = GsonUtils.getGSON().fromJson(SpUtils.getHomeBanner(), listType);
|
||||
// MvpRef.get().setBanners(restoredRoomModels);
|
||||
api.getBanners(s,new BaseObserver<List<BannerModel>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(List<BannerModel> bannerModels) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().setBanners(bannerModels);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
package com.example.modulevocal.presenter;
|
||||
package com.xscm.modulemain.activity.user.presenter;
|
||||
|
||||
import android.content.Context;
|
||||
import com.example.modulevocal.conacts.MeConacts;
|
||||
import com.example.modulevocal.conacts.NobleTitleConacts;
|
||||
import com.xscm.moduleutil.bean.*;
|
||||
|
||||
import com.xscm.modulemain.activity.user.conacts.NobleTitleConacts;
|
||||
import com.xscm.moduleutil.bean.AppPay;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.NobilitDeatils;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
* com.example.modulevocal.presenter
|
||||
* qx
|
||||
|
||||
@@ -51,7 +51,7 @@ public class RechargePresenter extends BasePresenter<RechargeConactos.View> impl
|
||||
|
||||
@Override
|
||||
public void appPay(String user_id, String money, String coin, String type, String type_params, String type_id) {
|
||||
api.appPay(user_id, money, coin, type,type_params,type_id, new BaseObserver<AppPay>() {
|
||||
api.appPay(user_id, money, coin, type,type_params,type_id,"", new BaseObserver<AppPay>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
|
||||
@@ -6,13 +6,18 @@ import com.xscm.modulemain.activity.user.conacts.SettingConacts;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class SettingPresenter extends BasePresenter<SettingConacts.View> implements SettingConacts.IMePre {
|
||||
private SettingConacts.View mView;
|
||||
public SettingPresenter(SettingConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearLoginInfo() {
|
||||
api.clearLoginInfo(new BaseObserver<String>() {
|
||||
@@ -23,6 +28,9 @@ public class SettingPresenter extends BasePresenter<SettingConacts.View> impleme
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().clearLoginInfo(s);
|
||||
}
|
||||
});
|
||||
@@ -39,8 +47,26 @@ public class SettingPresenter extends BasePresenter<SettingConacts.View> impleme
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().cancel(s);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getModifyHideStatus(String hide_status) {
|
||||
api.getModifyHideStatus(hide_status, new BaseObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(@NotNull Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NotNull String s) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, BlackUserBean item) {
|
||||
MeHeadView headView = helper.getView(R.id.im_user);
|
||||
headView.setData(item.getAvatar(), "", item.getSex() + "");
|
||||
headView.setData(item.getAvatar(), "", "");
|
||||
helper.setText(R.id.tv_nick_name, item.getNickname());
|
||||
TextView imageView= helper.getView(R.id.im_g);
|
||||
helper.setText(R.id.tv_oline, item.getIs_online() == 1 ? "[在线]" : "[离线]");
|
||||
|
||||
@@ -35,7 +35,9 @@ import com.xscm.moduleutil.bean.GiftBean;
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.room.EMMessageInfo;
|
||||
import com.xscm.moduleutil.bean.room.EmotionDeatils;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.MeHeadView;
|
||||
import com.xscm.moduleutil.utils.logger.Logger;
|
||||
import com.xscm.moduleutil.widget.AdaptiveImageView;
|
||||
import com.xscm.moduleutil.widget.GifAvatarOvalView;
|
||||
@@ -45,6 +47,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
/**
|
||||
@@ -209,9 +212,11 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
emojiImageView.setVisibility(View.VISIBLE);
|
||||
helper.getView(com.xscm.moduleutil.R.id.tv_content).setVisibility(View.GONE);
|
||||
|
||||
|
||||
MeHeadView avatar = helper.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
avatar.setData(emMessage.getText().getFromUserInfo().getAvatar(), "", emMessage.getText().getFromUserInfo().getNobility_image());
|
||||
ImageUtils.loadHeadCC(emMessage.getText().getFromUserInfo().getAvatar(), helper.getView(com.xscm.moduleutil.R.id.avatar));
|
||||
helper.setText(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname());
|
||||
// helper.setText(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname());
|
||||
helper.setTextColor(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname_color()!=null && !emMessage.getText().getFromUserInfo().getNickname_color().isEmpty()? Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color()):Color.parseColor("#CCA882"));
|
||||
if (emMessage.getText().getText() != null) {
|
||||
helper.setText(com.xscm.moduleutil.R.id.tv_content, getSpannable(emMessage));
|
||||
}
|
||||
@@ -270,9 +275,16 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
String uniqueId = emMessage.getRoomId() + "_" + helper.getLayoutPosition();
|
||||
emojiImageView.setTag(uniqueId);
|
||||
|
||||
if (Objects.equals(emMessage.getText().getEmoji().getAnimate_image(), "") ||
|
||||
emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
//这段代码使用 Optional 链式调用安全地获取 emMessage 中的 animate_image 字段,避免空指针异常。如果任意环节为 null,则返回空字符串。
|
||||
String animateImage = Optional.ofNullable(emMessage)
|
||||
.map(RoomMessageEvent::getText)
|
||||
.map(RoomMessageEvent.T::getEmoji)
|
||||
.map(EmotionDeatils::getAnimate_image)
|
||||
.orElse("");
|
||||
|
||||
// if (Objects.equals(emMessage.getText().getEmoji().getAnimate_image(), "") ||
|
||||
// emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
if (!animateImage.isEmpty()){
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
ImageUtils.loadHeadCC(emMessage.getText().getEmoji().getImage(), emojiImageView);
|
||||
@@ -280,35 +292,42 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
return;
|
||||
}
|
||||
|
||||
// 使用 RequestListener 监听加载完成
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getAnimate_image())
|
||||
.listener(new RequestListener<Drawable>() {
|
||||
@Override
|
||||
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
|
||||
DataSource dataSource, boolean isFirstResource) {
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
// 加载完成后执行
|
||||
new Handler().postDelayed(() -> {
|
||||
// 再次检查视图状态
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
}, 1500);
|
||||
if (!emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
// 使用 RequestListener 监听加载完成
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getAnimate_image())
|
||||
.listener(new RequestListener<Drawable>() {
|
||||
@Override
|
||||
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
|
||||
DataSource dataSource, boolean isFirstResource) {
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
// 加载完成后执行
|
||||
new Handler().postDelayed(() -> {
|
||||
// 再次检查视图状态
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target,
|
||||
boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(emojiImageView);
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target,
|
||||
boolean isFirstResource) {
|
||||
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(emojiImageView);
|
||||
}else {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
} else {
|
||||
helper.getView(com.xscm.moduleutil.R.id.tv_content).setVisibility(View.VISIBLE);
|
||||
emojiImageView.setVisibility(View.GONE);
|
||||
@@ -573,7 +592,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
public void onViewRecycled(@NonNull BaseViewHolder holder) {
|
||||
Logger.e("onViewRecycled", "onViewRecycled");
|
||||
// AdaptiveImageView imEmj = (AdaptiveImageView)holder.getView(com.xscm.moduleutil.R.id.im_emj);
|
||||
GifAvatarOvalView avatarOvalView = holder.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
MeHeadView avatarOvalView = holder.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
ImageView ivNobility = holder.getView(com.xscm.moduleutil.R.id.iv_nobility);
|
||||
ImageView ivCharm = holder.getView(com.xscm.moduleutil.R.id.iv_charm);
|
||||
|
||||
@@ -592,7 +611,6 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
|
||||
// 清理其他图片
|
||||
if (avatarOvalView != null) {
|
||||
avatarOvalView.setImageDrawable(null);
|
||||
Glide.with(avatarOvalView.getContext()).clear(avatarOvalView);
|
||||
}
|
||||
if (ivNobility != null) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xscm.modulemain.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.room.EmotionDeatils;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
@@ -28,9 +29,17 @@ public class EmotionAdapter extends BaseQuickAdapter<EmotionDeatils, BaseViewHol
|
||||
protected void convert(BaseViewHolder helper, EmotionDeatils item) {
|
||||
ImageUtils.loadHeadCC(item.getImage(), helper.getView(R.id.iv_emotion));
|
||||
helper.setText(R.id.tv_emotion_name, item.getName());
|
||||
|
||||
if (item.is_lock()==0){
|
||||
helper.setVisible(R.id.iv_select,false);
|
||||
}else {
|
||||
helper.setVisible(R.id.iv_select,true);
|
||||
}
|
||||
// 设置点击事件
|
||||
helper.itemView.setOnClickListener(v -> {
|
||||
if (item.is_lock()==1){
|
||||
ToastUtils.show("当前属于爵位专属,请先开通爵位");
|
||||
return;
|
||||
}
|
||||
if (onEmotionClickListener != null) {
|
||||
onEmotionClickListener.onEmotionClick(item);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -53,6 +54,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
||||
helper.setText(R.id.tv_agree,(item.getAgree()!=null?item.getAgree():"0")+"岁");
|
||||
//昵称
|
||||
helper.setText(R.id.dy_name_text, item.getNickname());
|
||||
helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333"));
|
||||
helper.setText(R.id.tv_address, item.getLoginip());
|
||||
if (item.getUser_id().equals(SpUtil.getUserId()+"")){
|
||||
helper.setVisible(R.id.gensui, false);
|
||||
@@ -77,7 +79,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
||||
//头像
|
||||
// ImageUtils.loadHeadCC(item.getAvatar(), (ImageView) helper.getView(R.id.dy_head_image));
|
||||
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
||||
headView.setData(item.getAvatar(), "", item.getSex());
|
||||
headView.setData(item.getAvatar(), "", item.getNobility_image());
|
||||
|
||||
if (item.getHome_bgimages() != null && !item.getHome_bgimages().isEmpty()) {
|
||||
// String[] arrIv = item.getHome_bgimages().toArray(new String[item.getHome_bgimages().size()]);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -6,15 +6,14 @@ import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.adapter.TopUsersAdapter;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.CombinedGiftBean;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
|
||||
|
||||
@@ -1,24 +1,16 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
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 androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.activity.ui.main.GiftWallAdapter;
|
||||
import com.xscm.moduleutil.bean.CombinedGiftBean;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.widget.CircularImage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.example.modulevocal.R;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import com.example.modulevocal.R;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.TopRoom;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class SearchUserResultAdapter extends BaseQuickAdapter<UserResultResp, Ba
|
||||
helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord));
|
||||
helper.setText(R.id.tv_id, "ID:" + item.getUser_code());
|
||||
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
||||
headView.setData(item.getHead_picture(), "", item.getSex());
|
||||
headView.setData(item.getHead_picture(), "", "");
|
||||
// if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||
// helper.setVisible(R.id.gensui, false);
|
||||
// } else {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.fragment.app.*;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -15,7 +17,7 @@ import java.io.Serializable;
|
||||
* A [FragmentPagerAdapter] that returns a fragment corresponding to
|
||||
* one of the sections/tabs/pages.
|
||||
*/
|
||||
public class SectionsPagerAdapter extends FragmentStateAdapter {
|
||||
public class SectionsGifPagerAdapter extends FragmentStateAdapter {
|
||||
|
||||
@StringRes
|
||||
private static final int[] TAB_TITLES = new int[]{com.xscm.moduleutil.R.string.tab_text_1, com.xscm.moduleutil.R.string.tab_text_2};
|
||||
@@ -28,7 +30,7 @@ public class SectionsPagerAdapter extends FragmentStateAdapter {
|
||||
// this.giftData = giftData;
|
||||
// }
|
||||
|
||||
public SectionsPagerAdapter(@NonNull FragmentActivity fragmentActivity, GiftUserWallBean giftData) {
|
||||
public SectionsGifPagerAdapter(@NonNull FragmentActivity fragmentActivity, GiftUserWallBean giftData) {
|
||||
super(fragmentActivity);
|
||||
this.mContext = fragmentActivity;
|
||||
this.giftData = giftData;
|
||||
|
||||
@@ -6,6 +6,7 @@ import static android.view.View.VISIBLE;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -376,9 +377,12 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
|
||||
@Override
|
||||
public void getRoomUserInfo(UserInfo userInfo1) {
|
||||
this.userInfo = userInfo1;
|
||||
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getSex() + "");
|
||||
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getNobility_image() + "");
|
||||
String sex = userInfo.getSex()==1?"男":"女";
|
||||
mBinding.tvId.setText(sex+" | ID:"+userInfo.getUser_code());
|
||||
mBinding.tvName.setText(userInfo.getNickname());
|
||||
mBinding.tvId.setText("ID:" + userInfo.getUser_code());
|
||||
mBinding.tvName.setTextColor( (userInfo.getNickname_color()!=null && !userInfo.getNickname_color().equals(""))? Color.parseColor(userInfo.getNickname_color()):Color.parseColor("#333333"));
|
||||
// mBinding.tvId.setText("ID:" + userInfo.getUser_code());
|
||||
if (userInfo.getIs_in_pit() == 1) {
|
||||
mBinding.roomMCz.setText("下麦");
|
||||
} else {
|
||||
|
||||
@@ -120,15 +120,15 @@ public class SoundEffectsDialogFragment extends BaseMvpDialogFragment<WheatPrese
|
||||
mBinding.tvSure.setOnClickListener(v -> {
|
||||
if (selectedPosition != -1){
|
||||
if (selectedPosition == 0){
|
||||
AgoraManager.getInstance(getActivity()).potexao(new File(getSavePath() + "xs.mp3").getPath());
|
||||
AgoraManager.getInstance().potexao(new File(getSavePath() + "xs.mp3").getPath());
|
||||
}else if (selectedPosition == 1){
|
||||
AgoraManager.getInstance(getActivity()).potexao(new File(getSavePath() + "hh.mp3").getPath());
|
||||
AgoraManager.getInstance().potexao(new File(getSavePath() + "hh.mp3").getPath());
|
||||
}else if (selectedPosition == 2){
|
||||
AgoraManager.getInstance(getActivity()).potexao(new File(getSavePath() + "gg.mp3").getPath());
|
||||
AgoraManager.getInstance().potexao(new File(getSavePath() + "gg.mp3").getPath());
|
||||
}else if (selectedPosition == 3){
|
||||
AgoraManager.getInstance(getActivity()).potexao(new File(getSavePath() + "zs.mp3").getPath());
|
||||
AgoraManager.getInstance().potexao(new File(getSavePath() + "zs.mp3").getPath());
|
||||
}else if (selectedPosition == 4){
|
||||
AgoraManager.getInstance(getActivity()).potexao(new File(getSavePath() + "mmd.mp3").getPath());
|
||||
AgoraManager.getInstance().potexao(new File(getSavePath() + "mmd.mp3").getPath());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
mBinding.swMonitoring.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
||||
AgoraManager.getInstance(getContext()).enableHeadphoneMonitor(b);
|
||||
AgoraManager.getInstance().enableHeadphoneMonitor(b);
|
||||
//耳返设置完保存本地
|
||||
SpUtil.setAuricularBack(b ? 1 : 0);
|
||||
}
|
||||
@@ -135,7 +135,7 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
int percentage = (int) ((progress / 200.0) * 100);
|
||||
mBinding.tvSeekbarValue.setText("人声" + percentage + "%");
|
||||
SpUtil.setMusicVolume(progress); // 保存原始值(0-200)
|
||||
AgoraManager.getInstance(getContext()).setMusicVolume(progress); // 使用原始值(0-200)
|
||||
AgoraManager.getInstance().setMusicVolume(progress); // 使用原始值(0-200)
|
||||
// 保存当前用户的音量设置
|
||||
volumeManager.saveCurrentVolumes(
|
||||
mBinding.seekBar1.getProgress(),
|
||||
@@ -167,7 +167,7 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||
mBinding.tvSeekbarValue2.setText("伴奏" + progress + "%");
|
||||
SpUtil.settPlayoutVolume(progress);
|
||||
AgoraManager.getInstance(getContext()).setPlayoutVolume(progress);
|
||||
AgoraManager.getInstance().setPlayoutVolume(progress);
|
||||
// 保存当前用户的音量设置
|
||||
volumeManager.saveCurrentVolumes(
|
||||
mBinding.seekBar1.getProgress(),
|
||||
@@ -204,7 +204,7 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
MixerResp item = tunerAdapter.getItem(position);
|
||||
// MvpPre.setUserMixer(roomId, item.getId());
|
||||
// RtcManager.getInstance().setTone(item.getId());
|
||||
AgoraManager.getInstance(mContext).setTone(item.getId());
|
||||
AgoraManager.getInstance().setTone(item.getId());
|
||||
}
|
||||
});
|
||||
|
||||
@@ -225,7 +225,7 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
|
||||
// 执行选中项的操作
|
||||
MixerResp item = tunerAdapter2.getItem(position);
|
||||
AgoraManager.getInstance(mContext).setTone(item.getId());
|
||||
AgoraManager.getInstance().setTone(item.getId());
|
||||
// MvpPre.setUserMixer(roomId, item.getId());
|
||||
// RtcManager.getInstance().setTone(item.getId());
|
||||
}
|
||||
@@ -245,12 +245,12 @@ public class TunerDialogFragment extends BaseMvpDialogFragment<WheatPresenter, R
|
||||
mBinding.seekBar1.setMax(200);
|
||||
mBinding.seekBar1.setProgress(musicVolume);
|
||||
mBinding.tvSeekbarValue.setText("人声" + musicPercentage + "%");
|
||||
AgoraManager.getInstance(getContext()).setMusicVolume(musicVolume); // 使用原始值(0-200)
|
||||
AgoraManager.getInstance().setMusicVolume(musicVolume); // 使用原始值(0-200)
|
||||
// 更新伴奏音量
|
||||
mBinding.seekBar2.setProgress(playoutVolume);
|
||||
// int playoutPercentage = (int) ((playoutVolume / 200.0) * 100);
|
||||
mBinding.tvSeekbarValue2.setText("伴奏" + playoutVolume + "%");
|
||||
AgoraManager.getInstance(getContext()).setPlayoutVolume(playoutVolume);
|
||||
AgoraManager.getInstance().setPlayoutVolume(playoutVolume);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -147,7 +147,7 @@ public class RoomManager {
|
||||
LogUtils.e("token", token);
|
||||
LogUtils.e("roomId:", roomId);
|
||||
// 初始化 Agora 并加入房间
|
||||
AgoraManager.getInstance(context)
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic, enableJs);
|
||||
cacheRoomData(roomId, resp);
|
||||
navigateToRoom(context, roomId, password, resp, false, taskId);
|
||||
|
||||
@@ -467,6 +467,7 @@ class WheatLayoutSingManager private constructor(
|
||||
sex = ""
|
||||
user_code = ""
|
||||
dress_picture = ""
|
||||
mic_cycle = ""
|
||||
}
|
||||
view.setData(view.pitBean)
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_toRightOf="@+id/im_1"
|
||||
android:gravity="left|center"
|
||||
android:text="111111000"
|
||||
tools:text="111111000"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_28" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -229,34 +229,45 @@
|
||||
<!-- android:layout_marginEnd="@dimen/dp_20"-->
|
||||
<!-- android:layout_marginBottom="@dimen/dp_100"-->
|
||||
<!-- android:src="@mipmap/shouchl"/>-->
|
||||
|
||||
<com.stx.xhb.xbanner.XBanner
|
||||
android:id="@+id/banner"
|
||||
android:layout_width="@dimen/dp_75"
|
||||
android:layout_height="@dimen/dp_85"
|
||||
<com.xscm.moduleutil.widget.DropHomeView
|
||||
android:id="@+id/dvr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginBottom="@dimen/dp_100"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitCenter"
|
||||
app:AutoPlayTime="3000"
|
||||
app:pageChangeDuration="3000"
|
||||
app:pointContainerPosition="BOTTOM"
|
||||
app:pointNormal="@mipmap/room_ic_banner_point_normal"
|
||||
app:pointSelect="@mipmap/room_ic_banner_point_select"
|
||||
app:pointTopBottomPadding="@dimen/dp_2"
|
||||
app:pointsPosition="CENTER"
|
||||
app:pointsVisibility="true" />
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<com.stx.xhb.xbanner.XBanner
|
||||
android:id="@+id/banner"
|
||||
android:layout_width="@dimen/dp_75"
|
||||
android:layout_height="@dimen/dp_85"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginBottom="@dimen/dp_100"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitCenter"
|
||||
app:AutoPlayTime="3000"
|
||||
app:pageChangeDuration="3000"
|
||||
app:pointContainerPosition="BOTTOM"
|
||||
app:pointNormal="@mipmap/room_ic_banner_point_normal"
|
||||
app:pointSelect="@mipmap/room_ic_banner_point_select"
|
||||
app:pointTopBottomPadding="@dimen/dp_2"
|
||||
app:pointsPosition="CENTER"
|
||||
app:pointsVisibility="true" />
|
||||
</com.xscm.moduleutil.widget.DropHomeView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/cool_wait_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:visibility="gone">
|
||||
|
||||
<app.dinus.com.loadingdrawable.LoadingView
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_toRightOf="@+id/im_1"
|
||||
android:gravity="left|center"
|
||||
android:text="111111000"
|
||||
tools:text="111111000"
|
||||
android:textColor="@color/colorWhite100"
|
||||
android:textSize="@dimen/sp_28" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -111,6 +111,34 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@color/color_FFE5E5E5" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_qhdz"
|
||||
style="@style/My_Info_Item_LL_Style"
|
||||
android:background="@drawable/bg_r15_white"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
>
|
||||
|
||||
<TextView
|
||||
style="@style/My_Info_Item_Title_Style"
|
||||
android:text="是否隐身" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/swit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center"
|
||||
android:gravity="right"
|
||||
tools:ignore="UseSwitchCompatOrMaterialXml" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@color/color_e2e2e2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_shb"
|
||||
style="@style/My_Info_Item_LL_Style"
|
||||
@@ -236,33 +264,6 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@color/color_e2e2e2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_qhdz"
|
||||
style="@style/My_Info_Item_LL_Style"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:background="@drawable/bg_r15_white"
|
||||
android:visibility="gone"
|
||||
>
|
||||
|
||||
<TextView
|
||||
style="@style/My_Info_Item_Title_Style"
|
||||
android:text="@string/change_address" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/swit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center"
|
||||
android:gravity="right"
|
||||
tools:ignore="UseSwitchCompatOrMaterialXml" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@color/color_e2e2e2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_qhzh"
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_toRightOf="@+id/im_1"
|
||||
android:gravity="left|center"
|
||||
android:text="111111000"
|
||||
tools:text="111111000"
|
||||
android:textColor="@color/colorWhite100"
|
||||
android:textSize="@dimen/sp_28" />
|
||||
</RelativeLayout>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,34 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:padding="8dp">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_60"
|
||||
android:layout_height="@dimen/dp_85"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_emotion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitCenter"
|
||||
tools:src="@mipmap/ic_launcher"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:id="@+id/iv_emotion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitCenter"
|
||||
tools:src="@mipmap/ic_launcher"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_emotion_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:gravity="center"
|
||||
android:textColor="#BBB9C6"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_emotion" />
|
||||
android:id="@+id/tv_emotion_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:gravity="center"
|
||||
android:textColor="#BBB9C6"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_emotion" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="invisible"
|
||||
android:src="@mipmap/noble_is_lock"
|
||||
android:scaleType="fitCenter"
|
||||
android:id="@+id/iv_select"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -108,7 +108,8 @@
|
||||
android:gravity="center"
|
||||
android:text="0"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:visibility="gone"/>
|
||||
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -71,7 +71,8 @@
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:text="ID:"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_id"
|
||||
@@ -81,6 +82,16 @@
|
||||
android:textSize="@dimen/sp_12"
|
||||
tools:text="123131" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/im_beautiful"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_11"
|
||||
android:layout_marginLeft="5dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_copy"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_copy"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@mipmap/beautiful"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -66,19 +66,19 @@ android {
|
||||
|
||||
// // 测试版配置
|
||||
beta {
|
||||
// dimension "environment"
|
||||
dimension "environment"
|
||||
// // 测试版包名:基础包名 + .beta(com.example.myapp.beta)
|
||||
// applicationIdSuffix ".beta"
|
||||
applicationIdSuffix ".beta"
|
||||
// // 测试版版本名:1.0-beta
|
||||
// versionNameSuffix "-beta"
|
||||
versionNameSuffix "-beta"
|
||||
//
|
||||
// // 【测试版应用名称】动态生成带标识的名称
|
||||
// resValue "string", "app_name", "羽声-测试版"
|
||||
resValue "string", "app_name", "羽声-测试版"
|
||||
//
|
||||
// // 【测试版图标】替换为测试专用图标
|
||||
// manifestPlaceholders = [
|
||||
// appIcon: "@mipmap/ic_launcher_app_bat" // 需在main/res/mipmap放置该图标
|
||||
// ]
|
||||
manifestPlaceholders = [
|
||||
appIcon: "@mipmap/ic_launcher_app_bat" // 需在main/res/mipmap放置该图标
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,8 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
|
||||
switch (resp.errCode) {
|
||||
case BaseResp.ErrCode.ERR_OK:
|
||||
// 支付成功:这里需要调用后台接口确认支付状态(避免本地判断不可靠)
|
||||
|
||||
PayEvent messageEvent = new PayEvent(1, "支付成功");
|
||||
EventBus.getDefault().post(messageEvent);
|
||||
break;
|
||||
case BaseResp.ErrCode.ERR_USER_CANCEL:
|
||||
checkPayResultFromServer();
|
||||
|
||||
@@ -59,6 +59,11 @@ legacySupportV4 = "1.0.0"
|
||||
fragmentKtx = "1.5.6"
|
||||
interpolator = "1.0.0"
|
||||
|
||||
material3Android = "1.4.0"
|
||||
uiToolingPreviewAndroid = "1.9.4"
|
||||
tilesToolingPreview = "1.5.0"
|
||||
constraintlayoutVersion = "2.2.1"
|
||||
|
||||
[libraries]
|
||||
alipay-alipaysdk-android = { module = "com.alipay.sdk:alipaysdk-android", version.ref = "alipayAlipaysdkAndroid" }
|
||||
android-flexbox = { module = "com.google.android:flexbox", version.ref = "flexboxVersion" }
|
||||
@@ -118,6 +123,10 @@ androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version
|
||||
androidx-legacy-support-v4 = { group = "androidx.legacy", name = "legacy-support-v4", version.ref = "legacySupportV4" }
|
||||
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragmentKtx" }
|
||||
androidx-interpolator = { group = "androidx.interpolator", name = "interpolator", version.ref = "interpolator" }
|
||||
androidx-material3-android = { group = "androidx.compose.material3", name = "material3-android", version.ref = "material3Android" }
|
||||
androidx-ui-tooling-preview-android = { group = "androidx.compose.ui", name = "ui-tooling-preview-android", version.ref = "uiToolingPreviewAndroid" }
|
||||
androidx-tiles-tooling-preview = { group = "androidx.wear.tiles", name = "tiles-tooling-preview", version.ref = "tilesToolingPreview" }
|
||||
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayoutVersion" }
|
||||
|
||||
|
||||
[plugins]
|
||||
|
||||
@@ -62,4 +62,4 @@ include ':tuiconversation'
|
||||
include ':tuicore'
|
||||
//include ':moduleroom'
|
||||
include ':Loadinglibrary'
|
||||
|
||||
include 'locktableview'
|
||||
|
||||
Reference in New Issue
Block a user