打开APP跳转逻辑整理,
优先级 闪屏→linkedme→渠道指定房间→邀请码
This commit is contained in:
@@ -98,6 +98,7 @@ import com.yizhuan.erban.ui.im.chat.SignInNoticeMsgViewHolder;
|
||||
import com.yizhuan.erban.ui.im.chat.SysMsgV2ViewHolder;
|
||||
import com.yizhuan.erban.ui.im.chat.SysMsgViewHolder;
|
||||
import com.yizhuan.erban.ui.login.BindPhoneActivity;
|
||||
import com.yizhuan.erban.ui.login.fragment.AddUserInfoFragment;
|
||||
import com.yizhuan.erban.ui.patriarch.help.LimitEnterRoomHelper;
|
||||
import com.yizhuan.erban.ui.patriarch.help.PmDialogShowMrg;
|
||||
import com.yizhuan.erban.ui.user.UserInfoActivity;
|
||||
@@ -148,6 +149,7 @@ import com.yizhuan.xchat_android_core.im.custom.bean.SysMsgAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.SysMsgV2Attachment;
|
||||
import com.yizhuan.xchat_android_core.level.event.CharmLevelUpEvent;
|
||||
import com.yizhuan.xchat_android_core.level.event.LevelUpEvent;
|
||||
import com.yizhuan.xchat_android_core.linked.LinkedModel;
|
||||
import com.yizhuan.xchat_android_core.linked.bean.LinkedInfo;
|
||||
import com.yizhuan.xchat_android_core.linked.event.LinkMeInfoUpdateEvent;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
@@ -170,6 +172,7 @@ import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
|
||||
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.InviteUserInfo;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserRecommendRoomInfo;
|
||||
import com.yizhuan.xchat_android_core.user.event.CurrentUserInfoCompleteEvent;
|
||||
@@ -178,6 +181,7 @@ import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent;
|
||||
import com.yizhuan.xchat_android_core.user.event.NeedBindPhoneEvent;
|
||||
import com.yizhuan.xchat_android_core.user.event.NeedCompleteInfoEvent;
|
||||
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.threadmgr.ThreadPoolManager;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
@@ -198,19 +202,21 @@ import io.reactivex.Single;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.SingleSource;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.functions.BiConsumer;
|
||||
import io.reactivex.functions.Consumer;
|
||||
import io.reactivex.functions.Function;
|
||||
|
||||
import static com.yizhuan.xchat_android_core.Constants.SHOW_CAR_GUIDE;
|
||||
import static com.yizhuan.xchat_android_core.channel_page.model.ChannelPageModel.KEY_FLAG_VALID_CHANNEL_PAGE;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@CreatePresenter(MainPresenter.class)
|
||||
public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
implements MainTabLayout.OnTabClickListener, IMainView, View.OnClickListener{
|
||||
implements MainTabLayout.OnTabClickListener, IMainView, View.OnClickListener {
|
||||
|
||||
private static final String TAG = "MainActivity";
|
||||
|
||||
@@ -501,7 +507,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
LinkedME.getInstance().setImmediate(true);
|
||||
if (avatarLayout.getVisibility() == View.VISIBLE) {
|
||||
userLivingView.start();
|
||||
}
|
||||
@@ -652,36 +657,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLinkMeInfoUpdateEvent(LinkMeInfoUpdateEvent event) {
|
||||
LinkedInfo linkedInfo = event.getLinkedInfo();
|
||||
if (linkedInfo == null || linkedInfo.getType() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
LogUtil.print("linkedme跳转");
|
||||
handleChannelPageInfo(true)
|
||||
.doOnError(throwable -> {
|
||||
// 跳转
|
||||
if (!StringUtil.isEmpty(linkedInfo.getRoomUid()) && linkedInfo.getType().equals("2")) {
|
||||
AVRoomActivity.start(this, Long.valueOf(linkedInfo.getRoomUid()));
|
||||
} else if (!StringUtil.isEmpty(linkedInfo.getFamilyId()) && linkedInfo.getType().equals("4")) {
|
||||
FamilyHomeActivity.start(this, linkedInfo.getFamilyId());
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getUrl()) && linkedInfo.getType().equals("3")) {
|
||||
CommonWebViewActivity.start(context, UriProvider.getLinkUrl(linkedInfo.getUrl()));
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getWorldId()) && linkedInfo.getType().equals("5")) {
|
||||
MiniWorldGuestPageActivity.start(context, linkedInfo.getWorldId());
|
||||
} else if (linkedInfo.getType().equals("6") && !TextUtils.isEmpty(linkedInfo.getWorldId()) &&
|
||||
!TextUtils.isEmpty(linkedInfo.getDynamicId())) {
|
||||
DynamicDetailActivity.start(context, JavaUtil.str2long(linkedInfo.getDynamicId()),
|
||||
JavaUtil.str2long(linkedInfo.getWorldId()), 6);
|
||||
}
|
||||
})
|
||||
.subscribe();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLoginEvent(LoginEvent event) {
|
||||
onLogin(AuthModel.get().getCurrentUid());
|
||||
@@ -707,49 +682,17 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
CrashReport.setUserId(this, uid + "");
|
||||
|
||||
Log.i("checkLostUser", "onLogin");
|
||||
// checkLostUser(uid);
|
||||
|
||||
//登录完成后检查更新
|
||||
// AppUpgradeHelper.checkAppUpgrade(this);
|
||||
|
||||
//登录成功查询未读信息数量
|
||||
mMainTabLayout.setmUnReadDynamicCount(0);
|
||||
int unreadCount = IMMessageManager.get().queryUnreadMsg() + Unicorn.getUnreadCount();
|
||||
mMainTabLayout.setMsgNum(unreadCount);
|
||||
// 如果需要跳转,在这里实现
|
||||
if (!shown &&
|
||||
(System.currentTimeMillis() - startTime) <= 2000 &&
|
||||
getIntent().hasExtra("url") && getIntent().hasExtra("type")) {
|
||||
shown = true;
|
||||
|
||||
LogUtil.print("点击了闪屏");
|
||||
handleChannelPageInfo(true)
|
||||
.doOnError(throwable -> {
|
||||
//如果没有渠道页,就按原来的逻辑即可
|
||||
int type = getIntent().getIntExtra("type", 0);
|
||||
String url = getIntent().getStringExtra("url");
|
||||
if (type == 3) {
|
||||
Intent intent = new Intent(context, CommonWebViewActivity.class);
|
||||
intent.putExtra("url", url);
|
||||
startActivity(intent);
|
||||
} else if (type == 2) {
|
||||
AVRoomActivity.start(context, Long.parseLong(url));
|
||||
}
|
||||
})
|
||||
.subscribe();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 互动消息未读数量
|
||||
HomeModel.get().getUnreadCount(AuthModel.get().getCurrentUid())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(new BiConsumer<Integer, Throwable>() {
|
||||
@Override
|
||||
public void accept(Integer integer, Throwable throwable) throws Exception {
|
||||
if (integer != null) {
|
||||
EventBus.getDefault().post(new UnReadCountEvent(integer));
|
||||
}
|
||||
.subscribe((integer, throwable) -> {
|
||||
if (integer != null) {
|
||||
EventBus.getDefault().post(new UnReadCountEvent(integer));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -856,28 +799,26 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private void updateRoomState() {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null) {
|
||||
UserModel.get().getUserInfo(roomInfo.getUid()).subscribe(new Consumer<UserInfo>() {
|
||||
@Override
|
||||
public void accept(UserInfo userInfo) throws Exception {
|
||||
if (userInfo != null) {
|
||||
displayAvatarLayout(userInfo.getAvatar(), roomInfo.getTitle(), userInfo.getErbanNo());
|
||||
} else {
|
||||
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(roomInfo.getUid() + "");
|
||||
if (nimUserInfo == null) {
|
||||
NimUserInfoCache.getInstance().getUserInfoFromRemote(roomInfo.getUid() + "", new RequestCallbackWrapper<NimUserInfo>() {
|
||||
@Override
|
||||
public void onResult(int i, NimUserInfo nimUserInfo, Throwable throwable) {
|
||||
if (nimUserInfo != null) {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(),roomInfo.getTitle(), userInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
UserModel.get().getUserInfo(roomInfo.getUid())
|
||||
.subscribe(userInfo -> {
|
||||
if (userInfo != null) {
|
||||
displayAvatarLayout(userInfo.getAvatar(), roomInfo.getTitle(), userInfo.getErbanNo());
|
||||
} else {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(), roomInfo.getTitle(), userInfo.getUid());
|
||||
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(roomInfo.getUid() + "");
|
||||
if (nimUserInfo == null) {
|
||||
NimUserInfoCache.getInstance().getUserInfoFromRemote(roomInfo.getUid() + "", new RequestCallbackWrapper<NimUserInfo>() {
|
||||
@Override
|
||||
public void onResult(int i, NimUserInfo nimUserInfo, Throwable throwable) {
|
||||
if (nimUserInfo != null) {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(), roomInfo.getTitle(), userInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(), roomInfo.getTitle(), userInfo.getUid());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
@@ -984,70 +925,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
DaemonService.stop(MainActivity.this);
|
||||
}
|
||||
|
||||
private void showCarGuide() {
|
||||
boolean showCarGuide = CommonPref.instance(this).getBoolean(SHOW_CAR_GUIDE, true);
|
||||
if (showCarGuide) {
|
||||
ShowCarGuideDialog showCarGuideDialog = ShowCarGuideDialog.newInstance("https://image.zhongjialx.com/Fi1Vhqkkc9dh3RIPgy3jjWBtyWNE?imageslim");
|
||||
if (!isValid()) return;
|
||||
showCarGuideDialog.show(getFragmentManager(), ShowCarGuideDialog.class.getSimpleName());
|
||||
CommonPref.instance(this).putBoolean(SHOW_CAR_GUIDE, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* lvzebiao at 2020/02/27
|
||||
* 绑定手机号流程更改,完善资料完成后,访问少男少女的接口的逻辑依旧保留,但不算登录流程结束
|
||||
* 登录流程结束,应该是完善资料-绑定手机号-最后获取最新的用户信息
|
||||
* 并且发出事件{@link LoadLoginUserInfoEvent} 后,才算登录流程成功,并终止
|
||||
*/
|
||||
@SuppressLint("CheckResult")
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onCurrentUserInfoCompleteEvent(CurrentUserInfoCompleteEvent event) {
|
||||
//补全完信息后,获取导流房间数据
|
||||
HomeModel.get().loadRecommendRoom(
|
||||
String.valueOf(AuthModel.get().getCurrentUid())
|
||||
)
|
||||
.subscribe(new BiConsumer<UserRecommendRoomInfo, Throwable>() {
|
||||
@Override
|
||||
public void accept(UserRecommendRoomInfo userRecommendRoomInfo, Throwable throwable) throws Exception {
|
||||
if (throwable != null) {
|
||||
Logger.e(throwable.getMessage());
|
||||
return;
|
||||
}
|
||||
if (userRecommendRoomInfo.getRecommendRoomUid() > 0) {
|
||||
onRecommendRoomWhenCompleteUserInformation(userRecommendRoomInfo);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//处理签到弹框 注释原因看上面备注
|
||||
//handleSign();
|
||||
//firstLoadedUserInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 第一次完善用户信息时候,弹出推荐房间dialog
|
||||
*
|
||||
* @param userRecommendRoomInfo
|
||||
*/
|
||||
private void onRecommendRoomWhenCompleteUserInformation(UserRecommendRoomInfo userRecommendRoomInfo) {
|
||||
RecommendRoomForNewerDialog dialog = new RecommendRoomForNewerDialog(this);
|
||||
dialog.setActionListener(new RecommendRoomForNewerDialog.onActionListener() {
|
||||
@Override
|
||||
public void onGoIntoRoom(DialogInterface dialogInterface) {
|
||||
AVRoomActivity.start(MainActivity.this, userRecommendRoomInfo.getRecommendRoomUid());
|
||||
dialogInterface.dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialogInterface) {
|
||||
dialogInterface.dismiss();
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onMarketVerifyUpdateEvent(MarketVerifyUpdateEvent event) {
|
||||
//审核包隐藏tab
|
||||
@@ -1072,14 +949,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
RecallDialog.start(this);
|
||||
}
|
||||
|
||||
private void checkLostUser(long uid) {
|
||||
RecallModel.get().checkLostUser(uid).subscribe();
|
||||
}
|
||||
|
||||
private void startGuild() {
|
||||
GuideActivity.start(this);
|
||||
}
|
||||
|
||||
public boolean isShowMsgTab() {
|
||||
return mCurrentMainPosition == MainTabLayout.MAIN_TAB_POS_MSG;
|
||||
}
|
||||
@@ -1090,27 +959,116 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
/**
|
||||
* 第一次加载到用户信息
|
||||
* 跳转优先级 闪屏→linkedMe→渠道指定房间→邀请码
|
||||
*/
|
||||
private void firstLoadedUserInfo() {
|
||||
//青少年弹窗处理
|
||||
PmDialogShowMrg.get().handle(new WeakReference<>(this));
|
||||
|
||||
//这里稍微晚点访问
|
||||
Single.timer(400, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread())
|
||||
.compose(bindUntilEvent(ActivityEvent.DESTROY))
|
||||
.flatMap(new Function<Long, SingleSource<ChannelPageInfo>>() {
|
||||
@Override
|
||||
public SingleSource<ChannelPageInfo> apply(Long aLong) throws Exception {
|
||||
return handleChannelPageInfo(false);
|
||||
}
|
||||
})
|
||||
.subscribe();
|
||||
|
||||
//通知栏权限判断
|
||||
NoticationsUiHelper.handle(this, getDialogManager());
|
||||
|
||||
handleChannelPageInfo();
|
||||
|
||||
}
|
||||
|
||||
//闪屏→linkedme→渠道指定房间→邀请码
|
||||
@SuppressLint("CheckResult")
|
||||
private void handleChannelPageInfo() {
|
||||
if (handleSplashJump()) return;
|
||||
if (handleLinkedJump()) return;
|
||||
|
||||
//渠道落地页和邀请码跳转只需要完善资料后处理一次
|
||||
if ((boolean) SharedPreferenceUtils.get(KEY_FLAG_VALID_CHANNEL_PAGE, true)) {
|
||||
SharedPreferenceUtils.put(KEY_FLAG_VALID_CHANNEL_PAGE, false);
|
||||
ChannelPageModel.get().getChannelPage()
|
||||
.delay(400, TimeUnit.MILLISECONDS)
|
||||
.compose(RxHelper.handleSchedulers())
|
||||
.compose(bindUntilEvent(ActivityEvent.DESTROY))
|
||||
.subscribe(this::channelPageInfoRoute,
|
||||
throwable -> checkInviteUserInRoom());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查邀请码跳转
|
||||
*/
|
||||
@SuppressLint("CheckResult")
|
||||
private void checkInviteUserInRoom() {
|
||||
if (!TextUtils.isEmpty(AddUserInfoFragment.INVITE_USER_CODE)) {
|
||||
ChannelPageModel.get().checkInviteUserInRoom(AddUserInfoFragment.INVITE_USER_CODE)
|
||||
.subscribe(inviteUserInfo -> {
|
||||
if (inviteUserInfo.isInRoom()) {
|
||||
AVRoomActivity.startForFromType(context,
|
||||
inviteUserInfo.getRoomUid(),
|
||||
AVRoomActivity.FROM_TYPE_USER,
|
||||
inviteUserInfo.getInviteNick(),
|
||||
String.valueOf(inviteUserInfo.getInviteUid()));
|
||||
}
|
||||
}, Throwable::printStackTrace);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理渠道落地页
|
||||
*/
|
||||
private void channelPageInfoRoute(ChannelPageInfo info) {
|
||||
RouterHandler.handle(context, info.getRouteType(), info.getRouteValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true 如果处理了跳转
|
||||
*/
|
||||
private boolean handleSplashJump() {
|
||||
if (getIntent().hasExtra("url") && getIntent().hasExtra("type")) {
|
||||
LogUtil.print("点击了闪屏");
|
||||
//如果没有渠道页,就按原来的逻辑即可
|
||||
int type = getIntent().getIntExtra("type", 0);
|
||||
String url = getIntent().getStringExtra("url");
|
||||
if (type == 3) {
|
||||
Intent intent = new Intent(context, CommonWebViewActivity.class);
|
||||
intent.putExtra("url", url);
|
||||
startActivity(intent);
|
||||
} else if (type == 2) {
|
||||
AVRoomActivity.start(context, Long.parseLong(url));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true 如果处理了跳转
|
||||
*/
|
||||
public boolean handleLinkedJump() {
|
||||
LinkedInfo linkedInfo = LinkedModel.get().getLinkedInfo();
|
||||
LinkedModel.get().setLinkedInfo(null);
|
||||
|
||||
if (linkedInfo == null || linkedInfo.getType() == null) {
|
||||
return false;
|
||||
}
|
||||
LogUtil.print("linkedme跳转");
|
||||
// 跳转
|
||||
if (!StringUtil.isEmpty(linkedInfo.getRoomUid()) && linkedInfo.getType().equals("2")) {
|
||||
AVRoomActivity.start(this, Long.parseLong(linkedInfo.getRoomUid()));
|
||||
} else if (!StringUtil.isEmpty(linkedInfo.getFamilyId()) && linkedInfo.getType().equals("4")) {
|
||||
FamilyHomeActivity.start(this, linkedInfo.getFamilyId());
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getUrl()) && linkedInfo.getType().equals("3")) {
|
||||
CommonWebViewActivity.start(context, UriProvider.getLinkUrl(linkedInfo.getUrl()));
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getWorldId()) && linkedInfo.getType().equals("5")) {
|
||||
MiniWorldGuestPageActivity.start(context, linkedInfo.getWorldId());
|
||||
} else if (linkedInfo.getType().equals("6") && !TextUtils.isEmpty(linkedInfo.getWorldId()) &&
|
||||
!TextUtils.isEmpty(linkedInfo.getDynamicId())) {
|
||||
DynamicDetailActivity.start(context, JavaUtil.str2long(linkedInfo.getDynamicId()),
|
||||
JavaUtil.str2long(linkedInfo.getWorldId()), 6);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public LimitEnterRoomHelper getLimitEnterRoomHelper() {
|
||||
if (limitEnterRoomHelper == null) {
|
||||
limitEnterRoomHelper = new LimitEnterRoomHelper();
|
||||
@@ -1194,13 +1152,13 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
if (NimMiddleActivity.openCommunity) {
|
||||
NimMiddleActivity.openCommunity = false;
|
||||
if (NimMiddleActivity.skipType == 0)return;
|
||||
if (NimMiddleActivity.skipType == 0) return;
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (NimMiddleActivity.skipType == PushMessageHandler.PAYLOAD_SKIPTYPE_INVITE_FANS){
|
||||
AVRoomActivity.start(MainActivity.this,NimMiddleActivity.payloadUid);
|
||||
}else if (NimMiddleActivity.skipType == PushMessageHandler.PAYLOAD_SKIPTYPE_PRIVATE_MSG){
|
||||
if (NimMiddleActivity.skipType == PushMessageHandler.PAYLOAD_SKIPTYPE_INVITE_FANS) {
|
||||
AVRoomActivity.start(MainActivity.this, NimMiddleActivity.payloadUid);
|
||||
} else if (NimMiddleActivity.skipType == PushMessageHandler.PAYLOAD_SKIPTYPE_PRIVATE_MSG) {
|
||||
NimP2PMessageActivity.start(MainActivity.this, NimMiddleActivity.payloadUid + "");
|
||||
}
|
||||
}
|
||||
@@ -1208,33 +1166,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
private Single<ChannelPageInfo> handleChannelPageInfo(boolean isSplashOrLinkedme) {
|
||||
return ChannelPageModel.get().handleSplashOrLinkedmeJump(isSplashOrLinkedme)
|
||||
.compose(bindUntilEvent(ActivityEvent.DESTROY))
|
||||
.doOnSuccess(info -> channelPageInfoRoute(info, isSplashOrLinkedme))
|
||||
.doOnError(throwable -> LogUtil.print(throwable.getMessage()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理渠道落地页
|
||||
*/
|
||||
private void channelPageInfoRoute(ChannelPageInfo info, boolean isSplashOrLinkedme) {
|
||||
if (info == null) {
|
||||
return;
|
||||
}
|
||||
if (ChannelPageModel.get().isHasJumpChannelPage()) {
|
||||
LogUtil.print("已经跳转过落地页了...");
|
||||
return;
|
||||
}
|
||||
ChannelPageModel.get().setTureJumpChannelPage();
|
||||
//如果是来自linkedme或者闪屏,则需要延迟下再启动
|
||||
//普通访问,事先已经有延迟,则直接启动
|
||||
long delay = isSplashOrLinkedme ? 300 : 10;
|
||||
Single.timer(delay, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread())
|
||||
.doOnSuccess(aLong ->
|
||||
RouterHandler.handle(context, info.getRouteType(), info.getRouteValue()))
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onNeedBindPhoneEvent(NeedBindPhoneEvent event) {
|
||||
|
@@ -119,7 +119,7 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
// RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
// RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (position == 0) return TYPE_BOSS;
|
||||
|
||||
// 新秀房,牌照房展示老板位
|
||||
@@ -190,7 +190,7 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null)
|
||||
return;
|
||||
if (roomInfo.isLeaveMode() && position == -1){
|
||||
if (roomInfo.isLeaveMode() && position == -1) {
|
||||
DialogWebViewActivity.start(context,
|
||||
UriProvider.getPersonalCharismaRank() + "?uid=" + roomInfo.getUid());
|
||||
}
|
||||
@@ -247,16 +247,16 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
charmData.setValueObserver(valueObserver);
|
||||
|
||||
//控制最高最低头饰
|
||||
Observer<Integer> headWearObserver = headWearValue ->{
|
||||
if (ivCharmLevelTag == null)return;
|
||||
Observer<Integer> headWearObserver = headWearValue -> {
|
||||
if (ivCharmLevelTag == null) return;
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
if (headWearValue == 1){
|
||||
if (headWearValue == 1) {
|
||||
ivCharmLevelTag.setVisibility(View.VISIBLE);
|
||||
ivCharmLevelTag.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_charm_level_min));
|
||||
}else if (headWearValue == 2){
|
||||
} else if (headWearValue == 2) {
|
||||
ivCharmLevelTag.setVisibility(View.VISIBLE);
|
||||
ivCharmLevelTag.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_charm_level_max));
|
||||
}else {
|
||||
} else {
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
}
|
||||
};
|
||||
@@ -319,8 +319,9 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
if (roomInfo == null)
|
||||
return;
|
||||
//初始化红包是否显示
|
||||
if (InitialModel.get().getCacheInitInfo().getRedEnvelopeConfig() != null){
|
||||
ivRedPackage.setVisibility(InitialModel.get().getCacheInitInfo().getRedEnvelopeConfig().isOpen()?View.VISIBLE:View.GONE);
|
||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||
if (initInfo != null && initInfo.getRedEnvelopeConfig() != null) {
|
||||
ivRedPackage.setVisibility(initInfo.getRedEnvelopeConfig().isOpen() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
// 新版房主位优先判断麦序是否有人,麦序没人再判断是否是离开模式(防止新版展示离开模式,实际麦位有人)
|
||||
ChatRoomMember chatRoomMember = info.mChatRoomMember;
|
||||
|
@@ -22,6 +22,7 @@ import com.yizhuan.erban.ui.webview.DialogWebViewActivity
|
||||
import com.yizhuan.xchat_android_core.UriProvider
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel
|
||||
import com.yizhuan.xchat_android_core.initial.InitialModel
|
||||
import com.yizhuan.xchat_android_core.initial.bean.InitInfo
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager
|
||||
import com.yizhuan.xchat_android_core.pay.PayModel
|
||||
import com.yizhuan.xchat_android_core.pay.event.UpdateWalletInfoEvent
|
||||
@@ -60,9 +61,9 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
|
||||
EventBus.getDefault().register(this)
|
||||
PayModel.get().currentWalletInfo?.let {
|
||||
binding.tvBalanceNum.text =it.diamondNum.toInt().toString()
|
||||
binding.tvBalanceNum.text = it.diamondNum.toInt().toString()
|
||||
}
|
||||
val initInfo = InitialModel.get().cacheInitInfo
|
||||
val initInfo = InitialModel.get().cacheInitInfo ?: InitInfo()
|
||||
|
||||
/**
|
||||
* 厅内
|
||||
@@ -114,7 +115,11 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
binding.tvChangeType.callOnClick()
|
||||
}
|
||||
|
||||
binding.tvCharge.setOnClickListener { if (!CommonUtils.isFastDoubleClick(800)){ ChargeActivity.start(context) } }
|
||||
binding.tvCharge.setOnClickListener {
|
||||
if (!CommonUtils.isFastDoubleClick(800)) {
|
||||
ChargeActivity.start(context)
|
||||
}
|
||||
}
|
||||
binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
|
||||
binding.ivHelp.setOnClickListener { DialogWebViewActivity.start(context, UriProvider.getRedPacketRule()) }
|
||||
binding.ivSend.setOnClickListener {
|
||||
@@ -140,12 +145,12 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
}
|
||||
val goldNum = binding.editGoldNum.text.toString().toIntOrDef()
|
||||
|
||||
if (isAll){
|
||||
if (isAll) {
|
||||
if (goldNum % 100 != 0) {
|
||||
SingleToastUtil.showToast("钻石数必须为100的倍数!")
|
||||
return@setOnClickListener
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
if (goldNum % 10 != 0) {
|
||||
SingleToastUtil.showToast("钻石数必须为10的倍数!")
|
||||
return@setOnClickListener
|
||||
|
@@ -866,6 +866,7 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
.subscribe(homePlayList -> {
|
||||
if (ListUtils.isListEmpty(homePlayList)) {
|
||||
mBinding.tvAddFriends.setVisibility(View.GONE);
|
||||
addFriendsAdapter.setNewData(null);
|
||||
} else {
|
||||
loopHomePlay(homePlayList);
|
||||
}
|
||||
|
@@ -10,6 +10,7 @@ import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.microquation.linkedme.android.LinkedME;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
@@ -103,6 +104,12 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
LinkedME.getInstance().setImmediate(true);
|
||||
}
|
||||
|
||||
private volatile boolean needJump = false;
|
||||
|
||||
private void animation() {
|
||||
|
@@ -51,6 +51,8 @@ public class AddUserInfoFragment extends BaseFragment
|
||||
private RadioButton rbMale;
|
||||
private String avatarUrl = "https://image.zhongjialx.com/default_avatar.png";
|
||||
|
||||
public static String INVITE_USER_CODE = "";
|
||||
|
||||
@Override
|
||||
public int getRootLayoutId() {
|
||||
return R.layout.fragment_add_user_info;
|
||||
@@ -95,10 +97,6 @@ public class AddUserInfoFragment extends BaseFragment
|
||||
rgGender.setOnCheckedChangeListener((radioGroup, i) -> gender = i == rbMale.getId() ? UserInfo.GENDER_MALE : UserInfo.GENDER_FEMALE);
|
||||
}
|
||||
|
||||
private void init() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
@@ -183,6 +181,7 @@ public class AddUserInfoFragment extends BaseFragment
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_COMPLETE, "注册完成(提交个人资料)");
|
||||
AuthModel.get().setThirdUserInfo(null);
|
||||
getActivity().finish();
|
||||
INVITE_USER_CODE = shareCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,443 +0,0 @@
|
||||
package com.yizhuan.erban.ui.login.fragment;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import android.text.InputFilter;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.fourmob.datetimepicker.date.DatePickerDialog;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
import com.sleepbot.datetimepicker.time.RadialPickerLayout;
|
||||
import com.sleepbot.datetimepicker.time.TimePickerDialog;
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent;
|
||||
import com.yizhuan.erban.ErbanTakePhotoActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseFragment;
|
||||
import com.yizhuan.erban.common.widget.CircleImageView;
|
||||
import com.yizhuan.erban.ui.login.AddUserInfoActivity;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2;
|
||||
import com.yizhuan.erban.ui.widget.ButtonItem;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.auth.entity.ThirdUserInfo;
|
||||
import com.yizhuan.xchat_android_core.file.FileModel;
|
||||
import com.yizhuan.xchat_android_core.linked.LinkedModel;
|
||||
import com.yizhuan.xchat_android_core.linked.bean.LinkedInfo;
|
||||
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.utils.net.DontWarnObserver;
|
||||
import com.yizhuan.xchat_android_library.utils.StringUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2018/11/23
|
||||
*/
|
||||
public class AddUserInfoOldFragment extends BaseFragment
|
||||
implements View.OnClickListener, DatePickerDialog.OnDateSetListener,
|
||||
TimePickerDialog.OnTimeSetListener, ErbanTakePhotoActivity.TakePhotoCallBack {
|
||||
|
||||
private static final String TAG = "AddUserInfoFragment";
|
||||
|
||||
private CircleImageView civAvatar;
|
||||
private TextInputEditText tvNick;
|
||||
private TextInputEditText tvGender;
|
||||
private TextInputEditText tvBirthday;
|
||||
private Button okBtn;
|
||||
// private TextView tvGenderMen;
|
||||
// private TextView tvGenderWomen;
|
||||
|
||||
private ImageView ivRandomAvatar;
|
||||
|
||||
private TextView tvRandomNick;
|
||||
|
||||
private DatePickerDialog datePickerDialog;
|
||||
|
||||
private String avatarUrl;
|
||||
private String avatarUrlWX;
|
||||
private File photoFile;
|
||||
|
||||
private int gender = -1;
|
||||
|
||||
AddUserInfoActivity addUserInfoActivity;
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
addUserInfoActivity = (AddUserInfoActivity) activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRootLayoutId() {
|
||||
return R.layout.fragment_add_user_info;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
civAvatar = view.findViewById(R.id.civ_avatar);
|
||||
tvNick = view.findViewById(R.id.tv_nick);
|
||||
tvGender = view.findViewById(R.id.tv_gender);
|
||||
tvBirthday = view.findViewById(R.id.tv_birthday);
|
||||
okBtn = view.findViewById(R.id.ok_btn);
|
||||
// tvGenderMen = view.findViewById(R.id.tv_gender_men);
|
||||
// tvGenderWomen = view.findViewById(R.id.tv_gender_women);
|
||||
ivRandomAvatar = view.findViewById(R.id.iv_random_avatar);
|
||||
tvRandomNick = view.findViewById(R.id.tv_random_nick);
|
||||
ivRandomAvatar.setVisibility(View.GONE);
|
||||
tvRandomNick.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
gender = -1;
|
||||
civAvatar.setOnClickListener(this);
|
||||
tvGender.setOnClickListener(this);
|
||||
tvBirthday.setOnClickListener(this);
|
||||
okBtn.setOnClickListener(this);
|
||||
// tvGenderMen.setOnClickListener(this);
|
||||
// tvGenderWomen.setOnClickListener(this);
|
||||
ivRandomAvatar.setOnClickListener(this);
|
||||
tvRandomNick.setOnClickListener(this);
|
||||
init();
|
||||
addWXUserInfo();
|
||||
}
|
||||
|
||||
|
||||
private void addWXUserInfo() {
|
||||
ThirdUserInfo thirdUserInfo = AuthModel.get().getThirdUserInfo();
|
||||
if (thirdUserInfo != null) {
|
||||
avatarUrlWX = thirdUserInfo.getUserIcon();
|
||||
if (thirdUserInfo.getBirth() > 0) {
|
||||
tvBirthday.setText(TimeUtils.getDateTimeString(thirdUserInfo.getBirth(), "yyyy-MM-dd"));
|
||||
}
|
||||
String nick = thirdUserInfo.getUserName();
|
||||
if (!StringUtil.isEmpty(nick)) {
|
||||
if (nick.length() > 15) {
|
||||
tvNick.setText(nick.substring(0, 15));
|
||||
} else {
|
||||
tvNick.setText(nick);
|
||||
}
|
||||
}
|
||||
if (!TextUtils.isEmpty(avatarUrlWX)) {
|
||||
ImageLoadUtils.loadAvatar(getContext(), avatarUrlWX, civAvatar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void init() {
|
||||
tvNick.setFilters(new InputFilter[]{new InputFilter.LengthFilter(15)});
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int year = calendar.get(Calendar.YEAR) - 18;
|
||||
datePickerDialog = DatePickerDialog.newInstance(this, year, 0, 1, true);
|
||||
// 给一个默认的生日值
|
||||
// 默认给够 18 岁
|
||||
tvBirthday.setText(String.format(Locale.getDefault(), "%d-01-01", year));
|
||||
// 设置默认昵称
|
||||
tvNick.setText(R.string.text_default_nick);
|
||||
|
||||
UserModel.get().getRandomConfig()
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.doOnSuccess(userRandomConfig -> {
|
||||
if (userRandomConfig.isAvatar()) {
|
||||
ivRandomAvatar.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (userRandomConfig.isNick()) {
|
||||
tvRandomNick.setVisibility(View.VISIBLE);
|
||||
}
|
||||
})
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.tv_gender:
|
||||
ButtonItem maleItem = new ButtonItem("男", new ButtonItem.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
gender = UserInfo.GENDER_MALE;
|
||||
tvGender.setText("男");
|
||||
}
|
||||
});
|
||||
|
||||
ButtonItem femaleItem = new ButtonItem("女", new ButtonItem.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
gender = UserInfo.GENDER_FEMALE;
|
||||
tvGender.setText("女");
|
||||
}
|
||||
});
|
||||
|
||||
List<ButtonItem> genderList = new ArrayList<>();
|
||||
genderList.add(maleItem);
|
||||
genderList.add(femaleItem);
|
||||
getDialogManager().showCommonPopupDialog(genderList, "取消", false);
|
||||
break;
|
||||
|
||||
case R.id.tv_birthday:
|
||||
if (datePickerDialog.isAdded()) {
|
||||
datePickerDialog.dismiss();
|
||||
} else {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
datePickerDialog.setVibrate(true);
|
||||
datePickerDialog.setYearRange(1945, calendar.get(Calendar.YEAR) - 18);
|
||||
datePickerDialog.show(getChildFragmentManager(), "DATEPICKER_TAG");
|
||||
}
|
||||
break;
|
||||
|
||||
case R.id.ok_btn:
|
||||
String nick = tvNick.getText().toString();
|
||||
if (TextUtils.isEmpty(nick)) {
|
||||
toast("昵称不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
String birth = tvBirthday.getText().toString();
|
||||
if (TextUtils.isEmpty(birth)) {
|
||||
toast("生日不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (gender == -1) {
|
||||
toast("必须要选性别哦");
|
||||
return;
|
||||
}
|
||||
|
||||
if (photoFile != null) {
|
||||
getDialogManager().showProgressDialog(getContext(), "正在上传请稍后...");
|
||||
FileModel.get()
|
||||
.uploadFile(photoFile.getAbsolutePath())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((url, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onUploadFail();
|
||||
} else {
|
||||
onUpload(url);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
//用户如果自己拍照作为头像就上传,如果为空就代表没拍照,直接拿微信头像上传
|
||||
// avatarUrl = avatarUrlWX;
|
||||
if (avatarUrlWX != null) {
|
||||
avatarUrl = avatarUrlWX;
|
||||
}
|
||||
if (StringUtils.isEmpty(avatarUrl)) {
|
||||
avatarUrl = "https://image.zhongjialx.com/default_avatar.png";
|
||||
}
|
||||
commit();
|
||||
break;
|
||||
case R.id.civ_avatar:
|
||||
ButtonItem upItem = new ButtonItem("拍照上传", new ButtonItem.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
ErbanTakePhotoActivity.startToTakePhoto(getContext(), AddUserInfoOldFragment.this);
|
||||
}
|
||||
});
|
||||
|
||||
ButtonItem localItem = new ButtonItem("本地相册", new ButtonItem.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
ErbanTakePhotoActivity.startToSelectPhoto(getContext(), AddUserInfoOldFragment.this);
|
||||
|
||||
}
|
||||
});
|
||||
List<ButtonItem> buttonItemList = new ArrayList<>();
|
||||
buttonItemList.add(upItem);
|
||||
buttonItemList.add(localItem);
|
||||
getDialogManager().showCommonPopupDialog(buttonItemList, "取消", false);
|
||||
break;
|
||||
|
||||
case R.id.iv_random_avatar:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_INFORMATION_RANDOM_AVATAR,
|
||||
"随机头像");
|
||||
ivRandomAvatar.setEnabled(false);
|
||||
UserModel.get().getRandomAvatar()
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.subscribe(new DontWarnObserver<String>() {
|
||||
@Override
|
||||
public void accept(String avatar, String error) {
|
||||
super.accept(avatar, error);
|
||||
ivRandomAvatar.setEnabled(true);
|
||||
if (error != null) {
|
||||
toast(error);
|
||||
return;
|
||||
}
|
||||
if (!TextUtils.isEmpty(avatar)) {
|
||||
avatarUrl = avatar;
|
||||
ImageLoadUtilsV2.loadAvatar(civAvatar, avatar);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case R.id.tv_random_nick:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_INFORMATION_RANDOM_NAME,
|
||||
"随机昵称");
|
||||
tvRandomNick.setEnabled(false);
|
||||
UserModel.get().getRandomNick()
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.subscribe(new DontWarnObserver<String>() {
|
||||
@Override
|
||||
public void accept(String nick, String error) {
|
||||
super.accept(nick, error);
|
||||
tvRandomNick.setEnabled(true);
|
||||
if (error != null) {
|
||||
toast(error);
|
||||
return;
|
||||
}
|
||||
if (!TextUtils.isEmpty(nick)) {
|
||||
tvNick.setText(nick);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void commit() {
|
||||
String nick = tvNick.getText().toString();
|
||||
String birth = tvBirthday.getText().toString();
|
||||
|
||||
UserInfo userInfo = new UserInfo();
|
||||
userInfo.setUid(AuthModel.get().getCurrentUid());
|
||||
userInfo.setBirthStr(birth);
|
||||
userInfo.setNick(nick);
|
||||
userInfo.setAvatar(avatarUrl);
|
||||
|
||||
if (gender == UserInfo.GENDER_MALE || gender == UserInfo.GENDER_FEMALE) {
|
||||
userInfo.setGender(gender);
|
||||
}else {
|
||||
toast("必须要选性别哦");
|
||||
return;
|
||||
}
|
||||
|
||||
getDialogManager().showProgressDialog(getContext(), "请稍后...");
|
||||
LinkedInfo linkedInfo = LinkedModel.get().getLinkedInfo();
|
||||
|
||||
String channel = "";
|
||||
String roomUid = "";
|
||||
String uid = "";
|
||||
if (linkedInfo != null) {
|
||||
channel = linkedInfo.getChannel();
|
||||
roomUid = linkedInfo.getRoomUid();
|
||||
uid = linkedInfo.getUid();
|
||||
}
|
||||
UserModel.get().requestCompleteUserInfo(userInfo, channel, uid, roomUid, null)
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY))
|
||||
.subscribe(new SingleObserver<UserInfo>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(UserInfo userInfo) {
|
||||
getDialogManager().dismissDialog();
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_COMPLETE,"注册完成(提交个人资料)");
|
||||
AuthModel.get().setThirdUserInfo(null);
|
||||
getActivity().finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
getDialogManager().dismissDialog();
|
||||
toast(e.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
Map<String, String> attributes = new HashMap<>(4);
|
||||
attributes.put("userUid", userInfo.getUid() + "");
|
||||
attributes.put("shareChannel", channel);
|
||||
attributes.put("shareUid", uid);
|
||||
attributes.put("roomUid", roomUid);
|
||||
StatisticManager.Instance().onEvent(getContext(),
|
||||
StatisticsProtocol.Event.EVENT_LOGIN_REPARI_SUCCESS_CLICK, "补全", attributes);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) {
|
||||
String monthstr;
|
||||
if ((month + 1) < 10) {
|
||||
monthstr = "0" + (month + 1);
|
||||
} else {
|
||||
monthstr = String.valueOf(month + 1);
|
||||
}
|
||||
String daystr;
|
||||
if (day < 10) {
|
||||
daystr = "0" + day;
|
||||
} else {
|
||||
daystr = String.valueOf(day);
|
||||
}
|
||||
tvBirthday.setText(String.valueOf(year) + "-" + monthstr + "-" + daystr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void onUpload(String url) {
|
||||
Log.d(TAG, "onUpload: 这是添加用户更改上传");
|
||||
avatarUrl = url;
|
||||
getDialogManager().dismissDialog();
|
||||
ImageLoadUtils.loadAvatar(getContext(), url, civAvatar);
|
||||
commit();
|
||||
}
|
||||
|
||||
public void onUploadFail() {
|
||||
toast("上传失败");
|
||||
getDialogManager().dismissDialog();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void takeSuccess(TResult result) {
|
||||
photoFile = new File(result.getImage().getCompressPath());
|
||||
if (getContext() != null) {
|
||||
ImageLoadUtils.loadImage(getContext(), photoFile, civAvatar, R.drawable.tutu_default_avatar_purple);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void takeFail(TResult result, String msg) {
|
||||
toast(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void takeCancel() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,89 +0,0 @@
|
||||
package com.yizhuan.erban.ui.login.fragment;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseFragment;
|
||||
import com.yizhuan.erban.ui.login.AddUserInfoActivity;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.auth.entity.ThirdUserInfo;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2018/11/23
|
||||
*/
|
||||
@Deprecated
|
||||
public class GenderSelectFragment extends BaseFragment implements View.OnClickListener {
|
||||
|
||||
private TextView tvGenderMen;
|
||||
private TextView tvGenderWomen;
|
||||
private Button btnNext;
|
||||
|
||||
AddUserInfoActivity addUserInfoActivity;
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
addUserInfoActivity = (AddUserInfoActivity) activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRootLayoutId() {
|
||||
return R.layout.fragment_gender_select;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
tvGenderMen = (TextView) view.findViewById(R.id.tv_gender_men);
|
||||
tvGenderWomen = (TextView) view.findViewById(R.id.tv_gender_women);
|
||||
btnNext = (Button) view.findViewById(R.id.btn_next);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
tvGenderMen.setOnClickListener(this);
|
||||
tvGenderWomen.setOnClickListener(this);
|
||||
btnNext.setOnClickListener(this);
|
||||
btnNext.setEnabled(false);
|
||||
|
||||
addWXUserInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int id = v.getId();
|
||||
if (id == tvGenderMen.getId()) {
|
||||
tvGenderMen.setBackgroundResource(R.mipmap.ic_gender_men_selected);
|
||||
tvGenderWomen.setBackgroundResource(R.mipmap.ic_gender_women_unselected);
|
||||
btnNext.setEnabled(true);
|
||||
} else if (id == tvGenderWomen.getId()) {
|
||||
tvGenderMen.setBackgroundResource(R.mipmap.ic_gender_men_unselected);
|
||||
tvGenderWomen.setBackgroundResource(R.mipmap.ic_gender_women_selected);
|
||||
btnNext.setEnabled(true);
|
||||
} else if (id == btnNext.getId()) {
|
||||
addUserInfoActivity.showAddUserInfo();
|
||||
}
|
||||
}
|
||||
|
||||
private void addWXUserInfo() {
|
||||
ThirdUserInfo thirdUserInfo = AuthModel.get().getThirdUserInfo();
|
||||
if (thirdUserInfo != null) {
|
||||
if (!StringUtil.isEmpty(thirdUserInfo.getUserGender())) {
|
||||
if (thirdUserInfo.getUserGender().equals("m")) {
|
||||
onClick(tvGenderMen);
|
||||
} else {
|
||||
onClick(tvGenderWomen);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="35dp"
|
||||
android:layout_marginTop="40dp"
|
||||
android:text="请选择性别"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="22dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="75dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gender_men"
|
||||
android:layout_width="87dp"
|
||||
android:layout_height="87dp"
|
||||
android:background="@mipmap/ic_gender_men_unselected" />
|
||||
|
||||
<View
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="10dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gender_women"
|
||||
android:layout_width="87dp"
|
||||
android:layout_height="87dp"
|
||||
android:background="@mipmap/ic_gender_women_unselected" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/common_item_view_height"
|
||||
android:layout_marginLeft="@dimen/common_item_view_margin_left_right"
|
||||
android:layout_marginTop="79dp"
|
||||
android:layout_marginRight="@dimen/common_item_view_margin_left_right"
|
||||
android:background="@drawable/bg_binding_button"
|
||||
android:text="下一步"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/font_huge" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="16dp"
|
||||
android:drawableLeft="@mipmap/ic_warning"
|
||||
android:drawablePadding="5dp"
|
||||
android:text="性别选择后不可更改"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="13sp" />
|
||||
|
||||
</LinearLayout>
|
@@ -1,5 +1,7 @@
|
||||
package com.yizhuan.xchat_android_core.initial;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.yizhuan.xchat_android_core.base.IModel;
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
|
||||
import com.yizhuan.xchat_android_core.initial.bean.BoxInfo;
|
||||
@@ -18,6 +20,7 @@ public interface IInitialModel extends IModel {
|
||||
|
||||
SplashComponent getLocalSplashVo();
|
||||
|
||||
@Nullable
|
||||
InitInfo getCacheInitInfo();
|
||||
|
||||
InitInfo getCacheInitInfoOnly();
|
||||
|
@@ -6,6 +6,8 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.bumptech.glide.request.FutureTarget;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
@@ -323,6 +325,7 @@ public class InitialModel extends BaseModel implements IInitialModel {
|
||||
*
|
||||
* @return -
|
||||
*/
|
||||
@Nullable
|
||||
@Override
|
||||
public InitInfo getCacheInitInfo() {
|
||||
// 过期了
|
||||
|
@@ -8,9 +8,6 @@ public interface ILinkedModel extends IModel {
|
||||
|
||||
void setLinkedInfo(LinkedInfo linkedInfo);
|
||||
|
||||
/**哈哈专用方法*/
|
||||
void setHaHaLinkedInfo(LinkedInfo linkedInfo);
|
||||
|
||||
LinkedInfo getLinkedInfo();
|
||||
|
||||
}
|
||||
|
@@ -1,17 +1,9 @@
|
||||
package com.yizhuan.xchat_android_core.linked;
|
||||
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
import com.yizhuan.xchat_android_core.base.BaseModel;
|
||||
import com.yizhuan.xchat_android_core.linked.bean.LinkedInfo;
|
||||
import com.yizhuan.xchat_android_core.linked.event.LinkMeInfoUpdateEvent;
|
||||
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.CurrentUserInfoCompleteEvent;
|
||||
import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
public class LinkedModel extends BaseModel implements ILinkedModel{
|
||||
|
||||
@@ -37,18 +29,6 @@ public class LinkedModel extends BaseModel implements ILinkedModel{
|
||||
|
||||
@Override
|
||||
public void setLinkedInfo(LinkedInfo linkedInfo) {
|
||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
//这里再应用打开,且登录的状态下,直接发出linkme更新事件,进行跳转,其他情况下保持一下linkme信息,等待登录后再跳转
|
||||
if (userInfo != null && !StringUtil.isEmpty(userInfo.getNick())){
|
||||
EventBus.getDefault().post(new LinkMeInfoUpdateEvent(linkedInfo));
|
||||
}else {
|
||||
this.linkedInfo = linkedInfo;
|
||||
}
|
||||
}
|
||||
|
||||
/**哈哈专用方法*/
|
||||
@Override
|
||||
public void setHaHaLinkedInfo(LinkedInfo linkedInfo) {
|
||||
this.linkedInfo = linkedInfo;
|
||||
}
|
||||
|
||||
@@ -57,14 +37,4 @@ public class LinkedModel extends BaseModel implements ILinkedModel{
|
||||
return linkedInfo;
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLoadLoginUserInfoEvent(LoadLoginUserInfoEvent event) {
|
||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
if (linkedInfo != null && userInfo != null && !StringUtil.isEmpty(userInfo.getNick())) {
|
||||
EventBus.getDefault().post(new LinkMeInfoUpdateEvent(linkedInfo));
|
||||
linkedInfo = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,11 @@
|
||||
package com.yizhuan.xchat_android_core.user.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class InviteUserInfo {
|
||||
private String inviteNick;
|
||||
private long inviteUid;
|
||||
private boolean isInRoom;
|
||||
private long roomUid;
|
||||
}
|
@@ -1,16 +1,15 @@
|
||||
package com.yizhuan.xchat_android_core.channel_page.model;
|
||||
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.yizhuan.xchat_android_core.base.BaseModel;
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
|
||||
import com.yizhuan.xchat_android_core.channel_page.bean.ChannelPageInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
import com.yizhuan.xchat_android_core.user.bean.InviteUserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
|
||||
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.SingleOnSubscribe;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
/**
|
||||
* 渠道落地页的处理
|
||||
@@ -18,15 +17,15 @@ import retrofit2.http.GET;
|
||||
* 1、普通情况下进来APP
|
||||
* 2、闪屏跳转下的冲突
|
||||
* 3、linkedme跳转下的冲突
|
||||
*
|
||||
* <p>
|
||||
* Created by lvzebiao on 2020/2/26.
|
||||
*/
|
||||
|
||||
public class ChannelPageModel extends BaseModel implements IChannelPageModel{
|
||||
public class ChannelPageModel extends BaseModel implements IChannelPageModel {
|
||||
|
||||
private final Api api = RxNet.create(Api.class);
|
||||
|
||||
private final static String KEY_FLAG_VALID_CHANNEL_PAGE = "flag_valid_channel_page";
|
||||
public final static String KEY_FLAG_VALID_CHANNEL_PAGE = "flag_valid_channel_page";
|
||||
|
||||
private static final class Helper {
|
||||
public static final ChannelPageModel INSTANCE = new ChannelPageModel();
|
||||
@@ -36,83 +35,30 @@ public class ChannelPageModel extends BaseModel implements IChannelPageModel{
|
||||
return Helper.INSTANCE;
|
||||
}
|
||||
|
||||
private boolean validFlag = true;
|
||||
|
||||
private ChannelPageModel() {
|
||||
validFlag = (boolean) SharedPreferenceUtils.get(KEY_FLAG_VALID_CHANNEL_PAGE, true);
|
||||
}
|
||||
|
||||
|
||||
/**如果接口访问成功,并且确认 落地页为空,则为true,用此来其他想启动的界面*/
|
||||
private boolean hasConfirmedInfoEmpty = false;
|
||||
|
||||
/**如果已经跳转过了落地页,则为true*/
|
||||
private boolean hasJumpChannelPage = false;
|
||||
|
||||
private boolean hasConnect = false;
|
||||
|
||||
@Override
|
||||
public Single<ChannelPageInfo> getChannelPage() {
|
||||
return api.apiGetChannelPage()
|
||||
.compose(RxHelper.handleSchedulers())
|
||||
.flatMap(result -> {
|
||||
if (result.isSuccess()) {
|
||||
SharedPreferenceUtils.put(KEY_FLAG_VALID_CHANNEL_PAGE, false);
|
||||
//把routerType=0的情况也考虑进去,当0的时候,也处理为空的情况
|
||||
//满足陈金林的骚操作,添加渠道,但不设置落地页
|
||||
if (result.getData() != null && result.getData().getRouteType() != 0) {
|
||||
return Single.just(result.getData());
|
||||
} else {
|
||||
hasConfirmedInfoEmpty = true;
|
||||
}
|
||||
}
|
||||
return Single.error(new Throwable("empty channelpageinfo or connect failed"));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<Boolean> isValidFlag() {
|
||||
return Single.create((SingleOnSubscribe<Boolean>) e ->
|
||||
e.onSuccess((Boolean) SharedPreferenceUtils.get(KEY_FLAG_VALID_CHANNEL_PAGE, true)))
|
||||
.compose(RxHelper.handleSchedulers());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<ChannelPageInfo> getChannelPageWhenLogin() {
|
||||
return isValidFlag()
|
||||
.flatMap(aBoolean -> {
|
||||
if (aBoolean) {
|
||||
return getChannelPage();
|
||||
}
|
||||
LogUtil.print("has get channel page info");
|
||||
return Single.error(new Throwable("has get channel page info"));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<ChannelPageInfo> handleSplashOrLinkedmeJump(boolean isSplashOrLinkedme) {
|
||||
if (!validFlag) {
|
||||
return Single.error(new Throwable("no need to consider channelpageinfo"));
|
||||
}
|
||||
if (hasConfirmedInfoEmpty) {
|
||||
return Single.error(new Throwable("channel page info hasConfirmed empty"));
|
||||
}
|
||||
if (!isSplashOrLinkedme && hasConnect) {
|
||||
return Single.error(new Throwable("!isSplashOrLinkedme && hasConnect"));
|
||||
}
|
||||
LogUtil.print("访问落地页接口");
|
||||
hasConnect = true;
|
||||
return getChannelPage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTureJumpChannelPage() {
|
||||
hasJumpChannelPage = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isHasJumpChannelPage() {
|
||||
return hasJumpChannelPage;
|
||||
public Single<InviteUserInfo> checkInviteUserInRoom(String inviteCode) {
|
||||
return api.checkInviteUserInRoom(inviteCode)
|
||||
.compose(RxHelper.handleBeanData())
|
||||
.compose(RxHelper.handleSchAndExce());
|
||||
}
|
||||
|
||||
private interface Api {
|
||||
@@ -122,6 +68,12 @@ public class ChannelPageModel extends BaseModel implements IChannelPageModel{
|
||||
*/
|
||||
@GET("/channel/distribute/get")
|
||||
Single<ServiceResult<ChannelPageInfo>> apiGetChannelPage();
|
||||
|
||||
/**
|
||||
* 填了邀请码用户检查改邀请码用户有没有在房间 在的话就跳转进房间
|
||||
*/
|
||||
@GET("/user/v2/checkInviteUserInRoom")
|
||||
Single<ServiceResult<InviteUserInfo>> checkInviteUserInRoom(@Query("inviteCode") String inviteCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package com.yizhuan.xchat_android_core.channel_page.model;
|
||||
|
||||
import com.yizhuan.xchat_android_core.channel_page.bean.ChannelPageInfo;
|
||||
import com.yizhuan.xchat_android_core.user.bean.InviteUserInfo;
|
||||
|
||||
import io.reactivex.Single;
|
||||
|
||||
@@ -12,14 +13,5 @@ public interface IChannelPageModel {
|
||||
|
||||
Single<ChannelPageInfo> getChannelPage();
|
||||
|
||||
Single<Boolean> isValidFlag();
|
||||
|
||||
Single<ChannelPageInfo> getChannelPageWhenLogin();
|
||||
|
||||
Single<ChannelPageInfo> handleSplashOrLinkedmeJump(boolean isSplashOrLinkedme);
|
||||
|
||||
void setTureJumpChannelPage();
|
||||
|
||||
boolean isHasJumpChannelPage();
|
||||
|
||||
Single<InviteUserInfo> checkInviteUserInRoom(String inviteCode);
|
||||
}
|
||||
|
Reference in New Issue
Block a user