[Modify]优化登录和主页逻辑
This commit is contained in:
@@ -250,9 +250,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
.doOnError(throwable -> onNeedLogin())
|
||||
.subscribe();
|
||||
initView();
|
||||
InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfos -> {
|
||||
if (mainTabInfos != null) {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfos);
|
||||
InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfo -> {
|
||||
if (mainTabInfo != null) {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfo);
|
||||
}
|
||||
});
|
||||
//检测更新
|
||||
@@ -530,6 +530,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
getMvpPresenter().exitRoom();
|
||||
LoginActivity.start(MainActivity.this);
|
||||
PmDialogShowMrg.get().onLogout();
|
||||
finish();
|
||||
}
|
||||
|
||||
public void onNeedLogin() {
|
||||
|
@@ -22,6 +22,9 @@ import com.yizhuan.erban.application.XChatApplication;
|
||||
import com.yizhuan.erban.databinding.ActivitySplashBinding;
|
||||
import com.yizhuan.erban.other.SplashBitmapTransformation;
|
||||
import com.yizhuan.erban.other.dialog.PrivacyAgreementDialog;
|
||||
import com.yizhuan.erban.ui.login.LoginActivity;
|
||||
import com.yizhuan.xchat_android_core.DemoCache;
|
||||
import com.yizhuan.xchat_android_core.auth.entity.AccountInfo;
|
||||
import com.yizhuan.xchat_android_core.channel_page.model.ChannelPageModel;
|
||||
import com.yizhuan.xchat_android_core.initial.InitialModel;
|
||||
import com.yizhuan.xchat_android_core.initial.SplashComponent;
|
||||
@@ -53,7 +56,12 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis
|
||||
//修复 https://blog.csdn.net/u011153817/article/details/77335255
|
||||
// https://blog.csdn.net/zhangcanyan/article/details/52777265 这样的启动异常问题.
|
||||
if (!isTaskRoot()) {
|
||||
MainActivity.start(SplashActivity.this);
|
||||
AccountInfo currentAccountInfo = DemoCache.readCurrentAccountInfo();
|
||||
if (currentAccountInfo == null || TextUtils.isEmpty(currentAccountInfo.getAccess_token())) {
|
||||
LoginActivity.start(this);
|
||||
} else {
|
||||
MainActivity.start(SplashActivity.this);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -115,9 +123,7 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis
|
||||
mBinding.tvJump.setVisibility(View.VISIBLE);
|
||||
}
|
||||
} else {
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(SplashActivity.this);
|
||||
finish();
|
||||
jumpActivity(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,12 +135,28 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis
|
||||
if (needJump) {
|
||||
return;
|
||||
}
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(SplashActivity.this);
|
||||
finish();
|
||||
jumpActivity(null);
|
||||
}, COUNT_DOWN_TIME * 1000);
|
||||
}
|
||||
|
||||
public void jumpActivity(Intent intent) {
|
||||
AccountInfo currentAccountInfo = DemoCache.readCurrentAccountInfo();
|
||||
if (currentAccountInfo == null || TextUtils.isEmpty(currentAccountInfo.getAccess_token())) {
|
||||
NimMiddleActivity.openCommunity = false;
|
||||
LoginActivity.start(this);
|
||||
finish();
|
||||
} else {
|
||||
if (intent != null) {
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(this, intent);
|
||||
finish();
|
||||
} else {
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(SplashActivity.this);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -148,18 +170,14 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("url", link);
|
||||
intent.putExtra("type", type);
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(this, intent);
|
||||
finish();
|
||||
jumpActivity(intent);
|
||||
break;
|
||||
case R.id.tv_skip:
|
||||
if (mLocalSplashVo == null) {
|
||||
return;
|
||||
}
|
||||
needJump = true;
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(this);
|
||||
finish();
|
||||
jumpActivity(null);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@@ -20,6 +20,8 @@ import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.tongdaxing.erban.upgrade.AppUpgradeHelper;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
import com.yizhuan.erban.NimMiddleActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.application.IReportConstants;
|
||||
import com.yizhuan.erban.application.ReportManager;
|
||||
@@ -183,7 +185,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
|
||||
ReportManager.get().reportEvent(FirebaseAnalytics.Event.LOGIN, map);
|
||||
ReportManager.get().reportAdjustEvent(IReportConstants.ADJUST_LOGIN);
|
||||
getDialogManager().dismissDialog();
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -213,7 +214,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
|
||||
ReportManager.get().reportEvent(FirebaseAnalytics.Event.LOGIN, map);
|
||||
ReportManager.get().reportAdjustEvent(IReportConstants.ADJUST_LOGIN);
|
||||
getDialogManager().dismissDialog();
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -244,7 +244,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
|
||||
ReportManager.get().reportEvent(FirebaseAnalytics.Event.LOGIN, map);
|
||||
ReportManager.get().reportAdjustEvent(IReportConstants.ADJUST_LOGIN);
|
||||
getDialogManager().dismissDialog();
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -336,7 +335,8 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLoginEvent(LoginEvent event) {
|
||||
getDialogManager().dismissDialog();
|
||||
setResult(RESULT_OK);
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(this);
|
||||
finish();
|
||||
}
|
||||
|
||||
|
@@ -14,6 +14,8 @@ import com.coorchice.library.utils.LogUtils
|
||||
import com.google.firebase.analytics.FirebaseAnalytics
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent
|
||||
import com.yizhuan.erban.MainActivity
|
||||
import com.yizhuan.erban.NimMiddleActivity
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.application.IReportConstants
|
||||
import com.yizhuan.erban.application.ReportManager
|
||||
@@ -209,8 +211,6 @@ class LoginCodeActivity : BaseViewBindingActivity<ActivityLoginCodeBinding>() {
|
||||
ReportManager.get().reportEvent(FirebaseAnalytics.Event.LOGIN, map)
|
||||
ReportManager.get().reportAdjustEvent(IReportConstants.ADJUST_LOGIN)
|
||||
stopCounter()
|
||||
setResult(RESULT_OK)
|
||||
finish()
|
||||
}
|
||||
|
||||
override fun onError(e: Throwable) {
|
||||
@@ -256,7 +256,8 @@ class LoginCodeActivity : BaseViewBindingActivity<ActivityLoginCodeBinding>() {
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onLoginEvent(event: LoginEvent?) {
|
||||
dialogManager.dismissDialog()
|
||||
setResult(RESULT_OK)
|
||||
NimMiddleActivity.delayOpenCommunity = false
|
||||
MainActivity.start(this)
|
||||
finish()
|
||||
}
|
||||
|
||||
|
@@ -8,10 +8,11 @@ import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
import com.yizhuan.erban.NimMiddleActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.application.IReportConstants;
|
||||
import com.yizhuan.erban.application.ReportManager;
|
||||
@@ -72,10 +73,7 @@ public class LoginPasswordActivity extends BaseActivity {
|
||||
findViewById(R.id.iv_back).setOnClickListener(v -> finish());
|
||||
btnNext.setOnClickListener(v -> login());
|
||||
findViewById(R.id.tv_forget_password).setOnClickListener(v ->
|
||||
ResetPasswordActivity.start(context, ResetPasswordActivity.FROM_NOT_LOGIN)
|
||||
// getDialogManager().showOkCancelWithTitleDialog(getString(R.string.login_contact_service), "LINE:pekoyuyin", getString(R.string.button_ok), "", true, () -> {
|
||||
//
|
||||
// })
|
||||
ResetPasswordActivity.start(context, ResetPasswordActivity.FROM_NOT_LOGIN)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -126,8 +124,6 @@ public class LoginPasswordActivity extends BaseActivity {
|
||||
ReportManager.get().reportEvent(FirebaseAnalytics.Event.LOGIN, map);
|
||||
ReportManager.get().reportAdjustEvent(IReportConstants.ADJUST_LOGIN);
|
||||
getDialogManager().dismissDialog();
|
||||
setResult(RESULT_OK);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -141,6 +137,7 @@ public class LoginPasswordActivity extends BaseActivity {
|
||||
|
||||
/**
|
||||
* 上报登录结果
|
||||
*
|
||||
* @param result
|
||||
* @param failDetail
|
||||
*/
|
||||
@@ -149,7 +146,7 @@ public class LoginPasswordActivity extends BaseActivity {
|
||||
map.put(IReportConstants.LOGIN_TYPE, IReportConstants.FIVE);
|
||||
map.put(IReportConstants.MODULE, IReportConstants.PEKO_LOGIN);
|
||||
map.put(IReportConstants.RESULT, result);
|
||||
if(result == IReportConstants.ZERO){
|
||||
if (result == IReportConstants.ZERO) {
|
||||
map.put(IReportConstants.FAIL_DETAIL, failDetail);
|
||||
}
|
||||
ReportManager.get().reportEvent(IReportConstants.LOGIN_RESULT, map);
|
||||
@@ -165,7 +162,8 @@ public class LoginPasswordActivity extends BaseActivity {
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLoginEvent(LoginEvent event) {
|
||||
getDialogManager().dismissDialog();
|
||||
setResult(RESULT_OK);
|
||||
NimMiddleActivity.delayOpenCommunity = false;
|
||||
MainActivity.start(LoginPasswordActivity.this);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
@@ -9,6 +9,8 @@ import android.widget.EditText
|
||||
import com.coorchice.library.utils.LogUtils
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent
|
||||
import com.yizhuan.erban.MainActivity
|
||||
import com.yizhuan.erban.NimMiddleActivity
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.databinding.ActivityLoginPhoneBinding
|
||||
@@ -143,7 +145,8 @@ class LoginPhoneActivity : BaseViewBindingActivity<ActivityLoginPhoneBinding>(),
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onLoginEvent(event: LoginEvent?) {
|
||||
setResult(RESULT_OK)
|
||||
NimMiddleActivity.delayOpenCommunity = false
|
||||
MainActivity.start(this)
|
||||
finish()
|
||||
}
|
||||
|
||||
|
@@ -19,7 +19,7 @@ import java.lang.reflect.Field;
|
||||
public class CleanLeakUtils {
|
||||
public static void fixInputMethodManagerLeak(Context destContext) {
|
||||
//在15<=API<=23中都存在
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT || Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user