endian11
2020-01-10 9386cf855cace41b24bce436bb5ed70037a7396e
简化app类,删除RTKConfigDao的getRTKConfigNoLive方法
4个文件已修改
108 ■■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java
@@ -19,6 +19,5 @@
    @Update
    void update(RTKConfig rtkConfig);
    @Query("SELECT * from rtkconfig_table")
    RTKConfig getRTKConfigNoLive();
}
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java
@@ -12,18 +12,10 @@
    private static final String TAG = "RTKWorkRepository";
    private RTKConfigDao rtkConfigDao;
    private LiveData<RTKConfig> rtkConfig;
    private RTKConfig rtkConfig1;
    public RTKWorkRepository(Application application) {
        rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(application).getRTKConfigDao();
        rtkConfig = rtkConfigDao.getRTKConfig();
        WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
            @Override
            public void run() {
                MyLog.d(TAG,"获取RTK配置信息表");
                rtkConfig1 = rtkConfigDao.getRTKConfigNoLive();
            }
        });
    }
@@ -49,16 +41,5 @@
        });
    }
    public RTKConfig getRTKConfigNoLive() {
        if (rtkConfig1 == null){
            WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
                @Override
                public void run() {
                    MyLog.d(TAG,"再次获取RTK配置信息表");
                    rtkConfig1 = rtkConfigDao.getRTKConfigNoLive();
                }
            });
        }
        return rtkConfig1;
    }
}
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -47,15 +47,16 @@
    private PermissionManager mPermissionsManager;
    private RTKConfig mRTKConfig;//RTK配置信息
    private Gson gson = new Gson();
    String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
    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){
            if (msgCode == Constant.FETCH_RTK_PLATFORM_INFO) {
                if (mRTKConfig != null) {
                    String rtkjson = gson.toJson(mRTKConfig);
                    //去除id字段
@@ -70,27 +71,27 @@
                    rtkjson = jsonObject.toString();
                    MyLog.i(TAG, "RTK配置信息:" + rtkjson);
                    AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson);
                }else{
                    MyLog.d(TAG,"RTKConfig未取到数据");
                } 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){
            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);
                        MyLog.d(TAG, "RTK平台登录结果:" + loginCode);
                        rtkConnAndLogin.setLogin_code(loginCode);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }else{
                } else {
                    try {
                        JSONObject jsonObject3 = new JSONObject((String) obj);
                        int connect_status = jsonObject3.getInt("connected");
                        MyLog.i(TAG,"RTK平台连接状态:"+connect_status);
                        MyLog.i(TAG, "RTK平台连接状态:" + connect_status);
                        rtkConnAndLogin.setLogin_code(connect_status);
                    } catch (JSONException e) {
@@ -99,6 +100,23 @@
                }
                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();
                }
            }
        }
    };
@@ -114,24 +132,24 @@
        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 rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class);
        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"));
                MyLog.i(TAG, "RTKConfig Changed: " + (rtkConfig != null ? rtkConfig.toString() : "null"));
                mRTKConfig = rtkConfig;
            }
        });
        rtkConnAndLoginViewModel= ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
        rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
        rtkConnAndLogin = new RTKConnAndLogin();
@@ -145,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) {
@@ -162,47 +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());
            }
        });
        //加载根Fragment
        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);//发送rtk配置消息
        CEventCenter.onBindEvent(true,icEventListener, Constant.BIND_CONNECT_RTK_TOPIC);//收到rtk连接 登录结果
        CEventCenter.onBindEvent(true, icEventListener, Constant.BIND_RTKCONFIG_TOPIC);//发送rtk配置消息
        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_RTKCONFIG_TOPIC);
        CEventCenter.onBindEvent(false,icEventListener, Constant.BIND_CONNECT_RTK_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);
    }
}
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -104,18 +104,8 @@
                break;
            case Constant.RTK_PLATFORM_REGISTER_STATUS:
                //RTK平台注册状态,需要保存数据库
                rtkConfig = rtkWorkRepository.getRTKConfigNoLive();
                CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
                try {
                    JSONObject jsonObject = new JSONObject(json);
                    String rtkLoginPwd = jsonObject.getString("password");
                    int reg_code = jsonObject.getInt("register_code");
                    rtkConfig.setPassword(rtkLoginPwd);
                    rtkConfig.setRegistered(reg_code);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                rtkWorkRepository.insertRTKConfig(rtkConfig);
                break;
            case Constant.RTK_PLATFORM_REGISTER_RESULT: