Commit e4829c0e by 宁斌

Merge remote-tracking branch 'origin/master'

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