|
|
@@ -4,8 +4,14 @@ import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.provider.Settings;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.view.Menu;
|
|
|
+import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
|
|
|
+import androidx.annotation.NonNull;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.TypeReference;
|
|
|
import com.google.android.material.textfield.TextInputEditText;
|
|
|
import com.miekir.common.utils.ToastTool;
|
|
|
import com.miekir.common.utils.ViewTool;
|
|
|
@@ -15,13 +21,27 @@ import com.miekir.eden.bean.BeiUser;
|
|
|
import com.miekir.eden.bean.SystemBean;
|
|
|
import com.miekir.eden.constant.ConstantString;
|
|
|
import com.miekir.eden.constant.EdenError;
|
|
|
+import com.miekir.eden.kawayi.KwyAPI;
|
|
|
+import com.miekir.eden.kawayi.WalkApp;
|
|
|
+import com.miekir.eden.kawayi.bean.BaseKwyBean;
|
|
|
+import com.miekir.eden.kawayi.bean.EncryptKwyPhotoBean;
|
|
|
import com.miekir.eden.manager.EdenManager;
|
|
|
+import com.miekir.eden.net.RetrofitHelper;
|
|
|
import com.miekir.eden.tool.StringTool;
|
|
|
+import com.miekir.eden.tool.secure.AESTool;
|
|
|
import com.miekir.eden.ui.TabActivity;
|
|
|
import com.miekir.eden.ui.home.tool.ISystemView;
|
|
|
import com.miekir.eden.ui.home.tool.SystemPresenter;
|
|
|
+import com.miekir.eden.ui.welcome.WelcomePresenter;
|
|
|
import com.miekir.mvp.presenter.InjectPresenter;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import io.reactivex.Observer;
|
|
|
+import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
+import io.reactivex.schedulers.Schedulers;
|
|
|
+
|
|
|
/**
|
|
|
* @author Miekir
|
|
|
* @date 2020/6/18 16:48
|
|
|
@@ -39,6 +59,9 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
|
|
|
@InjectPresenter
|
|
|
SystemPresenter systemPresenter;
|
|
|
|
|
|
+ @InjectPresenter
|
|
|
+ WelcomePresenter welcomePresenter;
|
|
|
+
|
|
|
@Override
|
|
|
public int getLayoutID() {
|
|
|
return R.layout.activity_login;
|
|
|
@@ -60,9 +83,86 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
|
|
|
if (user != null && !TextUtils.isEmpty(user.email)) {
|
|
|
et_email.setText(user.email);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
+ if (!EdenManager.getInstance().isLogin()) {
|
|
|
+ return super.onCreateOptionsMenu(menu);
|
|
|
+ }
|
|
|
|
|
|
+ getMenuInflater().inflate(R.menu.menu_done, menu);
|
|
|
+ MenuItem menuItem = menu.findItem(R.id.action_done);
|
|
|
+ menuItem.setTitle(StringTool.getString(R.string.menu_retry));
|
|
|
+ return super.onCreateOptionsMenu(menu);
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
|
|
+ switch (item.getItemId()) {
|
|
|
+ case R.id.action_done:
|
|
|
+ // 重试
|
|
|
+ showLoading();
|
|
|
+ if (!EdenManager.getInstance().isKwyPhotoReady()) {
|
|
|
+ getKawayiSetting();
|
|
|
+ } else {
|
|
|
+ welcomePresenter.submitLogin();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getKawayiSetting() {
|
|
|
+ RetrofitHelper.getInstance().getRequestApi(KwyAPI.class, KwyAPI.KWY_BASE)
|
|
|
+ .getKwyPhotoList()
|
|
|
+ .doOnNext(photoResult -> {
|
|
|
+ if (photoResult != null) {
|
|
|
+ String detailJson = null;
|
|
|
+ try {
|
|
|
+ detailJson = AESTool.decryptKawayi(photoResult.getJson(), WalkApp.KEY_SECRET);
|
|
|
+ List<EncryptKwyPhotoBean> photoList = JSON.parseObject(detailJson, new TypeReference<List<EncryptKwyPhotoBean>>() {});
|
|
|
+ if (photoList != null && photoList.size() > 0) {
|
|
|
+ EdenManager.getInstance().setKwyPhotoReady(true);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .flatMap(response -> {
|
|
|
+ // 这里是子线程
|
|
|
+ // 根据站点编号查询站点人员信息
|
|
|
+ return RetrofitHelper.getInstance().getRequestApi(KwyAPI.class, KwyAPI.KWY_BASE).getKwyVideo();
|
|
|
+ })
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new Observer<BaseKwyBean>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onSubscribe(Disposable d) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseKwyBean videoBean) {
|
|
|
+ if (videoBean != null) {
|
|
|
+ EdenManager.getInstance().setVideoUrl(videoBean.getJson());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Throwable e) {
|
|
|
+ welcomePresenter.submitLogin();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onComplete() {
|
|
|
+ welcomePresenter.submitLogin();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private int mAdminTimes = 0;
|