Commit e4829c0e by 宁斌

Merge remote-tracking branch 'origin/master'

parents 738da8ae 04a91a6f
...@@ -41,6 +41,8 @@ public interface BaseLoginContract { ...@@ -41,6 +41,8 @@ public interface BaseLoginContract {
void jumpDownloadActivity(); void jumpDownloadActivity();
void showLoginLimit(List<LoginLimitBean> loginLimitBeans); void showLoginLimit(List<LoginLimitBean> loginLimitBeans);
void kickOut();
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -133,6 +133,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B ...@@ -133,6 +133,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
} }
private DialogUtils dialogUtils; private DialogUtils dialogUtils;
private int loginNum = 0;
public void showLoginLimit(List<LoginLimitBean> loginLimitBeans) { public void showLoginLimit(List<LoginLimitBean> loginLimitBeans) {
if (loginLimitBeans != null) { if (loginLimitBeans != null) {
dialogUtils = new DialogUtils(mContext, R.layout.login_limit_dialog_layout) { dialogUtils = new DialogUtils(mContext, R.layout.login_limit_dialog_layout) {
...@@ -148,8 +150,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B ...@@ -148,8 +150,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
if (position < loginLimitBeans.size()) { if (position < loginLimitBeans.size()) {
mPresenter.loginOut(loginLimitBeans.get(position).getUserId()); mPresenter.loginOut(loginLimitBeans.get(position).getUserId());
loginLimitBeans.remove(position); loginLimitBeans.remove(position);
loginNum = loginLimitBeans.size();
loginLimitAdapter.notifyDataSetChanged(); loginLimitAdapter.notifyDataSetChanged();
Log.e("eee", "踢出第" + position + "個");
} }
}); });
loginLimit.setAdapter(loginLimitAdapter); loginLimit.setAdapter(loginLimitAdapter);
...@@ -167,13 +169,17 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B ...@@ -167,13 +169,17 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
if(dialogUtils != null){ if (dialogUtils != null) {
dialogUtils.dismiss(); dialogUtils.dismiss();
} }
} }
@Override public void kickOut() {
protected void onDestroy() { if (loginNum == 0) {
super.onDestroy(); if (dialogUtils != null) {
dialogUtils.dismiss();
} }
}
}
} }
...@@ -151,7 +151,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -151,7 +151,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
mModel.getLoginLimit(restaurantId) mModel.getLoginLimit(restaurantId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(disposable -> mRootView.showLoading("獲取登錄人數")) .doOnSubscribe(disposable -> mRootView.showLoading("獲取登錄人數中..."))
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading()) .doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView)) .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
...@@ -168,6 +168,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -168,6 +168,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
mRootView.jumpMainActivity(); mRootView.jumpMainActivity();
} }
} else { } else {
mRootView.showMessage("登錄人數達到上限");
//已達上限,彈出彈窗 //已達上限,彈出彈窗
mRootView.showLoginLimit(loginLimitBeans); mRootView.showLoginLimit(loginLimitBeans);
} }
...@@ -205,11 +206,13 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -205,11 +206,13 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Override @Override
public void onNext(@NonNull Object info) { public void onNext(@NonNull Object info) {
mRootView.kickOut();
} }
@Override @Override
public void onError(Throwable t) { public void onError(Throwable t) {
super.onError(t); super.onError(t);
mRootView.kickOut();
} }
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment