package com.doumee.keyCabinet.ui.face;
|
|
import androidx.annotation.Nullable;
|
|
import android.content.ClipboardManager;
|
import android.content.Context;
|
import android.os.Bundle;
|
import android.os.Environment;
|
import android.text.TextUtils;
|
import android.view.View;
|
|
import com.baidu.idl.main.facesdk.FaceAuth;
|
import com.baidu.idl.main.facesdk.callback.Callback;
|
import com.doumee.keyCabinet.MApplication;
|
import com.doumee.keyCabinet.R;
|
import com.doumee.keyCabinet.base.MyBaseActivity;
|
import com.doumee.keyCabinet.databinding.OfflineActivationActivityBinding;
|
import com.doumee.keyCabinet.event.TimeClockEvent;
|
import com.doumee.keyCabinet.utils.LMobileInfo;
|
import com.doumee.keyCabinet.utils.update.FileUtil;
|
import com.doumee.lib_coremodel.view.ToastView;
|
import com.example.datalibrary.utils.FileUtils;
|
import com.example.datalibrary.utils.ToastUtils;
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
import dagger.hilt.android.AndroidEntryPoint;
|
|
@AndroidEntryPoint
|
public class OfflineActivationActivity extends MyBaseActivity<OfflineActivationVM, OfflineActivationActivityBinding> implements View.OnClickListener {
|
private FaceAuth faceAuth;
|
private boolean isDownLoad;
|
String filePath = Environment.getExternalStorageDirectory().getPath()+"/License.zip";
|
|
@Override
|
public int getLayoutId() {
|
return R.layout.offline_activation_activity;
|
}
|
|
@Override
|
public void initView(@Nullable Bundle savedInstanceState) {
|
isToGuild = false;
|
normalConfig();
|
getDB().setModel(getVM());
|
}
|
|
@Override
|
public void initData(@Nullable Bundle savedInstanceState) {
|
getDB().tvId.setText("NO:"+ LMobileInfo.getDeviceUniqueId());
|
|
// 复制按钮
|
faceAuth = new FaceAuth();
|
String a = faceAuth.getDeviceId(this);
|
getDB().accreditDeviceTv.setText(a);
|
|
// 长按点击复制
|
getDB().accreditDeviceTv.setOnLongClickListener(new View.OnLongClickListener() {
|
@Override
|
public boolean onLongClick(View view) {
|
ClipboardManager clipboardManager = (ClipboardManager)
|
getSystemService(Context.CLIPBOARD_SERVICE);
|
clipboardManager.setText(getDB().accreditDeviceTv.getText());
|
|
ToastUtils.toast(OfflineActivationActivity.this, "deviceID 复制成功");
|
return false;
|
}
|
});
|
|
getDB().accreditOffBtn.setOnClickListener(this);
|
getDB().btnDown.setOnClickListener(this);
|
}
|
|
@Subscribe
|
public void TimeClockEvent(TimeClockEvent e){
|
if(!isFinishing()){
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
updateDownStatus();
|
}
|
});
|
}
|
}
|
|
private void updateDownStatus(){
|
if(isDownLoad){
|
return;
|
}
|
//先校验是否有下载路径
|
if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
|
if(FileUtil.FileIsExist(filePath)) {
|
//文件存在
|
getDB().btnDown.setText("重新下载激活文件");
|
getDB().btnDown.setClickable(true);
|
getDB().btnDown.setBackgroundResource(R.mipmap.btn_main_normal);
|
|
getDB().accreditOffBtn.setClickable(true);
|
getDB().accreditOffBtn.setBackgroundResource(R.mipmap.btn_main_normal);
|
}else {
|
getDB().btnDown.setText("下载激活文件");
|
getDB().btnDown.setClickable(true);
|
getDB().btnDown.setBackgroundResource(R.mipmap.btn_main_normal);
|
|
getDB().accreditOffBtn.setClickable(false);
|
getDB().accreditOffBtn.setBackgroundResource(R.mipmap.btn_less_normal);
|
}
|
}else {
|
//删除激活文件
|
FileUtils.deleteFile(filePath);
|
getDB().btnDown.setText("待后台上传激活文件");
|
getDB().btnDown.setClickable(false);
|
getDB().btnDown.setBackgroundResource(R.mipmap.btn_less_normal);
|
|
getDB().accreditOffBtn.setClickable(false);
|
getDB().accreditOffBtn.setBackgroundResource(R.mipmap.btn_less_normal);
|
}
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.btn_down:
|
//下载按钮
|
if(isDownLoad){
|
ToastView.show(MApplication.mContext,"下载中...");
|
return;
|
}
|
if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
|
isDownLoad = true;
|
FileUtil.downLoadFile(filePath, MApplication.getConfigBean().getActivateFileUrl(), new FileUtil.DownLoadCallBack() {
|
@Override
|
public void sucess() {
|
ToastView.show(MApplication.mContext,"下载成功");
|
isDownLoad = false;
|
}
|
|
@Override
|
public void err(String e) {
|
ToastView.show(MApplication.mContext,e);
|
isDownLoad = false;
|
}
|
});
|
}
|
break;
|
// 离线激活
|
case R.id.accredit_offBtn:
|
faceAuth.initLicenseOffLine(this, new Callback() {
|
@Override
|
public void onResponse(final int code, final String response) {
|
if (code == 0) {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
// 授权成功跳转功能入口页面
|
getDB().accreditHintTv.setText("");
|
finish();
|
}
|
});
|
} else {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (code == 7) {
|
getDB().accreditHintTv.setText("激活失败,设备硬件指纹与License.zip不符");
|
} else if (code == 11) {
|
getDB().accreditHintTv.setText("激活失败,License.zip文件对应的序列号不在有效期范围内");
|
} else if (code == -1) {
|
getDB().accreditHintTv.setText("未检测到License.zip文件");
|
} else if (code == 14) {
|
getDB().accreditHintTv.setText("激活失败,License.zip文件对应的序列号不在有效期范围内");
|
} else if (code == 4) {
|
getDB().accreditHintTv.setText("激活失败,设备硬件指纹与License.zip不符");
|
} else {
|
getDB().accreditHintTv.setText(code);
|
}
|
}
|
});
|
|
}
|
}
|
});
|
break;
|
}
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
}
|
}
|