邀请码进房/跟随进房/快捷进房优化

This commit is contained in:
huangjian
2021-08-06 17:06:12 +08:00
parent 546ce282f1
commit 32c67af3da
3 changed files with 21 additions and 42 deletions

View File

@@ -77,7 +77,6 @@ import com.yizhuan.erban.quick_pass.QuickPassLoginAct;
import com.yizhuan.erban.radish.signin.SignDialogTimeManager;
import com.yizhuan.erban.service.DaemonService;
import com.yizhuan.erban.share.viewholder.InAppSharingMsgViewHolder;
import com.yizhuan.erban.ui.im.RouterHandler;
import com.yizhuan.erban.ui.im.actions.GiftAction;
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderAudioParty;
@@ -115,12 +114,12 @@ import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.auth.event.KickOutEvent;
import com.yizhuan.xchat_android_core.auth.event.LoginEvent;
import com.yizhuan.xchat_android_core.auth.event.LogoutEvent;
import com.yizhuan.xchat_android_core.channel_page.bean.ChannelPageInfo;
import com.yizhuan.xchat_android_core.channel_page.model.ChannelPageModel;
import com.yizhuan.xchat_android_core.community.attachment.DynamicSysAttachment;
import com.yizhuan.xchat_android_core.community.event.SquareTaskEvent;
import com.yizhuan.xchat_android_core.community.event.UnReadCountEvent;
import com.yizhuan.xchat_android_core.community.im.WorldDynamicAttachment;
import com.yizhuan.xchat_android_core.home.model.GameHomeModel;
import com.yizhuan.xchat_android_core.home.model.HomeModel;
import com.yizhuan.xchat_android_core.im.custom.bean.AssistantAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.CarAttachment;
@@ -174,7 +173,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_core.utils.StringUtils;
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;
@@ -190,7 +189,6 @@ import org.jetbrains.annotations.NotNull;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.flutter.embedding.android.FlutterFragment;
import io.reactivex.SingleObserver;
@@ -872,6 +870,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
//闪屏→linkedme→渠道指定房间→邀请码
@SuppressLint("CheckResult")
private void handleChannelPageInfo() {
if (handleSplashJump()) return;
if (handleLinkedJump()) return;
@@ -879,12 +878,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
String spKey = KEY_FLAG_VALID_CHANNEL_PAGE + AuthModel.get().getCurrentUid();
if ((boolean) SharedPreferenceUtils.get(spKey, true)) {
SharedPreferenceUtils.put(spKey, false);
ChannelPageModel.get().getChannelPage()
.delay(400, TimeUnit.MILLISECONDS)
.compose(RxHelper.handleSchedulers())
.compose(bindUntilEvent(ActivityEvent.DESTROY))
.subscribe(this::channelPageInfoRoute,
throwable -> checkInviteUserInRoom());
checkInviteUserInRoom();
}
}
@@ -902,17 +896,25 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
AVRoomActivity.FROM_TYPE_USER,
inviteUserInfo.getInviteNick(),
String.valueOf(inviteUserInfo.getInviteUid()));
} else {
checkChannelPageInRoom();
}
}, Throwable::printStackTrace);
}, throwable -> checkChannelPageInRoom());
AddUserInfoFragment.INVITE_USER_CODE = "";
} else {
checkChannelPageInRoom();
}
}
/**
* 处理渠道落地页
*/
private void channelPageInfoRoute(ChannelPageInfo info) {
RouterHandler.handle(context, info.getRouteType(), info.getRouteValue());
@SuppressLint("CheckResult")
private void checkChannelPageInRoom() {
GameHomeModel.get().getRoomShortcut()
.compose(bindUntilEvent(ActivityEvent.DESTROY))
.subscribe(uid -> AVRoomActivity.start(context, StringUtils.toLong(uid)),
Throwable::printStackTrace);
}
/**

View File

@@ -12,7 +12,6 @@ import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -29,14 +28,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.coorchice.library.utils.LogUtils;
import com.scwang.smartrefresh.layout.internal.ProgressDrawable;
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2;
import com.yizhuan.erban.ui.widget.rollviewpager.Util;
import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nim.uikit.support.glide.GlideApp;
import com.scwang.smartrefresh.layout.internal.ProgressDrawable;
import com.yizhuan.erban.MainActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
@@ -59,13 +54,14 @@ import com.yizhuan.erban.ui.widget.higuide.TuTuGuideHelper;
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.erban.ui.widget.rollviewpager.Util;
import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView;
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.HomePlayInfo;
import com.yizhuan.xchat_android_core.home.bean.HomePlayTheme;
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;
@@ -81,7 +77,6 @@ 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.user.event.LoginUserInfoUpdateEvent;
import com.yizhuan.xchat_android_core.user.event.ShowMeEvent;
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
import com.yizhuan.xchat_android_core.utils.TextUtils;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
@@ -528,10 +523,6 @@ public class HomeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
getMvpPresenter().getHomeConcerns();
}
private void getRoomShortcut() {
uiHandler.postDelayed(() -> getMvpPresenter().getRoomShortcut(), 1800);
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {
@@ -693,7 +684,6 @@ public class HomeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
mBinding.setOpenVisible(!(userInfo.getPlatformRole() == 1));
tryLoadData(false);
if (!TextUtils.isEmptyText(userInfo.getNick())) {
getRoomShortcut();
getHomeConcern();
}

View File

@@ -2,19 +2,18 @@ package com.yizhuan.erban.home.presenter;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.annotation.Nullable;
import android.text.TextUtils;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.yizhuan.erban.base.BaseMvpPresenter;
import com.yizhuan.xchat_android_core.home.model.GameHomeModel;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.erban.home.view.IMainFragmentView;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
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.model.GameHomeModel;
import com.yizhuan.xchat_android_core.home.model.HomeModel;
import com.yizhuan.xchat_android_core.market_verify.event.MarketVerifyUpdateEvent;
import com.yizhuan.xchat_android_core.miniworld.model.MiniWorldModel;
@@ -41,7 +40,6 @@ import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.BiConsumer;
/**
* @author jiajie
@@ -398,15 +396,4 @@ public class MainFragmentPresenter extends BaseMvpPresenter<IMainFragmentView> {
});
}
@SuppressLint("CheckResult")
public void getRoomShortcut() {
GameHomeModel.get().getRoomShortcut().compose(RxHelper.handleException())
.subscribe(result -> {
if (mMvpView != null) {
mMvpView.getRoomShortcut(result);
}
}, throwable -> {
});
}
}