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/fragment/BaseSettingFragment.java | 1 app/src/main/java/safeluck/drive/evaluation/Constant.java | 5 app/src/main/assets/rtk_config.json | 2 app/src/main/res/layout/layout_home_fragment.xml | 2 app/src/main/res/values/strings.xml | 8 app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java | 10 app/src/main/res/layout/layout_rtk_setting.xml | 67 +++++++ app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 10 + app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java | 47 +++++ app/src/main/java/safeluck/drive/evaluation/app.java | 96 ++-------- app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 128 ++++++++++++- app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java | 3 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 24 ++ app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java | 15 + app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java | 21 -- app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java | 61 ++++++ app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 8 app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java | 32 +++ 18 files changed, 417 insertions(+), 123 deletions(-) diff --git a/app/src/main/assets/rtk_config.json b/app/src/main/assets/rtk_config.json index 92c9e6b..4b05563 100644 --- a/app/src/main/assets/rtk_config.json +++ b/app/src/main/assets/rtk_config.json @@ -9,7 +9,7 @@ "imei":"460123874561", "phone":"2019101500000001", "password":"123456789", - "registered":1, + "registered":0, "interval":1 } diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java index 2993eb3..ac559cd 100644 --- a/app/src/main/java/safeluck/drive/evaluation/Constant.java +++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java @@ -45,11 +45,14 @@ public static final int JUDGE_INFO = 0x000c; public static final String RTK_CONFIG_JSON = "rtk_config.json"; - public static final String BIND_DRIVING_TOPIC = "driving"; + public static final String BIND_DRIVING_TOPIC = "driving_topic"; public static final long TEST_STU_ID = 1001; //I绫昏瘎鍒よ〃 public static final int SUBJECT_I = 1; public static final String MAP = "map.json"; public static final String VEHICLE = "vehiclemodel.json"; + public static final String BIND_RTKCONFIG_TOPIC = "rtkconfig_topic"; + + public static final String BIND_CONNECT_RTK_TOPIC = "rtk_connect_login_topic"; } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java index 85d9de4..e0428c1 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java +++ b/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(); + } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java index 4f67f92..60d2280 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java +++ b/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; - } + } 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); } } diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java index 3de4266..5b04a49 100644 --- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java +++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java @@ -9,6 +9,7 @@ import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.fragment.BaseDatasFragment; +import safeluck.drive.evaluation.fragment.GpsInfoFragment; import safeluck.drive.evaluation.fragment.RTKConfigFragment; import safeluck.drive.evaluation.fragment.JiaXiaoFragment; @@ -20,7 +21,7 @@ * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class SimpleFragmentAdapter extends FragmentPagerAdapter { - private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","椹炬牎淇℃伅"}; + private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GPS淇℃伅"}; public SimpleFragmentAdapter(FragmentManager fm) { super(fm); } @@ -37,9 +38,12 @@ supportFragment = RTKConfigFragment.newInstance(); //ftp break; +// case 2: +// supportFragment = JiaXiaoFragment.newInstance(); +// //椹炬牎淇℃伅 +// break; case 2: - supportFragment = JiaXiaoFragment.newInstance(); - //椹炬牎淇℃伅 + supportFragment = GpsInfoFragment.newInstance(); break; default:break; } diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 6465d57..b346f70 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -1,6 +1,7 @@ package safeluck.drive.evaluation; import android.app.Application; +import android.text.TextUtils; import android.widget.Toast; @@ -16,6 +17,9 @@ import com.anyun.exam.lib.crash.CrashHandler; import com.facebook.stetho.Stetho; import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.json.JSONException; @@ -27,6 +31,8 @@ import safeluck.drive.evaluation.DB.failitems.FailedProjRepository; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository; +import safeluck.drive.evaluation.cEventCenter.CEvent; +import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.util.FileUtil; import safeluck.drive.evaluation.util.SystemUtil; @@ -67,17 +73,7 @@ Stetho.initializeWithDefaults(this); - //RTK閰嶇疆淇℃伅 -// rtkConfig = new RTKConfig(); -// rtkConfig.setCity(12); -// rtkConfig.setImei("460123874561"); -// rtkConfig.setInterval(1); -// rtkConfig.setIp("47.93.80.84"); -// rtkConfig.setModel("123"); -// rtkConfig.setPhone("2019101500000001"); -// rtkConfig.setPort(12125); -// rtkConfig.setProvince(23); -// rtkConfig.setSn("2019101500000001"); + //鏁版嵁搴撴搷浣� MyLog.i(TAG, "onCreate111"); failedProjRepository = new FailedProjRepository(this); @@ -104,70 +100,34 @@ MyLog.d(TAG, String.format("鏀跺埌鍛戒护[%d],Json鍐呭涓�%s", cmd, json)); switch (cmd) { case Constant.NDK_START: - Toast.makeText(this, "NDK start", Toast.LENGTH_SHORT).show(); + break; case Constant.RTK_PLATFORM_REGISTER_STATUS: + //RTK骞冲彴娉ㄥ唽鐘舵�侊紝闇�瑕佷繚瀛樻暟鎹簱 + CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json); - failedProjRepository.insert(new FailedProj(Constant.SUBJECT_I, cmd + random.nextInt(26), Constant.TEST_STU_ID)); - rtkConfig = rtkWorkRepository.getRTKConfigNoLive(); - - 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: - failedProjRepository.insert(new FailedProj(Constant.SUBJECT_I, cmd + random.nextInt(26), Constant.TEST_STU_ID)); - - try { - JSONObject jsonObject = new JSONObject(json); - int rtklogincode = jsonObject.getInt("login_code"); - rtkConfig.setRegistered(rtklogincode); - } catch (JSONException e) { - e.printStackTrace(); - } + //RTK骞冲彴鐧诲綍缁撴灉 + CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json); break; case Constant.FETCH_RTK_PLATFORM_INFO: - rtkConfig = rtkWorkRepository.getRTKConfigNoLive(); - if (gson == null) { - gson = new Gson(); - } - if (rtkConfig==null){ - - rtkConfig = rtkWorkRepository.getRTKConfigNoLive(); - } - if (rtkConfig != null){ - String rtkjson = gson.toJson(rtkConfig); - MyLog.i(TAG, "RTK閰嶇疆淇℃伅锛�" + rtkjson); - - //鍘婚櫎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); - } - + CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,cmd,0,""); break; case Constant.JUDGE_INFO: + if(!TextUtils.isEmpty(json)){ + JsonArray jsonArray = JsonParser.parseString(json).getAsJsonArray(); + for (int i = 0; i < jsonArray.size(); i++) { + JsonObject jsonObject = jsonArray.get(i).getAsJsonObject(); + int emp_id = jsonObject.get("wrong_id").getAsInt(); - failedProjRepository.insert(new FailedProj(Constant.SUBJECT_I, cmd, Constant.TEST_STU_ID)); + failedProjRepository.insert(new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID)); + } + } break; case Constant.EXAM_STATUS_REPLY: @@ -175,20 +135,8 @@ failedProjRepository.deleteAll(); break; case Constant.RTK_PLATFORM_CONNECT_STATUS: - rtkConfig = rtkWorkRepository.getRTKConfigNoLive(); - try { - JSONObject jsonObject3 = new JSONObject(json); - String ip = jsonObject3.getString("ip"); - int port = jsonObject3.getInt("port"); - int reg_code = jsonObject3.getInt("connected"); - rtkConfig.setRegistered(reg_code); - rtkConfig.setIp(ip); - rtkConfig.setPort(port); - } catch (JSONException e) { - e.printStackTrace(); - } - rtkWorkRepository.insertRTKConfig(rtkConfig); + CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json); break; case Constant.FETCH_MAP_INFO: diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java index 8ce6107..20f7fc7 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java @@ -59,6 +59,7 @@ tabLayout.addTab(tabLayout.newTab()); tabLayout.addTab(tabLayout.newTab()); tabLayout.addTab(tabLayout.newTab()); +// tabLayout.addTab(tabLayout.newTab()); tb = view.findViewById(R.id.toolbar); tb.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp); tb.setNavigationOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java new file mode 100644 index 0000000..93ea834 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java @@ -0,0 +1,61 @@ +package safeluck.drive.evaluation.fragment; + +import android.os.Bundle; +import android.util.Log; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProviders; + +import me.yokeyword.fragmentation.SupportFragment; +import safeluck.drive.evaluation.DB.rtktb.RTKConfig; +import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; +import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.util.Utils; + +/**FTP閰嶇疆UI + * MyApplication2 + * Created by lzw on 2019/3/20. 11:22:39 + * 閭锛�632393724@qq.com + * All Rights Saved! Chongqing AnYun Tech co. LTD + */ +public class GpsInfoFragment extends SupportFragment{ + + private static final String TAG = "RTKConfigFragment"; + + private EditText et_ip,et_port,et_city_id,et_city_province,et_phone; + private RTKConfigViewModel rtkConfigViewModel; + private RTKConfig mRtkConfig; + + public static SupportFragment newInstance(){ + return new GpsInfoFragment(); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + + + + return initView(); + } + + private View initView() { + TextView textView = new TextView(_mActivity); + ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + textView.setText("鏀跺埌鍛戒护[3],Json鍐呭涓簕\"connected\":0,\"ip\":\"47.93.80.84\",\"port\":12125}"); + textView.setTextSize(Utils.dp2Px(20)); + textView.setLayoutParams(layoutParams); + textView.setGravity(Gravity.CENTER_VERTICAL); + return textView; + } + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java index abd31ce..e32bcda 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java @@ -7,6 +7,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import androidx.annotation.NonNull; @@ -18,6 +19,7 @@ import me.yokeyword.fragmentation.ISupportFragment; import me.yokeyword.fragmentation.SupportFragment; +import safeluck.drive.evaluation.BuildConfig; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.util.DimenUtil; @@ -29,6 +31,8 @@ * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class HomeFragment extends SupportFragment implements View.OnClickListener { + + private TextView tv_app_version; public static ISupportFragment newInstance() { return new HomeFragment(); } @@ -47,6 +51,9 @@ view.findViewById(R.id.car_train).setOnClickListener(this); view.findViewById(R.id.system_setting).setOnClickListener(this); view.findViewById(R.id.exit_sys).setOnClickListener(this); + tv_app_version = view.findViewById(R.id.tv_app_version); + + tv_app_version.setText(getResources().getString(R.string.version_name,BuildConfig.VERSION_NAME)); } @@ -99,13 +106,18 @@ break; case R.id.system_setting: //鎵撳紑杈撳叆瀵嗙爜鐣岄潰 - PasswordFragment passwordFragment = findFragment(PasswordFragment.class); - if (passwordFragment == null) { - passwordFragment = (PasswordFragment) PasswordFragment.newInstance(); - start(passwordFragment); - } else { - start(passwordFragment); +// PasswordFragment passwordFragment = findFragment(PasswordFragment.class); +// if (passwordFragment == null) { +// passwordFragment = (PasswordFragment) PasswordFragment.newInstance(); +// start(passwordFragment); +// } else { +// start(passwordFragment); +// } + BaseSettingFragment sysSetingFragment = findFragment(BaseSettingFragment.class); + if (sysSetingFragment == null) { + sysSetingFragment = (BaseSettingFragment) BaseSettingFragment.newInstance(); } + start(sysSetingFragment); break; } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java index 9c1603d..f239c8a 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -17,6 +17,7 @@ import androidx.lifecycle.ViewModelProviders; import com.anyun.exam.lib.AYSdk; +import com.anyun.exam.lib.MyLog; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -35,6 +36,7 @@ import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.adapter.ScoreAdapter; import safeluck.drive.evaluation.bean.ScoreBean; +import safeluck.drive.evaluation.cEventCenter.CEventCenter; /** * 鑱旂綉璁粌UI @@ -85,6 +87,7 @@ } private void initView(View view) { + sendRTKConfig2RemoteService(); mListView = view.findViewById(R.id.lv); mListView.setFocusable(false); view.findViewById(R.id.view_map).setOnClickListener(this); @@ -96,7 +99,10 @@ mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item,null)); } - + private void sendRTKConfig2RemoteService() { + MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig"); + CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,""); + } @Override public void onClick(View v) { switch (v.getId()){ diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java index e6506df..4d424ba 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java @@ -1,5 +1,6 @@ package safeluck.drive.evaluation.fragment; +import android.content.Context; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -11,13 +12,20 @@ import android.view.View; import android.view.ViewGroup; import android.widget.EditText; +import android.widget.TextView; +import com.anyun.exam.lib.MyLog; import com.google.gson.Gson; import me.yokeyword.fragmentation.SupportFragment; +import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; +import safeluck.drive.evaluation.cEventCenter.CEventCenter; +import safeluck.drive.evaluation.cEventCenter.ICEventListener; +import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin; +import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel; /**FTP閰嶇疆UI * MyApplication2 @@ -30,6 +38,8 @@ private static final String TAG = "RTKConfigFragment"; private EditText et_ip,et_port,et_city_id,et_city_province,et_phone; + // RTK娉ㄥ唽鐘舵�併�丷TK杩炴帴鐘舵�併�� + private TextView tv_reg,tv_connect,tv_model,tv_sn,tv_imei,tv_login; private RTKConfigViewModel rtkConfigViewModel; private RTKConfig mRtkConfig; @@ -55,8 +65,25 @@ et_city_province.setText(String.valueOf(rtkConfig.getProvince())); et_port.setText(String.valueOf(rtkConfig.getPort())); et_phone.setText(rtkConfig.getPhone()); + tv_sn.setText(getResources().getString(R.string.rtk_config_sn,rtkConfig.getSn())); + tv_model.setText(getResources().getString(R.string.rtk_config_model,rtkConfig.getModel())); + tv_imei.setText(getResources().getString(R.string.rtk_config_imei,rtkConfig.getImei())); + tv_reg.setText(getResources().getString(R.string.rtk_register_status,rtkConfig.getRegistered())); + } }); + + + RTKConnAndLoginViewModel rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class); + rtkConnAndLoginViewModel.getRtkConnAndLogin().observe(this, new Observer<RTKConnAndLogin>() { + @Override + public void onChanged(RTKConnAndLogin rtkConnAndLogin) { + MyLog.i(TAG,"骞冲彴鐧诲綍缁撴灉鍙婅繛鎺ョ姸鎬�"+rtkConnAndLogin.toString()); + tv_connect.setText(getResources().getString(R.string.rtk_connect_status,rtkConnAndLogin.getConnect_status())); + tv_connect.setText(getResources().getString(R.string.rtk_config_login,rtkConnAndLogin.getLogin_code())); + } + }); + return view; } @@ -67,6 +94,13 @@ et_city_province = view.findViewById(R.id.et_provice_id); et_phone = view.findViewById(R.id.et_phone); et_port = view.findViewById(R.id.rtk_addr_port); + + tv_connect = view.findViewById(R.id.tv_rtk_connect);//RTK骞冲彴杩炴帴鐘舵�� + tv_imei = view.findViewById(R.id.tv_rtk_imei); + tv_login = view.findViewById(R.id.tv_rtk_login);//RTK骞冲彴鐧诲綍缁撴灉 + tv_model = view.findViewById(R.id.tv_rtk_model); + tv_reg = view.findViewById(R.id.tv_rtk_reg);//RTK骞冲彴娉ㄥ唽鐘舵�� + tv_sn = view.findViewById(R.id.tv_rtk_sn); } @Override @@ -84,4 +118,17 @@ break; } } + + + + @Override + public void onAttach(Context context) { + super.onAttach(context); + + } + + @Override + public void onDetach() { + super.onDetach(); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java index 4733a3a..e51a495 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java @@ -16,6 +16,8 @@ import android.widget.ListView; import android.widget.Toast; +import com.anyun.exam.lib.MyLog; + import java.util.ArrayList; import java.util.EventListener; import java.util.List; @@ -99,7 +101,7 @@ return view; } private void initView(View view) { - + sendRTKConfig2RemoteService(); mListView = view.findViewById(R.id.lv); mListView.setFocusable(false);//listview涓嶈幏鍙栫劍鐐癸紝涓嶇劧鐨勮瘽scrollview浼氶《鍒板簳閮� view.findViewById(R.id.view_map).setOnClickListener(this); @@ -112,6 +114,12 @@ mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item,null)); + + } + + private void sendRTKConfig2RemoteService() { + MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig"); + CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,""); } @Override diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java new file mode 100644 index 0000000..b80d107 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java @@ -0,0 +1,32 @@ +package safeluck.drive.evaluation.viewmodels; + +import androidx.annotation.NonNull; + +public class RTKConnAndLogin { + private int login_code = 1;//RTK骞冲彴鐧诲綍缁撴灉 0-鎴愬姛 鍏朵粬澶辫触 + private int connect_status;//RTK骞冲彴杩炴帴鐘舵�� + + public int getLogin_code() { + return login_code; + } + + public void setLogin_code(int login_code) { + this.login_code = login_code; + } + + public int getConnect_status() { + return connect_status; + } + + public void setConnect_status(int connect_status) { + this.connect_status = connect_status; + } + + @Override + public String toString() { + return "RTKConnAndLogin{" + + "login_code=" + login_code + + ", connect_status=" + connect_status + + '}'; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java new file mode 100644 index 0000000..5604021 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java @@ -0,0 +1,15 @@ +package safeluck.drive.evaluation.viewmodels; + +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class RTKConnAndLoginViewModel extends ViewModel { + private MutableLiveData<RTKConnAndLogin> rtkConnAndLogin; + + public MutableLiveData<RTKConnAndLogin> getRtkConnAndLogin(){ + if (rtkConnAndLogin == null){ + rtkConnAndLogin = new MutableLiveData<>(); + } + return rtkConnAndLogin; + } +} diff --git a/app/src/main/res/layout/layout_home_fragment.xml b/app/src/main/res/layout/layout_home_fragment.xml index 85475b2..bc27716 100644 --- a/app/src/main/res/layout/layout_home_fragment.xml +++ b/app/src/main/res/layout/layout_home_fragment.xml @@ -91,6 +91,8 @@ style="@style/home_fragment_text" android:text="@string/version_name" android:padding="10dp" + android:id="@+id/tv_app_version" + android:textSize="20sp" android:textColor="@color/home_version_show" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true"/> diff --git a/app/src/main/res/layout/layout_rtk_setting.xml b/app/src/main/res/layout/layout_rtk_setting.xml index 7be4603..83faf92 100644 --- a/app/src/main/res/layout/layout_rtk_setting.xml +++ b/app/src/main/res/layout/layout_rtk_setting.xml @@ -98,6 +98,73 @@ android:layout_marginBottom="10dp" android:background="@color/colorAccent" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_reg" + android:text="@string/rtk_register_status" + android:layout_weight="1"/> + <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_connect" + android:text="@string/rtk_connect_status" + android:layout_weight="1"/> + <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_imei" + android:text="@string/rtk_config_imei" + android:layout_weight="1"/> + + </LinearLayout> + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:background="@color/colorAccent" + /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_login" + android:text="@string/rtk_config_login" + android:layout_weight="1"/> <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_model" + android:text="@string/rtk_config_model" + android:layout_weight="1"/> + <TextView + android:textColor="@android:color/black" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/tv_rtk_sn" + android:text="@string/rtk_config_sn" + android:layout_weight="1"/> + + </LinearLayout> + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:background="@color/colorAccent" + /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 47b5726..55e1578 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,7 +4,7 @@ <string name="setting">绯荤粺璁剧疆</string> <string name="vehicle_train">鍗曟満璁粌</string> <string name="vehicle_net">鑱旂綉鑰冭瘯</string> - <string name="version_name">v3.1</string> + <string name="version_name">v%1$s</string> <string name="user_id">韬唤璇佸彿:                </string> <string name="inspector">鑰冩牳鍛樼紪鍙�:</string> <string name="sys_setting">绯荤粺閰嶇疆</string> @@ -18,4 +18,10 @@ <string name="request_permission">This sample needs camera permission.</string> <string name="camera_error">This device doesn\'t support Camera2 API.</string> <string name="rtk_addr_des">RTK骞冲彴鍦板潃锛�</string> + <string name="rtk_register_status">RTK娉ㄥ唽鐘舵�侊細%1$d</string> + <string name="rtk_config_imei">IMEI:%1$s</string> + <string name="rtk_config_model">Model:%1$s</string> + <string name="rtk_config_sn">SN:%1$s</string> + <string name="rtk_connect_status">RTK杩炴帴鐘舵�侊細%1$d</string> + <string name="rtk_config_login">RTK鐧诲綍缁撴灉锛�%1$d</string> </resources> -- Gitblit v1.8.0