|  |  | 
 |  |  | package com.dayu.recharge.activity; | 
 |  |  |  | 
 |  |  | import android.Manifest; | 
 |  |  | import android.content.Intent; | 
 |  |  | import android.content.pm.PackageInfo; | 
 |  |  | import android.content.pm.PackageManager; | 
 |  |  | import android.os.Bundle; | 
 |  |  | import android.text.TextUtils; | 
 |  |  | import android.view.LayoutInflater; | 
 |  |  | import android.view.View; | 
 |  |  | import android.widget.Toast; | 
 |  |  |  | 
 |  |  | import androidx.annotation.NonNull; | 
 |  |  | import androidx.appcompat.app.AppCompatActivity; | 
 |  |  |  | 
 |  |  | import com.dayu.baselibrary.activity.BaseActivity; | 
 |  |  | import com.dayu.baselibrary.utils.BaseCommon; | 
 |  |  | import com.dayu.baselibrary.utils.TipUtil; | 
 |  |  | import com.dayu.baselibrary.utils.WSMD5; | 
 |  |  | import com.dayu.baselibrary.view.LibraryDialog; | 
 |  |  | import com.dayu.henanlibrary.HeNanApplication; | 
 |  |  | import com.dayu.henanlibrary.dao.HNBaseDaoSingleton; | 
 |  |  |  | 
 |  |  | import com.dayu.henanlibrary.dbBean.PassWordBean; | 
 |  |  |  | 
 |  |  | import com.dayu.qihealonelibrary.activity.HomeActivity; | 
 |  |  | import com.dayu.recharge.MyApplication; | 
 |  |  | import com.dayu.recharge.dao.BaseDaoSingleton; | 
 |  |  | import com.dayu.recharge.databinding.ActivityLoginBinding; | 
 |  |  | import com.dayu.recharge.dbBean.PassWordBean; | 
 |  |  | import com.dayu.recharge.utils.TipUtil; | 
 |  |  | import com.hjq.permissions.OnPermissionCallback; | 
 |  |  | import com.hjq.permissions.Permission; | 
 |  |  | import com.hjq.permissions.XXPermissions; | 
 |  |  | 
 |  |  |  | 
 |  |  |     ActivityLoginBinding binding; | 
 |  |  |     PassWordBean passWordBean; | 
 |  |  |     int clickNumber; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void onCreate(Bundle savedInstanceState) { | 
 |  |  |     protected void onCreate(Bundle savedInstanceState) { | 
 |  |  |         super.onCreate(savedInstanceState); | 
 |  |  |         binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); | 
 |  |  |         setContentView(binding.getRoot()); | 
 |  |  |         getPermission(); | 
 |  |  |  | 
 |  |  |         initView(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void initView() { | 
 |  |  |         binding.loginBtn.setOnClickListener(new View.OnClickListener() { | 
 |  |  |             @Override | 
 |  |  |             public void onClick(View v) { | 
 |  |  |                 String psStr = binding.loginPw.getText().toString(); | 
 |  |  |                 if (TextUtils.isEmpty(psStr)) { | 
 |  |  |                     TipUtil.show("请输入密码"); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 if ((passWordBean == null && psStr.equals("123456")) | 
 |  |  |                         || passWordBean != null && passWordBean.getPassWord().equals(psStr)) { | 
 |  |  |                     startActivity(new Intent(LoginActivity.this, HomeActivity.class)); | 
 |  |  |                     LoginActivity.this.finish(); | 
 |  |  |         binding.title.setOnClickListener(v -> { | 
 |  |  |             clickNumber++; | 
 |  |  |             if (clickNumber == 20) { | 
 |  |  |                 choesLibrary(); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         }); | 
 |  |  |         binding.loginBtn.setOnClickListener(v -> { | 
 |  |  |             String psStr = binding.loginPw.getText().toString(); | 
 |  |  |             if (TextUtils.isEmpty(psStr)) { | 
 |  |  |                 TipUtil.show("请输入密码"); | 
 |  |  |                 return; | 
 |  |  |             } | 
 |  |  |             if ((passWordBean == null && psStr.equals("123456")) | 
 |  |  |                     || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) { | 
 |  |  |                 if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { | 
 |  |  |                     choesLibrary(); | 
 |  |  |                     //没有选择版本先选择版本 | 
 |  |  |                 } else { | 
 |  |  |                     Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show(); | 
 |  |  |                     startToHomeActivity(); | 
 |  |  |                 } | 
 |  |  |             } 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) { | 
 |  |  |             throw new RuntimeException(e); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void getPermission() { | 
 |  |  |     /** | 
 |  |  |      * 选择版本 | 
 |  |  |      */ | 
 |  |  |     private void choesLibrary() { | 
 |  |  |  | 
 |  |  |         LibraryDialog dialog = new LibraryDialog(this, type -> { | 
 |  |  |             if (type == BaseCommon.HeNanLibrary) { | 
 |  |  |                 getHNPermission(); | 
 |  |  |             } else if (type == BaseCommon.QHAloneLibrary) { | 
 |  |  |                 getQHAlonePermission(); | 
 |  |  |             } | 
 |  |  |             MyApplication.myApplication.initApplication(); | 
 |  |  |             startToHomeActivity(); | 
 |  |  |         }); | 
 |  |  |         dialog.show(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void startToHomeActivity() { | 
 |  |  |         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)); | 
 |  |  |         } | 
 |  |  |         LoginActivity.this.finish(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 河南版的获取权限 | 
 |  |  |      */ | 
 |  |  |     private void getHNPermission() { | 
 |  |  |         try { | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |                         public void onGranted(@NonNull List<String> permissions, boolean allGranted) { | 
 |  |  |                             if (allGranted) { | 
 |  |  |                                 if (allGranted) {//所有申请的权限都已通过 | 
 |  |  |                                     MyApplication.myApplication.initEasySocket(false, null); | 
 |  |  |  | 
 |  |  |                                     HeNanApplication.getInstance().initEasySocket(false, null); | 
 |  |  |                                     try { | 
 |  |  |                                         File file = new File(BaseDaoSingleton.SqlitePath); | 
 |  |  |                                         File file = new File(HNBaseDaoSingleton.SqlitePath); | 
 |  |  |                                         if (!file.exists()) { | 
 |  |  |                                             file.mkdirs(); | 
 |  |  |                                         } | 
 |  |  |                                         passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); | 
 |  |  |                                         passWordBean = HNBaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); | 
 |  |  |                                     } catch (Exception e) { | 
 |  |  |                                         e.printStackTrace(); | 
 |  |  |                                     } | 
 |  |  | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void getQHAlonePermission() { | 
 |  |  |         try { | 
 |  |  |             XXPermissions.with(this) | 
 |  |  |                     .permission( | 
 |  |  |                             Permission.WRITE_EXTERNAL_STORAGE) | 
 |  |  |                     .request(new OnPermissionCallback() { | 
 |  |  |  | 
 |  |  |                         @Override | 
 |  |  |                         public void onGranted(@NonNull List<String> permissions, boolean allGranted) { | 
 |  |  |                             if (allGranted) { | 
 |  |  |                                 if (allGranted) {//所有申请的权限都已通过 | 
 |  |  |  | 
 |  |  |                                     try { | 
 |  |  |                                         File file = new File(HNBaseDaoSingleton.SqlitePath); | 
 |  |  |                                         if (!file.exists()) { | 
 |  |  |                                             file.mkdirs(); | 
 |  |  |                                         } | 
 |  |  |                                         passWordBean = HNBaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); | 
 |  |  |                                     } catch (Exception e) { | 
 |  |  |                                         e.printStackTrace(); | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         @Override | 
 |  |  |                         public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { | 
 |  |  |                             if (doNotAskAgain) { | 
 |  |  |                                 // 如果是被永久拒绝就跳转到应用权限系统设置页面 | 
 |  |  |                             } else { | 
 |  |  | //                                toast("获取录音和日历权限失败"); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |         } catch ( | 
 |  |  |                 Throwable e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |