From e75368154352704a05724e1268d990600abe475d Mon Sep 17 00:00:00 2001 From: fctom1215 <fctom1215@outlook.com> Date: 星期四, 27 二月 2020 22:15:13 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge --- app/src/main/java/safeluck/drive/evaluation/app.java | 49 +++++++++-- app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 26 ++++++ app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java | 12 +- app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java | 24 ++++++ app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java | 2 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | 74 +++++++++++++++++- im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java | 8 +- app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 2 app/src/main/res/layout/layout_base_datas.xml | 16 +++ 9 files changed, 185 insertions(+), 28 deletions(-) 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 5b04a49..f697fb1 100644 --- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java +++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java @@ -21,7 +21,7 @@ * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class SimpleFragmentAdapter extends FragmentPagerAdapter { - private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GPS淇℃伅"}; + private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GNSS淇℃伅"}; public SimpleFragmentAdapter(FragmentManager fm) { super(fm); } diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 81a393d..1fbb278 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -47,6 +47,7 @@ import safeluck.drive.evaluation.DB.gps.GpsInfoWorker; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository; +import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.cEventCenter.CEvent; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.im.IMSClientBootstrap; @@ -322,13 +323,26 @@ new Thread(new Runnable() { @Override public void run() { - StringBuffer vebuffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.VEHICLE); - if (vebuffer != null){ - - AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,vebuffer.toString()); + String carPath = ExamPlatformData.getInstance().getCarModelPath(); + if (!TextUtils.isEmpty(carPath)){ + MyLog.i("浣跨敤鏇存柊鍚庣殑Car妯″瀷鍦板浘"+carPath); + byte[] bytes = FileUtil.readFile(carPath); + if (bytes != null){ + String str = new String(bytes); + AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,str); + }else{ + MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",carPath)); + } }else{ - MyLog.d(TAG,String.format("杞﹁締妯″瀷妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName())); + StringBuffer vebuffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.VEHICLE); + if (vebuffer != null){ + + AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,vebuffer.toString()); + }else{ + MyLog.d(TAG,String.format("杞﹁締妯″瀷妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName())); + } } + } }).start(); } @@ -337,14 +351,29 @@ new Thread(new Runnable() { @Override public void run() { - StringBuffer buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP); - if (buffer != null){ - - AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString()); + String mapPath = ExamPlatformData.getInstance().getMapPath(); + if (!TextUtils.isEmpty(mapPath)){ + MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath); + byte[] fileContent = FileUtil.readFile(mapPath); + if (fileContent != null){ + String str = new String(fileContent); + Log.i(TAG, "鏂囦欢鍐呭锛�"+str); + AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str); + }else{ + MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",mapPath)); + } }else{ - MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName())); + MyLog.i("璇诲彇Assert鐩綍涓嬪垵濮嬪寲鐨勫湴鍥�"); + StringBuffer buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP); + if (buffer != null){ + AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString()); + }else{ + MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName())); + + } } + } }).start(); diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java index dde1e74..af9c2d0 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java @@ -24,6 +24,8 @@ private String ip; private int port; + private String mapPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path + private String carPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path public static ExamPlatformData getInstance() { return ourInstance; @@ -89,4 +91,28 @@ public int getExam_id() { return exam_id; } + + public void setNewMapPath(String path) { + this.mapPath = path; + SPUtils.put(app.getAppContext(),SPUtils.MAP_PATH,mapPath); + } + + public String getMapPath(){ + mapPath = (String) SPUtils.get(app.getAppContext(),SPUtils.MAP_PATH,""); + return mapPath; + } + + /** + * 璁剧疆淇濆瓨鍦板浘妯″瀷鏂囦欢锛堝潗鏍囩偣鈥旓級鐨勮矾寰� + * @param car_path + */ + public void setCarModelPath(String car_path) { + this.carPath = car_path; + SPUtils.put(app.getAppContext(),SPUtils.CAR_PATH,car_path); + } + + public String getCarModelPath(){ + carPath = (String) SPUtils.get(app.getAppContext(),SPUtils.CAR_PATH,""); + return carPath; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java index a62ef62..5f85b3e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java @@ -1,9 +1,10 @@ package safeluck.drive.evaluation.fragment; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.lifecycle.ViewModelProviders; import android.util.Log; import android.view.LayoutInflater; @@ -18,7 +19,6 @@ import com.anyun.exam.lib.util.ByteUtil; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import me.yokeyword.fragmentation.SupportFragment; @@ -26,8 +26,8 @@ import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.ExamPlatformData; +import safeluck.drive.evaluation.util.CThreadPoolExecutor; import safeluck.drive.evaluation.util.FileUtil; -import safeluck.drive.evaluation.viewmodels.ExamPlatformModel; /** * 鍩虹鏁版嵁璁剧疆 @@ -40,11 +40,13 @@ public class BaseDatasFragment extends SupportFragment implements View.OnClickListener { private static final String TAG = BaseDatasFragment.class.getSimpleName(); + private static final int REQUEST_CODE_MAP = 100; + private static final int REQUEST_CODE_CAR = 101; + private int request_code = REQUEST_CODE_MAP; private Button btn_inspect_signal; private Button btn_config_signal; - private Button btn_mcu_upgrade; + private Button btn_mcu_upgrade,btn_map_select; private EditText et_ip,et_port; -// private ExamPlatformModel examPlatformModel; public static SupportFragment newInstance() { return new BaseDatasFragment(); } @@ -56,7 +58,6 @@ View view = inflater.inflate(R.layout.layout_base_datas, container, false); initView(view); -// examPlatformModel = ViewModelProviders.of(this).get(ExamPlatformModel.class); return view; } @@ -68,7 +69,10 @@ et_port.setText(ExamPlatformData.getInstance().getPlatformPort()+""); btn_inspect_signal = view.findViewById(R.id.btn_inpsect_signal); btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade); + btn_map_select = view.findViewById(R.id.btn_map_select); + view.findViewById(R.id.btn_car_select).setOnClickListener(this); btn_mcu_upgrade.setOnClickListener(this); + btn_map_select.setOnClickListener(this); btn_inspect_signal.setOnClickListener(this); btn_config_signal = view.findViewById(R.id.btn_signal_conf); btn_config_signal.setOnClickListener(this); @@ -109,8 +113,66 @@ ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim())); } break; + case R.id.btn_car_select://杞﹁締妯″瀷鍜屽湴鍥惧叕鐢ㄤ竴濂椾唬鐮� 鍖哄埆鍦ㄤ簬REQUEST_CODE + request_code = REQUEST_CODE_CAR; + openFileMgr(); + break; + case R.id.btn_map_select: + request_code = REQUEST_CODE_MAP; + openFileMgr(); + break; default: break; } } + + private void openFileMgr() { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_GET_CONTENT); + intent.setType("*/*"); + intent.addCategory(Intent.CATEGORY_OPENABLE); + try { + startActivityForResult(intent, request_code); + } catch (android.content.ActivityNotFoundException e) { + e.printStackTrace(); + Toast.makeText(_mActivity, "璇峰畨瑁呮枃浠剁鐞嗗櫒", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (REQUEST_CODE_MAP == requestCode){ + final Uri uri= data.getData(); + Log.i(TAG, "onActivityResult: "+uri.getPath()); + ExamPlatformData.getInstance().setNewMapPath(uri.getPath()); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + byte[] fileContent = FileUtil.readFile(uri.getPath()); + if (fileContent != null){ + String str = new String(fileContent); + Log.i(TAG, "鏂囦欢鍐呭锛�"+str); + AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str); + } + } + }); + + }else if (requestCode == REQUEST_CODE_CAR){ + final Uri uri= data.getData(); + Log.i(TAG, "onActivityResult: "+uri.getPath()); + ExamPlatformData.getInstance().setCarModelPath(uri.getPath()); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + byte[] fileContent = FileUtil.readFile(uri.getPath()); + if (fileContent != null){ + String str = new String(fileContent); + Log.i(TAG, "鏂囦欢鍐呭锛�"+str); + AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,str); + } + } + }); + + } + } } 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 13dade7..93c7f01 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -119,7 +119,7 @@ String icStr = jsSpeed.getString("serialno"); if (result == 0) { JKMessage0201 jkMessage0201 = new JKMessage0201(); - jkMessage0201.currentExam = 1; + jkMessage0201.currentExam = 0; jkMessage0201.id = icStr; MessageProcessor.getInstance().sendMessage(jkMessage0201); } diff --git a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java index 57cb041..c0e8ed0 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java @@ -293,4 +293,28 @@ return "M" + sb.toString(); } + public static byte[] readFile(String path) { + InputStream inputStream = null; + File file = new File(path); + if (!file.exists()){ + return null; + } + try { + inputStream = new FileInputStream(file); + } catch (IOException e) { + e.printStackTrace(); + } + byte[] data = new byte[0]; + try { + data = toByteArray(inputStream); + } catch (IOException e) { + e.printStackTrace(); + } + try { + inputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return data; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java index ff8cc70..fa867ea 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java @@ -2,12 +2,12 @@ - import java.lang.reflect.InvocationTargetException; - import java.lang.reflect.Method; - import java.util.Map; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map; - import android.content.Context; - import android.content.SharedPreferences; +import android.content.Context; +import android.content.SharedPreferences; public class SPUtils { @@ -18,6 +18,8 @@ public static final String DES_HEX_PWD = "des_pwd"; public static final String PLATFORM_IP = "platform_ip"; public static final String PLATFORM_PORT = "platform_port"; + public static final String MAP_PATH = "map_path"; + public static final String CAR_PATH = "car_path"; /** * 淇濆瓨鏁版嵁鐨勬柟娉曪紝鎴戜滑闇�瑕佹嬁鍒颁繚瀛樻暟鎹殑鍏蜂綋绫诲瀷锛岀劧鍚庢牴鎹被鍨嬭皟鐢ㄤ笉鍚岀殑淇濆瓨鏂规硶 diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml index c129b57..1310686 100644 --- a/app/src/main/res/layout/layout_base_datas.xml +++ b/app/src/main/res/layout/layout_base_datas.xml @@ -178,11 +178,25 @@ <Button android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="鍗囩骇鍗曠墖鏈�" + android:text="鍗忓鐞嗗櫒鍗囩骇" android:padding="5dp" android:id="@+id/btn_mcu_upgrade" android:layout_marginLeft="15dp" android:background="@drawable/btn_bg_baseset"/> + <Button android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鑰冭瘯鍦板浘閫夋嫨" + android:padding="5dp" + android:id="@+id/btn_map_select" + android:layout_marginLeft="15dp" + android:background="@drawable/btn_bg_baseset"/> + <Button android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="杞﹁締妯″瀷閫夋嫨" + android:padding="5dp" + android:id="@+id/btn_car_select" + android:layout_marginLeft="15dp" + android:background="@drawable/btn_bg_baseset"/> </TableRow> </TableLayout> </LinearLayout> diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java index e257920..a94be4a 100644 --- a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java +++ b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java @@ -216,7 +216,7 @@ } break; case IMSConfig.CONNECT_STATE_SUCCESSFUL: - Log.i(TAG, String.format("onConnectStatusCallback: ims杩炴帴鎴愬姛锛宧ost[%s],port[%s]",currentHost,currentPort)); + MyLog.i(String.format("onConnectStatusCallback: ims杩炴帴鎴愬姛锛宧ost[%s],port[%s]",currentHost,currentPort)); if (imsConnectStatusCallback != null){ imsConnectStatusCallback.onConnected(); } @@ -232,7 +232,7 @@ break; case IMSConfig.CONNECT_STATE_FAILURE: default: - Log.i(TAG, "onConnectStatusCallback: ims杩炴帴澶辫触"); + MyLog.i( "onConnectStatusCallback: ims杩炴帴澶辫触"); if (imsConnectStatusCallback != null){ imsConnectStatusCallback.onConnectFailed(); } @@ -447,7 +447,7 @@ @Override public void run() { - Log.i(TAG, "鎵ц閲嶈繛浠诲姟"); + MyLog.i(TAG, "鎵ц閲嶈繛浠诲姟"); if (!isFirst){ onConnectStatusCallback(IMSConfig.CONNECT_STATE_FAILURE); } @@ -527,7 +527,7 @@ if(connectStatus != IMSConfig.CONNECT_STATE_CONNECTING){ onConnectStatusCallback(IMSConfig.CONNECT_STATE_CONNECTING); } - Log.i(TAG, String.format("姝e湪杩涜connectServer銆�%s銆戠殑绗琜%d]杩炴帴锛屽綋鍓嶉噸杩炲欢鏃舵椂闀夸负[%dms]: ",serverUrl,j,j*getReconnectInterval())); + MyLog.i( String.format("姝e湪杩涜connectServer銆�%s銆戠殑绗琜%d]杩炴帴锛屽綋鍓嶉噸杩炲欢鏃舵椂闀夸负[%dms]: ",serverUrl,j,j*getReconnectInterval())); try { currentPort = Integer.parseInt(address[1]); currentHost = address[0]; -- Gitblit v1.8.0