| | |
| | | package com.dayu.recharge.activity; |
| | | |
| | | import static com.dayu.baselibrary.utils.BaseCommon.Generalv1Library; |
| | | |
| | | import android.content.Intent; |
| | | import android.content.pm.PackageInfo; |
| | | import android.content.pm.PackageManager; |
| | | import android.os.Bundle; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.view.KeyEvent; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.NonNull; |
| | |
| | | import com.dayu.baselibrary.utils.TipUtil; |
| | | import com.dayu.baselibrary.utils.WSMD5; |
| | | import com.dayu.baselibrary.view.LibraryDialog; |
| | | import com.dayu.general.view.ProjectDialog; |
| | | import com.dayu.henanlibrary.HeNanApplication; |
| | | import com.dayu.henanlibrary.dao.HNBaseDaoSingleton; |
| | | |
| | | import com.dayu.qihealonelibrary.activity.HomeActivity; |
| | | import com.dayu.qihealonelibrary.activity.HomeActivityQHAlone; |
| | | import com.dayu.qiheonlinelibrary.QHOnLineApplication; |
| | | import com.dayu.qiheonlinelibrary.activity.HomeActivityQHOline; |
| | | import com.dayu.qiheonlinelibrary.dao.QHOnlineBaseDaoSingleton; |
| | | import com.dayu.recharge.MyApplication; |
| | | import com.dayu.recharge.databinding.ActivityLoginBinding; |
| | | import com.hjq.permissions.OnPermissionCallback; |
| | |
| | | |
| | | ActivityLoginBinding binding; |
| | | PassWordBean passWordBean; |
| | | // com.dayu.qihealonelibrary.dbBean.PassWordBean |
| | | int clickNumber; |
| | | |
| | | @Override |
| | |
| | | super.onCreate(savedInstanceState); |
| | | binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); |
| | | setContentView(binding.getRoot()); |
| | | getPermission(); |
| | | initView(); |
| | | getPermission(); |
| | | |
| | | } |
| | | |
| | | private void initView() { |
| | |
| | | clickNumber++; |
| | | if (clickNumber == 20) { |
| | | choesLibrary(); |
| | | clickNumber = 0; |
| | | } |
| | | |
| | | }); |
| | | binding.loginBtn.setOnClickListener(v -> { |
| | | String psStr = binding.loginPw.getText().toString(); |
| | | String nameStr = binding.loginName.getText().toString(); |
| | | if (TextUtils.isEmpty(psStr)) { |
| | | TipUtil.show("请输入密码"); |
| | | return; |
| | | } |
| | | if ((passWordBean == null && psStr.equals("123456")) |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary && TextUtils.isEmpty(nameStr)) { |
| | | TipUtil.show("请输入账号"); |
| | | return; |
| | | } |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) { |
| | | QHOnLineApplication.getInstance().getPublicKey(this, nameStr, psStr); |
| | | } else if ((passWordBean == null && psStr.equals("123456")) |
| | | || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) { |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { |
| | | choesLibrary(); |
| | | //没有选择版本先选择版本 |
| | | } else { |
| | | startToHomeActivity(); |
| | | } |
| | | startToHomeActivity(); |
| | | } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { |
| | | com.dayu.general.activity.LoginActivity.login(nameStr, psStr, this); |
| | | } else { |
| | | Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | |
| | | |
| | | }); |
| | | try { |
| | | PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); |
| | | binding.versionName.setText("当前版本:V" + packageInfo.versionName); |
| | | } catch (PackageManager.NameNotFoundException e) { |
| | | } catch ( |
| | | PackageManager.NameNotFoundException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | Log.i("LoginActivity", "onResume"); |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary || MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { |
| | | binding.nameLL.setVisibility(View.VISIBLE); |
| | | } |
| | | } |
| | | |
| | |
| | | private void choesLibrary() { |
| | | |
| | | LibraryDialog dialog = new LibraryDialog(this, type -> { |
| | | binding.nameLL.setVisibility(View.GONE); |
| | | if (type == BaseCommon.HeNanLibrary) { |
| | | getHNPermission(); |
| | | } else if (type == BaseCommon.QHAloneLibrary) { |
| | | |
| | | } else if (type == BaseCommon.QHOnLineLibrary) { |
| | | getQHOnlinPermission(); |
| | | binding.nameLL.setVisibility(View.VISIBLE); |
| | | } else if (type == BaseCommon.Generalv1Library) { |
| | | binding.nameLL.setVisibility(View.VISIBLE); |
| | | getGeneralV1Permission(); |
| | | ProjectDialog projectDialog=new ProjectDialog(this); |
| | | projectDialog.show(); |
| | | } |
| | | MyApplication.myApplication.initApplication(); |
| | | startToHomeActivity(); |
| | | }); |
| | | dialog.show(); |
| | | } |
| | |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.HeNanLibrary) { |
| | | startActivity(new Intent(LoginActivity.this, com.dayu.henanlibrary.activity.HomeActivity.class)); |
| | | } else if (MyApplication.myApplication.libraryType == BaseCommon.QHAloneLibrary) { |
| | | startActivity(new Intent(LoginActivity.this, HomeActivity.class)); |
| | | startActivity(new Intent(LoginActivity.this, HomeActivityQHAlone.class)); |
| | | } else if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) { |
| | | startActivity(new Intent(LoginActivity.this, HomeActivityQHOline.class)); |
| | | } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { |
| | | startActivity(new Intent(LoginActivity.this, com.dayu.general.activity.MainActivity.class)); |
| | | } |
| | | LoginActivity.this.finish(); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取通用权限 |
| | | */ |
| | | private void getPermission() { |
| | | try { |
| | | XXPermissions.with(this) |
| | |
| | | file.mkdirs(); |
| | | } |
| | | passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); |
| | | if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { |
| | | choesLibrary(); |
| | | //没有选择版本先选择版本 |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | private void getQHOnlinPermission() { |
| | | try { |
| | | XXPermissions.with(this) |
| | | // 申请单个权限 |
| | | // .permission(Permission.RECORD_AUDIO) |
| | | // 申请多个权限 |
| | | .permission(Permission.READ_PHONE_STATE, |
| | | Permission.READ_EXTERNAL_STORAGE, |
| | | Permission.WRITE_EXTERNAL_STORAGE) |
| | | // 设置权限请求拦截器(局部设置) |
| | | //.interceptor(new PermissionInterceptor()) |
| | | // 设置不触发错误检测机制(局部设置) |
| | | //.unchecked() |
| | | .request(new OnPermissionCallback() { |
| | | |
| | | @Override |
| | | public void onGranted(@NonNull List<String> permissions, boolean allGranted) { |
| | | if (allGranted) { |
| | | if (allGranted) {//所有申请的权限都已通过 |
| | | try { |
| | | File file = new File(QHOnlineBaseDaoSingleton.SqlitePath); |
| | | if (!file.exists()) { |
| | | file.mkdirs(); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { |
| | | if (doNotAskAgain) { |
| | | // 如果是被永久拒绝就跳转到应用权限系统设置页面 |
| | | } else { |
| | | // toast("获取录音和日历权限失败"); |
| | | } |
| | | } |
| | | }); |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取通用权限V1版本 |
| | | * 该方法用于请求应用所需的权限,以便应用可以正常运行 |
| | | */ |
| | | private void getGeneralV1Permission() { |
| | | try { |
| | | XXPermissions.with(this) |
| | | // 申请单个权限 |
| | | // .permission(Permission.RECORD_AUDIO) |
| | | // 申请多个权限 |
| | | .permission(Permission.READ_PHONE_STATE, |
| | | Permission.READ_EXTERNAL_STORAGE, |
| | | Permission.WRITE_EXTERNAL_STORAGE) |
| | | // 设置权限请求拦截器(局部设置) |
| | | //.interceptor(new PermissionInterceptor()) |
| | | // 设置不触发错误检测机制(局部设置) |
| | | //.unchecked() |
| | | .request(new OnPermissionCallback() { |
| | | |
| | | @Override |
| | | public void onGranted(@NonNull List<String> permissions, boolean allGranted) { |
| | | if (allGranted) { |
| | | if (allGranted) {//所有申请的权限都已通过 |
| | | try { |
| | | File file = new File(com.dayu.general.dao.BaseDaoSingleton.SqlitePath); |
| | | if (!file.exists()) { |
| | | file.mkdirs(); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { |
| | | if (doNotAskAgain) { |
| | | // 如果是被永久拒绝就跳转到应用权限系统设置页面 |
| | | } else { |
| | | // toast("获取录音和日历权限失败"); |
| | | } |
| | | } |
| | | }); |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | long mExitTime; |
| | | |
| | | @Override |
| | | public boolean onKeyDown(int keyCode, KeyEvent event) { |
| | | if (keyCode == KeyEvent.KEYCODE_BACK) { |
| | | if ((System.currentTimeMillis() - mExitTime) > 2000) { |
| | | Toast.makeText(LoginActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); |
| | | mExitTime = System.currentTimeMillis(); |
| | | } else { |
| | | LoginActivity.this.finish(); |
| | | } |
| | | return true; |
| | | } |
| | | return super.onKeyDown(keyCode, event); |
| | | } |
| | | } |