diff --git a/.run/app.run.xml b/.run/app.run.xml new file mode 100644 index 0000000..e243daf --- /dev/null +++ b/.run/app.run.xml @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java index 2422566..9efe7ea 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java @@ -447,20 +447,14 @@ public abstract class BaseAppCompatActivity extends isHourlyProcessing = false; return; } - // 最多处理3条数据 - int processCount = Math.min(3, hourlyMessageQueue.size()); - messagesToProcess = new ArrayList<>(hourlyMessageQueue.subList(0, processCount)); - // 从队列中移除已处理的数据 - for (int i = 0; i < processCount; i++) { - hourlyMessageQueue.remove(0); - } + // 每次只处理1条数据 + messagesToProcess = new ArrayList<>(); + messagesToProcess.add(hourlyMessageQueue.remove(0)); } - // 同时展示多条数据 - for (int i = 0; i < messagesToProcess.size(); i++) { - HourlyBean bean = messagesToProcess.get(i); - showHourlyFloatingMessage(bean, i); - } + // 只展示一条数据 + HourlyBean bean = messagesToProcess.get(0); + showHourlyFloatingMessage(bean, 0); } private void showHourlyFloatingMessage(HourlyBean hourlyBean, int positionIndex) { @@ -473,10 +467,9 @@ public abstract class BaseAppCompatActivity extends FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); - // 根据位置设置不同的垂直间距 + // 设置固定的垂直位置 int baseMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); - int verticalSpacing = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 50); - layoutParams.topMargin = baseMargin + (positionIndex * verticalSpacing); + layoutParams.topMargin = baseMargin; layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; hourlyView.setLayoutParams(layoutParams); @@ -501,10 +494,10 @@ public abstract class BaseAppCompatActivity extends // 检查是否还有更多消息需要处理 synchronized (hourlyQueueLock) { - if (hourlyMessageQueue.isEmpty() && currentHourlyViews.isEmpty()) { + if (hourlyMessageQueue.isEmpty()) { isHourlyProcessing = false; - } else if (!hourlyMessageQueue.isEmpty() && currentHourlyViews.isEmpty()) { - // 所有当前视图都已消失,处理下一批消息 + } else { + // 当前视图消失后处理下一条消息 processHourlyMessages(); } } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java index 412e74e..2cbfc5b 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java @@ -137,6 +137,7 @@ public abstract class BaseMvpActivity

