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