1.房主离线魅力值点击 2.许愿池开关,图标 3.魅力值更新问题 4.更多房间-我的房间创建问题 5.青少年模式-护苗计划H5链接替换

This commit is contained in:
oujunhui
2020-05-22 17:25:28 +08:00
parent 43e07e4dab
commit 59396c5588
21 changed files with 423 additions and 132 deletions

View File

@@ -160,7 +160,7 @@ android {
//120.79.211.243 192.168.1.105:8079 192.168.10.5:8082
// buildConfigField "String", "BASE_URL", "\"http://apibeta.qxjiaoyou.com/\""
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
buildConfigField "String", "BASE_URL_STAGING", "\"https://preview.qxjiaoyou.com/\""
buildConfigField "String", "BASE_URL_STAGING", "\"https://api.zhongjialx.com/\""
buildConfigField "String", "BASE_URL_RELEASE", "\"https://api.zhongjialx.com/\""
minifyEnabled false

View File

@@ -181,6 +181,13 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
DialogWebViewActivity.start(context,
UriProvider.getPersonalCharismaRank() + "?uid=" + info.mChatRoomMember.getAccount());
}
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
if (roomInfo == null)
return;
if (roomInfo.isLeaveMode()){
DialogWebViewActivity.start(context,
UriProvider.getPersonalCharismaRank() + "?uid=" + roomInfo.getUid());
}
});
llCharmClick.setOnLongClickListener(v -> {
if (longValue < 100 * 10000L) {

View File

@@ -31,12 +31,15 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.coorchice.library.SuperTextView;
import com.jude.rollviewpager.RollPagerView;
import com.jude.rollviewpager.Util;
import com.jude.rollviewpager.hintview.ColorPointHintView;
import com.netease.nim.uikit.common.antispam.AntiSpamEvent;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nim.uikit.support.glide.GlideApp;
import com.netease.nimlib.sdk.StatusCode;
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent;
@@ -98,6 +101,7 @@ import com.yizhuan.erban.home.adapter.RoomActAdapter;
import com.yizhuan.erban.miniworld.activity.MiniWorldGuestPageActivity;
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity;
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.erban.ui.widget.ButtonItem;
import com.yizhuan.erban.ui.widget.GiftDialog;
import com.yizhuan.erban.ui.widget.UserInfoDialog;
@@ -1479,7 +1483,13 @@ public class HomePartyRoomFragment extends BaseMvpFragment<IHomePartyView, HomeP
break;
case R.id.iv_treasure_box:
case R.id.iv_treasure_box_cp:
onClickBox();
GoldBoxHelper.isShowDiamondBox().subscribe(hide -> {
if (hide != null && !hide) {
TreasureBoxActivity.start(getActivity());
} else {
onClickBox();
}
});
break;
case R.id.iv_dragon_start_button:
if (AvRoomDataManager.get().haveStartDragon) {
@@ -1522,13 +1532,16 @@ public class HomePartyRoomFragment extends BaseMvpFragment<IHomePartyView, HomeP
inputEdit.setText("");
}
/**
* 房间许愿池
*/
public void onClickBox() {
if (getFragmentManager() != null) {
ChooseTreasureBoxDialogFragment chooseTreasureBoxDialogFragment = new ChooseTreasureBoxDialogFragment();
chooseTreasureBoxDialogFragment.setOnTreasureBoxChooseListener(type -> {
if (type == 0) {// 普通蛋(默认)
if (type == 0) {// 幸运许愿池(默认)
TreasureBoxActivity.start(getActivity());
} else if (type == 1) {// 至尊蛋
} else if (type == 1) {// 梦幻许愿池
TreasureBoxHonourActivity.start(getActivity());
}
if (AvRoomDataManager.get().isCpRoom()) {
@@ -2578,6 +2591,13 @@ public class HomePartyRoomFragment extends BaseMvpFragment<IHomePartyView, HomeP
} else {
gameBinding.ivTreasureBoxCp.setVisibility(View.GONE);
gameBinding.ivTreasureBox.setVisibility(View.VISIBLE);
GoldBoxHelper.getBoxIcon().subscribe(icon -> {
GlideApp.with(BasicConfig.INSTANCE.getAppContext())
.load(icon)
.error(R.drawable.icon_room_treasure_box)
.into(gameBinding.ivTreasureBox);
});
}
} else {
gameBinding.ivTreasureBoxCp.setVisibility(View.GONE);

View File

@@ -2,6 +2,7 @@ package com.yizhuan.erban.avroom.presenter;
import android.annotation.SuppressLint;
import android.os.Handler;
import com.yizhuan.erban.avroom.view.IRoomSettingView;
import com.yizhuan.erban.base.BaseMvpPresenter;
@@ -12,12 +13,15 @@ import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomSettingTabInfo;
import com.yizhuan.xchat_android_core.room.giftvalue.GiftValueModel;
import com.yizhuan.xchat_android_core.room.giftvalue.bean.RoomGiftValue;
import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg;
import com.yizhuan.xchat_android_core.room.model.MicQueueModel;
import com.yizhuan.xchat_android_core.room.model.RoomSettingModel;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import java.util.List;
@@ -226,7 +230,20 @@ public class RoomSettingPresenter extends BaseMvpPresenter<IRoomSettingView> {
if (userInfo != null)
IMNetEaseManager.get().leaveModeMessage(roomInfo1.getRoomId(), userInfo.getNick(), userInfo.getGender(), userInfo.getAvatar()).subscribe();
});
GiftValueModel.get().upMic(AuthModel.get().getCurrentUid(), -1).subscribe();
GiftValueModel.get().upMic(AuthModel.get().getCurrentUid(), -1).subscribe(new DontWarnObserver<RoomGiftValue>() {
@Override
public void acceptThrowable(RoomGiftValue values, Throwable throwable) {
super.acceptThrowable(values, throwable);
GiftValueMrg.get().sendRoomGiftValueMsg(values);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
GiftValueMrg.get().updateAllMicGiftValueByMsg(values);
}
}, 1200);
}
});
}
}

View File

@@ -1,37 +1,62 @@
package com.yizhuan.erban.home.activity;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.yizhuan.erban.MainActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
import com.yizhuan.erban.avroom.ktv.KtvMusicManager;
import com.yizhuan.erban.base.BaseMvpActivity;
import com.yizhuan.erban.common.widget.DragLayout;
import com.yizhuan.erban.common.widget.dialog.DialogManager;
import com.yizhuan.erban.home.adapter.HomeConcernsAdapter;
import com.yizhuan.erban.home.adapter.MainMagicIndicatorAdapter;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.erban.home.fragment.HomeTabMapFragment;
import com.yizhuan.erban.home.presenter.HomeMorePresenter;
import com.yizhuan.xchat_android_core.home.IHomeMoreRoomView;
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
import com.yizhuan.erban.home.view.IMainFragmentView;
import com.yizhuan.erban.service.DaemonService;
import com.yizhuan.erban.ui.patriarch.help.LimitEnterRoomHelper;
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
import com.yizhuan.erban.ui.widget.OnPageSelectedListener;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.erban.ui.widget.recyclerview.decoration.VerticalDecoration;
import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.certification.CertificationModel;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.bean.TagListInfo;
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
import com.yizhuan.xchat_android_core.manager.RtcEngineManager;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.model.AvRoomModel;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import com.yizhuan.xchat_android_library.utils.ListUtils;
import com.yizhuan.xchat_android_library.utils.SizeUtils;
@@ -41,8 +66,12 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
@CreatePresenter(HomeMorePresenter.class)
public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, HomeMorePresenter> implements IHomeMoreRoomView,MainMagicIndicatorAdapter.OnItemSelectListener {
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_FORCE;
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_GUIDE;
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_NONE;
@CreatePresenter(MainFragmentPresenter.class)
public class HomeMoreRoomActivity extends BaseMvpActivity<IMainFragmentView, MainFragmentPresenter> implements IMainFragmentView,MainMagicIndicatorAdapter.OnItemSelectListener {
@BindView(R.id.magic_indicator)
MagicIndicator magicIndicator;
@@ -52,7 +81,9 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, Hom
RecyclerView rvFollowRoom;
private HomeConcernsAdapter mFollowRoomsAdapter;
private List<Fragment> mFragments;
private LimitEnterRoomHelper limitEnterRoomHelper;
private ObjectAnimator roomMinAnim;
private DragLayout avatarLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -82,8 +113,12 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, Hom
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_SEARCH_RECENT_ENTER_ROOM, "最近进房记录");
if (position == 0) {
openRoom();
return;
}
List<HomeConcernsInfo> list = adapter.getData();
if (position >= 0 && position < list.size()) {
if (position > 0 && position < list.size()) {
HomeConcernsInfo record = list.get(position);
AVRoomActivity.start(HomeMoreRoomActivity.this, record.getRoomUid());
}
@@ -123,6 +158,69 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, Hom
}
@Override
public void requestOpenRoomResult(int openRoomFailType, Object... arg) {
getDialogManager().dismissDialog();
if (openRoomFailType == MainFragmentPresenter.OPEN_ROOM_SUCCESS) {
RoomInfo roomInfo = (RoomInfo) arg[0];
AVRoomActivity.start(HomeMoreRoomActivity.this, roomInfo.getUid());
} else if (openRoomFailType == MainFragmentPresenter.OPEN_ROOM_FAIL_TYPE_IN_ROOM) {
RoomInfo roomInfo = (RoomInfo) arg[0];
getDialogManager().showProgressDialog(HomeMoreRoomActivity.this, "请稍后...");
getMvpPresenter().requestExitRoom(roomInfo.getType());
} else if (openRoomFailType == MainFragmentPresenter.OPEN_ROOM_FAIL) {
String error = (String) arg[0];
toast(error);
} else if (openRoomFailType == MainFragmentPresenter.OPEN_ROOM_FAIL_ALREADY_OPENED_ROOM) {
RoomInfo roomInfo = (RoomInfo) arg[0];
AVRoomActivity.start(HomeMoreRoomActivity.this, roomInfo.getUid());
} else if (openRoomFailType == MainFragmentPresenter.OPEN_ROOM_FAIL_PM_LIMIT_TIME) {
// if (arg != null && arg.length > 0 && arg[0] instanceof String) {
// ((MainActivity) getActivity()).handleOpenRoomWhenPmLimit((String) arg[0]);
// }
}
}
/**
* 处理开房限制时长
*/
public void handleOpenRoomWhenPmLimit(String error) {
getLimitEnterRoomHelper().handleThisContext(this, error, false, this::handlePmExitRoom);
}
public LimitEnterRoomHelper getLimitEnterRoomHelper() {
if (limitEnterRoomHelper == null) {
limitEnterRoomHelper = new LimitEnterRoomHelper();
}
return limitEnterRoomHelper;
}
private void handlePmExitRoom() {
if (AvRoomDataManager.get().mCurrentRoomInfo != null) {
closeOpenRoomAnimation();
getMvpPresenter().exitRoom();
}
}
private void closeOpenRoomAnimation() {
stopRoomMinAnim();
avatarLayout.setVisibility(View.GONE);
}
private void stopRoomMinAnim() {
if (roomMinAnim != null) {
roomMinAnim.cancel();
roomMinAnim = null;
}
}
@Override
public void showByMarketCheckingStatus(List<TagListInfo> tagListInfoList) {
}
@Override
public void getFollowRoomsSuccess(List<HomeConcernsInfo> list) {
if (list != null && list.size() > 0) {
@@ -139,7 +237,49 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, Hom
}
@Override
public void getHomeTagSuccess(List<HomeTagInfo> info) {
public void exitRoom(RoomInfo roomInfo) {
closeOpenRoomAnimation();
//ktv退出的时候需要用到
if (RtcEngineManager.get().isOpenKtv() && roomInfo != null) {
KtvMusicManager.INSTANCE.deleteUserAllChooseMusic(roomInfo.getUid()).subscribe();
RtcEngineManager.get().closeKtvModel();
}
DaemonService.stop(HomeMoreRoomActivity.this);
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {
}
@Override
public void titleListFail(String msg) {
}
@Override
public void onGetFirstPageBannerFailed(String message) {
}
@Override
public void roomWorldModeCloseSuccess() {
}
@Override
public void roomWorldModeCloseFail(String error) {
}
@Override
public void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos) {
}
@Override
public void onGetHomeTagSuccess(List<HomeTagInfo> info) {
List<CharSequence> mTabInfoList = new ArrayList<>();
if (!ListUtils.isListEmpty(mFragments)) {
mFragments.clear();
@@ -178,8 +318,131 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, Hom
ViewPagerHelper.bind(magicIndicator, viewPager);
}
@Override
public void getHomeTagFail() {
private void openRoom() {
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
if (userInfo != null && !userInfo.isCertified()) {
switch (CertificationModel.get().getCertificationType()) {
default:
case CER_TYPE_NONE:
// do nothing
openCreateRoomTypeDialog();
break;
case CER_TYPE_FORCE:
getDialogManager().showTipsDialog(getCertificationTips(),
getString(R.string.go_to_certification),
new DialogManager.AbsOkDialogListener() {
@Override
public void onOk() {
// 跳去实名认证页面
CommonWebViewActivity.start(HomeMoreRoomActivity.this,
UriProvider.getTutuRealNamePage());
}
});
break;
case CER_TYPE_GUIDE:
getDialogManager().showTipsDialog(getCertificationTips(),
getString(R.string.go_to_certification),
new DialogManager.OkCancelDialogListener() {
@Override
public void onCancel() {
openCreateRoomTypeDialog();
}
@Override
public void onOk() {
// 跳去实名认证页面
CommonWebViewActivity.start(HomeMoreRoomActivity.this,
UriProvider.getTutuRealNamePage());
}
});
break;
}
} else {
openCreateRoomTypeDialog();
}
}
private void openCreateRoomTypeDialog() {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.game_homepage_createroom_ordinary_click, "创建普通房");
getRoomInfo(RoomInfo.ROOMTYPE_HOME_PARTY);
}
private void getRoomInfo(int roomType) {
AvRoomModel.get().requestRoomInfoFromService(String.valueOf(AuthModel.get().getCurrentUid()),
new CallBack<RoomInfo>() {
@Override
public void onSuccess(RoomInfo data) {
if (data.getType() != 0
&& data.getType() != roomType
&& data.isValid()) {
String message = roomType == RoomInfo.ROOMTYPE_CP ? "创建陪伴房,将关闭当前房间并解散房间内的用户"
: "创建普通房,将关闭当前房间并解散房间内的用户";
getDialogManager().showOkCancelDialog(
message,
"确认",
"取消",
new DialogManager.OkCancelDialogListener() {
@Override
public void onCancel() {
}
@Override
public void onOk() {
// openRoom(roomType);
changeRoomState(data.getWorldId(), roomType);
}
});
} else {
// openRoom(roomType);
changeRoomState(data.getWorldId(), roomType);
}
}
@Override
public void onFail(int code, String error) {
// openRoom(roomType);
changeRoomState(0, roomType);
}
});
}
private int mRoomType;
private void changeRoomState(long worldId, int roomType) {
mRoomType = roomType;
if (worldId == 0) {
openRoom(roomType);
} else {
getMvpPresenter().roomWorldModeClose(AuthModel.get().getCurrentUid());
}
}
private void openRoom(int roomType) {
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
if (roomInfo != null) {
if (roomInfo.getUid() == AuthModel.get().getCurrentUid()
&& roomInfo.getType() == roomType) {
AVRoomActivity.start(HomeMoreRoomActivity.this, roomInfo.getUid());
} else {
getDialogManager().showProgressDialog(HomeMoreRoomActivity.this, getString(R.string.waiting_text));
getMvpPresenter().requestExitRoom(roomType);
}
} else {
getDialogManager().showProgressDialog(HomeMoreRoomActivity.this, getString(R.string.waiting_text));
getMvpPresenter().requestOpenRoom(roomType);
}
}
@NonNull
private SpannableStringBuilder getCertificationTips() {
String tips = getString(R.string.tips_need_to_certification);
SpannableStringBuilder builder = new SpannableStringBuilder(tips);
builder.setSpan(new ForegroundColorSpan(ContextCompat.getColor(HomeMoreRoomActivity.this, R.color.appColor)),
tips.length() - 4, tips.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return builder;
}
}

View File

@@ -2,7 +2,6 @@ package com.yizhuan.erban.home.adapter;
import android.content.Context;
import android.graphics.Color;
import android.widget.TextView;
import androidx.annotation.Nullable;
@@ -12,7 +11,6 @@ import com.yizhuan.erban.R;
import com.yizhuan.erban.common.widget.CircleImageView;
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
import com.yizhuan.xchat_android_core.bean.RoomHistoryInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import java.util.List;
@@ -30,9 +28,7 @@ public class HomeConcernsAdapter extends BaseQuickAdapter<HomeConcernsInfo, Base
if (item == null) {
return;
}
// helper.setVisible(R.id.tv_room_name,true);
CircleImageView circleImageView = helper.getView(R.id.civ_room_avatar);
ImageLoadUtilsV2.loadImage(circleImageView, item.getAvatar());
circleImageView.setBorderWidth(UIUtil.dip2px(mContext,1));
@@ -41,10 +37,6 @@ public class HomeConcernsAdapter extends BaseQuickAdapter<HomeConcernsInfo, Base
helper.setText(R.id.iv_living,item.getFollowType() == 1?"我的房间":"直播中");
helper.setBackgroundRes(R.id.iv_living,item.getFollowType() == 1?R.drawable.bg_living_my_room:R.drawable.bg_common_confirm_normal);
circleImageView.setBorderColor(item.getFollowType() == 1?Color.parseColor("#FF6B82"):mContext.getResources().getColor(R.color.appColor));
//
helper.addOnClickListener(R.id.container_item_room_history);

View File

@@ -1,7 +1,5 @@
package com.yizhuan.erban.home.fragment;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Color;
@@ -12,7 +10,6 @@ import android.os.Handler;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
@@ -38,10 +35,8 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.coorchice.library.utils.LogUtils;
import com.jude.rollviewpager.Util;
import com.jude.rollviewpager.hintview.ColorPointHintView;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nim.uikit.support.glide.GlideApp;
import com.trello.rxlifecycle3.android.FragmentEvent;
import com.yizhuan.erban.MainActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
@@ -53,12 +48,9 @@ import com.yizhuan.erban.home.activity.HomeMoreRoomActivity;
import com.yizhuan.erban.home.adapter.BannerAdapter;
import com.yizhuan.erban.home.adapter.HomeConcernsAdapter;
import com.yizhuan.erban.home.adapter.MainMagicIndicatorAdapter;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent;
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
import com.yizhuan.erban.home.view.IMainFragmentView;
import com.yizhuan.erban.location.LocationManager;
import com.yizhuan.erban.location.LocationUploadEvent;
import com.yizhuan.erban.radish.signin.SignInActivity;
import com.yizhuan.erban.ui.search.SearchActivity;
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
@@ -73,19 +65,19 @@ import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.certification.CertificationModel;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.bean.TagListInfo;
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent;
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.model.AvRoomModel;
import com.yizhuan.xchat_android_core.settings.SettingsModel;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent;
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import com.yizhuan.xchat_android_library.utils.ListUtils;
@@ -101,13 +93,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.ObservableSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_FORCE;
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_GUIDE;
import static com.yizhuan.xchat_android_core.certification.CertificationModel.CER_TYPE_NONE;
@@ -364,7 +349,6 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
} else {
openCreateRoomTypeDialog();
}
}
private void openCreateRoomTypeDialog() {
@@ -496,6 +480,11 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
}
@Override
public void exitRoom(RoomInfo roomInfo) {
}
/**
* 顶部关注房间
*/
@@ -512,7 +501,7 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
return;
}
List<HomeConcernsInfo> list = adapter.getData();
if (position >= 0 && position < list.size()) {
if (position > 0 && position < list.size()) {
HomeConcernsInfo record = list.get(position);
AVRoomActivity.start(mContext, record.getRoomUid());
}

View File

@@ -326,6 +326,11 @@ public class MainFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
}
@Override
public void exitRoom(RoomInfo roomInfo) {
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {
showByMarketCheckingStatus(tagListInfoList);

View File

@@ -625,6 +625,11 @@ public class MeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentP
}
@Override
public void exitRoom(RoomInfo roomInfo) {
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {

View File

@@ -1,53 +0,0 @@
package com.yizhuan.erban.home.presenter;
import android.annotation.SuppressLint;
import android.os.Bundle;
import androidx.annotation.Nullable;
import com.yizhuan.erban.base.BaseMvpPresenter;
import com.yizhuan.xchat_android_core.home.IHomeMoreRoomView;
import com.yizhuan.xchat_android_core.home.model.GameHomeModel;
public class HomeMorePresenter extends BaseMvpPresenter<IHomeMoreRoomView> {
public HomeMorePresenter() {
}
@Override
public void onCreatePresenter(@Nullable Bundle saveState) {
super.onCreatePresenter(saveState);
}
@SuppressLint("CheckResult")
public void getHomeTag(){
GameHomeModel.get().getHomeTag().subscribe((homeTabResult, throwable) -> {
if (throwable != null) {
if (mMvpView != null) {
mMvpView.getHomeTagFail();
}
} else {
if (mMvpView != null) {
mMvpView.getHomeTagSuccess(homeTabResult);
}
}
});
}
@SuppressLint("CheckResult")
public void getHomeConcerns(){
GameHomeModel.get().getHomeConcerns().subscribe((result, throwable) -> {
if (throwable != null) {
if (mMvpView != null) {
mMvpView.getFollowRoomFail();
}
} else {
if (mMvpView != null) {
mMvpView.getFollowRoomsSuccess(result);
}
}
});
}
}

View File

@@ -69,10 +69,27 @@ public class MainFragmentPresenter extends BaseMvpPresenter<IMainFragmentView> {
private Disposable mDisposable;
public MainFragmentPresenter() {
avRoomModel = AvRoomModel.get();
}
public void exitRoom() {
avRoomModel.exitRoom(new CallBack<RoomInfo>() {
@Override
public void onSuccess(RoomInfo data) {
if (getMvpView() != null) {
getMvpView().exitRoom(data);
}
}
@Override
public void onFail(int code, String error) {
}
});
}
@Override
public void onCreatePresenter(@Nullable Bundle saveState) {
super.onCreatePresenter(saveState);

View File

@@ -4,6 +4,7 @@ import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import com.yizhuan.xchat_android_core.home.bean.TagListInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
import java.util.List;
@@ -30,6 +31,11 @@ public interface IMainFragmentView extends IMvpBaseView {
void getFollowRoomFail();
/**
* 退出房间
*/
void exitRoom(RoomInfo roomInfo);
/**
* 假实现用于在View销毁后 调用View方法导致空指针问题的一种解决方案
*/
@@ -55,6 +61,11 @@ public interface IMainFragmentView extends IMvpBaseView {
}
@Override
public void exitRoom(RoomInfo roomInfo) {
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {

View File

@@ -1,5 +1,6 @@
package com.yizhuan.erban.ui.im;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
@@ -73,6 +74,7 @@ public class RouterHandler {
private static final int TIME_DIFF = 600;
private static long lastClickTime;
@SuppressLint("CheckResult")
public static boolean handle(Context context, int routerType, String routerValue) {
if (System.currentTimeMillis() - lastClickTime < TIME_DIFF) {
return false;
@@ -130,20 +132,22 @@ public class RouterHandler {
break;
case RouterType.BINDING_ALI_PAY_ACCOUNT:
WithdrawModel.get().getWithdrawUserInfo(AuthModel.get().getCurrentUid())
.subscribe(withdrawInfo -> {
if (withdrawInfo != null) {
if (UserModel.get().getCacheLoginUserInfo().isBindPhone()) {
Intent intent = new Intent(context, BinderAlipayActivity.class);
Bundle mBundle = new Bundle();
mBundle.putSerializable("withdrawInfo", withdrawInfo);
intent.putExtras(mBundle);
context.startActivity(intent);
} else {
context.startActivity(new Intent(context, BinderPhoneActivity.class));
if (AuthModel.get().getCurrentUid() > 0){
WithdrawModel.get().getWithdrawUserInfo(AuthModel.get().getCurrentUid())
.subscribe(withdrawInfo -> {
if (withdrawInfo != null) {
if (UserModel.get().getCacheLoginUserInfo().isBindPhone()) {
Intent intent = new Intent(context, BinderAlipayActivity.class);
Bundle mBundle = new Bundle();
mBundle.putSerializable("withdrawInfo", withdrawInfo);
intent.putExtras(mBundle);
context.startActivity(intent);
} else {
context.startActivity(new Intent(context, BinderPhoneActivity.class));
}
}
}
});
});
}
break;
case RouterType.BINDING_PHONE:
@@ -186,7 +190,7 @@ public class RouterHandler {
.subscribe(new BeanObserver<HallInfo>() {
@Override
public void onErrorMsg(String error) {
SingleToastUtil.showToast(error);
}
@Override

View File

@@ -18,7 +18,7 @@ public class PatriarchModeActivity extends BaseBindingActivity<ActivityPatriarch
@Override
protected void init() {
initTitleBar("青少年模式");
mBinding.tvPlan.setOnClickListener(v -> CommonWebViewActivity.start(PatriarchModeActivity.this, UriProvider.IM_SERVER_URL + "/modules/rule/adult.html"));
mBinding.tvPlan.setOnClickListener(v -> CommonWebViewActivity.start(PatriarchModeActivity.this, UriProvider.IM_SERVER_URL + "/accompany/activity/activemodel/index.html?code=jingwangxingdong"));
mBinding.tvOpen.setOnClickListener(v -> start(PatriarchPwdActivity.class));
mBinding.tvPlan.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线

View File

@@ -31,4 +31,12 @@ public class GoldBoxHelper {
return Single.just(isHide);
});
}
public static Single<Boolean> isShowDiamondBox() {
return InitialModel.get().getBoxInfo().flatMap(boxInfo -> Single.just(boxInfo.isDiamondBoxSwitch()));
}
public static Single<String> getBoxIcon() {
return InitialModel.get().getBoxInfo().flatMap(boxInfo -> Single.just(boxInfo.getOpenBoxIcon()));
}
}

View File

@@ -1,15 +0,0 @@
package com.yizhuan.xchat_android_core.home;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
import java.util.List;
public interface IHomeMoreRoomView extends IMvpBaseView {
void getFollowRoomsSuccess(List<HomeConcernsInfo> infos);
void getFollowRoomFail();
void getHomeTagSuccess(List<HomeTagInfo> infos);
void getHomeTagFail();
}

View File

@@ -413,6 +413,8 @@ public class InitialModel extends BaseModel implements IInitialModel {
BoxInfo boxInfo = new BoxInfo();
boxInfo.setOpenBoxSwitch(info.isOpenBoxSwitch());
boxInfo.setOpenBoxSwitchLevelNo(info.getOpenBoxSwitchLevelNo());
boxInfo.setDiamondBoxSwitch(info.isDiamondBoxSwitch());
boxInfo.setOpenBoxIcon(info.getOpenBoxIcon());
return boxInfo;
}

View File

@@ -13,4 +13,8 @@ public class BoxInfo {
private boolean openBoxSwitch;
/**宝箱限制等级*/
private int openBoxSwitchLevelNo;
/**梦幻许愿池开关*/
private boolean diamondBoxSwitch;
/**许愿池图标*/
private String openBoxIcon;
}

View File

@@ -52,6 +52,15 @@ public class InitInfo implements Serializable {
*/
private int openBoxSwitchLevelNo;
/**
* 梦幻许愿池开关
*/
private boolean diamondBoxSwitch;
/**
* 许愿池图标
*/
private String openBoxIcon;
/**
* 一起玩 按钮的开关
*/

View File

@@ -173,14 +173,18 @@ public class GiftValueMrg {
roomQueueInfo.giftValueData = new GiftValueData();
}
long value = giftValueArray.get(micUid, 0L);
roomQueueInfo.giftValueData.updateValue(value);
if (value > 0) {
roomQueueInfo.giftValueData.updateValue(value);
}
} else if (key == -1 && AvRoomDataManager.get().isLeaveMode()) { // 离开模式礼物值变化
long micUid = AvRoomDataManager.get().getRoomUid();
if (roomQueueInfo.giftValueData == null) {
roomQueueInfo.giftValueData = new GiftValueData();
}
long value = giftValueArray.get(micUid, 0L);
roomQueueInfo.giftValueData.updateValue(value);
if (value > 0) {
roomQueueInfo.giftValueData.updateValue(value);
}
}
}
}
@@ -245,6 +249,11 @@ public class GiftValueMrg {
}
}
/**
* 上麦
* @param micPosition
* @param upMicUid
*/
public void requestUpMic(int micPosition, String upMicUid) {
if (!TextUtils.isEmpty(upMicUid)) {
GiftValueModel.get().upMic(JavaUtil.str2long(upMicUid), micPosition) .subscribe(new DontWarnObserver<RoomGiftValue>() {

View File

@@ -46,12 +46,9 @@ public class AttachmentStore {
tmpBuffer.clear();
}
return source.length();
} catch (FileNotFoundException e) {
} catch (Exception e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
} finally {
try {
if (fcin != null) {
fcin.close();