30 || Math.abs(ComparedY) > 30) { + Log.i(TAG, "Action: 拖动"); + starDrap = true; +// setBackgroundResource(R.drawable.bg_home_drop_view); + return true; + } else { + starDrap = false; + return false; + } + } + + + @Override + public boolean onTouchEvent(MotionEvent event) { + switch (event.getAction()) { + + case MotionEvent.ACTION_MOVE: +// setBackgroundResource(R.drawable.bg_home_drop_view); + setTranslationX(getX() + (event.getX() - X1)); + setTranslationY(getY() + (event.getY() - Y1)); + X2 = event.getX(); + break; + case MotionEvent.ACTION_UP: + starDrap = false; + int sw = ScreenUtils.getScreenWidth(); + Log.i(TAG, "onTouchEvent: " + sw + "," + X2); + boolean isR = getTranslationX() + getWidth() / 2 >= sw / 2;//贴边方向 + ObjectAnimator anim = ObjectAnimator.ofFloat(this, "translationX", isR ? sw - getWidth()+10 : 0f).setDuration(200); + anim.start(); + + break; + + } + + return true; + } + + + public void doRevealAnimation(View mPuppet, boolean flag) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + int[] vLocation = new int[2]; + getLocationInWindow(vLocation); + int centerX = vLocation[0] + getMeasuredWidth() / 2; + int centerY = vLocation[1] + getMeasuredHeight() / 2; + + int height = ScreenUtils.getScreenHeight(); + int width = ScreenUtils.getScreenWidth(); + int maxRradius = (int) Math.hypot(height, width); + Log.e("hei", maxRradius + ""); + + if (flag) { + mPuppet.setVisibility(VISIBLE); + Animator animator = ViewAnimationUtils.createCircularReveal(mPuppet, centerX, centerY, maxRradius, 0); + animator.setDuration(600); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + super.onAnimationEnd(animation); + mPuppet.setVisibility(View.GONE); + } + }); + animator.start(); + flag = false; + } else { + Animator animator = ViewAnimationUtils.createCircularReveal(mPuppet, centerX, centerY, 0, maxRradius); + animator.setDuration(1000); + animator.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + mPuppet.setVisibility(View.VISIBLE); + } + + @Override + public void onAnimationEnd(Animator animation) { + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }); + animator.start(); + flag = true; + } + } + } + + +} diff --git a/moduleUtil/src/main/res/anim/slide_in_right.xml b/moduleUtil/src/main/res/anim/slide_in_right.xml new file mode 100644 index 0000000..c301a7a --- /dev/null +++ b/moduleUtil/src/main/res/anim/slide_in_right.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/anim/slide_out_right.xml b/moduleUtil/src/main/res/anim/slide_out_right.xml new file mode 100644 index 0000000..3bebee9 --- /dev/null +++ b/moduleUtil/src/main/res/anim/slide_out_right.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/item_hourly_floating.xml b/moduleUtil/src/main/res/layout/item_hourly_floating.xml index 0a0f55b..7bc63b4 100644 --- a/moduleUtil/src/main/res/layout/item_hourly_floating.xml +++ b/moduleUtil/src/main/res/layout/item_hourly_floating.xml @@ -39,6 +39,7 @@ android:textColor="#FFDE77" android:textSize="14sp" android:textStyle="bold" + android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/tv_name" app:layout_constraintTop_toTopOf="parent" /> diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/jiks.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/jiks.png new file mode 100644 index 0000000..6e8ff70 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/jiks.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/jxz.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/jxz.png new file mode 100644 index 0000000..f7185e2 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/jxz.png differ diff --git a/moduleUtil/src/main/res/values/styles.xml b/moduleUtil/src/main/res/values/styles.xml index 1307cfe..6173f63 100644 --- a/moduleUtil/src/main/res/values/styles.xml +++ b/moduleUtil/src/main/res/values/styles.xml @@ -115,6 +115,13 @@ @anim/dialog_exit + + - + \ No newline at end of file diff --git a/moduleroom/src/main/java/com/example/moduleroom/activity/RoomActivity.kt b/moduleroom/src/main/java/com/example/moduleroom/activity/RoomActivity.kt index dd4c50e..f67e7d9 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/activity/RoomActivity.kt +++ b/moduleroom/src/main/java/com/example/moduleroom/activity/RoomActivity.kt @@ -685,6 +685,7 @@ class RoomActivity : BaseMvpActivity(), override fun onConnectSuccess() { //重连成功 if (CommonAppContext.getInstance().playId != null) { LogUtils.e("@@@", "重连成功") + LogUtils.e("@@@", ""+CommonAppContext.getInstance().playId) RetrofitClient.getInstance().roomUserReconnect(CommonAppContext.getInstance().playId) } } @@ -1563,7 +1564,7 @@ class RoomActivity : BaseMvpActivity(), mRoomInfoResp!!.room_info.type_id == "4" || mRoomInfoResp!!.room_info.type_id == "8" ) { if (mRoomInfoResp!!.room_info.label_id == "1") { - roomFragment!!.SingSongEvent(messageEvent) +// roomFragment!!.SingSongEvent(messageEvent) } else { roomFragment!!.KtvFragmentEvent(messageEvent) } @@ -1748,6 +1749,30 @@ class RoomActivity : BaseMvpActivity(), messageEvent: RoomMessageEvent ) { mRoomInfoResp!!.user_info.pit_number = Integer.parseInt(toPitNumber) + + +// if (messageEvent.text.user_id .equals(SpUtil.getUserId().toString()) && "9" == toPitNumber) { +// if (customMusicFloatingView != null) { +// customMusicFloatingView!!.destroy() +// AgoraManager.getInstance(this@RoomActivity).desMusic() +// isMusic = false +// } +// mBinding!!.roomTop.rl.visibility = View.GONE +// ivSoundEffects(false) +// } + + if ("9" == toPitNumber && messageEvent.text.user_id .equals(SpUtil.getUserId().toString())) { + mBinding!!.roomTop.rl.visibility = View.VISIBLE + ivSoundEffects(true) + }else{ + if (customMusicFloatingView != null) { + customMusicFloatingView!!.destroy() + AgoraManager.getInstance(this@RoomActivity).desMusic() + isMusic = false + } + mBinding!!.roomTop.rl.visibility = View.GONE + ivSoundEffects(false) + } // if (TextUtils.isEmpty(fromPitNumber) || TextUtils.isEmpty(toPitNumber)) { // return // } diff --git a/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java b/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java index e09e061..3550afc 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java +++ b/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java @@ -41,12 +41,17 @@ public class RoomHourlyAdapter extends BaseQuickAdapter dismiss()); + mBinding.imHourlyWf.setOnClickListener(v -> { + Bundle bundle = new Bundle(); + bundle.putString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "api/Page/page_show?id=24"); + RoomAuctionWebViewDialog dialog = new RoomAuctionWebViewDialog(getActivity(), bundle); + dialog.show(); + }); } @Override @@ -141,4 +176,15 @@ public class HourlyChartDialog extends BaseMvpDialogFragment 8) { - if (roomInfoResp.getRoom_info().getPit_list().get(8).getUser_id().equals(SpUtil.getUserId() + "") && !pitNumber.equals("10")) { +// if (roomInfoResp.getRoom_info().getPit_list().get(8).getUser_id().equals(SpUtil.getUserId() + "") && !pitNumber.equals("10")) { + if (roomInfoResp.getUser_info().getPit_number()==9 && !pitNumber.equals("10")) { return true; } return false; @@ -383,7 +384,8 @@ public class SingSongFragment extends BaseRoomFragment - - + + /> + + + android:padding="5dp">