From fff165b3215de255000cb133d51ceb03b5202bd6 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期五, 10 一月 2020 16:07:39 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge --- app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 128 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 115 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java index 98a0b6e..0db08b7 100644 --- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java +++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java @@ -19,21 +19,107 @@ import me.yokeyword.fragmentation.SupportActivity; import safeluck.drive.evaluation.DB.Student; import safeluck.drive.evaluation.DB.WokViewModel; +import safeluck.drive.evaluation.DB.rtktb.RTKConfig; +import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; +import safeluck.drive.evaluation.cEventCenter.CEventCenter; +import safeluck.drive.evaluation.cEventCenter.ICEventListener; import safeluck.drive.evaluation.fragment.HomeFragment; + +import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; +import com.google.gson.Gson; + +import org.json.JSONException; +import org.json.JSONObject; import java.util.List; import safeluck.drive.evaluation.util.PermissionManager; import safeluck.drive.evaluation.viewmodels.MainViewModel; +import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin; +import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel; public class MainActivity extends SupportActivity { private static final int PERMISSIONS_REQUEST_CODE = 1001; private String TAG = MainActivity.class.getCanonicalName(); - private PermissionManager mPermissionsManager ; - String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA}; + private PermissionManager mPermissionsManager; + private RTKConfig mRTKConfig;//RTK閰嶇疆淇℃伅 + private Gson gson = new Gson(); + String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; + RTKConnAndLoginViewModel rtkConnAndLoginViewModel; + RTKConnAndLogin rtkConnAndLogin; + RTKConfigViewModel rtkConfigViewModel; + + private ICEventListener icEventListener = new ICEventListener() { + @Override + public void onCEvent(String topic, int msgCode, int resultCode, Object obj) { + if (msgCode == Constant.FETCH_RTK_PLATFORM_INFO) { + if (mRTKConfig != null) { + String rtkjson = gson.toJson(mRTKConfig); + + //鍘婚櫎id瀛楁 + JSONObject jsonObject = null; + try { + jsonObject = new JSONObject(rtkjson); + } catch (JSONException e) { + e.printStackTrace(); + } + jsonObject.remove("_id"); + rtkjson = null; + rtkjson = jsonObject.toString(); + MyLog.i(TAG, "RTK閰嶇疆淇℃伅锛�" + rtkjson); + AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson); + } else { + MyLog.d(TAG, "RTKConfig鏈彇鍒版暟鎹�"); + } + } + if (msgCode == Constant.RTK_PLATFORM_CONNECT_STATUS || msgCode == Constant.RTK_PLATFORM_REGISTER_RESULT) { + if (msgCode == Constant.RTK_PLATFORM_REGISTER_RESULT) { + try { + JSONObject jsonObject3 = new JSONObject((String) obj); + int loginCode = jsonObject3.getInt("login_code"); + MyLog.d(TAG, "RTK骞冲彴鐧诲綍缁撴灉锛�" + loginCode); + rtkConnAndLogin.setLogin_code(loginCode); + + } catch (JSONException e) { + e.printStackTrace(); + } + + } else { + try { + JSONObject jsonObject3 = new JSONObject((String) obj); + int connect_status = jsonObject3.getInt("connected"); + MyLog.i(TAG, "RTK骞冲彴杩炴帴鐘舵�侊細" + connect_status); + rtkConnAndLogin.setLogin_code(connect_status); + + } catch (JSONException e) { + e.printStackTrace(); + } + + } + rtkConnAndLoginViewModel.getRtkConnAndLogin().postValue(rtkConnAndLogin); + } + if (msgCode == Constant.RTK_PLATFORM_REGISTER_STATUS) { + try { + JSONObject jsonObject = new JSONObject((String) obj); + String rtkLoginPwd = jsonObject.getString("password"); + int reg_code = jsonObject.getInt("register_code"); + if (mRTKConfig != null) { + + mRTKConfig.setPassword(rtkLoginPwd); + mRTKConfig.setRegistered(reg_code); + rtkConfigViewModel.insertRTKConfig(mRTKConfig); + }else{ + MyLog.i(TAG,"mRTKConfig == null"); + } + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + }; @Override protected void onCreate(Bundle savedInstanceState) { @@ -46,14 +132,25 @@ wokViewModel.getStudents().observe(this, new Observer<List<Student>>() { @Override public void onChanged(List<Student> students) { - for (Student student: + for (Student student : students) { - Log.i(TAG, "onChanged: "+student.toString()); + Log.i(TAG, "onChanged: " + student.toString()); } } }); + rtkConfigViewModel = ViewModelProviders.of(this).get(RTKConfigViewModel.class); + rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() { + @Override + public void onChanged(RTKConfig rtkConfig) { + MyLog.i(TAG, "RTKConfig Changed: " + (rtkConfig != null ? rtkConfig.toString() : "null")); + mRTKConfig = rtkConfig; + } + }); + + rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class); + rtkConnAndLogin = new RTKConnAndLogin(); mPermissionsManager = new PermissionManager(this) { @@ -66,7 +163,7 @@ public void noAuthorization(int requestCode, String[] lackPermissions) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("鎻愮ず"); - builder.setMessage("缂哄皯"+lackPermissions+"鏉冮檺"); + builder.setMessage("缂哄皯" + lackPermissions + "鏉冮檺"); builder.setPositiveButton("璁剧疆鏉冮檺", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -83,40 +180,45 @@ }; - - - MyLog.i(TAG,"onCreate"); + MyLog.i(TAG, "onCreate"); MainViewModel mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class); mainViewModel.getJson().observe(this, new Observer<String>() { @Override public void onChanged(@Nullable String json) { Toast.makeText(MainActivity.this, json, Toast.LENGTH_SHORT).show(); - MyLog.i(TAG,"json=========="+json+" ThreadName:"+Thread.currentThread().getName()); + MyLog.i(TAG, "json==========" + json + " ThreadName:" + Thread.currentThread().getName()); } }); //鍔犺浇鏍笷ragment - if (findFragment(HomeFragment.class) == null){ - loadRootFragment(R.id.fl_container,HomeFragment.newInstance()); + if (findFragment(HomeFragment.class) == null) { + loadRootFragment(R.id.fl_container, HomeFragment.newInstance()); } + + CEventCenter.onBindEvent(true, icEventListener, Constant.BIND_RTKCONFIG_TOPIC);//鍙戦�乺tk閰嶇疆娑堟伅 + CEventCenter.onBindEvent(true, icEventListener, Constant.BIND_CONNECT_RTK_TOPIC);//鏀跺埌rtk杩炴帴 鐧诲綍缁撴灉 + } @Override protected void onDestroy() { super.onDestroy(); + CEventCenter.onBindEvent(false, icEventListener, Constant.BIND_RTKCONFIG_TOPIC); + + CEventCenter.onBindEvent(false, icEventListener, Constant.BIND_CONNECT_RTK_TOPIC); Log.i(TAG, "onDestroy: "); } @Override protected void onResume() { super.onResume(); - mPermissionsManager.checkPermissions(PERMISSIONS_REQUEST_CODE,PERMISSIONS); + mPermissionsManager.checkPermissions(PERMISSIONS_REQUEST_CODE, PERMISSIONS); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); - mPermissionsManager.recheckPermissions(PERMISSIONS_REQUEST_CODE,permissions,grantResults); + mPermissionsManager.recheckPermissions(PERMISSIONS_REQUEST_CODE, permissions, grantResults); } } -- Gitblit v1.8.0