同步peko:个播在麦时禁止滑动
This commit is contained in:
@@ -225,6 +225,10 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
private SingleRoomTipDialog singleRoomTipDialog;
|
private SingleRoomTipDialog singleRoomTipDialog;
|
||||||
// 通过红包进来时,有该参数
|
// 通过红包进来时,有该参数
|
||||||
private RedPackageNotifyInfo redPackageNotifyInfo;
|
private RedPackageNotifyInfo redPackageNotifyInfo;
|
||||||
|
|
||||||
|
// 是否禁用VP滑动(true:不允许滑动;false:某些条件下可以滑动)
|
||||||
|
private boolean viewPagerInputDisable;
|
||||||
|
|
||||||
public static void start(Context context, long roomUid) {
|
public static void start(Context context, long roomUid) {
|
||||||
startForFromType(context, roomUid, FROM_TYPE_NORMAL, null, null);
|
startForFromType(context, roomUid, FROM_TYPE_NORMAL, null, null);
|
||||||
}
|
}
|
||||||
@@ -396,7 +400,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
public void setCurrentItem(int item) {
|
public void setCurrentItem(int item) {
|
||||||
dismissLoadingDialog();
|
dismissLoadingDialog();
|
||||||
if (viewpager != null) {
|
if (viewpager != null) {
|
||||||
viewpager.setUserInputEnabled(true);
|
tryEnabledViewPagerInput();
|
||||||
viewpager.setCurrentItem(item, false);
|
viewpager.setCurrentItem(item, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -411,7 +415,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
Object notifyInfo = intent.getSerializableExtra("notifyInfo");
|
Object notifyInfo = intent.getSerializableExtra("notifyInfo");
|
||||||
if (notifyInfo instanceof RedPackageNotifyInfo) {
|
if (notifyInfo instanceof RedPackageNotifyInfo) {
|
||||||
redPackageNotifyInfo = (RedPackageNotifyInfo) notifyInfo;
|
redPackageNotifyInfo = (RedPackageNotifyInfo) notifyInfo;
|
||||||
}else{
|
} else {
|
||||||
redPackageNotifyInfo = null;
|
redPackageNotifyInfo = null;
|
||||||
}
|
}
|
||||||
if (mRoomInfo != null) {
|
if (mRoomInfo != null) {
|
||||||
@@ -445,7 +449,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
viewpager.setOffscreenPageLimit(2);
|
viewpager.setOffscreenPageLimit(2);
|
||||||
viewpager.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
|
viewpager.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
|
||||||
viewpager.getChildAt(0).setOverScrollMode(View.OVER_SCROLL_NEVER);
|
viewpager.getChildAt(0).setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||||
viewpager.setUserInputEnabled(false);
|
disableViewPagerInput();
|
||||||
viewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
viewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||||
@@ -472,11 +476,11 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
if (state == 0 && viewpager.getCurrentItem() == 2) {
|
if (state == 0 && viewpager.getCurrentItem() == 2) {
|
||||||
showLoadingDialog();
|
showLoadingDialog();
|
||||||
((FakeSingleRoomFragment) mAdapter.getItem(2)).tryJumpRoom();
|
((FakeSingleRoomFragment) mAdapter.getItem(2)).tryJumpRoom();
|
||||||
viewpager.setUserInputEnabled(false);
|
disableViewPagerInput();
|
||||||
} else if (state == 0 && viewpager.getCurrentItem() == 0) {
|
} else if (state == 0 && viewpager.getCurrentItem() == 0) {
|
||||||
showLoadingDialog();
|
showLoadingDialog();
|
||||||
((FakeSingleRoomBackFragment) mAdapter.getItem(0)).tryJumpRoom();
|
((FakeSingleRoomBackFragment) mAdapter.getItem(0)).tryJumpRoom();
|
||||||
viewpager.setUserInputEnabled(false);
|
disableViewPagerInput();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -663,7 +667,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
*/
|
*/
|
||||||
private void showRoomFragment(boolean isRoomMin) {
|
private void showRoomFragment(boolean isRoomMin) {
|
||||||
mCurrentFragment = (HomePartyFragment) mAdapter.getItem(1);
|
mCurrentFragment = (HomePartyFragment) mAdapter.getItem(1);
|
||||||
viewpager.setUserInputEnabled(AvRoomDataManager.get().isSingleRoom());
|
tryEnabledViewPagerInput();
|
||||||
viewpager.setCurrentItem(1, false);
|
viewpager.setCurrentItem(1, false);
|
||||||
if (isRoomMin) {
|
if (isRoomMin) {
|
||||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||||
@@ -1430,4 +1434,41 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onReceiveChatRoomEvent(RoomEvent roomEvent) {
|
||||||
|
super.onReceiveChatRoomEvent(roomEvent);
|
||||||
|
switch (roomEvent.getEvent()) {
|
||||||
|
case RoomEvent.UP_MIC:
|
||||||
|
case RoomEvent.DOWN_MIC:
|
||||||
|
resetViewPagerInputEnabled();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 禁用VP滑动
|
||||||
|
*/
|
||||||
|
private void disableViewPagerInput() {
|
||||||
|
this.viewPagerInputDisable = true;
|
||||||
|
resetViewPagerInputEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tryEnabledViewPagerInput() {
|
||||||
|
this.viewPagerInputDisable = false;
|
||||||
|
resetViewPagerInputEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetViewPagerInputEnabled() {
|
||||||
|
if (viewPagerInputDisable) {
|
||||||
|
viewpager.setUserInputEnabled(false);
|
||||||
|
} else {
|
||||||
|
if (AvRoomDataManager.get().isSingleRoom() && !AvRoomDataManager.get().isOwnerOnMic()) {
|
||||||
|
// 个播+没在麦位=可以滑动
|
||||||
|
viewpager.setUserInputEnabled(true);
|
||||||
|
} else {
|
||||||
|
viewpager.setUserInputEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user