app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -8,6 +8,7 @@ import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; @@ -32,7 +33,9 @@ import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; import com.anyun.exam.lib.util.ByteUtil; import com.anyun.im_lib.listener.IMSConnectStatusCallback; import com.google.gson.Gson; import com.safeluck.aykj.utils.BytesUtils; import org.json.JSONException; import org.json.JSONObject; @@ -43,14 +46,19 @@ import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import safeluck.drive.evaluation.im.IMSClientBootstrap; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0100; import safeluck.drive.evaluation.platformMessage.JKMessage0101; import safeluck.drive.evaluation.util.CThreadPoolExecutor; import safeluck.drive.evaluation.util.FileUtil; import safeluck.drive.evaluation.util.PermissionManager; import safeluck.drive.evaluation.util.SPUtils; import safeluck.drive.evaluation.viewmodels.MainViewModel; import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin; import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel; public class MainActivity extends SupportActivity { public class MainActivity extends SupportActivity implements IMSConnectStatusCallback { private static final int PERMISSIONS_REQUEST_CODE = 1001; private String TAG = MainActivity.class.getCanonicalName(); @@ -61,6 +69,7 @@ String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; RTKConfigViewModel rtkConfigViewModel; private boolean onlySendOnceRTKConfig = true; private ICEventListener icEventListener = new ICEventListener() { @Override @@ -147,6 +156,12 @@ //全屏 setContentView(R.layout.activity_main); // TODO // 进行tcp连接 String userId = "100002"; String token = "token_" + userId; String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]"; IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this); WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class); wokViewModel.getStudents().observe(this, new Observer<List<Student>>() { @@ -296,4 +311,40 @@ return false; } @Override public void onConnecting() { MyLog.i(TAG,"TCP onConnecting"); } @Override public void onConnected() { MyLog.i(TAG,"TCP连接成功"); //TODO 判断SPUtils 是否保存有des密码;如果没有则进行注册JKMessage0100,如果有密码则进行鉴权JKMessage0101 String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,""); if (TextUtils.isEmpty(hexPwd)){ JKMessage0100 jkRegisterMessage = new JKMessage0100(); jkRegisterMessage.proviceid = 23; jkRegisterMessage.cityid = 1; jkRegisterMessage.imei = "460123874561"; jkRegisterMessage.model = "123"; jkRegisterMessage.sn = "0314200100000004"; Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+ jkRegisterMessage.props.value); byte[] str = jkRegisterMessage.toBytes(); MessageProcessor.getInstance().sendMessage(jkRegisterMessage); Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============"); }else{ JKMessage0101 jkMessage0101 = new JKMessage0101(); jkMessage0101.des =hexPwd; jkMessage0101.timestamp = (int) System.currentTimeMillis(); MessageProcessor.getInstance().sendMessage(jkMessage0101); } } @Override public void onConnectFailed() { MyLog.i(TAG,"TCP连接失败"); } } app/src/main/java/safeluck/drive/evaluation/app.java
@@ -64,7 +64,7 @@ * 邮箱:632393724@qq.com * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class app extends Application implements IAYExamListener , IMSConnectStatusCallback { public class app extends Application implements IAYExamListener { private static final String TAG = "app"; private Gson gson; @@ -112,11 +112,7 @@ } }).start(); // 进行tcp连接 String userId = "100002"; String token = "token_" + userId; String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]"; IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this); } @@ -295,39 +291,5 @@ } @Override public void onConnecting() { } @Override public void onConnected() { MyLog.i(TAG,"TCP连接成功"); //TODO 判断SPUtils 是否保存有des密码;如果没有则进行注册JKMessage0100,如果有密码则进行鉴权JKMessage0101 String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,""); if (TextUtils.isEmpty(hexPwd)){ JKMessage0100 jkRegisterMessage = new JKMessage0100(); jkRegisterMessage.proviceid = 23; jkRegisterMessage.cityid = 1; jkRegisterMessage.imei = "460123874561"; jkRegisterMessage.model = "123"; jkRegisterMessage.sn = "0314200100000004"; Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+ jkRegisterMessage.props.value); byte[] str = jkRegisterMessage.toBytes(); MessageProcessor.getInstance().sendMessage(jkRegisterMessage); Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============"); }else{ JKMessage0101 jkMessage0101 = new JKMessage0101(); jkMessage0101.des =hexPwd; jkMessage0101.timestamp = (int) System.currentTimeMillis(); MessageProcessor.getInstance().sendMessage(jkMessage0101); } } @Override public void onConnectFailed() { MyLog.i(TAG,"TCP连接失败"); } } app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import me.yokeyword.fragmentation.SupportFragment; @@ -50,6 +51,10 @@ import safeluck.drive.evaluation.cEventCenter.ICEventListener; import safeluck.drive.evaluation.customview.ArrowView; import safeluck.drive.evaluation.customview.HouseView; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0201; import safeluck.drive.evaluation.platformMessage.JKMessage0202; import safeluck.drive.evaluation.platformMessage.JKMessage0204; /** * 联网训练UI @@ -298,6 +303,13 @@ sendExamJson(1); iv_head.getDrawable().setLevel(1); //TODO 发送JKMessage0202 给平台,开始考试 JKMessage0202 jkMessage0202 = new JKMessage0202(); jkMessage0202.phone = "0314200100000004"; jkMessage0202.timeBCD = new Date(); jkMessage0202.curr_exam = 1; jkMessage0202.ID = "123456789"; jkMessage0202.exam_id = 123456; MessageProcessor.getInstance().sendMessage(jkMessage0202); break; case R.id.tv_stop: Toast.makeText(_mActivity, "结束考试", Toast.LENGTH_SHORT).show(); @@ -317,6 +329,10 @@ case R.id.profile: MyLog.i(TAG,"签到,获取身份证物理卡号"); //TODO 获得物理卡号 发送JKMessage0201给平台,获取姓名、身份证、head_url JKMessage0201 jkMessage0201 = new JKMessage0201(); jkMessage0201.currentExam = 1; jkMessage0201.id = "123456789"; MessageProcessor.getInstance().sendMessage(jkMessage0201); break; } } @@ -343,6 +359,14 @@ WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork); sendExamJson(0); //TODO 发送JKMessage0204给平台 结束考试 JKMessage0204 jkMessage0204 = new JKMessage0204(); jkMessage0204.phone = "0314200100000004"; jkMessage0204.timeBCD = new Date(); jkMessage0204.score = 10; jkMessage0204.stop = JKMessage0204.SUCC_STOP; jkMessage0204.ID = "123456789"; jkMessage0204.exam_id = 123456; MessageProcessor.getInstance().sendMessage(jkMessage0204); } private ICEventListener icEventListener = new ICEventListener() { app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -21,6 +21,7 @@ import safeluck.drive.evaluation.platformMessage.JK2019MessageBase; import safeluck.drive.evaluation.platformMessage.JKMessage0001; import safeluck.drive.evaluation.platformMessage.JKMessage0100; import safeluck.drive.evaluation.platformMessage.JKMessage0101; import safeluck.drive.evaluation.platformMessage.JKMessage8001; import safeluck.drive.evaluation.platformMessage.JKMessage8100; import safeluck.drive.evaluation.platformMessage.JKMessage8201; @@ -68,6 +69,9 @@ if (((JKMessage8100) jk2019MessageBase).result == JKMessage8100.SUCCESS){ SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,((JKMessage8100) jk2019MessageBase).des); JKMessage0101 jkMessage0101 = new JKMessage0101(); jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des; jkMessage0101.timestamp = (int) System.currentTimeMillis(); } }else if (jk2019MessageBase instanceof JKMessage8001){ JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase;