首页底部Tab获取服务端配置
This commit is contained in:
@@ -6,7 +6,6 @@ import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
@@ -112,7 +111,6 @@ import com.yizhuan.erban.ui.widget.MainTabLayout;
|
||||
import com.yizhuan.erban.ui.widget.RecallDialog;
|
||||
import com.yizhuan.erban.utils.CleanLeakUtils;
|
||||
import com.yizhuan.erban.utils.PushMessageHandler;
|
||||
import com.yizhuan.erban.utils.UserUtils;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
@@ -123,8 +121,8 @@ 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.home.bean.MainTabType;
|
||||
import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent;
|
||||
import com.yizhuan.xchat_android_core.user.bean.ProtocolInfo;
|
||||
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;
|
||||
@@ -151,6 +149,7 @@ import com.yizhuan.xchat_android_core.im.custom.bean.RedPackageAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RedPacketAttachment;
|
||||
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.initial.InitialModel;
|
||||
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;
|
||||
@@ -160,8 +159,6 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMBroadcastManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMMessageManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel;
|
||||
import com.yizhuan.xchat_android_core.market_verify.event.MarketVerifyUpdateEvent;
|
||||
import com.yizhuan.xchat_android_core.miniworld.bean.OpenAudioPartyAttachment;
|
||||
import com.yizhuan.xchat_android_core.patriarch.event.CloseMinRoomEvent;
|
||||
import com.yizhuan.xchat_android_core.patriarch.event.ImPushMsgPmLimitTimeEvent;
|
||||
@@ -170,7 +167,6 @@ import com.yizhuan.xchat_android_core.pay.bean.ShowCommonWebEvent;
|
||||
import com.yizhuan.xchat_android_core.public_chat_hall.attachment.AitMeAttachment;
|
||||
import com.yizhuan.xchat_android_core.recall.bean.CheckLostUserInfo;
|
||||
import com.yizhuan.xchat_android_core.recall.event.CheckLostUserEvent;
|
||||
import com.yizhuan.xchat_android_core.redPacket.bean.RedPacketInfoV2;
|
||||
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;
|
||||
@@ -180,15 +176,12 @@ 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.NeedBindPhoneEvent;
|
||||
import com.yizhuan.xchat_android_core.user.event.NeedCompleteInfoEvent;
|
||||
import com.yizhuan.xchat_android_core.utils.LogUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
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;
|
||||
import com.yizhuan.xchat_android_library.utils.JavaUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.codec.DESUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.pref.CommonPref;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
@@ -200,9 +193,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.flutter.embedding.android.FlutterFragment;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.functions.Consumer;
|
||||
|
||||
import static com.yizhuan.xchat_android_core.channel_page.model.ChannelPageModel.KEY_FLAG_VALID_CHANNEL_PAGE;
|
||||
|
||||
@@ -226,7 +216,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private LivingIconView userLivingView;
|
||||
private View viewClose;
|
||||
private MainTabLayout mMainTabLayout;
|
||||
private int mCurrentMainPosition = MainTabLayout.MAIN_TAB_POS_HOME;
|
||||
private int mCurrentTabType = MainTabType.TAB_TYPE_HOME;
|
||||
/**
|
||||
* 房间最小化动画,换成属性动画,原先的补间动画影响了activity的生命周期
|
||||
*/
|
||||
@@ -268,11 +258,11 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
};
|
||||
|
||||
{
|
||||
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_HOME, new HomeFragment());
|
||||
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_MSG, new ContactsListFragment());
|
||||
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_ME, new MeFragment());
|
||||
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_GAME, new GameFragment
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_MSG, new ContactsListFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_GAME, new GameFragment
|
||||
.CachedEngineFragmentBuilder(GameFragment.class, FlutterBoost.ENGINE_ID)
|
||||
.url(BuildConfig.DEBUG ? RouterConstants.FLUTTER_PAGE_MAIN_DEBUG : RouterConstants.FLUTTER_PAGE_MAIN)
|
||||
.build());
|
||||
@@ -295,14 +285,13 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putInt(Constants.KEY_MAIN_POSITION, mCurrentMainPosition);
|
||||
outState.putInt(Constants.KEY_MAIN_POSITION, mCurrentTabType);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(@NotNull Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
mCurrentMainPosition = savedInstanceState.getInt(Constants.KEY_MAIN_POSITION);
|
||||
|
||||
mCurrentTabType = savedInstanceState.getInt(Constants.KEY_MAIN_POSITION);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -311,31 +300,14 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class);
|
||||
NimMiddleActivity.firstEnter = false;
|
||||
if (savedInstanceState != null) {
|
||||
mCurrentMainPosition = savedInstanceState.getInt(Constants.KEY_MAIN_POSITION);
|
||||
mCurrentTabType = savedInstanceState.getInt(Constants.KEY_MAIN_POSITION);
|
||||
}
|
||||
Log.e(TAG, "onCreate: " + DESUtils.DESAndBase64("112030"));
|
||||
setContentView(R.layout.activity_main);
|
||||
//自动登录
|
||||
AuthModel.get().autoLogin().subscribe(new SingleObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String s) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
onNeedLogin();
|
||||
//toast(e.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
initTitleBar(getString(R.string.app_name));
|
||||
AuthModel.get().autoLogin()
|
||||
.doOnError(throwable -> onNeedLogin())
|
||||
.subscribe();
|
||||
initView();
|
||||
//引导页
|
||||
// startGuild();
|
||||
initMaterialView();
|
||||
onParseIntent();
|
||||
updateDatas();
|
||||
@@ -344,6 +316,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
initTeamSessionCustomization();
|
||||
EventBus.getDefault().register(this);
|
||||
otherModelInit();
|
||||
InitialModel.get().getMainTabInfosLiveData().observe(this, mainTabInfos -> {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfos);
|
||||
});
|
||||
}
|
||||
|
||||
private void otherModelInit() {
|
||||
@@ -497,11 +472,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
|
||||
private void updateDatas() {
|
||||
if ("baidutg".equals(AppMetaDataUtil.getChannelID())) {
|
||||
mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_HOME);
|
||||
} else {
|
||||
mMainTabLayout.select(mCurrentMainPosition);
|
||||
}
|
||||
mMainTabLayout.setDefaultTabType(mCurrentTabType);
|
||||
handleNimIntent();
|
||||
}
|
||||
|
||||
@@ -535,11 +506,11 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
} else if (intent.hasExtra(GAME_TAB) && intent.getBooleanExtra(GAME_TAB, false)) {
|
||||
if (mMainTabLayout != null) {
|
||||
mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_GAME);
|
||||
mMainTabLayout.setDefaultTabType(MainTabType.TAB_TYPE_GAME);
|
||||
}
|
||||
} else if (intent.hasExtra(MSG_TAB) && intent.getBooleanExtra(MSG_TAB, false)) {
|
||||
if (mMainTabLayout != null) {
|
||||
mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_MSG);
|
||||
mMainTabLayout.setDefaultTabType(MainTabType.TAB_TYPE_MSG);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -636,7 +607,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
Log.i("checkLostUser", "onLogin");
|
||||
|
||||
//登录成功查询未读信息数量
|
||||
mMainTabLayout.setmUnReadDynamicCount(0);
|
||||
mMainTabLayout.setUnReadDynamicCount(0);
|
||||
int unreadCount = IMMessageManager.get().queryUnreadMsg();
|
||||
mMainTabLayout.setMsgNum(unreadCount);
|
||||
openCommunityNotice();
|
||||
@@ -788,9 +759,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
@SuppressLint("RestrictedApi")
|
||||
@Override
|
||||
public void onTabClick(int position) {
|
||||
public void onTabClick(int tabType) {
|
||||
|
||||
Fragment showFragment = fragmentArray.get(position);
|
||||
Fragment showFragment = fragmentArray.get(tabType);
|
||||
if (showFragment == tempFragment) return;
|
||||
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
@@ -801,7 +772,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
if (tempFragment != null) transaction.hide(tempFragment);
|
||||
tempFragment = showFragment;
|
||||
if (!isDestroyed()) transaction.commitNowAllowingStateLoss();
|
||||
mCurrentMainPosition = position;
|
||||
mCurrentTabType = tabType;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -815,14 +786,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
DaemonService.stop(MainActivity.this);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onMarketVerifyUpdateEvent(MarketVerifyUpdateEvent event) {
|
||||
//审核包隐藏tab
|
||||
if (MarketVerifyModel.get().isMarketChecking()) {
|
||||
mMainTabLayout.showOrHideTab(MainTabLayout.MAIN_TAB_POS_SQUARE, View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onReceiveRecallStatus(CheckLostUserEvent event) {
|
||||
@@ -840,7 +803,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
|
||||
public boolean isShowMeTab() {
|
||||
return mCurrentMainPosition == MainTabLayout.MAIN_TAB_POS_ME;
|
||||
return mCurrentTabType == MainTabType.TAB_TYPE_ME;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1020,7 +983,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onUnReadCount(UnReadCountEvent event) {
|
||||
mMainTabLayout.setmUnReadDynamicCount(event.getTotal());
|
||||
mMainTabLayout.setUnReadDynamicCount(event.getTotal());
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -1064,7 +1027,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
boolean isNimPush = intent.getBooleanExtra(NimMiddleActivity.EXTRA_IS_NIM_PUSH, false);
|
||||
if (isNimPush && mMainTabLayout != null) {
|
||||
mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_MSG);
|
||||
mMainTabLayout.setDefaultTabType(MainTabType.TAB_TYPE_MSG);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user