| | |
| | | package safeluck.drive.evaluation.im; |
| | | |
| | | import android.app.Application; |
| | | import android.util.Log; |
| | | |
| | | import androidx.work.Data; |
| | | import androidx.work.OneTimeWorkRequest; |
| | | import androidx.work.WorkManager; |
| | | |
| | | import com.anyun.exam.lib.MyLog; |
| | | import com.anyun.im_lib.util.ByteUtil; |
| | | import com.google.gson.Gson; |
| | | import com.safeluck.aykj.utils.BytesUtils; |
| | | |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.DB.StudentInfoUpdateWork; |
| | | import safeluck.drive.evaluation.app; |
| | | import safeluck.drive.evaluation.platformMessage.JK2019MessageBase; |
| | | import safeluck.drive.evaluation.platformMessage.JKMessage0001; |
| | | import safeluck.drive.evaluation.platformMessage.JKMessage0100; |
| | | import safeluck.drive.evaluation.platformMessage.JKMessage8001; |
| | | import safeluck.drive.evaluation.platformMessage.JKMessage8100; |
| | | import safeluck.drive.evaluation.platformMessage.JKMessage8201; |
| | | import safeluck.drive.evaluation.platformMessage.PlatFormConstant; |
| | | import safeluck.drive.evaluation.platformMessage.utils.MessageEscaper; |
| | | import safeluck.drive.evaluation.platformMessage.utils.MessageManager; |
| | |
| | | |
| | | private static final String TAG = MessageProcessor.class.getSimpleName(); |
| | | private Map<Integer, JK2019MessageBase> mMsgTimeoutMap = new ConcurrentHashMap<>(); |
| | | private Gson gson; |
| | | |
| | | private MessageProcessor(){ |
| | | messageEscaper = new MessageEscaper(); |
| | | gson = new Gson(); |
| | | } |
| | | |
| | | private static class MessageProcessorInstance{ |
| | |
| | | MyLog.i(PlatFormConstant.TAG,"转义过后的服务消息:"+ BytesUtils.bytesToHexString(datas)); |
| | | JK2019MessageBase jk2019MessageBase = MessageManager.get(BytesUtils.bytesToHexString(datas)); |
| | | if (jk2019MessageBase instanceof JKMessage8100){ |
| | | if (((JKMessage8100) jk2019MessageBase).result == JKMessage8100.SUCCESS){ |
| | | |
| | | Log.i(TAG, "receiveMsg: "+jk2019MessageBase.messageId); |
| | | SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,((JKMessage8100) jk2019MessageBase).des); |
| | | } |
| | | }else if (jk2019MessageBase instanceof JKMessage8001){ |
| | | JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase; |
| | | String hexMessageId = jkMessage8001.respMessageId; |
| | | if (hexMessageId.equalsIgnoreCase("0101")){ |
| | | MyLog.i(PlatFormConstant.TAG,"鉴权成功"); |
| | | } |
| | | }else if (jk2019MessageBase instanceof JKMessage8201){ |
| | | JKMessage8201 jkMessage8201 = (JKMessage8201) jk2019MessageBase; |
| | | Data data = new Data.Builder().putString(Constant.STU_INFO_PLATFORM,gson.toJson(jkMessage8201)).build(); |
| | | OneTimeWorkRequest stuInfoUpdateWork = new OneTimeWorkRequest.Builder(StudentInfoUpdateWork.class) |
| | | .setInputData(data).build(); |
| | | WorkManager.getInstance(app.getAppContext()).enqueue(stuInfoUpdateWork); |
| | | } |
| | | } |
| | | |
| | |
| | | CThreadPoolExecutor.runInBackground(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | |
| | | if (IMSClientBootstrap.getInstance().isActive()){ |
| | | IMSClientBootstrap.getInstance().sendMessage(msg.toBytes()); |
| | | }else{ |