房间播放背景音乐入口修改
This commit is contained in:
@@ -14,6 +14,8 @@ import android.text.TextUtils
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewStub
|
||||
import android.view.animation.AnimationUtils
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.EditText
|
||||
import android.widget.ImageView
|
||||
import android.widget.RelativeLayout
|
||||
@@ -25,14 +27,45 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.netease.nim.uikit.common.antispam.AntiSpamEvent
|
||||
import com.netease.nimlib.sdk.StatusCode
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
||||
import com.orhanobut.logger.Logger
|
||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||
import com.mango.core.Constants
|
||||
import com.mango.core.DemoCache
|
||||
import com.mango.core.UriProvider
|
||||
import com.mango.core.auth.AuthModel
|
||||
import com.mango.core.bean.RoomMicInfo
|
||||
import com.mango.core.gift.GiftModel
|
||||
import com.mango.core.gift.bean.GiftInfo
|
||||
import com.mango.core.helper.AtProxy
|
||||
import com.mango.core.home.bean.BannerInfo
|
||||
import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment
|
||||
import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment2
|
||||
import com.mango.core.manager.AudioEngineManager
|
||||
import com.mango.core.manager.AvRoomDataManager
|
||||
import com.mango.core.manager.IMNetEaseManager
|
||||
import com.mango.core.manager.RoomEvent
|
||||
import com.mango.core.mentoring_relationship.event.MentoringStopCountingEvent
|
||||
import com.mango.core.music.event.MusicPauseEvent
|
||||
import com.mango.core.music.event.MusicPlayingEvent
|
||||
import com.mango.core.music.event.MusicStopEvent
|
||||
import com.mango.core.room.anotherroompk.ShowGiftDialogEvent
|
||||
import com.mango.core.room.anotherroompk.ShowUserInfoDialogEvent
|
||||
import com.mango.core.room.bean.RoomContributeUserInfo
|
||||
import com.mango.core.room.bean.RoomInfo
|
||||
import com.mango.core.room.event.RoomAtEvent
|
||||
import com.mango.core.room.event.RoomClearScreenEvent
|
||||
import com.mango.core.room.game.GameStatus
|
||||
import com.mango.core.room.giftvalue.helper.GiftValueMrg
|
||||
import com.mango.core.room.queue.bean.MicMemberInfo
|
||||
import com.mango.core.share.bean.SessionType
|
||||
import com.mango.core.statistic.StatisticManager
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol
|
||||
import com.mango.core.super_admin.SaConstant
|
||||
import com.mango.core.super_admin.model.SuperAdminModel
|
||||
import com.mango.core.super_admin.util.SuperAdminUtil
|
||||
import com.mango.core.user.UserModel
|
||||
import com.mango.core.user.bean.BaseInfo
|
||||
import com.mango.core.user.bean.UserInfo
|
||||
import com.mango.core.utils.CurrentTimeUtils
|
||||
import com.mango.core.utils.net.VipLevelNotEnoughException
|
||||
import com.mango.moshen.R
|
||||
import com.mango.moshen.avroom.BottomViewListenerWrapper
|
||||
import com.mango.moshen.avroom.SoftKeyBoardListener
|
||||
@@ -56,6 +89,8 @@ import com.mango.moshen.event.OpenRoomIntroEvent
|
||||
import com.mango.moshen.friend.view.SelectFriendActivity
|
||||
import com.mango.moshen.home.adapter.RoomActAdapter
|
||||
import com.mango.moshen.home.adapter.RoomActAdapter.RoomActClickListener
|
||||
import com.mango.moshen.music.widget.MusicPlayerView
|
||||
import com.mango.moshen.room_chat.activity.RoomMsgActivity
|
||||
import com.mango.moshen.shipantics.PullRadishActivity
|
||||
import com.mango.moshen.treasure_box.widget.GoldBoxHelper
|
||||
import com.mango.moshen.ui.utils.loadAvatar
|
||||
@@ -71,51 +106,20 @@ import com.mango.moshen.ui.widget.rollviewpager.RollPagerView
|
||||
import com.mango.moshen.ui.widget.rollviewpager.Util
|
||||
import com.mango.moshen.ui.widget.rollviewpager.hintview.ColorPointHintView
|
||||
import com.mango.moshen.utils.KeyBoardUtils
|
||||
import com.mango.moshen.music.widget.MusicPlayerView
|
||||
import com.mango.moshen.room_chat.activity.RoomMsgActivity
|
||||
import com.mango.xchat_android_constants.XChatConstants
|
||||
import com.mango.core.Constants
|
||||
import com.mango.core.DemoCache
|
||||
import com.mango.core.UriProvider
|
||||
import com.mango.core.auth.AuthModel
|
||||
import com.mango.core.bean.RoomMicInfo
|
||||
import com.mango.core.gift.GiftModel
|
||||
import com.mango.core.gift.bean.GiftInfo
|
||||
import com.mango.core.helper.AtProxy
|
||||
import com.mango.core.home.bean.BannerInfo
|
||||
import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment
|
||||
import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment2
|
||||
import com.mango.core.manager.AudioEngineManager
|
||||
import com.mango.core.manager.AvRoomDataManager
|
||||
import com.mango.core.manager.IMNetEaseManager
|
||||
import com.mango.core.manager.RoomEvent
|
||||
import com.mango.core.mentoring_relationship.event.MentoringStopCountingEvent
|
||||
import com.mango.core.room.anotherroompk.ShowGiftDialogEvent
|
||||
import com.mango.core.room.anotherroompk.ShowUserInfoDialogEvent
|
||||
import com.mango.core.room.bean.RoomContributeUserInfo
|
||||
import com.mango.core.room.bean.RoomInfo
|
||||
import com.mango.core.room.event.RoomAtEvent
|
||||
import com.mango.core.room.event.RoomClearScreenEvent
|
||||
import com.mango.core.room.game.GameStatus
|
||||
import com.mango.core.room.giftvalue.helper.GiftValueMrg
|
||||
import com.mango.core.room.queue.bean.MicMemberInfo
|
||||
import com.mango.core.share.bean.SessionType
|
||||
import com.mango.core.statistic.StatisticManager
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol
|
||||
import com.mango.core.super_admin.SaConstant
|
||||
import com.mango.core.super_admin.model.SuperAdminModel
|
||||
import com.mango.core.super_admin.util.SuperAdminUtil
|
||||
import com.mango.core.user.UserModel
|
||||
import com.mango.core.user.bean.BaseInfo
|
||||
import com.mango.core.user.bean.UserInfo
|
||||
import com.mango.core.utils.CurrentTimeUtils
|
||||
import com.mango.core.utils.LogUtils
|
||||
import com.mango.core.utils.net.VipLevelNotEnoughException
|
||||
import com.mango.xchat_android_library.net.rxnet.utils.RxNetWorkUtils
|
||||
import com.mango.xchat_android_library.rxbus.RxBus
|
||||
import com.mango.xchat_android_library.utils.*
|
||||
import com.mango.xchat_android_library.utils.config.BasicConfig
|
||||
import com.netease.nim.uikit.common.antispam.AntiSpamEvent
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.netease.nimlib.sdk.StatusCode
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
||||
import com.orhanobut.logger.Logger
|
||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
@@ -143,6 +147,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
private var musicPlayerView: MusicPlayerView? = null
|
||||
private var ivRadishEntrance: View? = null
|
||||
private var mVsMusicPlayer: ViewStub? = null
|
||||
private var ivMusicFlag: ImageView? = null
|
||||
private var mDisposable: Disposable? = null
|
||||
private var isCloseScreen = false
|
||||
private var isOpenRedPackage = false
|
||||
@@ -188,6 +193,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
inputSend = mView.findViewById(R.id.input_send)
|
||||
microView = mView.findViewById(R.id.micro_view)
|
||||
mVsMusicPlayer = mView.findViewById(R.id.vs_music_player)
|
||||
ivMusicFlag = mView.findViewById(R.id.iv_music_flag)
|
||||
ivRadishEntrance = mView.findViewById(R.id.iv_radish_entrance)
|
||||
messageView.setClickConsumer {
|
||||
if (!TextUtils.isEmpty(it) && it != "0") {
|
||||
@@ -224,6 +230,9 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
atProxy?.insertAitMember(account, name)
|
||||
}
|
||||
softKeyboardListener()
|
||||
ivMusicFlag?.setOnClickListener {
|
||||
musicPlayerView?.showBoxInAnim()
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@@ -518,11 +527,27 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
musicPlayerView = mVsMusicPlayer?.inflate() as? MusicPlayerView
|
||||
}
|
||||
musicPlayerView?.visibility = View.VISIBLE
|
||||
ivMusicFlag?.isVisible = true
|
||||
} else {
|
||||
musicPlayerView?.visibility = View.GONE
|
||||
ivMusicFlag?.isVisible = false
|
||||
}
|
||||
}
|
||||
|
||||
private fun playFlagRotateAnim() {
|
||||
val operatingAnim = AnimationUtils.loadAnimation(
|
||||
context, R.anim.rotate_quick_anim
|
||||
)
|
||||
val lin = LinearInterpolator()
|
||||
operatingAnim.interpolator = lin
|
||||
ivMusicFlag?.startAnimation(operatingAnim)
|
||||
}
|
||||
|
||||
private fun stopFlagRotateAnim() {
|
||||
ivMusicFlag?.clearAnimation()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 检查是否关注房主,然后弹出
|
||||
*/
|
||||
@@ -626,6 +651,22 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
messageView.clear()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
open fun onMusicPlaying(event: MusicPlayingEvent?) {
|
||||
playFlagRotateAnim()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
open fun onMusicPause(event: MusicPauseEvent?) {
|
||||
stopFlagRotateAnim()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
open fun onMusicStop(event: MusicStopEvent?) {
|
||||
stopFlagRotateAnim()
|
||||
}
|
||||
|
||||
|
||||
@CallSuper
|
||||
override fun onClick(v: View) {
|
||||
when (v.id) {
|
||||
|
@@ -3,9 +3,9 @@
|
||||
android:shape="rectangle">
|
||||
|
||||
<gradient
|
||||
android:angle="270"
|
||||
android:endColor="#1709CC"
|
||||
android:startColor="#2B00CA"
|
||||
android:angle="180"
|
||||
android:endColor="#8c1709CC"
|
||||
android:startColor="#332B00CA"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
|
@@ -136,6 +136,16 @@
|
||||
android:textSize="10dp"
|
||||
android:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_music_flag"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_alignTop="@id/tv_hour_rank"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_toEndOf="@id/tv_hour_rank"
|
||||
android:src="@drawable/icon_music_flag"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_dating_step"
|
||||
android:layout_width="wrap_content"
|
||||
|
@@ -165,6 +165,17 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/contribute_list" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_music_flag"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:src="@drawable/icon_music_flag"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_hour_rank"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_hour_rank" />
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_speedy_message"
|
||||
android:layout_width="0dp"
|
||||
|
@@ -46,16 +46,13 @@ import java.util.List;
|
||||
*/
|
||||
|
||||
public class MusicPlayerView extends FrameLayout implements View.OnClickListener, SeekBar.OnSeekBarChangeListener {
|
||||
private FrameLayout musicFlagLayout;
|
||||
private RelativeLayout musicBoxLayout;
|
||||
private ImageView musicFlag;
|
||||
private ImageView musicListMore;
|
||||
private ImageView musicPlayPause;
|
||||
private ImageView nextBtn;
|
||||
private ImageView musicPlayCycle;
|
||||
private SeekBar volumeSeekBar;
|
||||
private TextView musicName;
|
||||
private String imageBg;
|
||||
private View layoutMusicBgClick;
|
||||
|
||||
public MusicPlayerView(Context context) {
|
||||
@@ -74,9 +71,6 @@ public class MusicPlayerView extends FrameLayout implements View.OnClickListener
|
||||
private void init() {
|
||||
EventBus.getDefault().register(this);
|
||||
LayoutInflater.from(getContext()).inflate(R.layout.layout_music_player_view, this, true);
|
||||
musicFlagLayout = findViewById(R.id.music_flag_layout);
|
||||
musicFlagLayout.setOnClickListener(this);
|
||||
musicFlag = findViewById(R.id.music_flag);
|
||||
musicBoxLayout = findViewById(R.id.music_box_layout);
|
||||
musicBoxLayout.setOnClickListener(this);
|
||||
musicListMore = findViewById(R.id.music_list_more);
|
||||
@@ -105,58 +99,22 @@ public class MusicPlayerView extends FrameLayout implements View.OnClickListener
|
||||
updateView();
|
||||
}
|
||||
|
||||
public void setImageBg(String imageBg) {
|
||||
// this.imageBg = imageBg;
|
||||
}
|
||||
|
||||
private void playFlagRotateAnim() {
|
||||
Animation operatingAnim = AnimationUtils.loadAnimation(getContext(), R.anim.rotate_quick_anim);
|
||||
LinearInterpolator lin = new LinearInterpolator();
|
||||
operatingAnim.setInterpolator(lin);
|
||||
musicFlag.startAnimation(operatingAnim);
|
||||
}
|
||||
|
||||
private void stopFlagRotateAnim() {
|
||||
musicFlag.clearAnimation();
|
||||
}
|
||||
|
||||
private void showFlagInAnim() {
|
||||
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(musicBoxLayout, "translationX", 0, -UIUtil.dip2px(getContext(), 317)).setDuration(150);
|
||||
objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||
objectAnimator.start();
|
||||
|
||||
ObjectAnimator objectAnimatorFlag = ObjectAnimator.ofFloat(
|
||||
musicFlagLayout,
|
||||
"translationX",
|
||||
UIUtil.dip2px(getContext(), 76),
|
||||
0)
|
||||
.setDuration(150);
|
||||
objectAnimatorFlag.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||
objectAnimatorFlag.setStartDelay(150);
|
||||
objectAnimatorFlag.addListener(new AnimatorListenerAdapter() {
|
||||
objectAnimator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
super.onAnimationStart(animation);
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
layoutMusicBgClick.setVisibility(GONE);
|
||||
}
|
||||
});
|
||||
objectAnimatorFlag.start();
|
||||
|
||||
}
|
||||
|
||||
private void showBoxInAnim() {
|
||||
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(
|
||||
musicFlagLayout,
|
||||
"translationX",
|
||||
0,
|
||||
UIUtil.dip2px(getContext(), 76))
|
||||
.setDuration(150);
|
||||
objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||
objectAnimator.start();
|
||||
|
||||
|
||||
public void showBoxInAnim() {
|
||||
ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(musicBoxLayout, "translationX", -UIUtil.dip2px(getContext(), 317), 0).setDuration(150);
|
||||
objectAnimator1.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||
objectAnimator1.setStartDelay(150);
|
||||
objectAnimator1.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
@@ -172,22 +130,12 @@ public class MusicPlayerView extends FrameLayout implements View.OnClickListener
|
||||
}
|
||||
|
||||
public void release() {
|
||||
stopFlagRotateAnim();
|
||||
EventBus.getDefault().unregister(this);
|
||||
// stopMusic();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.music_flag_layout:
|
||||
showBoxInAnim();
|
||||
if (AvRoomDataManager.get().isCpRoom()) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_CP_ROOM_MUSIC_CLICK, "音乐");
|
||||
} else {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MP_ROOM_MUSIC_CLICK, "音乐");
|
||||
}
|
||||
break;
|
||||
case R.id.layout_music_bg_click:
|
||||
showFlagInAnim();
|
||||
break;
|
||||
@@ -256,11 +204,9 @@ public class MusicPlayerView extends FrameLayout implements View.OnClickListener
|
||||
} else {
|
||||
musicPlayPause.setImageResource(R.drawable.icon_music_pause);
|
||||
}
|
||||
playFlagRotateAnim();
|
||||
} else {
|
||||
musicName.setText("暂无歌曲播放");
|
||||
musicPlayPause.setImageResource(R.drawable.icon_music_pause);
|
||||
stopFlagRotateAnim();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,13 +214,11 @@ public class MusicPlayerView extends FrameLayout implements View.OnClickListener
|
||||
public void onMusicPlaying(MusicPlayingEvent event) {
|
||||
LocalMusicBean localMusicInfo = PlayerModel.get().getCurrent();
|
||||
updateView();
|
||||
playFlagRotateAnim();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onMusicPause(MusicPauseEvent event) {
|
||||
updateView();
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -4,36 +4,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/music_flag_layout"
|
||||
android:layout_width="76dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/bg_room_music_player"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/music_flag"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_gravity="start|center_vertical"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:src="@drawable/icon_music_flag" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="25dp"
|
||||
android:lines="1"
|
||||
android:text="播放音乐"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12dp" />
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout_music_bg_click"
|
||||
android:layout_width="match_parent"
|
||||
|
Reference in New Issue
Block a user