From 8735b56eefde751618c819f5b331a56a62274a5c Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期四, 14 五月 2020 18:30:22 +0800 Subject: [PATCH] Merge branch 'newUI' --- app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 39 app/src/main/res/layout/layout_sys_home_part_train.xml | 46 app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java | 5 app/src/main/res/mipmap-xhdpi/return_bg.png | 0 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 271 +- app/src/main/res/drawable/bg_spinner.xml | 24 app/src/main/res/drawable/right_arrow.png | 0 app/src/main/res/layout/layout_dlg.xml | 59 .idea/gradle.xml | 12 app/src/main/res/layout/activity_main.xml | 35 app/src/main/res/mipmap-xhdpi/start_exam_bg.png | 0 app/src/main/java/safeluck/drive/evaluation/customview/MyArgEditText.kt | 106 app/src/main/res/mipmap-xhdpi/return_pic.png | 0 app/src/main/res/layout/layout_base_datas.xml | 513 +-- app/src/main/res/drawable/btn_bg1_baseset.xml | 18 app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java | 3 app/src/main/res/layout/layout_signal_slice.xml | 73 app/src/main/res/values/strings.xml | 6 app/src/main/res/mipmap-xhdpi/province_id.png | 0 app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 30 app/src/main/res/layout/layout_select_dlg.xml | 50 app/src/main/res/layout/layout_mycustom_et.xml | 38 app/src/main/res/drawable/start_exam_bg.xml | 5 app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java | 85 app/src/main/java/safeluck/drive/evaluation/app.java | 33 app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt | 1 app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java | 26 app/src/main/res/drawable/head_select1.png | 0 app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java | 38 app/src/main/res/drawable/tab_bg.xml | 6 app/src/main/res/layout/layout_net_train.xml | 38 app/src/main/res/layout/layout_base_set.xml | 84 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 273 +- app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 4 app/src/main/res/drawable/ic_aoi.xml | 1998 +++++++++++++++++ app/src/main/res/layout/layout_signal_conf_item.xml | 71 app/src/main/res/mipmap-xhdpi/platform_pic.png | 0 app/src/main/res/layout/layout_check_signal.xml | 72 app/src/main/res/values/styles.xml | 14 app/src/main/res/layout/layout_road_train.xml | 147 app/src/main/res/mipmap-xhdpi/right_bottom.png | 0 app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt | 98 app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java | 4 app/src/main/res/mipmap-xhdpi/view_map.png | 0 app/src/main/res/values/colors.xml | 2 app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 5 app/src/main/res/mipmap-xhdpi/let_top.png | 0 app/src/main/res/drawable/tv_des_bg.xml | 17 app/src/main/res/drawable/stu_score_bg.xml | 6 app/src/main/res/drawable/conn.png | 0 app/src/main/res/drawable/ic_xiala.xml | 9 app/src/main/res/drawable/ic_btn_daikao.xml | 2 app/src/main/res/drawable/list_divider.xml | 8 app/src/main/res/drawable/ic_btn_save_nopress.xml | 5 app/src/main/res/layout/gps_info_item_rightarrow.xml | 4 app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java | 4 app/src/main/res/values/attrs.xml | 8 app/src/main/res/drawable/bg_select_dlg.xml | 18 app/src/main/res/drawable/vehicle_network.png | 0 app/src/main/res/drawable/gps.png | 0 app/src/main/res/drawable/sys_line_bg.xml | 8 app/src/main/res/layout/layout_gps_info.xml | 2 app/src/main/res/drawable/btn_state_save.xml | 4 app/src/main/res/layout/layout_stu_score.xml | 27 app/src/main/res/drawable/ic_btn_save_press.xml | 5 app/src/main/res/mipmap-xhdpi/device_sn.png | 0 app/src/main/res/mipmap-xhdpi/left_bottom.png | 0 app/src/main/res/drawable/stu_score_title.xml | 22 app/src/main/res/mipmap-xhdpi/auto_check_status.png | 0 app/src/main/java/safeluck/drive/evaluation/customview/MyCustomEditText.kt | 104 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java | 10 app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java | 4 app/src/main/res/layout/profile_layout.xml | 298 +- lib/src/main/cpp/native-lib.cpp | 2 app/build.gradle | 1 app/src/main/res/values/dimens.xml | 20 app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java | 27 app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java | 7 app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java | 6 app/src/main/res/layout/layout_net_train_item.xml | 97 app/src/main/res/layout/layout_sys_home_part.xml | 46 app/src/main/res/mipmap-xhdpi/duobianxing.png | 0 app/src/main/res/drawable/wheel.png | 0 app/src/main/res/layout/layout_home_fragment.xml | 144 app/src/main/res/drawable/head_select2.png | 0 app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java | 45 app/src/main/res/drawable/input_bg.xml | 5 app/src/main/res/drawable/xiala.png | 0 app/src/main/res/drawable/stu_score_item_other.xml | 21 app/src/main/assets/signal_config_file.json | 28 app/src/main/res/drawable/setting.png | 0 app/src/main/res/mipmap-xhdpi/click_it.png | 0 app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 91 app/src/main/res/drawable/bg_rgb_dlg.xml | 5 app/src/main/res/drawable/ic_check.xml | 9 app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java | 336 +- app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | 116 app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java | 16 app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo2.java | 20 app/src/main/res/layout/layout_score_item_title.xml | 60 app/src/main/res/drawable/exit.png | 0 app/src/main/res/drawable/view_map_bg.xml | 5 app/src/main/res/drawable/btn_exam_item_bg.xml | 6 app/src/main/res/drawable/green_light.xml | 2 app/src/main/java/safeluck/drive/evaluation/adapter/ScoreAdapter.java | 12 app/src/main/res/drawable/ic_home_circle.xml | 51 app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt | 40 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java | 14 app/src/main/res/layout/layout_signal_config.xml | 77 app/src/main/res/layout/dropdown_stytle.xml | 13 app/src/main/res/layout/layout_sys_home_part_set.xml | 46 app/src/main/res/layout/layout_train_fragment.xml | 4 app/src/main/res/mipmap-xhdpi/version_pic.png | 0 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 38 app/src/main/res/drawable/btn_bg_baseset.xml | 18 app/src/main/res/values/arrays.xml | 25 app/src/main/res/layout/layout_mycustom_et_arg.xml | 38 build.gradle | 1 app/src/main/java/safeluck/drive/evaluation/customview/ParallelogramView.java | 75 app/src/main/res/drawable/ic_bground.xml | 18 app/src/main/res/layout/layout_sys_home_part_exit.xml | 46 app/src/main/java/safeluck/drive/evaluation/customview/SelectDialog.java | 165 + app/src/main/res/layout/gps_info_item.xml | 1 app/src/main/res/drawable/view_map_font_bg.xml | 5 app/src/main/res/layout/layout_score_item.xml | 13 app/src/main/res/drawable/set_arg_et_drawable.xml | 6 app/src/main/res/drawable/bg_spinner1.xml | 11 app/src/main/res/drawable/stu_score_item.xml | 21 app/src/main/res/layout/inspect_signal_head.xml | 4 app/src/main/res/mipmap-xhdpi/conn_status.png | 0 /dev/null | 29 app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigRemote.java | 11 app/src/main/res/layout/spinner_item.xml | 11 app/src/main/res/mipmap-xhdpi/right_top.png | 0 app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigBean.java | 30 app/src/main/res/drawable/home_circle.png | 0 app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java | 126 app/src/main/res/layout/networktoolbar.xml | 2 138 files changed, 5,376 insertions(+), 1,587 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 2996d53..5d94fe3 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,12 +3,18 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> - <compositeConfiguration> - <compositeBuild compositeDefinitionSource="SCRIPT" /> - </compositeConfiguration> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="modules"> + <set> + <option value="$PROJECT_DIR$" /> + <option value="$PROJECT_DIR$/app" /> + <option value="$PROJECT_DIR$/im_lib" /> + <option value="$PROJECT_DIR$/lib" /> + </set> + </option> <option name="resolveModulePerSourceSet" value="false" /> + <option name="testRunner" value="PLATFORM" /> </GradleProjectSettings> </option> </component> diff --git a/app/build.gradle b/app/build.gradle index ae830d4..0d98b9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -70,6 +70,7 @@ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofit_version" implementation "com.google.zxing:core:$rootProject.qrcode_version" + implementation "com.squareup.picasso:picasso:2.5.2" } repositories { mavenCentral() diff --git a/app/src/main/assets/signal_config_file.json b/app/src/main/assets/signal_config_file.json index 5285544..523379f 100644 --- a/app/src/main/assets/signal_config_file.json +++ b/app/src/main/assets/signal_config_file.json @@ -4,7 +4,6 @@ "signalName": "闆剧伅", "index":1, "func_id":21, - "id":0, "highLevel":1, "mainBoard":2 }, @@ -12,14 +11,12 @@ "signalName": "涓夋。", "index":2, "func_id":11, - "id":1, "highLevel":1, "mainBoard":2 }, { "signalName": "鎵嬪埞", "index":3, - "id":2, "func_id":3, "highLevel":1, "mainBoard":2 @@ -28,7 +25,6 @@ "signalName": "涓�妗�", "index":4, "func_id":9, - "id":3, "highLevel":1, "mainBoard":2 }, @@ -36,14 +32,12 @@ "signalName": "鍓埞", "index":5, "func_id":16, - "id":4, "highLevel":1, "mainBoard":2 }, { "signalName": "瀹夊叏甯�", "index":6, - "id":5, "func_id":0, "highLevel":1, "mainBoard":2 @@ -51,7 +45,6 @@ { "signalName": "浜屾。", "index":7, - "id":6, "func_id":10, "highLevel":1, "mainBoard":2 @@ -59,7 +52,6 @@ { "signalName": "鑴氬埞", "index":8, - "id":7, "func_id":4, "highLevel":1, "mainBoard":2 @@ -68,38 +60,33 @@ "signalName": "绌烘尅", "index":9, "func_id":8, - "id":8, "highLevel":1, "mainBoard":2 }, { "signalName": "闂ㄩ攣", - "index":10, "func_id":7, - "id":9, + "index":10, "highLevel":1, "mainBoard":2 }, { "signalName": "START浣�", - "index":11, "func_id":15, - "id":10, "highLevel":1, + "index":11, "mainBoard":2 }, { "signalName": "杩滃厜", "index":12, "func_id":6, - "id":11, "highLevel":1, "mainBoard":2 }, { "signalName": "缁曡溅涓�", "index":13, - "id":12, "func_id":17, "highLevel":1, "mainBoard":2 @@ -108,7 +95,6 @@ "signalName": "杩戝厜", "index":14, "func_id":5, - "id":13, "highLevel":1, "mainBoard":2 }, @@ -116,14 +102,12 @@ "signalName": "宸﹁浆", "index":15, "func_id":1, - "id":14, "highLevel":1, "mainBoard":2 }, { "signalName": "鍙宠浆", "index":16, - "id":15, "func_id":2, "highLevel":1, "mainBoard":2 @@ -139,7 +123,6 @@ { "signalName": "缁曡溅涓�", "index":18, - "id":17, "func_id":19, "highLevel":1, "mainBoard":2 @@ -147,9 +130,14 @@ { "signalName": "缁曡溅鍥�", "index":19, - "id":17, "func_id":20, "highLevel":1, "mainBoard":2 + } , { + "signalName": "绀哄粨鐏�", + "index":20, + "func_id":22, + "highLevel":1, + "mainBoard":2 } ] \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java index 856a42a..b691c46 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java @@ -36,6 +36,7 @@ int personType = jsonObject.getInt("personType"); String id = jsonObject.getString("ID"); String name = jsonObject.getString("name"); + String head_url = jsonObject.getString("head_url"); int sex = 2;//榛樿鏄コ鐢� if (id!=null&&id.length()>=18){ sex = Integer.parseInt(id.substring(id.length()-2,id.length()-1)); @@ -54,18 +55,21 @@ //鏁欑粌 student.setStu_id(ExamPlatformData .COACH_ID); +// ExamPlatformData.getInstance().setCoachSign(false); break; case ExamPlatformData .PERSON_TYPE_STU: //瀛﹀憳 student.setStu_id(ExamPlatformData .STU_ID); - +// ExamPlatformData.getInstance().setStuSign(false); break; default:break; } student.setName(name); student.setSex(sex); + student.setID(id); + student.setHead_url(head_url); student.setPersonType(personType); MyLog.i("鏇存柊绛惧埌浜哄憳淇℃伅锛�"+student.toString()); WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getstudentDao().insert(student); diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt index aa90196..b87b8ce 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt +++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt @@ -63,7 +63,6 @@ getMap(sn, "yard") getMap(sn, "car") - MyLog.i(PlatFormConstant.TAG,"閲嶇疆TCP杩炴帴") IMSClientBootstrap.getInstance().resetConnect(); } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java index 52f779d..228f070 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java @@ -12,15 +12,23 @@ @Insert void insert(SingalConfig singalConfig ); //璁剧疆id淇″彿鐨勫搴旂殑鐗╃悊绱㈠紩 - @Query("update signal_config set `index`=:mindex where id =:id ") + @Query("update signal_config set `index`=:mindex where func_id =:id ") void updateindex(int mindex,int id); //璁剧疆id淇″彿鐨勫搴旂殑楂樼數骞虫湁鏃犳晥 - @Query("update signal_config set `highLevel`=:hightLevel where id =:id ") + @Query("update signal_config set `highLevel`=:hightLevel where func_id =:id ") void updateHightlevel(int hightLevel,int id); //璁剧疆id淇″彿鐨勫搴旂殑涓绘澘鏈夋棤鏁� - @Query("update signal_config set `mainBoard`=:mainBoard where id =:id ") + @Query("update signal_config set `mainBoard`=:mainBoard where func_id =:id ") void updateMainBoard(int mainBoard,int id); + @Query("select signalName from signal_config where `index`=:gpio") + String getSignalName(int gpio); + @Query("select func_id from signal_config where signalName=:signame") + int getFun_idBySignalName(String signame); + @Query("select `index` from signal_config where signalName=:signame") + int getSignalName2Index(String signame); + + //鏌ヨ鎵�鏈変俊鍙峰搴旂殑鐗╃悊鎵�寮� @Query("select `index` from signal_config") List<Integer> getAllIndexs(); diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java index 7be257c..f337755 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java @@ -7,19 +7,13 @@ public class SingalConfig { private String signalName; - public int getId() { - return id; - } - public void setId(int id) { - this.id = id; - } - @PrimaryKey - private int id; + private int index; private int highLevel;//1-楂樼數骞虫湁鏁� private int mainBoard;//1-涓绘澘鏈夋晥 + @PrimaryKey private int func_id;//1gongneng public int getFunc_id() { diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java index 7df7eb4..9cf5b06 100644 --- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java +++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java @@ -14,6 +14,9 @@ import android.view.View; import android.view.Window; import android.view.WindowManager; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; import android.widget.Toast; @@ -25,6 +28,8 @@ import androidx.work.WorkManager; import me.yokeyword.fragmentation.SupportActivity; +import safeluck.drive.evaluation.DB.appstatusdb.AppStatus; +import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel; import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; @@ -64,17 +69,24 @@ import safeluck.drive.evaluation.viewmodels.ExamPlatformModel; import safeluck.drive.evaluation.viewmodels.TimeViewModel; -public class MainActivity extends SupportActivity implements IMSConnectStatusCallback { +public class MainActivity extends SupportActivity implements IMSConnectStatusCallback, View.OnClickListener { private static final int PERMISSIONS_REQUEST_CODE = 1001; private String TAG = MainActivity.class.getCanonicalName(); SignalConfigViewModel signalConfigViewModel; private PermissionManager mPermissionsManager; private RTKConfig mRTKConfig;//RTK閰嶇疆淇℃伅 + private ImageView iv_rtk_status; private Gson gson = new Gson(); String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; RTKConfigViewModel rtkConfigViewModel; public ExamPlatformModel examPlatformModel; + + private TextView tv_sat_num,tv_work_platform,tv_network_time, + tv_qf; + + public Button btn_return; + public View viewtitle; private ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); @@ -113,8 +125,52 @@ hideBottomUIMenu(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); + + viewtitle = findViewById(R.id.top_title); + btn_return = findViewById(R.id.btn_return); + + + btn_return.setOnClickListener(this); + iv_rtk_status = findViewById(R.id.iv_rtk_connect); + tv_work_platform = findViewById(R.id.platform); + + tv_sat_num = findViewById(R.id.tv_sat_num_instatus); + tv_qf = findViewById(R.id.tv_qf); + iv_rtk_status.getDrawable().setLevel(0); + tv_network_time = findViewById(R.id.network_time); + + + tv_network_time.setText(Utils.getHHmm()); //鍒濆鍖杢ts ExamPlatformData.getInstance().initTTS(getApplicationContext()); + + + + AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class); + appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() { + @Override + public void onChanged(AppStatus appStatus) { + if (appStatus != null){ + Log.i(TAG, "onChanged: "+appStatus.toString()); + iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status()); + tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr( + ExamPlatformData.getInstance().getExamplatformStatus() + ))); + tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num())); + tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]); + } + } + }); + + TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class); + timeViewModel.getLiveDataTime().observe(this, new Observer<String>() { + @Override + public void onChanged(String s) { + tv_network_time.setText(s); + } + }); + + // TODO // 杩涜tcp杩炴帴 final String userId = "100002"; @@ -215,32 +271,7 @@ CEventCenter.onBindEvent(false, icEventListener, Constant.BIND_CONNECT_RTK_TOPIC); Log.i(TAG, "onDestroy: "); } - private void sendSignalConfigsToRemote() { - if (signalConfiglist.size()>0){ - new AsyncTask<Void, Void, List<Integer>>( - ) { - @Override - protected List<Integer> doInBackground(Void... voids) { - return signalConfigViewModel.getAllIndexs(); - } - - @Override - protected void onPostExecute(List<Integer> indexs) { - if (listContainsSameValue(indexs)){ - Log.i(TAG, "sendSignalConfigsToRemote: 鏈夌浉鍚岀殑index锛屼笉鑳藉彂閫�"+gson.toJson(signalConfiglist)); - Toast.makeText(getApplicationContext(), "涓嶈兘鏈夌浉鍚岀殑鐗╃悊鎵�寮曪紒", Toast.LENGTH_SHORT).show(); - }else{ - AYSdk.getInstance().sendCmd(Constant.SEND_CONFIG_SIGNAL,gson.toJson(signalConfiglist)); - } - } - }.execute(); - - } - - - - } @Override protected void onResume() { @@ -340,4 +371,12 @@ } } + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.btn_return: + onBackPressed(); + break; + } + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java new file mode 100644 index 0000000..4eb06aa --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java @@ -0,0 +1,85 @@ +package safeluck.drive.evaluation.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.List; + +import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.bean.BaseDataUIBean; + +/** + * MyApplication2 + * Created by lzw on 2020/1/10. 16:33:13 + * 閭锛�632393724@qq.com + * All Rights Saved! Chongqing AnYun Tech co. LTD + */ + +public class BaseDataInfoAdapter extends BaseAdapter { + private List<BaseDataUIBean> persons = new ArrayList<>();//gps淇℃伅 + private final static String TAG = "anyun_info"; + private Context mContext; + @Override + public int getCount() { + return persons.size(); + } + + @Override + public BaseDataUIBean getItem(int i) { + return persons.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + InfoHodler infoHodler = null; + if (view == null){ + view = LayoutInflater.from(mContext).inflate(R.layout.gps_info_item,null); + infoHodler = new InfoHodler(); + infoHodler.name = view.findViewById(R.id.text_check_info); + view.setTag(infoHodler); + }else{ + infoHodler = (InfoHodler) view.getTag(); + } + + infoHodler.name.setText(getItem(i).getDes()); + infoHodler.name.setCompoundDrawablesWithIntrinsicBounds(mContext.getResources(). + getDrawable(getItem(i).getRes_id()),null,null,null); + infoHodler.name.setCompoundDrawablePadding(10); + return view; + } + + public BaseDataInfoAdapter(Context mContext) { + this.mContext = mContext; + } + /** + * //鍏堟竻鎺夊師鏉ョ殑鎵�鏈夋暟鎹啀娣诲姞鏂板姞杩涙潵鎵�鏈夌殑鏁版嵁 + * @param ps + */ + public void addAll(List<BaseDataUIBean> ps){ + persons.clear();//鍏堟竻鎺夊師鏉ョ殑鎵�鏈夋暟鎹� + persons.addAll(ps);//鍐嶆坊鍔犳柊鍔犺繘鏉ユ墍鏈夌殑鏁版嵁 + notifyDataSetChanged();//鍒锋柊鐣岄潰 + } + + static class InfoHodler { + + + public TextView name;//濮撳悕 + + + + + + } + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/ScoreAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/ScoreAdapter.java index f3a0cdf..b1b70a8 100644 --- a/app/src/main/java/safeluck/drive/evaluation/adapter/ScoreAdapter.java +++ b/app/src/main/java/safeluck/drive/evaluation/adapter/ScoreAdapter.java @@ -72,17 +72,17 @@ dataHodler = (DataHodler) convertView.getTag(); } if (getItemId(position) %2 == 0){ - convertView.setBackgroundColor(Color.parseColor("#67a8bc")); + convertView.setBackground(mContext.getResources().getDrawable(R.drawable.stu_score_item)); }else{ - convertView.setBackgroundColor(mContext.getResources().getColor(R.color.train_bg)); + convertView.setBackground(mContext.getResources().getDrawable(R.drawable.stu_score_item_other)); } ScoreBean scoreBean = getItem(position); - dataHodler.tv_item.setTextColor(Color.parseColor("#0e0cca")); + dataHodler.tv_item.setTextColor(Color.parseColor("#FFFFFF")); dataHodler.tv_item.setText(scoreBean.getItem()); - dataHodler.tv_score.setTextColor(Color.parseColor("#0e0cca")); - dataHodler.tv_score.setText(String.valueOf(scoreBean.getScore())); - dataHodler.tv_reason.setTextColor(Color.parseColor("#0e0cca")); + dataHodler.tv_score.setTextColor(Color.parseColor("#FE910B")); + dataHodler.tv_score.setText(String.format("-%.0f鍒�",scoreBean.getScore())); + dataHodler.tv_reason.setTextColor(Color.parseColor("#FFFFFF")); dataHodler.tv_reason.setText(scoreBean.getReason()); return convertView; } diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 6867cfd..6761109 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.cEventCenter.CEventCenter; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.AttachInfo; +import safeluck.drive.evaluation.platformMessage.AttachInfo2; import safeluck.drive.evaluation.platformMessage.JKMessage0203; import safeluck.drive.evaluation.platformMessage.JKMessage0206; import safeluck.drive.evaluation.platformMessage.PlatFormConstant; @@ -93,12 +94,20 @@ //鏁版嵁搴撴搷浣� MyLog.i(TAG, "onCreate111"); FileUtil.createdirs(getApplicationContext()); - //1.鍏堟鏌d鍗″寘鍚嶇殑鐩綍涓嬶紝鏄惁瀛樺湪鍦板浘鏂囦欢鍜岃溅杈嗘ā鍨嬫枃浠� - //2. 濡傛灉涓嶈兘鍐嶅氨鍘讳笅杞� + + //鑰冭瘯鐘舵�� 锛屼竴浜涘垵濮嬬姸鎬侊紝app涓�浜涚姸鎬佸簲璇ュ厛鍒濆鍖栦竴涓� + initData(); } + } + + private void initData() { + CThreadPoolExecutor.runInBackground(()->{ + int type = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().getStartExamInt(); + ExamPlatformData.getInstance().setExamType(type); + }); } public static Context getAppContext(){ @@ -400,17 +409,21 @@ jkMessage0206.json =json; jkMessage0206.length = jkMessage0206.json.length(); AttachInfo attachInfo = new AttachInfo(); - attachInfo.attach_message_id = Integer.parseInt(String.valueOf(0x40)); - attachInfo.attach_message_length = 4; - if (attachInfo.attach_message_id == 0x41){ - attachInfo.attach_data="00000000"; - }else{ + AttachInfo2 attachInfo2 = new AttachInfo2(); + attachInfo.attach_message_id = 0x41; - //18涓瓧鑺� ascii - attachInfo.attach_data="303030303030303030303030303030303030"; - } jkMessage0206.attachInfo = attachInfo; + + + attachInfo2.attach_message_id = 0x42; + if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){ + attachInfo2.attach_data =1; + }else{ + + attachInfo2.attach_data = 0; + } + jkMessage0206.attachInfo2 = attachInfo2; if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.MODE_NONE){ //鍒ゆ柇10s鏃堕棿鏄惁鍒� if (ExamPlatformData.getInstance().isTimeArrive_10s()){ diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java new file mode 100644 index 0000000..185680a --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java @@ -0,0 +1,45 @@ +package safeluck.drive.evaluation.bean; + +import android.text.SpannableString; + +import androidx.annotation.IdRes; + +/** + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.bean + * @ClassName: BaseDataUIBean + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-21 16:28 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-21 16:28 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +public class BaseDataUIBean { + private SpannableString des; + @IdRes + private int res_id; + + public BaseDataUIBean(SpannableString s, int res_id) { + this.des = s; + this.res_id = res_id; + } + + public SpannableString getDes() { + return des; + } + + public void setDes(SpannableString des) { + this.des = des; + } + + public int getRes_id() { + return res_id; + } + + public void setRes_id(int res_id) { + this.res_id = res_id; + } +} 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 5940779..0c64c66 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java @@ -407,4 +407,43 @@ public String getCoachID() { return coachID; } + + /** + * 杩斿洖瀛﹀憳鏄惁绛惧埌锛宼rue-宸茬粡绛惧埌 + */ + public boolean IsStuSign() { + isStuSign = (boolean) SPUtils.get(app.getAppContext(),SPUtils.STU_SIGN_STATUS,false); + return isStuSign; + } + public void setStuSign(boolean flag){ + if (!flag) + setSingnMode(SIGN_MODE_NONE); + isStuSign = flag; + SPUtils.put(app.getAppContext(),SPUtils.STU_SIGN_STATUS,flag); + } + private boolean isStuSign; + /** + * 杩斿洖鏁欑粌鏄惁绛惧埌锛宼rue-宸茬粡绛惧埌 + */ + public boolean IsCoachSign() { + isCoachSign = (boolean) SPUtils.get(app.getAppContext(),SPUtils.Coach_SIGN_STATUS,false); + return isCoachSign; + } + public void setCoachSign(boolean flag){ + isCoachSign = flag; + SPUtils.put(app.getAppContext(),SPUtils.Coach_SIGN_STATUS,flag); + } + private boolean isCoachSign; + private int sign_mode = 0; + public static final int SIGN_MODE_NONE =0 ; + public static final int SIGN_MODE_TRAIN =1 ; + public static final int SIGN_MODE_EXAM =2 ; + public void setSingnMode(int mode){ + SPUtils.put(app.getAppContext(),SPUtils.SIGN_MODE,mode); + this.sign_mode = mode; + } + public int getSign_mode(){ + sign_mode = (int) SPUtils.get(app.getAppContext(),SPUtils.SIGN_MODE,0); + return sign_mode; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigBean.java index 55de10f..b1bb620 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigBean.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigBean.java @@ -11,9 +11,7 @@ private String signal_name_first; private String signal_name_second; private boolean one; - private boolean two; private boolean three; - private boolean four; private int port_one; private int port_two; @@ -35,13 +33,6 @@ this.three = three; } - public boolean isFour() { - return four; - } - - public void setFour(boolean four) { - this.four = four; - } public String getSignal_name_second() { return signal_name_second; @@ -59,13 +50,6 @@ this.one = one; } - public boolean isTwo() { - return two; - } - - public void setTwo(boolean two) { - this.two = two; - } public int getPort_one() { return port_one; @@ -89,10 +73,20 @@ this.signal_name_first = signal_name_first; this.signal_name_second = signal_name_second; this.one = one; - this.two = two; this.three = three; - this.four = four; this.port_one = port_one; this.port_two = port_two; } + + @Override + public String toString() { + return "SignalConfigBean{" + + "signal_name_first='" + signal_name_first + '\'' + + ", signal_name_second='" + signal_name_second + '\'' + + ", one=" + one + + ", three=" + three + + ", port_one=" + port_one + + ", port_two=" + port_two + + '}'; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigRemote.java b/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigRemote.java index 00a4c6d..c482c28 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigRemote.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/SignalConfigRemote.java @@ -35,7 +35,12 @@ this.func_id = func_id; } - - - + @Override + public String toString() { + return "SignalConfigRemote{" + + "gpio_num=" + gpio_num + + ", level=" + level + + ", func_id=" + func_id + + '}'; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java b/app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java index dd8262e..773131e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java +++ b/app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java @@ -29,7 +29,7 @@ private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private float PADDING = Utils.px2dp(40); private double a = Math.toRadians(55.0); - private int color = Color.parseColor("#99C3D1"); + private int color = Color.parseColor("#1E4A89"); private String text = "鐩磋杞集"; private Path textPath = new Path(); @@ -62,7 +62,7 @@ path.close(); paint.setColor(color); canvas.drawPath(path,paint); - paint.setColor(Color.parseColor("#1412f6")); + paint.setColor(Color.parseColor("#1E4A89")); char[] index = getKeyChar(text); Paint.FontMetrics fm = paint.getFontMetrics(); float childHeight = PADDING/text.length(); diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java b/app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java index f350d35..51dfb88 100644 --- a/app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java +++ b/app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java @@ -28,7 +28,7 @@ private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private float PADDING = Utils.px2dp(40); private double a = Math.toRadians(55.0); - private int color = Color.parseColor("#99C3D1"); + private int color = Color.parseColor("#1E4A89"); private String text ; @@ -61,7 +61,7 @@ path.close(); paint.setColor(color); canvas.drawPath(path,paint); - paint.setColor(Color.parseColor("#1412f6")); + paint.setColor(Color.parseColor("#1E4A89")); char[] index = getKeyChar(text); Paint.FontMetrics fm = paint.getFontMetrics(); float childHeight = PADDING/text.length(); diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyArgEditText.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyArgEditText.kt new file mode 100644 index 0000000..bf2790e --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyArgEditText.kt @@ -0,0 +1,106 @@ +package safeluck.drive.evaluation.customview + +import android.content.Context +import android.text.Editable +import android.util.AttributeSet +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.widget.EditText +import android.widget.LinearLayout +import android.widget.TextView +import safeluck.drive.evaluation.R + +/** + * + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: MyCustomEditText + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-22 14:05 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-22 14:05 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +class MyArgEditText : LinearLayout{ + + private val TAG= "MyCustomEditText" + + constructor(context: Context) : this(context, null) + constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0) + + constructor(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int):super(context,attributeSet,defStyleAttr){ + init(context,attributeSet) + } + + + + + // true灏辨槸鏄剧ず false涓嶆樉绀� + var visiblity:Boolean = true + + var str:String="" + var desstr:String="" + + var txtDes:TextView? = null + var txtDesUnit:TextView? = null + var et_num:EditText? = null + var view: View? = null + + + fun init(context: Context, attributeSet: AttributeSet?){ + Log.i(TAG,"myCustomEditText z鑷畾涔�---------") + view = LayoutInflater.from(context).inflate(R.layout.layout_mycustom_et_arg,this,true) + + txtDes = view?.findViewById(R.id.tv_des_et) + txtDesUnit = view?.findViewById(R.id.tv_unit) + et_num = view?.findViewById(R.id.et_num) + + var a = context.obtainStyledAttributes(attributeSet,R.styleable.mycustom_et) + //鑾峰彇鏄惁瑕佹樉绀哄崟浣� + visiblity = a!!.getBoolean(R.styleable.mycustom_et_txt_unit,true) + str = a!!.getString(R.styleable.mycustom_et_txt) + desstr = a!!.getString(R.styleable.mycustom_et_txt_des) + + var desunit = a!!.getString(R.styleable.mycustom_et_txt_unit_des) +// var width = a!!.getString(R.styleable.mycustom_et_view_width) +// var height = a!!.getString(R.styleable.mycustom_et_view_height) + + Log.i(TAG,"txtDes=$desstr") + Log.i(TAG,"str=$str") + Log.i(TAG,"visiblity=$visiblity") + + + + when(visiblity){ + true->{ + txtDesUnit?.visibility = View.VISIBLE + txtDesUnit?.text = desunit + } + else-> txtDesUnit?.visibility = View.GONE + } + + txtDes?.text = desstr + et_num?.text = Editable.Factory.getInstance().newEditable(str) + + a.recycle() + + + } + + + + fun updateStr(str:String){ + et_num?.text = Editable.Factory.getInstance().newEditable(str) + invalidate() + } + + fun getInputStr() =et_num?.text.toString() + +} + + + diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt new file mode 100644 index 0000000..1288ef8 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt @@ -0,0 +1,40 @@ +package safeluck.drive.evaluation.customview + +import android.content.Context +import android.graphics.Canvas +import android.util.AttributeSet +import android.view.Gravity +import android.widget.CheckBox + +/** + * + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: MyCustomCheckbox + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-24 13:17 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-24 13:17 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +class MyCustomCheckbox :CheckBox{ + constructor(context:Context):this(context,null) + constructor(context:Context,attrs:AttributeSet?):this(context,attrs,0) + constructor(context:Context,attrs:AttributeSet?,defStyleAttr:Int): super(context,attrs,defStyleAttr) + + override fun onDraw(canvas: Canvas?) { + super.onDraw(canvas) + var drawables = compoundDrawables + var drawable = drawables[0] + var gravity = gravity + var left = 0 + if (Gravity.CENTER== gravity){ + left = (((getWidth() - drawable.getIntrinsicWidth() - getPaint().measureText(getText().toString())) + / 2).toInt()) + } + drawable.setBounds(left, 0, left + drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()) + } +} \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomEditText.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomEditText.kt new file mode 100644 index 0000000..bbe0e23 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomEditText.kt @@ -0,0 +1,104 @@ +package safeluck.drive.evaluation.customview + +import android.content.Context +import android.text.Editable +import android.util.AttributeSet +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.widget.EditText +import android.widget.LinearLayout +import android.widget.TextView +import safeluck.drive.evaluation.R + +/** + * + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: MyCustomEditText + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-22 14:05 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-22 14:05 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +class MyCustomEditText : LinearLayout{ + + private val TAG= "MyCustomEditText" + + constructor(context: Context) : this(context, null) + constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0) + + constructor(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int):super(context,attributeSet,defStyleAttr){ + init(context,attributeSet) + } + + + + + // true灏辨槸鏄剧ず false涓嶆樉绀� + var visiblity:Boolean = true + + var str:String="" + var desstr:String="" + + var txtDes:TextView? = null + var txtDesUnit:TextView? = null + var et_num:EditText? = null + var view: View? = null + + + fun init(context: Context, attributeSet: AttributeSet?){ + Log.i(TAG,"myCustomEditText z鑷畾涔�---------") + view = LayoutInflater.from(context).inflate(R.layout.layout_mycustom_et,this,true) + + txtDes = view?.findViewById(R.id.tv_des_et) + txtDesUnit = view?.findViewById(R.id.tv_unit) + et_num = view?.findViewById(R.id.et_num) + + var a = context.obtainStyledAttributes(attributeSet,R.styleable.mycustom_et) + //鑾峰彇鏄惁瑕佹樉绀哄崟浣� + visiblity = a!!.getBoolean(R.styleable.mycustom_et_txt_unit,true) + str = a!!.getString(R.styleable.mycustom_et_txt) + desstr = a!!.getString(R.styleable.mycustom_et_txt_des) + + var desunit = a!!.getString(R.styleable.mycustom_et_txt_unit_des) +// var width = a!!.getString(R.styleable.mycustom_et_view_width) +// var height = a!!.getString(R.styleable.mycustom_et_view_height) + + Log.i(TAG,"txtDes=$desstr") + Log.i(TAG,"str=$str") + Log.i(TAG,"visiblity=$visiblity") + + + + when(visiblity){ + true->{ + txtDesUnit?.visibility = View.VISIBLE + txtDesUnit?.text = desunit + } + else-> txtDesUnit?.visibility = View.GONE + } + + txtDes?.text = desstr + et_num?.text = Editable.Factory.getInstance().newEditable(str) + + a.recycle() + + + } + + + + fun updateStr(str:String){ + et_num?.text = Editable.Factory.getInstance().newEditable(str) + invalidate() + } + +} + + + diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt new file mode 100644 index 0000000..e800626 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt @@ -0,0 +1,98 @@ +package safeluck.drive.evaluation.customview + +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Build +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import android.widget.Button +import android.widget.TextView +import androidx.fragment.app.DialogFragment +import safeluck.drive.evaluation.R + +/** + * + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: MyDialog + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-29 16:46 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-29 16:46 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +class MyDialog : DialogFragment() { + lateinit var button: Button + lateinit var button_cancle: Button + lateinit var textview: TextView + var mess: String? = null + lateinit var onClick:MyOnClickListener + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + if(dialog!=null){ + var windown = dialog.window; + windown.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + windown.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) + dialog.setOnShowListener { windown.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) + hideBottomUIMenu()} + } + var view = inflater.inflate(R.layout.layout_dlg,container,false) + initView(view) + + return view + } + + private fun initView(view: View?) { + mess = arguments?.getString("message") + button = view!!.findViewById(R.id.btn_sure_) + textview = view!!.findViewById(R.id.tv_message) + textview.text =mess + button_cancle = view!!.findViewById(R.id.btn_cancle_) + button.setOnClickListener { onClick.onSure() + dismiss() } + button_cancle.setOnClickListener { + onClick.onCancle() + dismiss() + } + + } + + /** + * 闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + */ + protected fun hideBottomUIMenu() { //闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api + val v = this.dialog.window.decorView + v.systemUiVisibility = View.GONE + } else if (Build.VERSION.SDK_INT >= 19) { //for new api versions. + val decorView = dialog.window.decorView + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or View.SYSTEM_UI_FLAG_FULLSCREEN) + decorView.systemUiVisibility = uiOptions + } + } + + companion object{ + fun newInstance(message:String):MyDialog{ + var myDialog= MyDialog() + var bundle = Bundle() + bundle.putString("message",message) + myDialog.arguments = bundle + return myDialog + + } + } + + interface MyOnClickListener{ + fun onSure() + fun onCancle() + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyDialogFragment.java b/app/src/main/java/safeluck/drive/evaluation/customview/MyDialogFragment.java deleted file mode 100644 index 5b0b0ba..0000000 --- a/app/src/main/java/safeluck/drive/evaluation/customview/MyDialogFragment.java +++ /dev/null @@ -1,60 +0,0 @@ -package safeluck.drive.evaluation.customview; - -import android.app.Dialog; -import android.content.DialogInterface; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; - -public class MyDialogFragment extends DialogFragment { - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - - return super.onCreateView(inflater, container, savedInstanceState); - } - - @NonNull - @Override - public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - AlertDialog dialog = new AlertDialog.Builder(getActivity()) - .setTitle("璇烽�夋嫨鑰冭瘯椤�") - .setMessage("鏉ラ�夋嫨浣犺瀹炵幇鐨勪竴涓効鏈涙妸") - .setPositiveButton("鍦鸿��", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (callback != null){ - callback.changKao(); - } - } - }) - .setNegativeButton("璺��", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (callback!= null){ - callback.luKao(); - } - } - }).create(); - dialog.setCancelable(false); - return dialog; - } - private Callback callback; - - - public interface Callback{ - void changKao(); - void luKao(); - } - - - public void setCallback(Callback callback) { - this.callback = callback; - } -} diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/ParallelogramView.java b/app/src/main/java/safeluck/drive/evaluation/customview/ParallelogramView.java new file mode 100644 index 0000000..21275aa --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/ParallelogramView.java @@ -0,0 +1,75 @@ +package safeluck.drive.evaluation.customview; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.BitmapShader; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ComposeShader; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.PorterDuff; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Shader; +import android.util.AttributeSet; +import android.util.Log; +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatImageView; + +import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.util.Utils; + +/** + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: HomeCircleImageView + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-16 17:16 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-16 17:16 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +public class ParallelogramView extends View { + + private static final String TAG = ParallelogramView.class.getSimpleName(); + + private int color; + private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + private Path mPath = new Path(); + private int radiusDP = 7; + public ParallelogramView(Context context) { + super(context); + } + + public ParallelogramView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public ParallelogramView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + int pxRadius= (int) Utils.dp2Px(radiusDP); + pxRadius = 70; + paint.setStyle(Paint.Style.STROKE); + paint.setColor(Color.RED); + Log.i(TAG,String.format("%dDP鍊煎搴旂殑px=%dpx",radiusDP,pxRadius)); + RectF rectF = new RectF(getWidth()/2,getHeight()/2,getWidth()/2+2*pxRadius, + getHeight()/2+2*pxRadius); + mPath.arcTo(rectF,90,180); +// mPath.arcTo(rectF,270,360); + canvas.drawPath(mPath,paint); + + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java index 8fd32bc..3554241 100644 --- a/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java +++ b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java @@ -4,6 +4,8 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -12,6 +14,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; @@ -42,7 +46,7 @@ public class QRCodeDialog extends DialogFragment { private static final String TAG = "QRCodeDialog"; private String message="姝e湪鍔犺浇..."; - private boolean canCancel= true; + private boolean canCancel= false; private ImageView iv_qrCode; private Button btn; private Bitmap qrBitmap; @@ -60,13 +64,26 @@ @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (getDialog() != null) { + Window window = getDialog().getWindow(); + + if (window != null) { + window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + window.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); + + getDialog().setOnShowListener(dialog -> { + window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); + hideBottomUIMenu(); + }); + } + } View view = inflater.inflate(R.layout.layout_dialog_qrcode,container,false); initView(view); setCancelable(canCancel); Message message = Message.obtain(); message.what = 1; - handler.sendMessageDelayed(message,15*1000); + handler.sendMessageDelayed(message,25*1000); return view; } @@ -96,5 +113,20 @@ } - + /** + * 闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + */ + protected void hideBottomUIMenu() { + //闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api + View v = this.getDialog().getWindow().getDecorView(); + v.setSystemUiVisibility(View.GONE); + } else if (Build.VERSION.SDK_INT >= 19) { + //for new api versions. + View decorView = getDialog().getWindow().getDecorView(); + int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN; + decorView.setSystemUiVisibility(uiOptions); + } + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/SelectDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/SelectDialog.java new file mode 100644 index 0000000..6c6b645 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/SelectDialog.java @@ -0,0 +1,165 @@ +package safeluck.drive.evaluation.customview; + +import android.content.DialogInterface; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.RadioButton; +import android.widget.RadioGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import me.yokeyword.fragmentation.ISupportFragment; +import safeluck.drive.evaluation.R; + +/** + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: SelectDialog + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-23 15:03 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-23 15:03 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +public class SelectDialog extends DialogFragment implements View.OnClickListener { + + private static final String TAG = "SelectDialog"; + private Button button; + private RadioGroup rgb; + public static final int FIRST = 0; + public static final int SECOND = 1; + public static final int SELECT_NONE = -1; + private int result = SELECT_NONE; + private RadioButton rb_1,rb_2; + private ArrayList<String> stringArrayList; + + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + + if (getDialog() != null) { + Window window = getDialog().getWindow(); + + if (window != null) { + window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + window.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); + + getDialog().setOnShowListener(dialog -> { + window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); + hideBottomUIMenu(); + }); + } + } + View view = inflater.inflate(R.layout.layout_select_dlg,container,false); + Bundle bundle = getArguments(); + if (bundle != null){ + stringArrayList = bundle.getStringArrayList("content"); + } + initView(view); + return view; + } + + private void initView(View view) { + button = view.findViewById(R.id.btn_sure_); + rb_1 = view.findViewById(R.id.rb1); + rb_2 = view.findViewById(R.id.rb2); + if (stringArrayList != null){ + rb_1.setText(stringArrayList.get(0)); + rb_2.setText(stringArrayList.get(1)); + } + rgb = view.findViewById(R.id.radiogroub); + rgb.setOnCheckedChangeListener((RadioGroup group, int checkedId)-> { + switch (checkedId){ + case R.id.rb1: + Log.i(TAG,"绗竴涓閫変腑"); + result = FIRST; + break; + case R.id.rb2: + Log.i(TAG,"绗簩涓閫変腑"); + result = SECOND; + break; + default:break; + } + }); + button.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.btn_sure_: + if (onSelectedListener != null){ + onSelectedListener.makeYourChoice(result); + } + dismiss(); + break; + } + } + + public interface OnSelectedListener{ + void makeYourChoice(int res); + } + + private OnSelectedListener onSelectedListener; + + public void setSelectedListener(OnSelectedListener onSelectedListener){ + this.onSelectedListener = onSelectedListener; + } + + public static SelectDialog newInstance(String... args){ + + SelectDialog sle = new SelectDialog(); + if (args != null && args.length>=2){ + List<String> strs = Arrays.asList(args); + ArrayList<String> list = new ArrayList<>(strs); + Bundle bundle = new Bundle(); + bundle.putStringArrayList("content",list); + sle.setArguments(bundle); + } + + + return sle; + } + /** + * 闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + */ + protected void hideBottomUIMenu() { + //闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞� + if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api + View v = this.getDialog().getWindow().getDecorView(); + v.setSystemUiVisibility(View.GONE); + } else if (Build.VERSION.SDK_INT >= 19) { + //for new api versions. + View decorView = getDialog().getWindow().getDecorView(); + int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN; + decorView.setSystemUiVisibility(uiOptions); + } + } + + @Override + public void dismiss() { + + super.dismiss(); + } +} 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 4413c8a..6954618 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java @@ -2,8 +2,12 @@ import android.content.Context; import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Bundle; + +import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; @@ -11,6 +15,10 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.style.AbsoluteSizeSpan; +import android.text.style.ForegroundColorSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -43,9 +51,11 @@ import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.adapter.BaseDataInfoAdapter; import safeluck.drive.evaluation.adapter.GpsInfoAdapter; import safeluck.drive.evaluation.adapter.QuickAdapter; import safeluck.drive.evaluation.adapter.WrapContentLinearLayoutManager; +import safeluck.drive.evaluation.bean.BaseDataUIBean; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.bean.MCUInfo; import safeluck.drive.evaluation.cEventCenter.CEventCenter; @@ -67,6 +77,9 @@ private Gson gson = new Gson(); private RTKConfig mRtkConfig; private AppStatus appStatus; + private SpannableString spannableString; + private String versionDes; + private String version; private AppStatusViewModel appStatusViewModel; private ICEventListener icEventListener = new ICEventListener() { @Override @@ -82,13 +95,15 @@ fields[i].setAccessible(true); try { if (fields[i].getName().equalsIgnoreCase("version")){ - String version = (String) fields[i].get(mcuInfo); + version= (String) fields[i].get(mcuInfo); version = new String(BytesUtils.hexStringToBytes(version),"GBK"); - datas.add("鐗堟湰鍙凤細" + version+"#"+ BuildConfig.VERSION_NAME); + versionDes= "鐗堟湰鍙� "; + version = version+"#"+ BuildConfig.VERSION_NAME; + setitemInfo(versionDes,version,R.mipmap.version_pic); }else if(fields[i].getName().equalsIgnoreCase("sn")){ - datas.add( "璁惧搴忓垪鍙凤細" + fields[i].get(mcuInfo)); + setitemInfo("璁惧搴忓垪鍙� ", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.device_sn); }else if(fields[i].getName().equalsIgnoreCase("selftest")){ - datas.add( "鑷鐘舵�侊細" + fields[i].get(mcuInfo)); + setitemInfo("鑷鐘舵�� ", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.auto_check_status); } } catch (IllegalAccessException e) { @@ -102,16 +117,17 @@ public void run() { if (mRtkConfig != null){ - datas.add("鐪両D锛�"+mRtkConfig.getProvince()); - datas.add("甯侷D锛�"+mRtkConfig.getCity()); - datas.add("RTK骞冲彴鍦板潃锛�"+mRtkConfig.getIp()+":"+mRtkConfig.getPort()); + setitemInfo("鐪両D ", String.valueOf(mRtkConfig.getProvince()),R.mipmap.province_id); + setitemInfo("甯侷D ", String.valueOf(mRtkConfig.getCity()),R.mipmap.province_id); + setitemInfo("RTK骞冲彴鍦板潃 ", mRtkConfig.getIp()+":"+mRtkConfig.getPort(),R.mipmap.platform_pic); + setitemInfo("鑰冭瘯骞冲彴鍦板潃 ",ExamPlatformData.getInstance().getPlatformIP() + +":"+ExamPlatformData.getInstance().getPlatformPort(),R.mipmap.platform_pic); - datas.add("鑰冭瘯骞冲彴鍦板潃锛�"+ExamPlatformData.getInstance().getPlatformIP()+":"+ExamPlatformData.getInstance().getPlatformPort()); } if (appStatus != null){ - datas.add("RTK骞冲彴鐘舵�侊細"+(appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�")); - datas.add("鑰冭瘯骞冲彴鐘舵�侊細"+ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus())); + setitemInfo("RTK骞冲彴鐘舵�� ", appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�",R.mipmap.conn_status); + setitemInfo("鑰冭瘯骞冲彴鐘舵�� ", ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus()),R.mipmap.conn_status); } gpsInfoAdapter.addAll(datas); } @@ -122,16 +138,25 @@ } }; + private void setitemInfo(String des, String str, int id){ + versionDes=des; + version= versionDes+str; + spannableString = new SpannableString(version); + spannableString.setSpan(new AbsoluteSizeSpan(22),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#A8AAA7")),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new AbsoluteSizeSpan(28),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + datas.add(new BaseDataUIBean( spannableString,id)); + } + public static SupportFragment newInstance() { return new BaseDatasFragment(); } - private List<String> datas = new ArrayList<>(); - private RecyclerView recyclerView; + private List<BaseDataUIBean> datas = new ArrayList<>(); private ListView lv; - private GpsInfoAdapter gpsInfoAdapter; - private List<String> gpsinfos = new ArrayList<>(); + private BaseDataInfoAdapter gpsInfoAdapter; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -145,53 +170,41 @@ View headView = inflater.inflate(R.layout.inspect_signal_head,null); lv.addFooterView(footView); lv.addHeaderView(headView); - footView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// SetArgumentsFragment setArgumentsFragment = findFragment(SetArgumentsFragment.class); -// if (setArgumentsFragment == null){ -// setArgumentsFragment = SetArgumentsFragment.newInstance(); -// } - ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance()); - - } - }); - headView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance()); - - } - }); + lv.setDivider(new ColorDrawable(Color.parseColor("#2A344B"))); + lv.setDividerHeight(1); + footView.setOnClickListener(v -> ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance())); + headView.setOnClickListener(v -> ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance())); RTKConfigViewModel rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class); - rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() { - @Override - public void onChanged(RTKConfig rtkConfig) { - if (rtkConfig != null){ - Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); - mRtkConfig = rtkConfig; - } - - + rtkConfigViewModel.getRTKConfig().observe(this, rtkConfig -> { + if (rtkConfig != null){ + Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); + mRtkConfig = rtkConfig; } + + }); appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class); - appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() { - @Override - public void onChanged(AppStatus ppStatus) { - if (ppStatus != null){ - appStatus = ppStatus; - } + appStatusViewModel.getAppStatus().observe(this, ppStatus -> { + if (ppStatus != null){ + appStatus = ppStatus; } }); return view; } private void initView(View view) { + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } lv = view.findViewById(R.id.lv_gpsinfo); - gpsInfoAdapter = new GpsInfoAdapter(_mActivity); + gpsInfoAdapter = new BaseDataInfoAdapter(_mActivity); lv.setAdapter(gpsInfoAdapter); } @@ -206,4 +219,11 @@ super.onDetach(); CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC); } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + } } 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 66fd5a1..8021279 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java @@ -1,12 +1,16 @@ package safeluck.drive.evaluation.fragment; import android.content.Context; +import android.graphics.Color; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.Toolbar; import androidx.viewpager.widget.ViewPager; +import android.text.SpannableString; +import android.text.style.AbsoluteSizeSpan; +import android.text.style.ForegroundColorSpan; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -60,15 +64,20 @@ 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() { - @Override - public void onClick(View v) { - _mActivity.onBackPressed(); - } - }); - tb.setTitle(R.string.sys_setting); - tb.setSubtitle(R.string.sys_setting_sub); + + String str = "绯荤粺閰嶇疆 鏅鸿兘鑰冨煿锛屽姪鍔涢┚鑰冩柊鏃呯▼"; + + SpannableString spannableString = new SpannableString(str); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")), + 0,4, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new AbsoluteSizeSpan(28), + 0,4, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); + tb.setTitle(spannableString); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#ffa1a1a3")), + 5,str.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new AbsoluteSizeSpan(18), + 5,str.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); + tb.setTitle(spannableString); } @Override 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 78f59ae..7a2a4d5 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java @@ -1,10 +1,9 @@ package safeluck.drive.evaluation.fragment; -import android.content.DialogInterface; import android.os.Bundle; -import android.view.Gravity; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -14,18 +13,16 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; -import com.anyun.exam.lib.AYSdk; import me.yokeyword.fragmentation.ISupportFragment; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.BuildConfig; +import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.ExamPlatformData; -import safeluck.drive.evaluation.customview.LoadProgressDialog; +import safeluck.drive.evaluation.customview.MyDialog; /** @@ -54,6 +51,14 @@ } private void initView(View view) { + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } view.findViewById(R.id.network_train).setOnClickListener(this); view.findViewById(R.id.car_train).setOnClickListener(this); view.findViewById(R.id.system_setting).setOnClickListener(this); @@ -103,16 +108,23 @@ break; case R.id.exit_sys: - //閫�鍑虹郴缁� - AlertDialog.Builder builder = new AlertDialog.Builder(_mActivity); - builder.setMessage("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨").setPositiveButton("纭畾", new DialogInterface.OnClickListener() { + + MyDialog myDialog = MyDialog.Companion.newInstance("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨"); + + myDialog.setOnClick(new MyDialog.MyOnClickListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onSure() { _mActivity.finish(); + } - }).setNegativeButton("鍙栨秷", (DialogInterface dialog, int which)-> { - dialog.dismiss(); - }).show(); + + @Override + public void onCancle() { + + } + }); + + myDialog.show(getFragmentManager(),"mydialog"); break; case R.id.system_setting: diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java index 49d51a1..dc0c870 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java @@ -25,6 +25,7 @@ import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.Constant; +import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.MCUInfo; import safeluck.drive.evaluation.cEventCenter.CEventCenter; @@ -43,9 +44,6 @@ private static final String TAG = "InspectSignalFragment"; private static final int VALIAD_NUM = 1;//1楂樼數骞虫湁鏁� - - private TextView textView_turnLight,tv_speed,tv_engine; - private Toolbar toolbar; private Gson gson= new Gson(); private Handler handler = new Handler(); private LayoutCheckSignalBinding bingding; @@ -69,8 +67,8 @@ handler.post(new Runnable() { @Override public void run() { - bingding.tvRoateSpeed.setText(String.valueOf(mcuInfo.getEngine())); - bingding.tvDangweiNum.setText(String.valueOf(mcuInfo.getSpeed()/10.0)); + bingding.roatespeed.updateStr(String.valueOf(mcuInfo.getEngine())); + bingding.myspeed.updateStr(String.valueOf(mcuInfo.getSpeed()/10.0)); for (int i = 0; i < gpios.size(); i++) { Log.i(TAG, "run: gpio["+i+"]="+gpios.get(i)); @@ -117,15 +115,15 @@ } private void initView() { - toolbar = bingding.inpsectSignalToolbar.toolbar; - toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp,null)); - toolbar.setNavigationOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - _mActivity.onBackPressed(); - } - }); - toolbar.setTitle("鏌ョ湅杞﹁浇淇″彿杈撳叆"); + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } + } 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 0966173..7477d75 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -1,12 +1,18 @@ package safeluck.drive.evaluation.fragment; import android.content.Context; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.text.SpannableString; +import android.text.Spanned; import android.text.TextUtils; +import android.text.style.AbsoluteSizeSpan; +import android.text.style.ForegroundColorSpan; +import android.util.Base64; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -21,7 +27,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.DialogFragment; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; import androidx.work.OneTimeWorkRequest; @@ -29,7 +34,7 @@ import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; -import com.google.gson.Gson; +import com.squareup.picasso.Picasso; import org.json.JSONException; import org.json.JSONObject; @@ -43,33 +48,26 @@ import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.DB.Student; import safeluck.drive.evaluation.DB.WokViewModel; -import safeluck.drive.evaluation.DB.appstatusdb.AppStatus; -import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel; import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker; import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel; import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel; import safeluck.drive.evaluation.DB.failitems.FailedProj_select; +import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.adapter.ScoreAdapter; import safeluck.drive.evaluation.DB.exam_status.ExamStatus; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.bean.ScoreBean; -import safeluck.drive.evaluation.bean.SimulateNightBean; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.cEventCenter.ICEventListener; -import safeluck.drive.evaluation.customview.ArrowView; -import safeluck.drive.evaluation.customview.HouseView; -import safeluck.drive.evaluation.customview.LoadProgressDialog; -import safeluck.drive.evaluation.customview.MyDialogFragment; import safeluck.drive.evaluation.customview.QRCodeDialog; -import safeluck.drive.evaluation.httpmodule.RetrofitCreator; +import safeluck.drive.evaluation.customview.SelectDialog; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0201; import safeluck.drive.evaluation.platformMessage.JKMessage0202; import safeluck.drive.evaluation.platformMessage.JKMessage0204; import safeluck.drive.evaluation.platformMessage.PlatFormConstant; import safeluck.drive.evaluation.util.Utils; -import safeluck.drive.evaluation.viewmodels.TimeViewModel; /** * 鑱旂綉璁粌UI @@ -86,10 +84,9 @@ private ListView mListView; private Button btn_start_exam; private TextView tv_stop;//鍛煎彨璇锋眰锛堢粨鏉熻�冭瘯锛� - private Gson gson = new Gson(); private ScoreAdapter mScoreAdapter; - private ArrowView av_zhijiao, av_curve, av_park, av_podao; - private HouseView houseView; + private Button av_zhijiao, av_curve, av_park, av_podao; + private Button houseView; private List<ExamStatus> examStatusList = new ArrayList<>(); private List<String> item_conents = new ArrayList<>();//鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝� private int changKaoCount=0; @@ -97,10 +94,10 @@ private int item_id;//鎵e垎鍒嗘暟鎬诲拰 private ExamStatusViewModel examStatusViewModel; private static final int ADD_DATA = 1; - private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time, - tv_qf,tv_start_time,tv_sex; + private TextView tv_speed,tv_total_score,tv_name, + tv_start_time,tv_coach_name; private double speed=0.0; - private ImageView iv_rtk_status,iv_head; + private ImageView iv_head,iv_coach_head; private int currTotalScore = 100; private List<ScoreBean> mArrayList = new ArrayList<>(); @@ -122,12 +119,12 @@ public boolean handleMessage(Message msg) { if (msg.what == ADD_DATA){ MyLog.i("handler add_data totalScore="+currTotalScore); - tv_total_score.setText(getResources().getString(R.string.total_score,currTotalScore)); - houseView.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1 - av_podao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP)); - av_park.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK)); - av_curve.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE)); - av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); + setTotalScoreText(); + houseView.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1 + av_podao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP)); + av_park.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK)); + av_curve.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE)); + av_zhijiao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); for (int i = 0; i < btn_ids.size(); i++) { int viewId = getResources().getIdentifier(String.valueOf(btn_ids.get(i)),"id",_mActivity.getPackageName()); @@ -163,27 +160,27 @@ } }); - private int aaa(int type) { + private Drawable aaa(int type) { if (examStatusList!=null &&examStatusList.size()>0){ for (ExamStatus examStatus: - examStatusList) { + examStatusList) { if (type == examStatus.getMap_item()){ if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.BEGIN_ITEM){ //杩涘叆鑰冨満 if (examStatusList.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){ //缁撴潫鑰冭瘯浜� MyLog.i("杩涘叆鑰冨満缁撴潫鑰冭瘯锛宻tartexam="+examStatus.getStartExam()); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ MyLog.i("杩涘叆鑰冨満锛宼ype="+type); - return getResources().getColor(R.color.pink); + return getResources().getDrawable(R.drawable.ic_btn_examing); } }else if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.FINISH_ITEM){ if (examStatusList.get(0).getStartExam()==Constant.NONE_BEEN_START_EXAM){ - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } switch (type) { @@ -191,7 +188,7 @@ if (item_conents.contains("鍊掕溅鍏ュ簱")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囧�掕溅鍏ュ簱鍚堟牸"); @@ -200,12 +197,12 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 2: if (item_conents.contains("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囧潯閬撳畾鐐瑰仠杞﹀拰璧锋鍚堟牸鍚堟牸"); @@ -214,12 +211,12 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 3: if (item_conents.contains("渚ф柟鍋滆溅")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囦晶鏂瑰仠杞﹀悎鏍�"); @@ -228,12 +225,12 @@ ExamPlatformData.getInstance().getTTS().speak("渚ф柟鍋滆溅鍚堟牸"); examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 4: if (item_conents.contains("鏇茬嚎琛岄┒")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囨洸绾胯椹跺悎鏍�"); @@ -242,12 +239,12 @@ ExamPlatformData.getInstance().getTTS().speak("鏇茬嚎琛岄┒鍚堟牸"); examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 5: if (item_conents.contains("鐩磋杞集")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囩洿瑙掕浆寮悎鏍�"); @@ -256,7 +253,7 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } @@ -264,13 +261,14 @@ } }else{ - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } } } } - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } + /** * 璺�冮」鐩� 姣忎釜椤圭洰鐨勯鑹插彉鍖� * @param type @@ -463,13 +461,9 @@ examStatusList.addAll(examStatus); mHandler.obtainMessage(ADD_DATA).sendToTarget(); if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){ - btn_start_exam.setEnabled(false); - tv_stop.setEnabled(true); - iv_head.getDrawable().setLevel(1); + btn_start_exam.setText("缁撴潫鑰冭瘯"); }else{ - btn_start_exam.setEnabled(true); - tv_stop.setEnabled(false); - iv_head.getDrawable().setLevel(0); + btn_start_exam.setText("寮�濮嬭�冭瘯"); } exam_type = examStatus.get(0).getStartExam(); } @@ -484,51 +478,47 @@ for (Student student : students) { MyLog.i(TAG, "onChanged: " + student.toString()); - if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.STU_ID){ - - tv_name.setText(getString(R.string.name)+student.getName()); - tv_id.setText(getString(R.string.user_id)+student.getID()); - ExamPlatformData.getInstance().setId(student.getID()); - tv_sex.setText(getString(R.string.sex)+(student.getSex()==2?"濂�":"鐢�")); - tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time())); - }else if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.COACH_ID){ - ExamPlatformData.getInstance().setCoachID(student.getID()); + if (ExamPlatformData.getInstance().getSign_mode()==ExamPlatformData.SIGN_MODE_EXAM){ + if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.STU_ID){ + tv_name.setText(getNameColor(student.getName())); + Picasso.with(_mActivity).load(student.getHead_url()).into(iv_head); + ExamPlatformData.getInstance().setId(student.getID()); + tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time())); + }else if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.COACH_ID){ + ExamPlatformData.getInstance().setCoachID(student.getID()); + tv_coach_name.setText(getNameColor(student.getName())); + Picasso.with(_mActivity).load(student.getHead_url()).into(iv_coach_head); + } } + } } }); - AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class); - appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() { - @Override - public void onChanged(AppStatus appStatus) { - if (appStatus != null){ - Log.i(TAG, "onChanged: "+appStatus.toString()); - iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status()); - tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr( - ExamPlatformData.getInstance().getExamplatformStatus()))); - tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num())); - tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]); - } - } - }); - TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class); - timeViewModel.getLiveDataTime().observe(this, new Observer<String>() { - @Override - public void onChanged(String s) { - tv_network_time.setText(s); - } - }); return view; } + private SpannableString getNameColor(String str) { + SpannableString spannableString = new SpannableString(str); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#60FFFF")),0, + str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + return spannableString; + } private void initView(View view) { + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } btn_ids.add(R.id.btn_1); btn_ids.add(R.id.btn_2); btn_ids.add(R.id.btn_3); @@ -540,32 +530,27 @@ btn_ids.add(R.id.btn_9); btn_ids.add(R.id.btn_10); - view.findViewById(R.id.iv_head).setOnClickListener(this); + ((TextView)view.findViewById(R.id.tv_score_tip)).setText("褰撳墠鑰冭瘯寰楀垎"); av_curve = view.findViewById(R.id.av3); av_park = view.findViewById(R.id.av2); av_podao = view.findViewById(R.id.av1); av_zhijiao = view.findViewById(R.id.av4); houseView = view.findViewById(R.id.hv); tv_name = view.findViewById(R.id.tv_name); - tv_id = view.findViewById(R.id.tv_ID); + tv_coach_name = view.findViewById(R.id.tv_coach_name); tv_start_time = view.findViewById(R.id.tv_start_time); - tv_sex = view.findViewById(R.id.tv_sex); - tv_work_platform = view.findViewById(R.id.platform); - iv_rtk_status = view.findViewById(R.id.iv_rtk_connect); - iv_rtk_status.getDrawable().setLevel(0); + iv_head = view.findViewById(R.id.iv_head); - tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus); - tv_qf = view.findViewById(R.id.tv_qf); + iv_head.setOnClickListener(this); + iv_coach_head = view.findViewById(R.id.iv_coach_head); + iv_coach_head.setOnClickListener(this); tv_speed = view.findViewById(R.id.tv_speed); tv_total_score = view.findViewById(R.id.tv_total_score); - tv_network_time = view.findViewById(R.id.network_time); - tv_network_time.setText(Utils.getHHmm()); tv_speed.setText(getResources().getString(R.string.speed,speed)); - view.findViewById(R.id.btn_return).setOnClickListener(this); mListView = view.findViewById(R.id.lv); mListView.setFocusable(false); mListView.setOnTouchListener((v, ev) -> { @@ -589,46 +574,42 @@ btn_start_exam.setOnClickListener(this); tv_stop = view.findViewById(R.id.tv_stop); tv_stop.setOnClickListener(this); - mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null)); } -private LoadProgressDialog loadProgressDialog; -MyDialogFragment myDialogFragment; @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_start: - - clearArrayListResetTotalScore(); + if (btn_start_exam.getText().toString().equalsIgnoreCase("寮�濮嬭�冭瘯")){ + clearArrayListResetTotalScore(); - if (myDialogFragment == null){ - myDialogFragment = new MyDialogFragment(); + + + + SelectDialog selectDialog = SelectDialog.newInstance("杩涜鍦哄湴鑰冭瘯","杩涜閬撹矾鑰冭瘯"); + selectDialog.setSelectedListener((int res)->{ + if (res != SelectDialog.SELECT_NONE){ + if (res== SelectDialog.FIRST){ + sendJK0202(2); + }else{ + sendJK0202(3); + } + } + }); + selectDialog.show(getFragmentManager(),"selectdialog"); + + }else{ + stopExam(); } - myDialogFragment.show(getFragmentManager(),"dialog"); - myDialogFragment.setCallback(new MyDialogFragment.Callback() { - @Override - public void changKao() { - sendJK0202(2); - } - - @Override - public void luKao() { - sendJK0202(3); - - } - }); break; - case R.id.tv_stop: - Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show(); - stopExam(); - break; + case R.id.view_map: if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){ RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class); @@ -647,20 +628,52 @@ } break; - case R.id.btn_return: - _mActivity.onBackPressed(); - break; - case R.id.iv_head: - MyLog.i(PlatFormConstant.HTTPTAG,"绛惧埌"); - loadProgressDialog = LoadProgressDialog.newInstance("璇风◢鍚�..."); - loadProgressDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen); - loadProgressDialog.showNow(getFragmentManager(),"loadingdiaolog"); - //浠庢湇鍔″櫒鑾峰彇鐢ㄤ簬鐢熸垚绛惧埌浜岀淮鐮佺殑url + case R.id.iv_head: + MyLog.i(TAG,"瀛﹀憳绛惧埌"); + if (ExamPlatformData.getInstance().getSign_mode() == ExamPlatformData.SIGN_MODE_TRAIN){ + Toast.makeText(_mActivity, "鎮ㄥ凡缁忓湪\"鍗曟満璁粌\"椤甸潰涓嬬鍒�", Toast.LENGTH_SHORT).show(); + return; + } + if (ExamPlatformData.getInstance().IsStuSign()){ + + ExamPlatformData.getInstance().setStuSign(false); + qrcode(1,false); + + }else{ + ExamPlatformData.getInstance().setStuSign(true); + qrcode(1,true); + ExamPlatformData.getInstance().setSingnMode(ExamPlatformData.SIGN_MODE_EXAM); + } + break; + case R.id.iv_coach_head: + MyLog.i(PlatFormConstant.HTTPTAG,"鏁欑粌绛惧埌"); + if (ExamPlatformData.getInstance().getSign_mode() == ExamPlatformData.SIGN_MODE_TRAIN){ + Toast.makeText(_mActivity, "鎮ㄥ凡缁忓湪\"鍗曟満璁粌\"椤甸潰涓嬬鍒�", Toast.LENGTH_SHORT).show(); + return; + } + if (ExamPlatformData.getInstance().IsCoachSign()){ + ExamPlatformData.getInstance().setCoachSign(false); + qrcode(0,false); + }else{ + ExamPlatformData.getInstance().setCoachSign(true); + qrcode(0,true); + ExamPlatformData.getInstance().setSingnMode(ExamPlatformData.SIGN_MODE_EXAM); + } + break; } } - + private void qrcode(int type,boolean isSign) { + content = "87,"+String.valueOf(type)+ ","+ExamPlatformData.getInstance().getPhone() + +(isSign?",signin":",signout"); + Log.i(TAG,String.format("浜岀淮鐮佸唴瀹癸細%s",content)); + byte[] bytes = Utils.qrencrypt(content.getBytes(),"safeluck"); + String str = Base64.encodeToString(bytes,Base64.DEFAULT); + Log.i(TAG,"base64鍔犲瘑鍚庣殑瀛楃涓�="+str); + QRCodeDialog qrCodeDialog = QRCodeDialog.newInstance(str); + qrCodeDialog.show(getFragmentManager(),"qrdialog" ); + } private void sendJK0202(int type) { final JKMessage0202 jkMessage0202 = new JKMessage0202(); @@ -718,7 +731,7 @@ item_id = 0; failedProjViewModel.deleteAll(); - tv_total_score.setText(String.valueOf(currTotalScore)); + setTotalScoreText(); ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯"); @@ -757,6 +770,7 @@ public void onAttach(Context context) { super.onAttach(context); CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_SPEED_TOPIC); + } @Override @@ -765,5 +779,20 @@ CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC); } + private void setTotalScoreText() { + String totalstr=String.format(getString(R.string.total_score),currTotalScore); + SpannableString msp = new SpannableString(totalstr); + msp.setSpan(new ForegroundColorSpan(Color.parseColor("#A1A1A3")),totalstr.length()-1,totalstr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + msp.setSpan(new AbsoluteSizeSpan(13),totalstr.length()-1,totalstr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + tv_total_score.setText(msp); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java index 8d77325..31da35f 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java @@ -56,6 +56,8 @@ import safeluck.drive.evaluation.bean.MCUInfo; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.cEventCenter.ICEventListener; +import safeluck.drive.evaluation.customview.MyArgEditText; +import safeluck.drive.evaluation.customview.SelectDialog; import safeluck.drive.evaluation.util.CThreadPoolExecutor; import safeluck.drive.evaluation.util.FileUtil; import safeluck.drive.evaluation.util.SPUtils; @@ -77,10 +79,12 @@ private static final int REQUEST_CODE_CAR = 101; private int request_code = REQUEST_CODE_MAP; private Button btn_config_signal; - private Button btn_mcu_upgrade,btn_map_select,btn_roadmap_select; - private EditText et_ip,et_port,et_simulte_ip,et_simulate_port; + private Button btn_mcu_upgrade,btn_map_select; private Gson gson = new Gson(); - private EditText et_ip_rtk,et_port_rtk,et_city_id,et_city_province,et_phone; + + + private MyArgEditText platform_ip,platform_port,rtkPlatform_ip,rtkPlatform_port,city,province; + private RTKConfigViewModel rtkConfigViewModel; private RTKConfig mRtkConfig; private boolean needSendRtk = false; @@ -88,7 +92,7 @@ public static SetArgumentsFragment newInstance() { return new SetArgumentsFragment(); } -// + @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -101,11 +105,11 @@ if (rtkConfig != null){ Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); mRtkConfig = rtkConfig; - et_ip_rtk.setText(rtkConfig.getIp()); - et_city_id.setText(String.valueOf(rtkConfig.getCity())); - et_city_province.setText(String.valueOf(rtkConfig.getProvince())); - et_port_rtk.setText(String.valueOf(rtkConfig.getPort())); - et_phone.setText(rtkConfig.getPhone()); + + rtkPlatform_ip.updateStr(rtkConfig.getIp()); + rtkPlatform_port.updateStr(String.valueOf(rtkConfig.getPort())); + city.updateStr(String.valueOf(rtkConfig.getCity())); + province.updateStr(String.valueOf(rtkConfig.getProvince())); ExamPlatformData.getInstance().setRTKPort(rtkConfig.getPort()); ExamPlatformData.getInstance().setRTKIP(rtkConfig.getIp()); @@ -131,7 +135,6 @@ e.printStackTrace(); } jsonObject.remove("_id"); - rtkjson = null; rtkjson = jsonObject.toString(); MyLog.i( "need resend RTK閰嶇疆淇℃伅锛�" + rtkjson+"鏍囧織浣嶏細"+needSendRtk); AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson); @@ -142,45 +145,38 @@ } private void initView(View view) { -// toolbar =view.findViewById(R.id.toolbar); -// toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp,null)); -// toolbar.setNavigationOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// _mActivity.onBackPressed(); -// } -// }); -// toolbar.setTitle("璁剧疆鍙傛暟"); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } view.findViewById(R.id.btn_save_platform).setOnClickListener(this); - et_ip = view.findViewById(R.id.et_platform_ip); - et_port = view.findViewById(R.id.et_platform_port); - et_ip.setText(ExamPlatformData.getInstance().getPlatformIP()); - et_port.setText(ExamPlatformData.getInstance().getPlatformPort()+""); + platform_ip = view.findViewById(R.id.platform_ip); + platform_port = view.findViewById(R.id.platform_port); + + platform_ip.updateStr(ExamPlatformData.getInstance().getPlatformIP()); + + platform_port.updateStr(ExamPlatformData.getInstance().getPlatformPort()+""); btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade); btn_map_select = view.findViewById(R.id.btn_map_select); - btn_roadmap_select = view.findViewById(R.id.btn_roadmap_select); view.findViewById(R.id.btn_car_select).setOnClickListener(this); btn_mcu_upgrade.setOnClickListener(this); btn_map_select.setOnClickListener(this); - btn_roadmap_select.setOnClickListener(this); btn_config_signal = view.findViewById(R.id.btn_signal_conf); btn_config_signal.setOnClickListener(this); - et_ip_rtk = view.findViewById(R.id.rtk_addr_ip); - et_simulte_ip = view.findViewById(R.id.simulate_ip); - et_city_id = view.findViewById(R.id.et_city_id); - et_city_province = view.findViewById(R.id.et_provice_id); - et_phone = view.findViewById(R.id.et_phone); - et_port_rtk = view.findViewById(R.id.rtk_addr_port); - et_simulate_port = view.findViewById(R.id.simulate_port); - + rtkPlatform_ip = view.findViewById(R.id.rtk_addr_ip); + rtkPlatform_port = view.findViewById(R.id.rtk_addr_port); + city = view.findViewById(R.id.city_id); + province = view.findViewById(R.id.province_id); } @Override public void onClick(View v) { switch (v.getId()) { - case R.id.btn_inpsect_signal: - break; + case R.id.btn_signal_conf: SupportFragment signalFragment = findChildFragment(SignalConfigFragment.class); if (signalFragment == null){ @@ -207,24 +203,32 @@ break; case R.id.btn_save_platform: Toast.makeText(_mActivity, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show(); - if(ExamPlatformData.getInstance().compareIPandPort(et_ip.getText().toString().trim(),Integer.parseInt(et_port.getText().toString().trim()))){ + String tempPlatformIp = platform_ip.getInputStr().trim(); + String tempRTKPlatformIp = rtkPlatform_ip.getInputStr().trim(); + + + int city_id_ = Integer.parseInt(city.getInputStr().trim()); + + int province_id_ = Integer.parseInt(province.getInputStr().trim()); + + int tempPlatformPort = Integer.parseInt(platform_port.getInputStr().trim()); + int tempRTKPlatformPort = Integer.parseInt(rtkPlatform_port.getInputStr().trim()); + + if(ExamPlatformData.getInstance().compareIPandPort(tempPlatformIp,tempPlatformPort)){ SPUtils.put(getActivity(), SPUtils.DES_HEX_PWD,""); ((MainActivity)getActivity()).examPlatformModel.getDataChange().postValue(1); - ExamPlatformData.getInstance().insertPlatformIp(et_ip.getText().toString().trim()); - ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim())); + ExamPlatformData.getInstance().insertPlatformIp(tempPlatformIp); + ExamPlatformData.getInstance().insertPlatformPort(tempPlatformPort); } if (mRtkConfig != null){ - String rtkip = et_ip_rtk.getText().toString().trim(); - int rtkport = Integer.parseInt(et_port_rtk.getText().toString().trim()); - mRtkConfig.setPort(rtkport); - mRtkConfig.setCity(Integer.parseInt(et_city_id.getText().toString().trim())); - mRtkConfig.setProvince(Integer.parseInt(et_city_province.getText().toString().trim())); - mRtkConfig.setIp(rtkip); - mRtkConfig.setPhone(et_phone.getText().toString().trim()); + mRtkConfig.setPort(tempRTKPlatformPort); + mRtkConfig.setCity(city_id_); + mRtkConfig.setProvince(province_id_); + mRtkConfig.setIp(tempRTKPlatformIp); - if (ExamPlatformData.getInstance().compareRTKIPandPort(rtkip,rtkport)){ + if (ExamPlatformData.getInstance().compareRTKIPandPort(tempRTKPlatformIp,tempRTKPlatformPort)){ mRtkConfig.setRegistered(0); MyLog.i("rtk ip鍜屽湴鍧�鏈夊彉鍖�"); needSendRtk = true; @@ -234,9 +238,6 @@ rtkConfigViewModel.insertRTKConfig(mRtkConfig); } - - - _mActivity.onBackPressed(); break; case R.id.btn_car_select://杞﹁締妯″瀷鍜屽湴鍥惧叕鐢ㄤ竴濂椾唬鐮� 鍖哄埆鍦ㄤ簬REQUEST_CODE @@ -244,12 +245,22 @@ openFileMgr(); break; case R.id.btn_map_select: - request_code = REQUEST_CODE_MAP; - openFileMgr(); - break; - case R.id.btn_roadmap_select: - request_code = REQUEST_CODE_ROADMAP; - openFileMgr(); + SelectDialog selectDialog = SelectDialog.newInstance(); + selectDialog.show(getFragmentManager(),"selectdialog"); + selectDialog.setSelectedListener((int res) -> { + if (res != SelectDialog.SELECT_NONE){ + if (res == SelectDialog.FIRST){ + request_code = REQUEST_CODE_MAP; + Toast.makeText(_mActivity, "鍦鸿�冨湴鍥鹃�夋嫨锛�", Toast.LENGTH_SHORT).show(); + }else{ + request_code = REQUEST_CODE_ROADMAP; + Toast.makeText(_mActivity, "璺�冨湴鍥鹃�夋嫨锛�", Toast.LENGTH_SHORT).show(); + } + openFileMgr(); + }else{ + Toast.makeText(_mActivity, "娌℃湁浠讳綍閫夋嫨锛�", Toast.LENGTH_SHORT).show(); + } + }); break; default: break; @@ -335,4 +346,9 @@ public void onDetach() { super.onDetach(); } + + @Override + public void onDestroyView() { + super.onDestroyView(); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java index ece42fa..ae7b7a7 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java @@ -1,55 +1,41 @@ package safeluck.drive.evaluation.fragment; import android.content.Context; -import android.os.AsyncTask; import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.text.Editable; -import android.text.InputType; import android.text.TextUtils; -import android.text.TextWatcher; import android.util.Log; -import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.inputmethod.EditorInfo; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; -import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatSpinner; import androidx.appcompat.widget.Toolbar; -import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; -import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; -import com.google.gson.Gson; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; -import java.util.Map; -import java.util.Set; import me.yokeyword.fragmentation.SupportFragment; -import safeluck.drive.evaluation.Constant; +import safeluck.drive.evaluation.DB.WorkRoomDataBase; import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel; import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.SignalConfigBean; -import safeluck.drive.evaluation.bean.SignalConfigRemote; -import safeluck.drive.evaluation.util.Utils; +import safeluck.drive.evaluation.util.CThreadPoolExecutor; /** @@ -64,27 +50,14 @@ private static final int INDEX = 1; private static final int HIGHLEVEL = 2; private static final int MAINBOARD = 3; - private Handler handler = new Handler(){ - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - int id = msg.arg1; - int sig = msg.arg2; - switch (msg.what){ - case INDEX: - signalConfigViewModel.updateindex(sig,id); - break; - case HIGHLEVEL: - break; - case MAINBOARD: - break; - } - } - }; + + private ArrayAdapter adapter1; + private ArrayAdapter adapter2; + private String[] arr_strs; private List<SignalConfigBean> signalConfiglist =new ArrayList<>(); - List<SignalConfigRemote> list = new ArrayList<>();//瑕佸彂閫佺粰remoteservice鐨勪俊鍙烽厤缃紝鏈夊彲鑳藉彂涓嶅嚭鍘� + List<SingalConfig> list = new ArrayList<>();//瑕佸彂閫佺粰remoteservice鐨勪俊鍙烽厤缃紝鏈夊彲鑳藉彂涓嶅嚭鍘� private Toolbar mToobar; private ListView listView; private LinearLayout linearLayout; @@ -102,48 +75,32 @@ } private void initView(View view) { + arr_strs = getResources().getStringArray(R.array.signals_name); + mToobar = view.findViewById(R.id.toolbar); - mToobar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp,null)); linearLayout = view.findViewById(R.id.ll_container); - mToobar.setNavigationOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - _mActivity.onBackPressed(); - } - }); mToobar.setTitle("淇″彿閰嶇疆"); - listView =new ListView(_mActivity); - ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - ViewGroup.LayoutParams layoutParams1 = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - listView.setLayoutParams(layoutParams); - linearLayout.addView(listView); + listView =view.findViewById(R.id.lv_signalconf); listView.setDivider(null); final MySignalsAdapter mySignalsAdapter = new MySignalsAdapter(_mActivity); signalConfigViewModel = ViewModelProviders.of(this).get(SignalConfigViewModel.class); - signalConfigViewModel.getSignalConfigs().observe(this, new Observer<List<SingalConfig>>() { - @Override - public void onChanged(List<SingalConfig> singalConfigs) { - list.clear(); - signalConfiglist.clear(); - MyLog.i(TAG,"淇″彿閰嶇疆鍙戠敓鍙樺寲"); + signalConfigViewModel.getSignalConfigs().observe(this, singalConfigs -> { + list.clear(); + signalConfiglist.clear(); + MyLog.i(TAG,"淇″彿閰嶇疆鍙戠敓鍙樺寲"); - for (int i = 0; i < singalConfigs.size(); i++) { - SignalConfigRemote signalConfigRemote = new SignalConfigRemote(); - signalConfigRemote.setFunc_id(i); - signalConfigRemote.setGpio_num(singalConfigs.get(i).getIndex()); - signalConfigRemote.setLevel(singalConfigs.get(i).getHighLevel()); - list.add(signalConfigRemote); - } - for (int i = 0; i < singalConfigs.size(); i++) { - SingalConfig singalConfig = singalConfigs.get(i); - i++; + for (int i = 0; i < singalConfigs.size(); i++) { + SingalConfig singalConfig = singalConfigs.get(i); + i++; + if (i<singalConfigs.size()){ SingalConfig singalConfig1 = singalConfigs.get(i); signalConfiglist .add(new SignalConfigBean(singalConfig.getSignalName(),singalConfig1.getSignalName(),singalConfig.getHighLevel()==1?true:false,singalConfig.getMainBoard()==1?true:false, singalConfig1.getHighLevel()==1?true:false,singalConfig1.getMainBoard()==1?true:false,singalConfig.getIndex(),singalConfig1.getIndex())); mySignalsAdapter.notifyDataSetChanged(); } + } }); @@ -153,7 +110,6 @@ } -private Gson gson = new Gson(); @@ -201,148 +157,170 @@ } }); - viewHolder.checkBox4.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox4.getTag(); - signalConfigBean.setFour(isChecked); - - } - });viewHolder.checkBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox2.getTag(); - signalConfigBean.setTwo(isChecked); - } - });viewHolder.checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + viewHolder.checkBox1.setOnCheckedChangeListener((buttonView,isChecked)-> { SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox1.getTag(); signalConfigBean.setOne(isChecked); signalConfigViewModel.updateHightlevel(isChecked?1:0,position*2); + + }); + viewHolder.checkBox1.setTag(signalConfiglist.get(position)); + viewHolder.checkBox3.setTag(signalConfiglist.get(position)); + + adapter1 = new ArrayAdapter<String>(_mActivity,R.layout.spinner_item,arr_strs); + adapter1.setDropDownViewResource(R.layout.dropdown_stytle); + adapter2 = new ArrayAdapter<String>(_mActivity,R.layout.spinner_item,arr_strs); + adapter2.setDropDownViewResource(R.layout.dropdown_stytle); + viewHolder.editText1.setAdapter(adapter1); + viewHolder.editText2.setAdapter(adapter2); + + + viewHolder.editText1.setTag(position*2+1); + viewHolder.editText2.setTag((2*(1+position))); + + viewHolder.editText1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { + int index = (int) viewHolder.editText1.getTag(); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + + int indexPre = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName2Index(arr_strs[pos]); + int fun_id = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(arr_strs[pos]); + Log.i(TAG,String.format("Spinner1 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" ,index,fun_id,arr_strs[pos])); + String siname=WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName(index); + int fun_idpRe= WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(siname); + Log.i(TAG,index+" "+siname+ " arr-Strs[pos]="+arr_strs[pos]+ " "+pos); + if (siname!=null&&siname.equals(arr_strs[pos])){ + + }else{ + Log.i(TAG,String.format("鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",siname,index,indexPre)); + Log.i(TAG,String.format("鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",arr_strs[pos],indexPre,index)); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(indexPre,fun_idpRe); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(index,fun_id); +// signalConfigViewModel.updateindex(indexPre,getSigal2Pos(siname)); + } + + Log.i(TAG,String.format("Spinner1 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" + + "pre=%d,indexpreName=%s",index,pos + ,arr_strs[pos],indexPre,siname)); +// signalConfigViewModel.updateindex(index,pos); + } + }); + + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + } }); + viewHolder.editText2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { + int index = (int) viewHolder.editText2.getTag(); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + + int indexPre = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName2Index(arr_strs[pos]); + int fun_id = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(arr_strs[pos]); + Log.i(TAG,String.format("Spinner2 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" ,index,fun_id,arr_strs[pos])); + String siname=WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName(index); + int fun_idpRe= WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(siname); + Log.i(TAG,index+" sp2 "+siname+ " arr-Strs[pos]="+arr_strs[pos]+ " "+pos); + if (siname!=null&&siname.equals(arr_strs[pos])){ + + }else{ + Log.i(TAG,String.format("sp2鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",siname,index,indexPre)); + Log.i(TAG,String.format("sp2鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",arr_strs[pos],indexPre,index)); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(indexPre,fun_idpRe); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(index,fun_id); +// signalConfigViewModel.updateindex(indexPre,getSigal2Pos(siname)); + } + + Log.i(TAG,String.format("Spinner2 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" + + "pre=%d,indexpreName=%s",index,pos + ,arr_strs[pos],indexPre,siname)); + } + }); + + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + + convertView.setTag(viewHolder); - viewHolder.checkBox1.setTag(signalConfiglist.get(position)); - viewHolder.checkBox2.setTag(signalConfiglist.get(position)); - viewHolder.checkBox3.setTag(signalConfiglist.get(position)); - viewHolder.checkBox4.setTag(signalConfiglist.get(position)); }else { + viewHolder = (ViewHolder) convertView.getTag(); viewHolder.checkBox1.setTag(signalConfiglist.get(position)); - viewHolder.checkBox2.setTag(signalConfiglist.get(position)); viewHolder.checkBox3.setTag(signalConfiglist.get(position)); - viewHolder.checkBox4.setTag(signalConfiglist.get(position)); + + viewHolder.editText1.setTag(position*2+1); + viewHolder.editText2.setTag((2*(1+position))); } - viewHolder.editText1.setTag(position*2); - viewHolder.editText2.setTag((position*2+1)); + + final SignalConfigBean signalConfigItem = getItem(position); - viewHolder.textView1.setText(signalConfigItem.getSignal_name_first()); - viewHolder.textView2.setText(signalConfigItem.getSignal_name_second()); + viewHolder.textView1.setText(String.valueOf(position*2+1)); + viewHolder.textView2.setText(String.valueOf(2*(1+position))); - viewHolder.editText1.setText(String.valueOf(signalConfigItem.getPort_one())); - viewHolder.editText2.setText(String.valueOf(signalConfigItem.getPort_two())); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + + String signName1=WorkRoomDataBase.getWorkRoomDataBase(getActivity()).getSignalConfigDao().getSignalName(position*2+1); + String s2=WorkRoomDataBase.getWorkRoomDataBase(getActivity()).getSignalConfigDao().getSignalName((position+1)*2); + + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + Log.i(TAG,"CThreadPoolExecutor position="+position+ " s1="+signName1+" s2="+s2); + viewHolder.editText1.setSelection(getSigal2Pos(signName1)); + viewHolder.editText2.setSelection(getSigal2Pos(s2)); + } + }); + + } + }); + + viewHolder.checkBox1.setChecked(signalConfigItem.isOne()); - viewHolder.checkBox2.setChecked(signalConfigItem.isTwo()); viewHolder.checkBox3.setChecked(signalConfigItem.isThree()); - viewHolder.checkBox4.setChecked(signalConfigItem.isFour()); return convertView; } class ViewHolder{ CheckBox checkBox1; - CheckBox checkBox2; CheckBox checkBox3; - CheckBox checkBox4; - EditText editText1; - EditText editText2; + AppCompatSpinner editText1; + AppCompatSpinner editText2; TextView textView1; TextView textView2; public ViewHolder(final View convertView) { checkBox1 = convertView.findViewById(R.id.signal_check_1); - checkBox2 = convertView.findViewById(R.id.signal_check_2); checkBox3 = convertView.findViewById(R.id.signal_check_3); - checkBox4 = convertView.findViewById(R.id.signal_check_4); editText1 = convertView.findViewById(R.id.et_signal1_port); editText2 = convertView.findViewById(R.id.et_signal2_port); - editText1.setInputType(EditorInfo.TYPE_CLASS_NUMBER); - editText2.setInputType(EditorInfo.TYPE_CLASS_NUMBER); - editText1.setImeOptions(EditorInfo.IME_ACTION_DONE); - editText2.setImeOptions(EditorInfo.IME_ACTION_DONE); - editText1.setSingleLine(); - editText2.setSingleLine(); - editText1.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - int pos = (int) editText1.getTag(); - String str = s.toString(); - if (!TextUtils.isEmpty(str)&& Utils.isDigital(str)){ - int a = Integer.parseInt(str); - if (a== list.get(pos).getGpio_num()){ - - }else{ - handler.removeMessages(INDEX); - Message message = Message.obtain(); - message.what = INDEX; - message.arg1 = pos; - message.arg2 = a; - handler.sendMessageDelayed(message,1500); - } - } - } - }); - editText2.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - } - - @Override - public void afterTextChanged(Editable s) { - int pos = (int) editText2.getTag(); - String str = s.toString(); - if (!TextUtils.isEmpty(str)&& Utils.isDigital(str)){ - int a = Integer.parseInt(str); - if (a== list.get(pos).getGpio_num()){ - - }else{ - handler.removeMessages(INDEX); - Message message = Message.obtain(); - message.what = INDEX; - message.arg1 = pos; - message.arg2 = a; - handler.sendMessageDelayed(message,1500); - } - - } - } - }); @@ -352,23 +330,15 @@ } } - @Override - public void onResume() { - super.onResume(); - Log.i(TAG, "onResume: "); - + private int getSigal2Pos(String signalConfigItem) { + for (int i = 0; i < arr_strs.length; i++) { + if (arr_strs[i].equals(signalConfigItem)){ + return i; + }else{ + continue; + } + } + return -1; } - @Override - public void onStop() { - super.onStop(); - Log.i(TAG, "onStop: "); - - } - - @Override - public void onPause() { - super.onPause(); - Log.i(TAG, "onPause: "); - } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java index 5eab933..0fdbffa 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java @@ -291,11 +291,11 @@ Log.i(TAG, "attachInfo.attach_message_id ="+attachInfo.attach_message_id ); if (attachInfo.attach_message_id == 0x41){ Log.i(TAG, "onClick: 41"); - attachInfo.attach_data="00000000"; +// attachInfo.attach_data="00000000"; }else{ //18涓瓧鑺� ascii - attachInfo.attach_data="303030303030303030303030303030303030"; +// attachInfo.attach_data="303030303030303030303030303030303030"; } jkMessage0206.attachInfo = attachInfo; 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 da8ebf4..8ac2f3d 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java @@ -1,6 +1,7 @@ package safeluck.drive.evaluation.fragment; import android.content.Context; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; @@ -14,7 +15,13 @@ import android.os.Handler; import android.os.Message; +import android.text.Html; +import android.text.SpannableString; +import android.text.Spanned; import android.text.TextUtils; +import android.text.style.AbsoluteSizeSpan; +import android.text.style.ForegroundColorSpan; +import android.util.Base64; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -35,6 +42,7 @@ import org.json.JSONException; import org.json.JSONObject; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -51,22 +59,22 @@ import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel; import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel; import safeluck.drive.evaluation.DB.failitems.FailedProj_select; +import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.adapter.ScoreAdapter; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.bean.ScoreBean; -import safeluck.drive.evaluation.bean.SimulateNightBean; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.cEventCenter.ICEventListener; -import safeluck.drive.evaluation.customview.ArrowView; -import safeluck.drive.evaluation.customview.HouseView; import safeluck.drive.evaluation.customview.LoadProgressDialog; -import safeluck.drive.evaluation.customview.MyDialogFragment; +import safeluck.drive.evaluation.customview.MyDialog; +import safeluck.drive.evaluation.customview.QRCodeDialog; +import safeluck.drive.evaluation.customview.SelectDialog; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0201; import safeluck.drive.evaluation.platformMessage.JKMessage0202; +import safeluck.drive.evaluation.platformMessage.PlatFormConstant; import safeluck.drive.evaluation.util.Utils; -import safeluck.drive.evaluation.viewmodels.TimeViewModel; /**鍗曟満璁粌UI * MyApplication2 @@ -87,20 +95,19 @@ private ListView mListView; private Button btn_start_exam; private TextView tv_stop;//鍛煎彨璇锋眰锛堢粨鏉熻�冭瘯锛� - private Gson gson = new Gson(); private ScoreAdapter mScoreAdapter; - private ArrowView av_zhijiao, av_curve, av_park, av_podao; - private HouseView houseView; + private Button av_zhijiao, av_curve, av_park, av_podao; + private Button houseView; private List<ExamStatus> examStatusList = new ArrayList<>(); private List<String> item_conents = new ArrayList<>();//鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝� private int item_id;//鎵e垎鍒嗘暟鎬诲拰 private ExamStatusViewModel examStatusViewModel; private static final int ADD_DATA = 1; - private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time - ,tv_qf,tv_start_time,tv_sex; + private TextView tv_speed,tv_total_score,tv_name + ,tv_start_time,tv_coach_name; private double speed=0.0; - private ImageView iv_rtk_status,iv_head; + private ImageView iv_head,iv_coach_head; WokViewModel wokViewModel; private int currTotalScore = 100; @@ -110,7 +117,6 @@ String icson;//杩斿洖鐨刬c鍗′俊鎭� json private String content;//鐢ㄤ互鐢熸垚浜岀淮鐮佺殑鍐呭 - private LoadProgressDialog loadProgressDialog; private List<Integer> btn_ids = new ArrayList<Integer>(); @@ -119,12 +125,12 @@ public boolean handleMessage(Message msg) { if (msg.what == ADD_DATA){ MyLog.i("handler add_data totalScore="+currTotalScore); - tv_total_score.setText(getResources().getString(R.string.total_score,currTotalScore)); - houseView.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1 - av_podao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP)); - av_park.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK)); - av_curve.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE)); - av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); + setTotalScoreText(); + houseView.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1 + av_podao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP)); + av_park.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK)); + av_curve.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE)); + av_zhijiao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); for (int i = 0; i < btn_ids.size(); i++) { int viewId = getResources().getIdentifier(String.valueOf(btn_ids.get(i)),"id",_mActivity.getPackageName()); @@ -162,7 +168,7 @@ } }); - private int aaa(int type) { + private Drawable aaa(int type) { if (examStatusList!=null &&examStatusList.size()>0){ for (ExamStatus examStatus: examStatusList) { @@ -172,17 +178,17 @@ if (examStatusList.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){ //缁撴潫鑰冭瘯浜� MyLog.i("杩涘叆鑰冨満缁撴潫鑰冭瘯锛宻tartexam="+examStatus.getStartExam()); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ MyLog.i("杩涘叆鑰冨満锛宼ype="+type); - return getResources().getColor(R.color.pink); + return getResources().getDrawable(R.drawable.ic_btn_examing); } }else if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.FINISH_ITEM){ if (examStatusList.get(0).getStartExam()==Constant.NONE_BEEN_START_EXAM){ - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } switch (type) { @@ -190,7 +196,7 @@ if (item_conents.contains("鍊掕溅鍏ュ簱")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囧�掕溅鍏ュ簱鍚堟牸"); @@ -199,12 +205,12 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 2: if (item_conents.contains("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囧潯閬撳畾鐐瑰仠杞﹀拰璧锋鍚堟牸鍚堟牸"); @@ -213,12 +219,12 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 3: if (item_conents.contains("渚ф柟鍋滆溅")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囦晶鏂瑰仠杞﹀悎鏍�"); @@ -227,12 +233,12 @@ ExamPlatformData.getInstance().getTTS().speak("渚ф柟鍋滆溅鍚堟牸"); examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 4: if (item_conents.contains("鏇茬嚎琛岄┒")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囨洸绾胯椹跺悎鏍�"); @@ -241,12 +247,12 @@ ExamPlatformData.getInstance().getTTS().speak("鏇茬嚎琛岄┒鍚堟牸"); examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } case 5: if (item_conents.contains("鐩磋杞集")) { MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); - return getResources().getColor(R.color.colorAccent); + return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ if (examStatus.getResult() ==1){ MyLog.i("宸茬粡鎾斁杩囩洿瑙掕浆寮悎鏍�"); @@ -255,7 +261,7 @@ examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); } - return getResources().getColor(R.color.train_btn_return); + return getResources().getDrawable(R.drawable.ic_btn_succ); } @@ -263,12 +269,12 @@ } }else{ - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } } } } - return getResources().getColor(R.color.examing); + return getResources().getDrawable(R.drawable.ic_btn_daikao); } /** @@ -448,13 +454,9 @@ examStatusList.addAll(examStatus); mHandler.obtainMessage(ADD_DATA).sendToTarget(); if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){ - btn_start_exam.setEnabled(false); - tv_stop.setEnabled(true); - iv_head.getDrawable().setLevel(1); + btn_start_exam.setText("缁撴潫璁粌"); }else{ - btn_start_exam.setEnabled(true); - tv_stop.setEnabled(false); - iv_head.getDrawable().setLevel(0); + btn_start_exam.setText("寮�濮嬭缁�"); } exam_type = examStatus.get(0).getStartExam(); } @@ -469,44 +471,24 @@ for (Student student : students) { MyLog.i(TAG, "onChanged: " + student.toString()); - if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.STU_ID){ + if (ExamPlatformData.getInstance().getSign_mode()==ExamPlatformData.SIGN_MODE_TRAIN){ + if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.STU_ID){ - tv_name.setText(getString(R.string.name)+student.getName()); - tv_id.setText(getString(R.string.user_id)+student.getID()); - ExamPlatformData.getInstance().setId(student.getID()); - tv_sex.setText(getString(R.string.sex)+(student.getSex()==2?"濂�":"鐢�")); - tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time())); + tv_name.setText(getNameColor(student.getName())); + ExamPlatformData.getInstance().setId(student.getID()); + tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time())); - }else if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.COACH_ID){ - ExamPlatformData.getInstance().setCoachID(student.getID()); + }else if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.COACH_ID){ + ExamPlatformData.getInstance().setCoachID(student.getID()); + tv_coach_name.setText(getNameColor(student.getName())); + } } + } } }); - AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class); - appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() { - @Override - public void onChanged(AppStatus appStatus) { - if (appStatus != null){ - Log.i(TAG, "onChanged: "+appStatus.toString()); - iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status()); - tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr( - ExamPlatformData.getInstance().getExamplatformStatus() - ))); - tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num())); - tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]); - } - } - }); - TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class); - timeViewModel.getLiveDataTime().observe(this, new Observer<String>() { - @Override - public void onChanged(String s) { - tv_network_time.setText(s); - } - }); return view; } @@ -514,6 +496,14 @@ private void initView(View view) { + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } btn_ids.add(R.id.btn_1); btn_ids.add(R.id.btn_2); btn_ids.add(R.id.btn_3); @@ -526,33 +516,25 @@ btn_ids.add(R.id.btn_10); - view.findViewById(R.id.iv_head).setOnClickListener(this); av_curve = view.findViewById(R.id.av3); av_park = view.findViewById(R.id.av2); av_podao = view.findViewById(R.id.av1); av_zhijiao = view.findViewById(R.id.av4); houseView = view.findViewById(R.id.hv); tv_name = view.findViewById(R.id.tv_name); - tv_id = view.findViewById(R.id.tv_ID); + tv_coach_name = view.findViewById(R.id.tv_coach_name); tv_start_time = view.findViewById(R.id.tv_start_time); - tv_sex = view.findViewById(R.id.tv_sex); - tv_work_platform = view.findViewById(R.id.platform); - iv_rtk_status = view.findViewById(R.id.iv_rtk_connect); - iv_rtk_status.getDrawable().setLevel(0); iv_head = view.findViewById(R.id.iv_head); - tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus); - tv_qf = view.findViewById(R.id.tv_qf); + iv_head.setOnClickListener(this); + iv_coach_head = view.findViewById(R.id.iv_coach_head); + iv_coach_head.setOnClickListener(this); tv_speed = view.findViewById(R.id.tv_speed); tv_total_score = view.findViewById(R.id.tv_total_score); - tv_network_time = view.findViewById(R.id.network_time); - - tv_network_time.setText(Utils.getHHmm()); tv_speed.setText(getResources().getString(R.string.speed,speed)); - view.findViewById(R.id.btn_return).setOnClickListener(this); mListView = view.findViewById(R.id.lv); mListView.setFocusable(false); mListView.setOnTouchListener(new View.OnTouchListener() { @@ -581,55 +563,37 @@ tv_stop = view.findViewById(R.id.tv_stop); tv_stop.setText("缁撴潫璁粌"); tv_stop.setOnClickListener(this); - mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null)); } - MyDialogFragment myDialogFragment; - SimulateNightBean simulateNightBean = null; @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_start: +// //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯 + if (btn_start_exam.getText().toString().equalsIgnoreCase("寮�濮嬭缁�")){ - //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯 - final JKMessage0202 jkMessage0202 = new JKMessage0202(); - Date date = new Date(); - wokViewModel.updateBeginTime(date.getTime()); - jkMessage0202.timeBCD = date; - ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10)); - if (myDialogFragment == null){ - myDialogFragment = new MyDialogFragment(); + SelectDialog selectDialog = SelectDialog.newInstance("杩涜鍦哄湴璁粌","杩涜閬撹矾璁粌"); + selectDialog.setSelectedListener((int res)->{ + if (res != SelectDialog.SELECT_NONE){ + if (res== SelectDialog.FIRST){ + sendJK0202(2); + }else{ + sendJK0202(3); + } + } + }); + selectDialog.show(getFragmentManager(),"selectdialog"); + }else{ + stopExam(); } - myDialogFragment.show(getFragmentManager(),"dialog"); - myDialogFragment.setCallback(new MyDialogFragment.Callback() { - @Override - public void changKao() { - - sendJK0202(2); - } - - @Override - public void luKao() { - sendJK0202(3); - - - - } - }); - - break; - case R.id.tv_stop: - Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show(); - stopExam(); - break; case R.id.view_map: if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){ RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class); @@ -647,16 +611,48 @@ start(mapFragment); } break; - case R.id.btn_return: - _mActivity.onBackPressed(); - break; case R.id.iv_head: - MyLog.i(TAG,"绛惧埌锛岃幏鍙栬韩浠借瘉鐗╃悊鍗″彿"); - loadProgressDialog = LoadProgressDialog.newInstance("璇风◢鍚�..."); - loadProgressDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen); - loadProgressDialog.showNow(getFragmentManager(),"loadingdiaolog"); + MyLog.i(TAG,"瀛﹀憳绛惧埌"); + if (ExamPlatformData.getInstance().getSign_mode() == ExamPlatformData.SIGN_MODE_EXAM){ + Toast.makeText(_mActivity, "鎮ㄥ凡缁忓湪\"鑱旂綉鑰冭瘯\"椤甸潰涓嬬鍒�", Toast.LENGTH_SHORT).show(); + return; + } + if (ExamPlatformData.getInstance().IsStuSign()){ + ExamPlatformData.getInstance().setStuSign(false); + qrcode(1,false); + }else{ + ExamPlatformData.getInstance().setStuSign(true); + qrcode(1,true); + ExamPlatformData.getInstance().setSingnMode(ExamPlatformData.SIGN_MODE_TRAIN); + } + + break; + case R.id.iv_coach_head: + MyLog.i(PlatFormConstant.HTTPTAG,"鏁欑粌绛惧埌"); + if (ExamPlatformData.getInstance().getSign_mode() == ExamPlatformData.SIGN_MODE_EXAM){ + Toast.makeText(_mActivity, "鎮ㄥ凡缁忓湪\"鑱旂綉鑰冭瘯\"椤甸潰涓嬬鍒�", Toast.LENGTH_SHORT).show(); + return; + } + if (ExamPlatformData.getInstance().IsCoachSign()){ + ExamPlatformData.getInstance().setCoachSign(false); + qrcode(0,false); + }else{ + ExamPlatformData.getInstance().setCoachSign(true); + qrcode(0,true); + ExamPlatformData.getInstance().setSingnMode(ExamPlatformData.SIGN_MODE_TRAIN); + } break; } + } + + private void qrcode(int type,boolean isSign) { + content = "87,"+String.valueOf(type)+ ","+ExamPlatformData.getInstance().getPhone() + +(isSign?",signin":",signout"); + Log.i(TAG,String.format("浜岀淮鐮佸唴瀹癸細%s",content)); + byte[] bytes = Utils.qrencrypt(content.getBytes(Charset.forName("utf-8")),"safeluck"); + String str = Base64.encodeToString(bytes,Base64.DEFAULT); + QRCodeDialog qrCodeDialog = QRCodeDialog.newInstance(str); + qrCodeDialog.show(getFragmentManager(),"qrdialog" ); } private void sendJK0202(int type) { @@ -708,14 +704,23 @@ item_id = 0; currTotalScore = 100; failedProjViewModel.deleteAll(); - - tv_total_score.setText(String.valueOf(currTotalScore)); + setTotalScoreText(); ExamPlatformData.getInstance().getTTS().speak("缁撴潫璁粌"); examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM); sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0 + } + + private void setTotalScoreText() { + String totalstr=String.format(getString(R.string.total_score),currTotalScore); + SpannableString msp = new SpannableString(totalstr); + msp.setSpan(new ForegroundColorSpan(Color.parseColor("#A1A1A3")),totalstr.length()-1,totalstr.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + msp.setSpan(new AbsoluteSizeSpan(13),totalstr.length()-1,totalstr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + + tv_total_score.setText(msp); } private ICEventListener icEventListener = new ICEventListener() { @@ -740,6 +745,24 @@ @Override public void onDetach() { super.onDetach(); + Log.i(TAG,"onDetach"); CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + Log.i(TAG,"onDestroyView"); + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + } + private SpannableString getNameColor(String str) { + SpannableString spannableString = new SpannableString(str); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#60FFFF")),0, + str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + return spannableString; + } + } diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java index 801c873..1bd912f 100644 --- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java +++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java @@ -105,6 +105,11 @@ } }else if (jk2019MessageBase instanceof JKMessage8201){ JKMessage8201 jkMessage8201 = (JKMessage8201) jk2019MessageBase; + JKMessage0001 jkMessage0001 = new JKMessage0001(); + jkMessage0001.respMessageId = "8201"; + jkMessage0001.result = JKMessage0001.SUCCESS; + jkMessage0001.respNo = jkMessage8201.messageNo; + sendMessage(jkMessage0001); Data data = new Data.Builder().putString(Constant.STU_INFO_PLATFORM,gson.toJson(jkMessage8201)).build(); OneTimeWorkRequest stuInfoUpdateWork = new OneTimeWorkRequest.Builder(StudentInfoUpdateWork.class) .setInputData(data).build(); diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java index 67ea888..c02585a 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java @@ -1,6 +1,7 @@ package safeluck.drive.evaluation.platformMessage; import com.safeluck.aykj.annotation.Hex; +import com.safeluck.aykj.annotation.Int32; import com.safeluck.aykj.annotation.Int8; import com.safeluck.aykj.annotation.Length; import com.safeluck.aykj.annotation.Order; @@ -12,9 +13,9 @@ public int attach_message_id; @Order(2) @Int8 - public int attach_message_length; + public int attach_message_length = 4; @Order(3) @Length(lengthField = "attach_message_length") - @Hex - public String attach_data; + @Int32 + public int attach_data; } diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo2.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo2.java new file mode 100644 index 0000000..ab0fd99 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo2.java @@ -0,0 +1,20 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Hex; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; +import com.safeluck.aykj.message.BinMessageBase; + +public class AttachInfo2 extends BinMessageBase { + @Order(1) + @Int8 + public int attach_message_id; + @Order(2) + @Int8 + public int attach_message_length = 1; + @Order(3) + @Length(lengthField = "attach_message_length") + @Int8 + public int attach_data; +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java index 592a691..bcecc6c 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java @@ -23,6 +23,10 @@ @Message @Length(0) public AttachInfo attachInfo; + @Order(6) + @Message + @Length(0) + public AttachInfo2 attachInfo2; diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java index 7afcf60..a4aab5d 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java @@ -19,6 +19,11 @@ @Order(4) @Int8 public int personType; + + @Order(5) + @Length + @Ascii + public String head_url; } /** 0 diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java index 0f8b220..a641fb8 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java @@ -6,6 +6,7 @@ import android.graphics.Bitmap; import android.telephony.TelephonyManager; import android.util.DisplayMetrics; +import android.util.Log; import android.view.Surface; import com.google.zxing.BarcodeFormat; @@ -20,6 +21,9 @@ public final class DimenUtil { + + + private static final String TAG = "DimenUtil"; public static int getScreenWidth(Context context ) { final Resources resources = context.getResources(); @@ -72,4 +76,16 @@ return bitmap; } + public static int px2dp(Context context, float pxValue) { + float scale = context.getResources().getDisplayMetrics().density; + Log.i(TAG,"density="+scale); + return (int) (pxValue / scale + 0.5f);// + 0.5f鏄负浜嗚缁撴灉鍥涜垗浜斿叆 + } + + public static int px2sp(Context context, float pxValue) { + float fontScale = context.getResources().getDisplayMetrics().scaledDensity; + Log.i(TAG,"scaledDensity 1.2625="+fontScale); + return (int) (pxValue / fontScale + 0.5f); + } + } 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 7e8e818..3ecc2c3 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java @@ -23,6 +23,9 @@ public static final String TRAIN_MODE = "training_mode"; public static final String FAIL_PROJ_SNS = "failed_projs_sns"; public static final String ROAD_MAP_PATH = "road_map_path"; + public static final String STU_SIGN_STATUS = "stu_sign_"; + public static final String Coach_SIGN_STATUS = "coach_sign_"; + public static final String SIGN_MODE = "sign_mode"; /** * 淇濆瓨鏁版嵁鐨勬柟娉曪紝鎴戜滑闇�瑕佹嬁鍒颁繚瀛樻暟鎹殑鍏蜂綋绫诲瀷锛岀劧鍚庢牴鎹被鍨嬭皟鐢ㄤ笉鍚岀殑淇濆瓨鏂规硶 diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java index a3454c6..b7e43f5 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java @@ -14,6 +14,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.math.BigDecimal; +import java.nio.charset.Charset; import java.security.SecureRandom; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -34,6 +35,7 @@ import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; import safeluck.drive.evaluation.bean.Point; @@ -53,6 +55,10 @@ public static float px2dp(float value){ return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,value, Resources.getSystem().getDisplayMetrics()); } + + + + /** * dp鍊艰浆鍍忕礌 @@ -271,6 +277,30 @@ e.printStackTrace(); } return null; + } /** + * 浜岀淮鐮佸姞瀵� + * @param datasource byte[] + * @param password String + * @return byte[] + */ + public static byte[] qrencrypt(byte[] datasource, String password) { + try{ + Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); + DESKeySpec desKeySpec = new DESKeySpec(password.getBytes()); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + SecretKey securekey = keyFactory.generateSecret(desKeySpec); + IvParameterSpec desKey = new IvParameterSpec(password.getBytes()); + //鍒涘缓涓�涓瘑鍖欏伐鍘傦紝鐒跺悗鐢ㄥ畠鎶奃ESKeySpec杞崲鎴� + //Cipher瀵硅薄瀹為檯瀹屾垚鍔犲瘑鎿嶄綔 + //鐢ㄥ瘑鍖欏垵濮嬪寲Cipher瀵硅薄 + cipher.init(Cipher.ENCRYPT_MODE, securekey, desKey); + //鐜板湪锛岃幏鍙栨暟鎹苟鍔犲瘑 + //姝e紡鎵ц鍔犲瘑鎿嶄綔 + return cipher.doFinal(datasource); + }catch(Throwable e){ + e.printStackTrace(); + } + return null; } /** * 瑙e瘑 diff --git a/app/src/main/res/drawable/bg_rgb_dlg.xml b/app/src/main/res/drawable/bg_rgb_dlg.xml new file mode 100644 index 0000000..575e388 --- /dev/null +++ b/app/src/main/res/drawable/bg_rgb_dlg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_select_dlg.xml b/app/src/main/res/drawable/bg_select_dlg.xml new file mode 100644 index 0000000..98ef720 --- /dev/null +++ b/app/src/main/res/drawable/bg_select_dlg.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" + > + <item> + <shape android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="6dp"/> + </shape> + + </item> +<item android:left="1dp" android:top="1dp" android:right="1dp" + android:bottom="1dp"> + <shape android:shape="rectangle"> + <solid android:color="#ff2b3141" /> + <corners android:radius="6dp"/> + </shape> +</item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_spinner.xml b/app/src/main/res/drawable/bg_spinner.xml new file mode 100644 index 0000000..2bde2d7 --- /dev/null +++ b/app/src/main/res/drawable/bg_spinner.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" + > + <item> + <shape android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="6dp"/> + </shape> + + </item> +<item android:left="1dp" android:top="1dp" android:right="1dp" + android:bottom="1dp"> + <shape android:shape="rectangle"> + <solid android:color="#ff2b3141" /> + <corners android:radius="6dp"/> + </shape> +</item> + <item> + <bitmap + android:gravity="end|center_vertical" + android:src="@drawable/xiala" + /> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_spinner1.xml b/app/src/main/res/drawable/bg_spinner1.xml new file mode 100644 index 0000000..97bcc8d --- /dev/null +++ b/app/src/main/res/drawable/bg_spinner1.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" + > + + <item> + <bitmap + android:gravity="end|center_vertical" + android:src="@drawable/xiala" + /> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_bg1_baseset.xml b/app/src/main/res/drawable/btn_bg1_baseset.xml new file mode 100644 index 0000000..8a22b6b --- /dev/null +++ b/app/src/main/res/drawable/btn_bg1_baseset.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" + > + <item> + <shape android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="10dp"/> + </shape> + + </item> + <item android:left="1dp" android:top="1dp" android:right="1dp" + android:bottom="1dp"> + <shape android:shape="rectangle"> + <solid android:color="#11468A" /> + <corners android:radius="10dp"/> + </shape> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_bg_baseset.png b/app/src/main/res/drawable/btn_bg_baseset.png deleted file mode 100644 index 28c5a13..0000000 --- a/app/src/main/res/drawable/btn_bg_baseset.png +++ /dev/null Binary files differ diff --git a/app/src/main/res/drawable/btn_bg_baseset.xml b/app/src/main/res/drawable/btn_bg_baseset.xml new file mode 100644 index 0000000..9368f17 --- /dev/null +++ b/app/src/main/res/drawable/btn_bg_baseset.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" + > + <item> + <shape android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="26dp"/> + </shape> + + </item> +<item android:left="1dp" android:top="1dp" android:right="1dp" + android:bottom="1dp"> + <shape android:shape="rectangle"> + <solid android:color="#ff2b3141" /> + <corners android:radius="26dp"/> + </shape> +</item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_exam_item_bg.xml b/app/src/main/res/drawable/btn_exam_item_bg.xml new file mode 100644 index 0000000..0629548 --- /dev/null +++ b/app/src/main/res/drawable/btn_exam_item_bg.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> + + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <solid android:color="#ff1e4a89" /> + <corners android:radius="5dp" /> + </shape> diff --git a/app/src/main/res/drawable/btn_state_save.xml b/app/src/main/res/drawable/btn_state_save.xml index 1b621a7..8bbe517 100644 --- a/app/src/main/res/drawable/btn_state_save.xml +++ b/app/src/main/res/drawable/btn_state_save.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> -<item android:state_pressed="true" android:drawable="@drawable/ic_btn_fail"></item> -<item android:state_pressed="false" android:drawable="@drawable/ic_btn_daikao"></item> +<item android:state_pressed="true" android:drawable="@drawable/ic_btn_save_press"></item> +<item android:state_pressed="false" android:drawable="@drawable/ic_btn_save_nopress"></item> </selector> \ No newline at end of file diff --git a/app/src/main/res/drawable/conn.png b/app/src/main/res/drawable/conn.png new file mode 100644 index 0000000..a773f3c --- /dev/null +++ b/app/src/main/res/drawable/conn.png Binary files differ diff --git a/app/src/main/res/drawable/exit.png b/app/src/main/res/drawable/exit.png old mode 100644 new mode 100755 index 796fb5b..082046d --- a/app/src/main/res/drawable/exit.png +++ b/app/src/main/res/drawable/exit.png Binary files differ diff --git a/app/src/main/res/drawable/gps.png b/app/src/main/res/drawable/gps.png old mode 100644 new mode 100755 index 444804c..c7dc6b7 --- a/app/src/main/res/drawable/gps.png +++ b/app/src/main/res/drawable/gps.png Binary files differ diff --git a/app/src/main/res/drawable/green_light.xml b/app/src/main/res/drawable/green_light.xml index 66aa44c..cc62961 100644 --- a/app/src/main/res/drawable/green_light.xml +++ b/app/src/main/res/drawable/green_light.xml @@ -2,5 +2,5 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp"/> <size android:height="10dp" android:width="10dp"/> - <solid android:color="@android:color/holo_green_light"/> + <solid android:color="#1661C6"/> </shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/head_select1.png b/app/src/main/res/drawable/head_select1.png new file mode 100755 index 0000000..a0572a3 --- /dev/null +++ b/app/src/main/res/drawable/head_select1.png Binary files differ diff --git a/app/src/main/res/drawable/head_select2.png b/app/src/main/res/drawable/head_select2.png new file mode 100755 index 0000000..20c824f --- /dev/null +++ b/app/src/main/res/drawable/head_select2.png Binary files differ diff --git a/app/src/main/res/drawable/home_circle.png b/app/src/main/res/drawable/home_circle.png new file mode 100755 index 0000000..ab64f2b --- /dev/null +++ b/app/src/main/res/drawable/home_circle.png Binary files differ diff --git a/app/src/main/res/drawable/ic_aoi.xml b/app/src/main/res/drawable/ic_aoi.xml new file mode 100644 index 0000000..346ebc0 --- /dev/null +++ b/app/src/main/res/drawable/ic_aoi.xml @@ -0,0 +1,1998 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="140dp" + android:height="140dp" + android:viewportWidth="140" + android:viewportHeight="140"> + <path + android:pathData="M0,0L0,9C3.605,6.459 6.459,3.605 9,0L0,0z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,15C5.034,10.346 9.371,4.965 15,1C6.98,-2.231 0.227,8.02 0,15z" + android:fillColor="#005555" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,20C6.686,13.45 11.903,6.065 20,1C11.116,-2.423 0.425,12.246 0,20z" + android:fillColor="#404040" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,24C7.973,16.188 14.359,7.031 24,1C20.132,-0.323 17.026,2.029 14,4.468C7.897,9.388 0.9,15.872 0,24z" + android:fillColor="#333333" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,28C9.8,19.044 16.316,8.276 28,1C23.751,-0.453 20.185,2.592 17,5.301C10.25,11.042 1.028,18.719 0,28z" + android:fillColor="#2a2a2a" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,36C4.598,30.727 7.887,24.377 12.439,19.001C18.689,11.619 27.257,5.136 36,1C29.864,-1.569 24.77,2.202 20,5.888C10.417,13.295 0.044,23.261 0,36z" + android:fillColor="#202040" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,45C3.412,39.928 5.552,34.096 9.029,29C17.458,16.642 30.363,5.217 45,1C38.039,-1.92 31.618,2.49 26,6.347C13.144,15.175 0.011,28.651 0,45z" + android:fillColor="#1a3333" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,50C3.762,44.05 5.557,37.029 9.439,31C18.573,16.812 33.401,4.934 50,1C43.928,-1.364 36.073,3.918 31,7.066C16.926,15.797 0.806,32.409 0,50z" + android:fillColor="#2e2e2e" + android:strokeColor="#00000000"/> + <path + android:pathData="M50,0.518C26.985,5.427 5.427,26.985 0.518,50C-0.904,56.667 0,64.21 0,71C0,81.887 0.16,90.937 4.89,101C13.808,119.974 32.366,135.106 53,139.482C58.756,140.703 65.144,140 71,140C75.915,140 81.165,140.508 86,139.482C139.573,128.121 157.641,58.83 121.829,20.015C113.414,10.894 100.452,2.405 88,0.326C81.562,-0.749 74.514,0 68,0C62.147,0 55.752,-0.709 50,0.518z" + android:fillColor="#27273b" + android:strokeColor="#00000000"/> + <path + android:pathData="M89,0C95.297,3.981 102.68,5.855 109,10.09C123.822,20.021 134.966,35.57 139,53C141.322,47.038 136.538,39.189 133.688,34C125.248,18.632 107.664,0.855 89,0z" + android:fillColor="#2e2e2e" + android:strokeColor="#00000000"/> + <path + android:pathData="M94,0C99.072,3.412 104.904,5.552 110,9.029C123.171,18.014 135.24,32.169 139,48C142.163,40.463 137.456,33.126 133.329,27C124.418,13.775 110.793,0.011 94,0z" + android:fillColor="#1c3939" + android:strokeColor="#00000000"/> + <path + android:pathData="M103,0C108.273,4.598 114.623,7.887 119.999,12.439C127.884,19.115 134.903,28.503 139,38C141.673,31.615 137.646,25.989 133.869,21C126.302,11.005 116.208,0.038 103,0z" + android:fillColor="#242449" + android:strokeColor="#00000000"/> + <path + android:pathData="M111,0C120.769,9.961 132.527,17.002 139,30C140.594,25.778 137.928,22.324 135.33,19C129.55,11.603 120.851,1.091 111,0z" + android:fillColor="#2a2a2a" + android:strokeColor="#00000000"/> + <path + android:pathData="M115,0C123.207,8.377 132.061,15.349 139,25C140.254,21.133 137.7,18.032 135.33,15C130.374,8.657 123.468,0.633 115,0z" + android:fillColor="#333333" + android:strokeColor="#00000000"/> + <path + android:pathData="M120,0C125.733,7.497 133.391,13.199 139,21C142.221,12.467 127.508,0.836 120,0z" + android:fillColor="#404040" + android:strokeColor="#00000000"/> + <path + android:pathData="M124,0C128.983,5.39 134.531,10.134 139,16C142.311,7.781 131.162,0.232 124,0z" + android:fillColor="#005555" + android:strokeColor="#00000000"/> + <path + android:pathData="M130,0C132.789,3.96 136.04,7.211 140,10L140,0L130,0z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M61,2.428C50.785,3.892 40.678,7.426 32,13.101C-7.511,38.939 -7.511,100.061 32,125.899C38.604,130.218 46.297,133.61 54,135.335C61.76,137.073 70.102,137.703 78,136.572C88.312,135.094 98.24,131.628 107,125.899C146.524,100.053 146.524,38.947 107,13.101C100.478,8.836 92.608,5.378 85,3.665C77.246,1.919 68.893,1.297 61,2.428z" + android:fillColor="#203030" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,9C59.122,7.951 66.727,6.52 75,7.09C95.766,8.52 111.701,21.39 123,38C123.898,32.003 118.009,25.881 113.999,22.04C102.164,10.704 86.179,5.001 70,5C64.237,5 54.854,3.933 51,9z" + android:fillColor="#1e2d3c" + android:strokeColor="#00000000"/> + <path + android:pathData="M59.667,7.333C59.222,7.778 60.278,7.722 60.333,7.667C60.778,7.222 59.722,7.278 59.667,7.333z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M30,22C37.035,19.671 42.947,14.643 50,12.055C67.511,5.629 86.444,8.359 102,18.545C118.552,29.383 130.399,49.928 129.871,70C129.171,96.614 107.79,121.606 82,127C87.127,128.996 93.414,125.612 98,123.215C111.8,116.004 123.383,102.998 127.961,88C134.817,65.538 129.733,41.046 112.714,24.428C96.419,8.518 72.548,3.299 51,9.976C43.276,12.369 35.268,15.626 30,22z" + android:fillColor="#afafb5" + android:strokeColor="#00000000"/> + <path + android:pathData="M76,7C77.248,7.685 77.548,7.749 79,8C77.752,7.315 77.451,7.251 76,7z" + android:fillColor="#8b8b9b" + android:strokeColor="#00000000"/> + <path + android:pathData="M54.667,8.333C54.222,8.778 55.278,8.722 55.333,8.667C55.778,8.222 54.722,8.278 54.667,8.333z" + android:fillColor="#7f7f88" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,8C67.332,8.985 69.457,8.981 72,9C69.668,8.015 67.543,8.019 65,8z" + android:fillColor="#8d949a" + android:strokeColor="#00000000"/> + <path + android:pathData="M83.667,8.333C83.222,8.778 84.278,8.722 84.333,8.667C84.778,8.222 83.722,8.278 83.667,8.333z" + android:fillColor="#55606a" + android:strokeColor="#00000000"/> + <path + android:pathData="M51.667,9.333C51.222,9.778 52.278,9.722 52.333,9.667C52.778,9.222 51.722,9.278 51.667,9.333z" + android:fillColor="#9a9aa1" + android:strokeColor="#00000000"/> + <path + android:pathData="M58.667,9.333C58.222,9.778 59.278,9.722 59.333,9.667C59.778,9.222 58.722,9.278 58.667,9.333z" + android:fillColor="#747c8b" + android:strokeColor="#00000000"/> + <path + android:pathData="M60,9C65.222,11.191 72.368,10 78,10C72.778,7.809 65.632,9 60,9z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M78,9L79,11C80.635,10.455 80.455,10.635 81,9L78,9z" + android:fillColor="#747c8b" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,9L88,10L87,9z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M48.667,10.333C48.222,10.778 49.278,10.722 49.333,10.667C49.778,10.222 48.722,10.278 48.667,10.333z" + android:fillColor="#9d9da3" + android:strokeColor="#00000000"/> + <path + android:pathData="M54,10L54,12C55.635,11.455 55.455,11.635 56,10L54,10z" + android:fillColor="#457591" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,10C57.248,10.685 57.549,10.749 59,11C57.752,10.315 57.452,10.251 56,10z" + android:fillColor="#233a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M27,28C31.116,28 35.997,28.844 40,27.897C44.166,26.911 48.058,23.97 52,22.288C57.461,19.958 63.094,19.049 69,19L69,10C53.61,10.002 36.979,15.663 27,28z" + android:fillColor="#6dcbf9" + android:strokeColor="#00000000"/> + <path + android:pathData="M69,10L69,28C70.952,23.349 70.952,14.651 69,10z" + android:fillColor="#b1def8" + android:strokeColor="#00000000"/> + <path + android:pathData="M70,10L70,19C75.75,19.73 81.624,20.614 87,22.876C91.414,24.734 95.455,28.025 100,29.44C103.995,30.684 108.857,30 113,30C106.098,15.836 84.44,10.01 70,10z" + android:fillColor="#6ccaf9" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,10C81.248,10.685 81.548,10.749 83,11C81.752,10.315 81.452,10.251 80,10z" + android:fillColor="#233a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M83,10C83.545,11.635 83.365,11.455 85,12L85,10L83,10z" + android:fillColor="#7c8392" + android:strokeColor="#00000000"/> + <path + android:pathData="M90,10L91,11L90,10z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M45,11L46,12L45,11z" + android:fillColor="#55606a" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,11L52,12L51,11z" + android:fillColor="#666e7f" + android:strokeColor="#00000000"/> + <path + android:pathData="M52.667,11.333C52.222,11.778 53.278,11.722 53.333,11.667C53.778,11.222 52.722,11.278 52.667,11.333z" + android:fillColor="#233a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M85.667,11.333C85.222,11.778 86.278,11.722 86.333,11.667C86.778,11.222 85.722,11.278 85.667,11.333z" + android:fillColor="#2c374e" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,11L87,13C88.635,12.455 88.455,12.635 89,11L87,11z" + android:fillColor="#93999f" + android:strokeColor="#00000000"/> + <path + android:pathData="M93,11L94,12L93,11z" + android:fillColor="#55606a" + android:strokeColor="#00000000"/> + <path + android:pathData="M43,12L44,13L43,12z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M48.333,12.667C48.278,12.722 48.222,13.778 48.667,13.333C48.722,13.278 48.778,12.222 48.333,12.667z" + android:fillColor="#538dac" + android:strokeColor="#00000000"/> + <path + android:pathData="M49.667,12.333C49.222,12.778 50.278,12.722 50.333,12.667C50.778,12.222 49.722,12.278 49.667,12.333z" + android:fillColor="#233a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M88.667,12.333C88.222,12.778 89.278,12.722 89.333,12.667C89.778,12.222 88.722,12.278 88.667,12.333z" + android:fillColor="#2c374e" + android:strokeColor="#00000000"/> + <path + android:pathData="M90.333,12.667C90.278,12.722 90.222,13.778 90.667,13.333C90.722,13.278 90.778,12.222 90.333,12.667z" + android:fillColor="#538dac" + android:strokeColor="#00000000"/> + <path + android:pathData="M95,12L96,13L95,12z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M15,38C18.546,34.759 20.952,30.57 24.174,27.004C28.939,21.729 34.813,17.448 41,14C36.906,12.597 33.277,15.329 30,17.761C22.878,23.046 17.618,29.508 15,38z" + android:fillColor="#1e2d3c" + android:strokeColor="#00000000"/> + <path + android:pathData="M41,13L42,14L41,13z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M46.667,13.333C46.222,13.778 47.278,13.722 47.333,13.667C47.778,13.222 46.722,13.278 46.667,13.333z" + android:fillColor="#233a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M91.667,13.333C91.222,13.778 92.278,13.722 92.333,13.667C92.778,13.222 91.722,13.278 91.667,13.333z" + android:fillColor="#3d525c" + android:strokeColor="#00000000"/> + <path + android:pathData="M97,13L98,14L97,13z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M39,14L40,15L39,14z" + android:fillColor="#5c6670" + android:strokeColor="#00000000"/> + <path + android:pathData="M43,14L44,15L43,14z" + android:fillColor="#80878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M44.667,14.333C44.222,14.778 45.278,14.722 45.333,14.667C45.778,14.222 44.722,14.278 44.667,14.333z" + android:fillColor="#2a404a" + android:strokeColor="#00000000"/> + <path + android:pathData="M93,14C94.458,15.081 95.248,15.436 97,16C95.542,14.919 94.752,14.564 93,14z" + android:fillColor="#2c374e" + android:strokeColor="#00000000"/> + <path + android:pathData="M95,14L96,15L95,14z" + android:fillColor="#80878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M99,14L100,15L99,14z" + android:fillColor="#5c6670" + android:strokeColor="#00000000"/> + <path + android:pathData="M42.667,15.333C42.222,15.778 43.278,15.722 43.333,15.667C43.778,15.222 42.722,15.278 42.667,15.333z" + android:fillColor="#333d52" + android:strokeColor="#00000000"/> + <path + android:pathData="M36,16L37,17L36,16z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M40.667,16.333C40.222,16.778 41.278,16.722 41.333,16.667C41.778,16.222 40.722,16.278 40.667,16.333z" + android:fillColor="#314558" + android:strokeColor="#00000000"/> + <path + android:pathData="M97.667,16.333C97.222,16.778 98.278,16.722 98.333,16.667C98.778,16.222 97.722,16.278 97.667,16.333z" + android:fillColor="#37434e" + android:strokeColor="#00000000"/> + <path + android:pathData="M102,16L103,17L102,16z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M38,17L39,18L38,17z" + android:fillColor="#58626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M39,17L40,18L39,17M99,17L100,18L99,17z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M100,17L101,18L100,17z" + android:fillColor="#58626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M104,17L105,18L104,17z" + android:fillColor="#4e5964" + android:strokeColor="#00000000"/> + <path + android:pathData="M33,18L34,19L33,18z" + android:fillColor="#768089" + android:strokeColor="#00000000"/> + <path + android:pathData="M36,18L37,19L36,18z" + android:fillColor="#80878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M37,18L38,19L37,18z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M38,18L39,19L38,18M100,18L101,19L100,18z" + android:fillColor="#4f88aa" + android:strokeColor="#00000000"/> + <path + android:pathData="M101,18L102,19L101,18z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M102,18L103,19L102,18z" + android:fillColor="#80878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M105,18L106,19L105,18z" + android:fillColor="#768089" + android:strokeColor="#00000000"/> + <path + android:pathData="M35.667,19.333C35.222,19.778 36.278,19.722 36.333,19.667C36.778,19.222 35.722,19.278 35.667,19.333z" + android:fillColor="#314558" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,55C26.407,54.985 30.7,53.478 35,54C41.155,40.989 54.674,29.82 69,28L69,19C48.143,19.058 25.735,33.309 22,55z" + android:fillColor="#87cef8" + android:strokeColor="#00000000"/> + <path + android:pathData="M70,19L70,25C75.509,25.046 81.797,25.349 87,27.268C92.92,29.453 97.909,33.157 104,35C98.484,23.687 81.466,19.906 70,19z" + android:fillColor="#91d5fa" + android:strokeColor="#00000000"/> + <path + android:pathData="M102.667,19.333C102.222,19.778 103.278,19.722 103.333,19.667C103.778,19.222 102.722,19.278 102.667,19.333z" + android:fillColor="#4e5862" + android:strokeColor="#00000000"/> + <path + android:pathData="M34,20L35,21L34,20z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M35,20L36,21L35,20M103,20L104,21L103,20z" + android:fillColor="#5597b8" + android:strokeColor="#00000000"/> + <path + android:pathData="M104,20L105,21L104,20z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M29,21L30,22L29,21z" + android:fillColor="#666670" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,21L33,22L32,21z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M33,21L34,22L33,21M105,21L106,22L105,21z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M106,21L107,22L106,21z" + android:fillColor="#737b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M109,21L110,22L109,21z" + android:fillColor="#66707a" + android:strokeColor="#00000000"/> + <path + android:pathData="M28,22L29,23L28,22z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M21,31C25.322,28.985 28.268,25.875 31,22C26.407,23.817 23.707,26.942 21,31z" + android:fillColor="#a2a2a8" + android:strokeColor="#00000000"/> + <path + android:pathData="M31.667,22.333C31.222,22.778 32.278,22.722 32.333,22.667C32.778,22.222 31.722,22.278 31.667,22.333z" + android:fillColor="#37526d" + android:strokeColor="#00000000"/> + <path + android:pathData="M106.667,22.333C106.222,22.778 107.278,22.722 107.333,22.667C107.778,22.222 106.722,22.278 106.667,22.333z" + android:fillColor="#52525c" + android:strokeColor="#00000000"/> + <path + android:pathData="M110,22L111,23L110,22z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M27,23L28,24L27,23z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M30,23L31,24L30,23z" + android:fillColor="#43434e" + android:strokeColor="#00000000"/> + <path + android:pathData="M31,23L32,24L31,23z" + android:fillColor="#4b83a2" + android:strokeColor="#00000000"/> + <path + android:pathData="M107,23L108,24L107,23z" + android:fillColor="#4980a4" + android:strokeColor="#00000000"/> + <path + android:pathData="M108,23L109,24L108,23z" + android:fillColor="#43434e" + android:strokeColor="#00000000"/> + <path + android:pathData="M111,23L112,24L111,23z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M29,24L30,25L29,24z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M30,24L31,25L30,24z" + android:fillColor="#589abd" + android:strokeColor="#00000000"/> + <path + android:pathData="M108,24L109,25L108,24z" + android:fillColor="#569cbe" + android:strokeColor="#00000000"/> + <path + android:pathData="M109,24L110,25L109,24M28,25L29,26L28,25z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M70,25L70,28C83.945,28.6 97.204,41.748 103,54C107.414,53.214 111.511,54.95 116,55C112.336,33.721 89.462,25.054 70,25z" + android:fillColor="#89cff7" + android:strokeColor="#00000000"/> + <path + android:pathData="M110,25L111,26L110,25z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M24,26L25,27L24,26z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M27,26L28,27L27,26M111,26L112,27L111,26z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M114,26L115,27L114,26z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M23,27L24,28L23,27z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M26,27L25,29C26.263,28.029 26.392,28.306 26,27M112,27L113,28L112,27z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M115,27L116,28L115,27z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,28L23,29L22,28z" + android:fillColor="#666670" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,40C28.307,39.999 34.224,36.341 39,28C28.804,28 22.475,29.118 19,40z" + android:fillColor="#63c3f5" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,28C66.506,28.683 67.315,28.826 69,29C67.494,28.317 66.685,28.174 65,28z" + android:fillColor="#c1e1f4" + android:strokeColor="#00000000"/> + <path + android:pathData="M54,52L53,47L54,49C55.593,47.104 57.046,45.52 59,44L58,42C67.569,39.813 82.924,37.587 85,51C91.045,47.081 88.218,34.463 82.895,30.738C76.992,26.608 61.694,26.923 56.105,31.434C50.87,35.659 48.334,47.233 54,52z" + android:fillColor="#f2f2f2" + android:strokeColor="#00000000"/> + <path + android:pathData="M113,28L114,29L113,28z" + android:fillColor="#31313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M116,28L117,29L116,28z" + android:fillColor="#666670" + android:strokeColor="#00000000"/> + <path + android:pathData="M24,29L25,30L24,29z" + android:fillColor="#43434e" + android:strokeColor="#00000000"/> + <path + android:pathData="M25,29L26,30L25,29z" + android:fillColor="#5394b9" + android:strokeColor="#00000000"/> + <path + android:pathData="M113,29L114,30L113,29z" + android:fillColor="#5296bb" + android:strokeColor="#00000000"/> + <path + android:pathData="M114,29L115,30L114,29z" + android:fillColor="#43434e" + android:strokeColor="#00000000"/> + <path + android:pathData="M23.333,30.667C23.278,30.722 23.222,31.778 23.667,31.333C23.722,31.278 23.778,30.222 23.333,30.667z" + android:fillColor="#394c5e" + android:strokeColor="#00000000"/> + <path + android:pathData="M24,30L25,31L24,30z" + android:fillColor="#46809f" + android:strokeColor="#00000000"/> + <path + android:pathData="M101,30C104.104,34.458 107.89,38.357 110.768,43C112.453,45.719 113.667,50.156 116.418,51.972C118.982,53.665 123.079,53 126,53C124.795,46.004 120.177,33.4 112.96,30.603C109.447,29.242 104.71,30 101,30z" + android:fillColor="#5ebff3" + android:strokeColor="#00000000"/> + <path + android:pathData="M114,30L115,31L114,30z" + android:fillColor="#46809f" + android:strokeColor="#00000000"/> + <path + android:pathData="M115.333,30.667C115.278,30.722 115.222,31.778 115.667,31.333C115.722,31.278 115.778,30.222 115.333,30.667z" + android:fillColor="#394c5e" + android:strokeColor="#00000000"/> + <path + android:pathData="M20,31C15.473,39.163 10.78,46.449 10,56C12.316,52.319 13.267,47.944 15.12,44C17.212,39.546 20.121,35.534 22,31L20,31z" + android:fillColor="#b1b1b6" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,31L23,32L22,31M116,31L117,32L116,31z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,32L20,33L19,32z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,32L23,33L22,32M116,32L117,33L116,32z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,32L120,33L119,32z" + android:fillColor="#7f7f88" + android:strokeColor="#00000000"/> + <path + android:pathData="M21,33L22,34L21,33M117,33L118,34L117,33z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M20.333,34.667C20.278,34.722 20.222,35.778 20.667,35.333C20.722,35.278 20.778,34.222 20.333,34.667z" + android:fillColor="#334752" + android:strokeColor="#00000000"/> + <path + android:pathData="M21,34L22,35L21,34M117,34L118,35L117,34z" + android:fillColor="#5092b8" + android:strokeColor="#00000000"/> + <path + android:pathData="M118.333,34.667C118.278,34.722 118.222,35.778 118.667,35.333C118.722,35.278 118.778,34.222 118.333,34.667z" + android:fillColor="#334752" + android:strokeColor="#00000000"/> + <path + android:pathData="M17,35L18,36L17,35z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,35L20,36L19,35z" + android:fillColor="#83838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,68C46.491,67.829 49.051,45.831 53,35C39.553,40.098 32.038,54.153 32,68z" + android:fillColor="#a2d3f5" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,35L120,36L119,35z" + android:fillColor="#83838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M121,35L122,36L121,35z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,36L20,37L19,36M119,36L120,37L119,36z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M18,37L19,38L18,37z" + android:fillColor="#585862" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,37L20,38L19,37z" + android:fillColor="#4d90b7" + android:strokeColor="#00000000"/> + <path + android:pathData="M88,37C88,47.48 87.551,57.536 88,68L106,68C105.966,55.831 100.083,41.682 88,37z" + android:fillColor="#9dd1f3" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,37L120,38L119,37z" + android:fillColor="#4d90b7" + android:strokeColor="#00000000"/> + <path + android:pathData="M120,37L121,38L120,37z" + android:fillColor="#585862" + android:strokeColor="#00000000"/> + <path + android:pathData="M14,38C0.943,60.943 3.615,92.633 22.04,112C26.715,116.914 31.419,121.899 38,124C34.806,118.112 28.619,114.917 24.174,109.996C16.042,100.994 10.576,89.953 8.464,78C7.031,69.89 7.777,60.895 9.885,53C11.135,48.319 14.838,42.785 14,38z" + android:fillColor="#2a2a39" + android:strokeColor="#00000000"/> + <path + android:pathData="M15,38L16,39L15,38z" + android:fillColor="#5c5c66" + android:strokeColor="#00000000"/> + <path + android:pathData="M18,38L19,39L18,38M120,38L121,39L120,38z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M123,38L124,39L123,38z" + android:fillColor="#5c5c66" + android:strokeColor="#00000000"/> + <path + android:pathData="M124,38C125.944,45.106 129.241,51.672 130.536,59C132.939,72.6 129.711,88.41 122.301,100C116.803,108.599 108.358,114.505 103,123C108.298,120.947 112.061,117.024 115.985,113C129.707,98.932 136.029,77.336 132.192,58C130.849,51.233 128.984,42.974 124,38z" + android:fillColor="#2a2a39" + android:strokeColor="#00000000"/> + <path + android:pathData="M17.333,39.667C17.278,39.722 17.222,40.778 17.667,40.333C17.722,40.278 17.778,39.222 17.333,39.667z" + android:fillColor="#334752" + android:strokeColor="#00000000"/> + <path + android:pathData="M18,39C16.1,43.632 13.855,48.036 13,53C22.352,52.993 25.225,48.784 28,40C24.545,39.991 21.368,39.802 18,39z" + android:fillColor="#5abbf1" + android:strokeColor="#00000000"/> + <path + android:pathData="M121.333,39.667C121.278,39.722 121.222,40.778 121.667,40.333C121.722,40.278 121.778,39.222 121.333,39.667z" + android:fillColor="#334752" + android:strokeColor="#00000000"/> + <path + android:pathData="M14,40L15,41L14,40z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,42C63.125,43.516 71.317,41 77,41C71.192,38.563 63.797,40.162 58,42z" + android:fillColor="#ffffff" + android:strokeColor="#00000000"/> + <path + android:pathData="M124,40L125,41L124,40z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M16.333,41.667C16.278,41.722 16.222,42.778 16.667,42.333C16.722,42.278 16.778,41.222 16.333,41.667z" + android:fillColor="#2f4c5e" + android:strokeColor="#00000000"/> + <path + android:pathData="M64.667,41.333C64.222,41.778 65.278,41.722 65.333,41.667C65.778,41.222 64.722,41.278 64.667,41.333z" + android:fillColor="#c0c0c2" + android:strokeColor="#00000000"/> + <path + android:pathData="M66,41C68.052,41.874 69.747,41.953 72,42C69.948,41.126 68.253,41.047 66,41z" + android:fillColor="#747579" + android:strokeColor="#00000000"/> + <path + android:pathData="M72.667,41.333C72.222,41.778 73.278,41.722 73.333,41.667C73.778,41.222 72.722,41.278 72.667,41.333z" + android:fillColor="#a1a1a4" + android:strokeColor="#00000000"/> + <path + android:pathData="M74,41C75.248,41.685 75.548,41.749 77,42C75.752,41.315 75.452,41.251 74,41z" + android:fillColor="#d8d8d9" + android:strokeColor="#00000000"/> + <path + android:pathData="M122.333,41.667C122.278,41.722 122.222,42.778 122.667,42.333C122.722,42.278 122.778,41.222 122.333,41.667z" + android:fillColor="#2f4c5e" + android:strokeColor="#00000000"/> + <path + android:pathData="M13,42L14,43L13,42z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M15,42L16,43L15,42z" + android:fillColor="#83838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M61,42L62,43L61,42z" + android:fillColor="#9d9da1" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,42L63,43L62,42z" + android:fillColor="#66666c" + android:strokeColor="#00000000"/> + <path + android:pathData="M63,42C58.424,46.859 57.536,49.567 56,56C57.635,56.545 57.455,56.365 58,58C61.704,56.765 71.519,53.759 76,56C77.692,56.846 77.085,59.06 80,58C82.522,57.083 81.733,55.111 83,53L84,54C83.206,49.815 82.282,46.62 80,43L77,44L77,42C72.086,42.912 67.914,42.912 63,42z" + android:fillColor="#2a2a32" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,42C68.163,43.327 71.586,43 75,43C71.837,41.673 68.414,42 65,42z" + android:fillColor="#060710" + android:strokeColor="#00000000"/> + <path + android:pathData="M77,42L78,43L77,42z" + android:fillColor="#5b5b61" + android:strokeColor="#00000000"/> + <path + android:pathData="M78,42L79,43L78,42z" + android:fillColor="#8d8d91" + android:strokeColor="#00000000"/> + <path + android:pathData="M79,42L80,43L79,42z" + android:fillColor="#cdcdce" + android:strokeColor="#00000000"/> + <path + android:pathData="M123,42L124,43L123,42z" + android:fillColor="#83838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M125,42L126,43L125,42z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M15.333,43.667C15.278,43.722 15.222,44.778 15.667,44.333C15.722,44.278 15.778,43.222 15.333,43.667z" + android:fillColor="#232e46" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,43L60,44L59,43z" + android:fillColor="#77777c" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,55C58.088,50.083 57.72,46.831 63,44C56.069,42.178 56.004,50.204 56,55z" + android:fillColor="#13131b" + android:strokeColor="#00000000"/> + <path + android:pathData="M77.667,43.333C77.222,43.778 78.278,43.722 78.333,43.667C78.778,43.222 77.722,43.278 77.667,43.333z" + android:fillColor="#02020b" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,43L81,44L80,43z" + android:fillColor="#5c5c62" + android:strokeColor="#00000000"/> + <path + android:pathData="M81,43L82,44L81,43z" + android:fillColor="#d2d2d3" + android:strokeColor="#00000000"/> + <path + android:pathData="M123.333,43.667C123.278,43.722 123.222,44.778 123.667,44.333C123.722,44.278 123.778,43.222 123.333,43.667z" + android:fillColor="#232e46" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,44L58,45L57,44z" + android:fillColor="#ababad" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,44C81.223,45.195 81.42,45.316 83,46C81.777,44.805 81.58,44.684 80,44z" + android:fillColor="#0c0c15" + android:strokeColor="#00000000"/> + <path + android:pathData="M82,44L83,45L82,44z" + android:fillColor="#939397" + android:strokeColor="#00000000"/> + <path + android:pathData="M14.333,45.667C14.278,45.722 14.222,46.778 14.667,46.333C14.722,46.278 14.778,45.222 14.333,45.667z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M50,45L39,68L52,68C52,60.59 53.098,51.902 50,45z" + android:fillColor="#95c9ef" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,45L57,46L56,45z" + android:fillColor="#959599" + android:strokeColor="#00000000"/> + <path + android:pathData="M83,45L84,46L83,45z" + android:fillColor="#89898d" + android:strokeColor="#00000000"/> + <path + android:pathData="M124.333,45.667C124.278,45.722 124.222,46.778 124.667,46.333C124.722,46.278 124.778,45.222 124.333,45.667z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,46L56,47L55,46z" + android:fillColor="#b8b8ba" + android:strokeColor="#00000000"/> + <path + android:pathData="M83,46L83,52C83.951,49.715 83.951,48.285 83,46z" + android:fillColor="#090a12" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,46L85,47L84,46z" + android:fillColor="#b7b7b9" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,47L12,48L11,47z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M13.667,47.333C13.222,47.778 14.278,47.722 14.333,47.667C14.778,47.222 13.722,47.278 13.667,47.333z" + android:fillColor="#4782a8" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,47L51,51C51.71,49.241 51.71,48.759 51,47z" + android:fillColor="#b9daf0" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,47L54,54C55.078,51.227 54.663,49.435 53,47z" + android:fillColor="#ffffff" + android:strokeColor="#00000000"/> + <path + android:pathData="M55.333,47.667C55.278,47.722 55.222,48.778 55.667,48.333C55.722,48.278 55.778,47.222 55.333,47.667z" + android:fillColor="#323239" + android:strokeColor="#00000000"/> + <path + android:pathData="M84.333,47.667C84.278,47.722 84.222,48.778 84.667,48.333C84.722,48.278 84.778,47.222 84.333,47.667z" + android:fillColor="#43434a" + android:strokeColor="#00000000"/> + <path + android:pathData="M124.667,47.333C124.222,47.778 125.278,47.722 125.333,47.667C125.778,47.222 124.722,47.278 124.667,47.333z" + android:fillColor="#72727b" + android:strokeColor="#00000000"/> + <path + android:pathData="M127,47L128,48L127,47z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M13.333,48.667C13.278,48.722 13.222,49.778 13.667,49.333C13.722,49.278 13.778,48.222 13.333,48.667M125.333,48.667C125.278,48.722 125.222,49.778 125.667,49.333C125.722,49.278 125.778,48.222 125.333,48.667z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,49L55,52C55.696,50.446 55.696,50.554 55,49z" + android:fillColor="#626267" + android:strokeColor="#00000000"/> + <path + android:pathData="M84.333,49.667C84.278,49.722 84.222,50.778 84.667,50.333C84.722,50.278 84.778,49.222 84.333,49.667z" + android:fillColor="#89888c" + android:strokeColor="#00000000"/> + <path + android:pathData="M10.333,50.667C10.278,50.722 10.222,51.778 10.667,51.333C10.722,51.278 10.778,50.222 10.333,50.667z" + android:fillColor="#9a9aa1" + android:strokeColor="#00000000"/> + <path + android:pathData="M12,50L13,51L12,50M126,50L127,51L126,50z" + android:fillColor="#6d6d76" + android:strokeColor="#00000000"/> + <path + android:pathData="M12.333,51.667C12.278,51.722 12.222,52.778 12.667,52.333C12.722,52.278 12.778,51.222 12.333,51.667z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,51L86,55C86.683,53.494 86.826,52.685 87,51L84,51z" + android:fillColor="#b5b6b7" + android:strokeColor="#00000000"/> + <path + android:pathData="M126.333,51.667C126.278,51.722 126.222,52.778 126.667,52.333C126.722,52.278 126.778,51.222 126.333,51.667z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M52,52L52,66C53.796,61.721 52.909,56.581 54,52L52,52z" + android:fillColor="#d5eaf8" + android:strokeColor="#00000000"/> + <path + android:pathData="M55.333,52.667C55.278,52.722 55.222,53.778 55.667,53.333C55.722,53.278 55.778,52.222 55.333,52.667z" + android:fillColor="#a5a5a8" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,52L84,57C84.83,54.97 84.83,54.03 84,52z" + android:fillColor="#ffffff" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,53L11,55C12.635,54.455 12.455,54.635 13,53L11,53z" + android:fillColor="#555568" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,68L20,68C20.014,62.779 20.95,58.088 22,53C19.628,53.002 16.508,52.549 14.303,53.603C9.835,55.74 11,63.98 11,68z" + android:fillColor="#4eb0eb" + android:strokeColor="#00000000"/> + <path + android:pathData="M21,55C20.447,59.377 20.003,63.578 20,68L32,68C32.043,62.826 33.555,58.1 34,53C29.51,53.594 25.637,54.984 21,55z" + android:fillColor="#78c2f1" + android:strokeColor="#00000000"/> + <path + android:pathData="M53.333,53.667C53.278,53.722 53.222,54.778 53.667,54.333C53.722,54.278 53.778,53.222 53.333,53.667z" + android:fillColor="#838387" + android:strokeColor="#00000000"/> + <path + android:pathData="M82,53C81.547,54.947 81.006,56.269 80,58L83,59C82.953,56.747 82.874,55.052 82,53z" + android:fillColor="#05060e" + android:strokeColor="#00000000"/> + <path + android:pathData="M85.333,53.667C85.278,53.722 85.222,54.778 85.667,54.333C85.722,54.278 85.778,53.222 85.333,53.667z" + android:fillColor="#494950" + android:strokeColor="#00000000"/> + <path + android:pathData="M104,53C104.445,58.1 105.957,62.826 106,68L118,68C117.997,63.578 117.553,59.377 117,55C112.444,54.95 108.473,53.297 104,53z" + android:fillColor="#77c1f1" + android:strokeColor="#00000000"/> + <path + android:pathData="M116,53C117.05,58.088 117.986,62.779 118,68L128,68C128,63.984 129.166,55.734 124.697,53.603C122.239,52.431 118.65,53 116,53z" + android:fillColor="#4eb0eb" + android:strokeColor="#00000000"/> + <path + android:pathData="M126,53C126.545,54.635 126.365,54.455 128,55L128,53L126,53z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M9,54C8.692,61.183 4.701,75.701 11,81C10.173,76.733 8.91,72.379 9.104,68C9.316,63.218 11.682,58.31 9,54z" + android:fillColor="#a8a8ae" + android:strokeColor="#00000000"/> + <path + android:pathData="M54.667,54.333C54.222,54.778 55.278,54.722 55.333,54.667C55.778,54.222 54.722,54.278 54.667,54.333z" + android:fillColor="#dadadb" + android:strokeColor="#00000000"/> + <path + android:pathData="M83.333,54.667C83.278,54.722 83.222,55.778 83.667,55.333C83.722,55.278 83.778,54.222 83.333,54.667z" + android:fillColor="#65656a" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,55L11,58C11.696,56.446 11.696,56.554 11,55z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,55L53,66C54.452,62.633 54.711,58.663 55,55L53,55z" + android:fillColor="#54545a" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,55L56,71C57.287,67.933 56.217,63.097 59.318,61.028C63.086,58.513 71.634,59.829 75.999,60.019C77.883,60.101 79.971,60.179 81.397,61.603C83.47,63.675 82.991,67.336 83,70C84.44,66.568 84,62.7 84,59C74.275,58.232 65.593,57.518 56,60C55.912,58.036 55.779,56.769 55,55z" + android:fillColor="#ffffff" + android:strokeColor="#00000000"/> + <path + android:pathData="M85,55L85,62C86.06,59.466 86.06,57.534 85,55z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M86.333,55.667C86.278,55.722 86.222,56.778 86.667,56.333C86.722,56.278 86.778,55.222 86.333,55.667z" + android:fillColor="#727d87" + android:strokeColor="#00000000"/> + <path + android:pathData="M127,55L127,58C127.696,56.446 127.696,56.554 127,55z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,56L56,59C56.696,57.446 56.696,57.554 56,56z" + android:fillColor="#54545b" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,56C57.406,58.092 57.217,58.02 59,59C58.309,57.612 58.015,57.139 57,56z" + android:fillColor="#0e0e17" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,57C63.958,58.778 71.585,57 77,57C71.546,54.711 64.703,56.279 59,57z" + android:fillColor="#090912" + android:strokeColor="#00000000"/> + <path + android:pathData="M83,56C83.406,58.092 83.217,58.02 85,59C84.316,57.42 84.195,57.223 83,56z" + android:fillColor="#cfcfd0" + android:strokeColor="#00000000"/> + <path + android:pathData="M63,57C64.248,57.685 64.548,57.749 66,58C64.752,57.315 64.452,57.251 63,57z" + android:fillColor="#414248" + android:strokeColor="#00000000"/> + <path + android:pathData="M66,57C68.89,58.213 71.874,57.998 75,58C72.11,56.787 69.126,57.002 66,57z" + android:fillColor="#96969a" + android:strokeColor="#00000000"/> + <path + android:pathData="M75.667,57.333C75.222,57.778 76.278,57.722 76.333,57.667C76.778,57.222 75.722,57.278 75.667,57.333z" + android:fillColor="#5b5c61" + android:strokeColor="#00000000"/> + <path + android:pathData="M86.333,57.667C86.278,57.722 86.222,58.778 86.667,58.333C86.722,58.278 86.778,57.222 86.333,57.667z" + android:fillColor="#575d67" + android:strokeColor="#00000000"/> + <path + android:pathData="M128,57L128,60C128.696,58.446 128.696,58.554 128,57z" + android:fillColor="#73737b" + android:strokeColor="#00000000"/> + <path + android:pathData="M8.333,58.667C8.278,58.722 8.222,59.778 8.667,59.333C8.722,59.278 8.778,58.222 8.333,58.667z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M10.333,58.667C10.278,58.722 10.222,59.778 10.667,59.333C10.722,59.278 10.778,58.222 10.333,58.667z" + android:fillColor="#555568" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,58C60.248,58.685 60.548,58.749 62,59C60.752,58.315 60.452,58.251 59,58z" + android:fillColor="#66666b" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,58L63,59L62,58z" + android:fillColor="#b7b7b9" + android:strokeColor="#00000000"/> + <path + android:pathData="M79,58L80,59L79,58z" + android:fillColor="#cacacc" + android:strokeColor="#00000000"/> + <path + android:pathData="M80.667,58.333C80.222,58.778 81.278,58.722 81.333,58.667C81.778,58.222 80.722,58.278 80.667,58.333z" + android:fillColor="#65666b" + android:strokeColor="#00000000"/> + <path + android:pathData="M130.333,58.667C130.278,58.722 130.222,59.778 130.667,59.333C130.722,59.278 130.778,58.222 130.333,58.667z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M54,59L54,86C56.541,79.945 56.541,65.055 54,59z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,59L57,60L56,59z" + android:fillColor="#c1c2c3" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,59L58,60L57,59z" + android:fillColor="#909093" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,59L84,62C84.696,60.446 84.696,60.554 84,59z" + android:fillColor="#929296" + android:strokeColor="#00000000"/> + <path + android:pathData="M86,59C84.616,64.233 81.501,72.435 87,76C87,70.638 88.087,63.974 86,59z" + android:fillColor="#202129" + android:strokeColor="#00000000"/> + <path + android:pathData="M10,60L10,77C11.883,72.513 11.883,64.487 10,60z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M55.333,60.667C55.278,60.722 55.222,61.778 55.667,61.333C55.722,61.278 55.778,60.222 55.333,60.667z" + android:fillColor="#c3c3c5" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,60C64.687,62.806 74.767,61 82,61C75.313,58.194 65.233,60 58,60z" + android:fillColor="#929296" + android:strokeColor="#00000000"/> + <path + android:pathData="M128,60L128,77C129.883,72.513 129.883,64.487 128,60z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,61L57,70C58.256,67.006 58.256,63.994 57,61z" + android:fillColor="#747479" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,61L58,70C59.098,67.387 58.993,64.836 59,62L81,62L81,70C82.213,67.11 81.998,64.126 82,61L58,61z" + android:fillColor="#06060f" + android:strokeColor="#00000000"/> + <path + android:pathData="M82,61L82,70C83.256,67.006 83.256,63.994 82,61z" + android:fillColor="#9c9d9f" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,62L55,65C55.696,63.446 55.696,63.554 55,62z" + android:fillColor="#a7a7a9" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,62L59,69L81,69L81,62L59,62z" + android:fillColor="#2a2a32" + android:strokeColor="#00000000"/> + <path + android:pathData="M84.333,62.667C84.278,62.722 84.222,63.778 84.667,63.333C84.722,63.278 84.778,62.222 84.333,62.667z" + android:fillColor="#57575d" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,62L87,69C88.06,66.466 88.06,64.534 87,62z" + android:fillColor="#66829c" + android:strokeColor="#00000000"/> + <path + android:pathData="M9,64L9,74C10.346,70.793 10.346,67.207 9,64z" + android:fillColor="#8a8a91" + android:strokeColor="#00000000"/> + <path + android:pathData="M55.333,65.667C55.278,65.722 55.222,66.778 55.667,66.333C55.722,66.278 55.778,65.222 55.333,65.667z" + android:fillColor="#78787c" + android:strokeColor="#00000000"/> + <path + android:pathData="M129,65L129,74C130.256,71.006 130.256,67.994 129,65z" + android:fillColor="#8a8a91" + android:strokeColor="#00000000"/> + <path + android:pathData="M52,66L52,81C53.74,76.852 53.74,70.148 52,66z" + android:fillColor="#b3cfe2" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,66L53,76C54.346,72.793 54.346,69.207 53,66z" + android:fillColor="#37373e" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,67L55,70C55.696,68.446 55.696,68.554 55,67z" + android:fillColor="#55555b" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,68C13.89,69.213 16.874,68.998 20,69C17.11,67.787 14.126,68.002 11,68z" + android:fillColor="#93cdf3" + android:strokeColor="#00000000"/> + <path + android:pathData="M20,68C23.699,69.552 28.017,69 32,69L52,69C48.301,67.448 43.983,68 40,68L20,68z" + android:fillColor="#bddff5" + android:strokeColor="#00000000"/> + <path + android:pathData="M88,68C93.222,70.191 100.368,69 106,69C100.778,66.809 93.632,68 88,68z" + android:fillColor="#c0e1f6" + android:strokeColor="#00000000"/> + <path + android:pathData="M106,68C109.697,69.551 114.017,69 118,69C114.303,67.449 109.983,68 106,68z" + android:fillColor="#acd9f5" + android:strokeColor="#00000000"/> + <path + android:pathData="M118,68C121.163,69.327 124.586,69 128,69C124.837,67.673 121.414,68 118,68z" + android:fillColor="#93cdf3" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,69C11,72.921 9.938,80.277 13.564,82.972C15.848,84.669 20.252,84.345 23,85C21.901,79.671 20.687,74.406 20,69L11,69z" + android:fillColor="#42a6e6" + android:strokeColor="#00000000"/> + <path + android:pathData="M20,69C20.446,74.638 20.935,86.624 26.278,89.972C28.936,91.638 33.005,91 36,91L38,87C34.376,81.681 32.294,75.439 32,69L20,69z" + android:fillColor="#6bb6ea" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,69C32.194,78.101 36.263,92.207 46,95C47.959,86.429 51.97,77.717 52,69L32,69z" + android:fillColor="#8ec6ec" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,69C65.202,71.603 74.298,70 81,70C74.798,67.397 65.702,69 59,69z" + android:fillColor="#1b1b24" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,69L87,74C87.83,71.969 87.83,71.031 87,69z" + android:fillColor="#95afc4" + android:strokeColor="#00000000"/> + <path + android:pathData="M88,69C88.268,72.641 89.897,74.771 91.127,78.09C92.898,82.869 93.494,87.4 96,92L98,92C102.129,84.547 105.621,77.701 106,69L88,69z" + android:fillColor="#94caef" + android:strokeColor="#00000000"/> + <path + android:pathData="M106,69C105.58,74.146 103.747,78.921 103,84C106.038,84.063 110.767,85.591 113.57,84.357C117.701,82.54 117.697,72.83 118,69L106,69z" + android:fillColor="#6fb9ec" + android:strokeColor="#00000000"/> + <path + android:pathData="M118,69C116.966,77.137 114.573,84.282 112,92C115.276,91.22 120.626,91.941 123.348,89.972C128.442,86.288 127.996,74.548 128,69L118,69z" + android:fillColor="#3a9fe3" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,70L55,80C56.346,76.793 56.346,73.207 55,70z" + android:fillColor="#35353c" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,70L58,71L57,70z" + android:fillColor="#b4b4b6" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,70C64.687,72.806 74.767,71 82,71C75.313,68.194 65.233,70 58,70z" + android:fillColor="#36363d" + android:strokeColor="#00000000"/> + <path + android:pathData="M82,70L83,74C83.751,71.953 83.656,71.404 82,70z" + android:fillColor="#cececf" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,71L56,81C63.462,75.959 74.305,78 83,78L82,73L65,73C61.61,73 58.797,72.28 58,76L56,71z" + android:fillColor="#e2e2e2" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,71L57,76C57.685,74.752 57.749,74.452 58,73L82,73C82.467,76.696 82.969,80.265 83,84C84.736,79.863 83.8,75.312 83,71C74.549,72.569 65.451,72.569 57,71z" + android:fillColor="#f1f1f1" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,71C65.202,73.603 74.298,72 81,72C74.798,69.397 65.702,71 59,71z" + android:fillColor="#dedede" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,74L87,81C88.06,78.466 88.06,76.534 87,74z" + android:fillColor="#b0cce0" + android:strokeColor="#00000000"/> + <path + android:pathData="M88,74C87.831,82.472 89.561,90.594 88,99C91.595,97.609 94.154,95.59 97,93C94.15,87.452 93.013,77.412 88,74z" + android:fillColor="#86c0e9" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,75L84,78C84.696,76.446 84.696,76.554 84,75z" + android:fillColor="#515157" + android:strokeColor="#00000000"/> + <path + android:pathData="M130,75L130,78C130.696,76.446 130.696,76.554 130,75z" + android:fillColor="#8b8b93" + android:strokeColor="#00000000"/> + <path + android:pathData="M8,76L8,79C8.696,77.446 8.696,77.554 8,76z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,76L53,79C53.696,77.446 53.696,77.554 53,76z" + android:fillColor="#4f4f55" + android:strokeColor="#00000000"/> + <path + android:pathData="M85,76L85,85C86.256,82.006 86.256,78.994 85,76z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M86,76L86,82C86.951,79.715 86.951,78.285 86,76z" + android:fillColor="#4c4d52" + android:strokeColor="#00000000"/> + <path + android:pathData="M10.333,77.667C10.278,77.722 10.222,78.778 10.667,78.333C10.722,78.278 10.778,77.222 10.333,77.667z" + android:fillColor="#73737b" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,77C47.661,83.14 47.704,89.989 44,96C46.926,97.966 49.702,99.752 53,101C52.377,97.321 50.917,93.788 51.109,90C51.35,85.232 53.357,81.536 51,77z" + android:fillColor="#83bee7" + android:strokeColor="#00000000"/> + <path + android:pathData="M128.333,77.667C128.278,77.722 128.222,78.778 128.667,78.333C128.722,78.278 128.778,77.222 128.333,77.667z" + android:fillColor="#73737b" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,86C65.991,87.111 74.963,86.025 84,86L84,98C90.543,96.908 89,90.326 89,85C87.745,86.856 86.599,88.42 85,90L83,78L66,78C63.797,78.005 60.595,77.536 58.742,79.028C56.767,80.618 57.055,83.754 57,86z" + android:fillColor="#d7d7d7" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,78L84,81C84.696,79.446 84.696,79.554 84,78z" + android:fillColor="#848488" + android:strokeColor="#00000000"/> + <path + android:pathData="M127,78L128,79L127,78z" + android:fillColor="#3676a7" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,79L11,82C11.696,80.446 11.696,80.554 11,79z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M53.333,79.667C53.278,79.722 53.222,80.778 53.667,80.333C53.722,80.278 53.778,79.222 53.333,79.667z" + android:fillColor="#86868a" + android:strokeColor="#00000000"/> + <path + android:pathData="M127,79L127,82C127.696,80.446 127.696,80.554 127,79z" + android:fillColor="#24313d" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,80L55,84C55.71,82.241 55.71,81.759 55,80z" + android:fillColor="#67676c" + android:strokeColor="#00000000"/> + <path + android:pathData="M9.333,81.667C9.278,81.722 9.222,82.778 9.667,82.333C9.722,82.278 9.778,81.222 9.333,81.667z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M10,81C11.008,103.064 32.7,122.721 53,128.076C62.245,130.514 71.636,130.183 81,129C77.299,127.461 73.88,128.775 70,128.871C64.788,129 58.971,127.768 54,126.279C39.694,121.992 26.863,112.791 18.916,100C15.181,93.989 13.696,86.873 10,81z" + android:fillColor="#b1b1b6" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,81L53,84C53.696,82.446 53.696,82.554 53,81z" + android:fillColor="#b1b1b3" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,81L56,90C57.256,87.006 57.256,83.994 56,81z" + android:fillColor="#ffffff" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,81L84,84C84.696,82.446 84.696,82.554 84,81z" + android:fillColor="#9e9ea1" + android:strokeColor="#00000000"/> + <path + android:pathData="M129.333,81.667C129.278,81.722 129.222,82.778 129.667,82.333C129.722,82.278 129.778,81.222 129.333,81.667z" + android:fillColor="#84848c" + android:strokeColor="#00000000"/> + <path + android:pathData="M11.333,82.667C11.278,82.722 11.222,83.778 11.667,83.333C11.722,83.278 11.778,82.222 11.333,82.667z" + android:fillColor="#7c7c83" + android:strokeColor="#00000000"/> + <path + android:pathData="M86.333,82.667C86.278,82.722 86.222,83.778 86.667,83.333C86.722,83.278 86.778,82.222 86.333,82.667z" + android:fillColor="#7a7a7e" + android:strokeColor="#00000000"/> + <path + android:pathData="M127.333,82.667C127.278,82.722 127.222,83.778 127.667,83.333C127.722,83.278 127.778,82.222 127.333,82.667z" + android:fillColor="#7c7c83" + android:strokeColor="#00000000"/> + <path + android:pathData="M12,83L13,84L12,83z" + android:fillColor="#2f5e86" + android:strokeColor="#00000000"/> + <path + android:pathData="M52,83L52,98L58,99C57.974,95.878 57.724,93.039 57,90L54,91C53.965,87.808 53.942,85.56 52,83z" + android:fillColor="#d3d3d3" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,83L87,89C87.951,86.715 87.951,85.285 87,83z" + android:fillColor="#e6e6e6" + android:strokeColor="#00000000"/> + <path + android:pathData="M126,83L127,84L126,83z" + android:fillColor="#2f6586" + android:strokeColor="#00000000"/> + <path + android:pathData="M12.333,84.667C12.278,84.722 12.222,85.778 12.667,85.333C12.722,85.278 12.778,84.222 12.333,84.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M13,84C13.695,88.036 15.273,95.457 19.39,97.397C22.334,98.784 26.819,98 30,98C27.866,93.948 25.35,86.48 20.87,84.603C18.517,83.617 15.493,84.002 13,84z" + android:fillColor="#3599e0" + android:strokeColor="#00000000"/> + <path + android:pathData="M55,84L54,90C56.093,88.176 56.04,86.529 55,84z" + android:fillColor="#7d7d81" + android:strokeColor="#00000000"/> + <path + android:pathData="M86,84L86,89C86.83,86.969 86.83,86.031 86,84z" + android:fillColor="#a3a3a6" + android:strokeColor="#00000000"/> + <path + android:pathData="M96,94C98.334,94.878 100.701,96.301 103.169,96.732C110.297,97.979 112.985,90.463 115,85C111.436,84.719 106.747,83.11 103.326,84.604C99.843,86.125 97.746,90.864 96,94z" + android:fillColor="#60ade4" + android:strokeColor="#00000000"/> + <path + android:pathData="M126.333,84.667C126.278,84.722 126.222,85.778 126.667,85.333C126.722,85.278 126.778,84.222 126.333,84.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M85.333,85.667C85.278,85.722 85.222,86.778 85.667,86.333C85.722,86.278 85.778,85.222 85.333,85.667z" + android:fillColor="#36363c" + android:strokeColor="#00000000"/> + <path + android:pathData="M10,86L11,87L10,86z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M12,86L13,87L12,86z" + android:fillColor="#6a6a72" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,86L51,96C52.346,92.793 52.346,89.207 51,86z" + android:fillColor="#a1c6de" + android:strokeColor="#00000000"/> + <path + android:pathData="M54.333,86.667C54.278,86.722 54.222,87.778 54.667,87.333C54.722,87.278 54.778,86.222 54.333,86.667z" + android:fillColor="#4d4e54" + android:strokeColor="#00000000"/> + <path + android:pathData="M57,86L57,92C57.951,89.715 57.951,88.285 57,86z" + android:fillColor="#b5b4b6" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,86L59,87L58,86z" + android:fillColor="#424248" + android:strokeColor="#00000000"/> + <path + android:pathData="M59.667,86.333C59.222,86.778 60.278,86.722 60.333,86.667C60.778,86.222 59.722,86.278 59.667,86.333z" + android:fillColor="#969699" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,86C67.332,86.984 69.457,86.981 72,87C69.669,86.016 67.543,86.019 65,86z" + android:fillColor="#f2f2f0" + android:strokeColor="#00000000"/> + <path + android:pathData="M75.667,86.333C75.222,86.778 76.278,86.722 76.333,86.667C76.778,86.222 75.722,86.278 75.667,86.333z" + android:fillColor="#c4c4c5" + android:strokeColor="#00000000"/> + <path + android:pathData="M77,86C78.248,86.685 78.548,86.749 80,87C78.752,86.315 78.452,86.251 77,86z" + android:fillColor="#8c8c90" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,86L81,87L80,86z" + android:fillColor="#515156" + android:strokeColor="#00000000"/> + <path + android:pathData="M81,86C79.521,86.986 79.797,87 78,87C79.248,87.685 79.548,87.749 81,88C80.997,91.732 81.303,94.96 79,98C83.598,98.758 82.298,88.688 81,86z" + android:fillColor="#0c0c15" + android:strokeColor="#00000000"/> + <path + android:pathData="M82,86L82,98C83.512,94.396 83.512,89.604 82,86z" + android:fillColor="#737378" + android:strokeColor="#00000000"/> + <path + android:pathData="M83,86C83,91.029 82.988,95.307 81,100C85.152,97.308 84.783,90.249 83,86z" + android:fillColor="#e8e8e6" + android:strokeColor="#00000000"/> + <path + android:pathData="M126,86L127,87L126,86z" + android:fillColor="#6a6a72" + android:strokeColor="#00000000"/> + <path + android:pathData="M128,86L129,87L128,86z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,86C133.049,111.711 111.711,133.049 86,139C91.713,141.224 98.971,136.883 104,134.218C117.661,126.979 128.339,115.803 135.241,102C137.566,97.35 141.011,91.165 139,86z" + android:fillColor="#2e2e2e" + android:strokeColor="#00000000"/> + <path + android:pathData="M13.333,87.667C13.278,87.722 13.222,88.778 13.667,88.333C13.722,88.278 13.778,87.222 13.333,87.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,87C59.248,87.685 59.548,87.749 61,88C59.752,87.315 59.452,87.251 58,87z" + android:fillColor="#04050e" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,88L58,98C58.779,96.231 58.912,94.964 59,93C60.376,95.752 61.264,98.943 61,100C67.56,100.829 73.447,101.217 80,100L81,88C74.863,87.251 68.295,89 62,89C63.479,88.014 63.203,88 65,88C62.54,87.112 60.585,87.533 58,88z" + android:fillColor="#2a2a32" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,87C67.332,87.984 69.457,87.981 72,88C69.668,87.016 67.543,87.019 65,87z" + android:fillColor="#76767b" + android:strokeColor="#00000000"/> + <path + android:pathData="M72,87C73.506,87.683 74.315,87.826 76,88C74.494,87.317 73.685,87.174 72,87z" + android:fillColor="#37373f" + android:strokeColor="#00000000"/> + <path + android:pathData="M85,87L85,90C85.696,88.446 85.696,88.554 85,87z" + android:fillColor="#636369" + android:strokeColor="#00000000"/> + <path + android:pathData="M125.333,87.667C125.278,87.722 125.222,88.778 125.667,88.333C125.722,88.278 125.778,87.222 125.333,87.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M36,88C33.668,91.598 29.987,90.997 26,91C29.616,99.274 36.761,108.161 46,110L45,107L49,105L47,101L50,100C45.836,95.963 41.128,90.596 36,88z" + android:fillColor="#60ade4" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,88C65.959,89.661 70.737,89 75,89C71.041,87.339 66.263,88 62,88z" + android:fillColor="#0b0b15" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,89C0.336,96.339 3.774,102.896 7.698,109C17.144,123.693 34.616,139.16 53,140C48.74,137.319 43.568,136.257 39,134.11C32.067,130.852 25.55,126.187 20.015,120.91C14.096,115.268 9.027,108.314 5.37,101C3.406,97.07 2.344,92.707 0,89z" + android:fillColor="#2e2e2e" + android:strokeColor="#00000000"/> + <path + android:pathData="M11,89L12,90L11,89z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M13.667,89.333C13.222,89.778 14.278,89.722 14.333,89.667C14.778,89.222 13.722,89.278 13.667,89.333z" + android:fillColor="#30709a" + android:strokeColor="#00000000"/> + <path + android:pathData="M124,89L125,90L124,89z" + android:fillColor="#30709f" + android:strokeColor="#00000000"/> + <path + android:pathData="M125,89L126,90L125,89z" + android:fillColor="#6e6e77" + android:strokeColor="#00000000"/> + <path + android:pathData="M127,89L128,90L127,89z" + android:fillColor="#767680" + android:strokeColor="#00000000"/> + <path + android:pathData="M14.333,90.667C14.278,90.722 14.222,91.778 14.667,91.333C14.722,91.278 14.778,90.222 14.333,90.667z" + android:fillColor="#404a55" + android:strokeColor="#00000000"/> + <path + android:pathData="M54.667,90.333C54.222,90.778 55.278,90.722 55.333,90.667C55.778,90.222 54.722,90.278 54.667,90.333z" + android:fillColor="#b3b3b4" + android:strokeColor="#00000000"/> + <path + android:pathData="M124.333,90.667C124.278,90.722 124.222,91.778 124.667,91.333C124.722,91.278 124.778,90.222 124.333,90.667z" + android:fillColor="#404a55" + android:strokeColor="#00000000"/> + <path + android:pathData="M95,109C97.89,110.213 100.874,109.998 104,110C103.014,111.479 103,111.203 103,113C113.98,112.644 120.222,100.071 124,91C120.641,91 116.352,90.345 113.209,91.742C109.877,93.224 107.99,97.347 105.699,99.996C102.592,103.591 99.01,106.492 95,109z" + android:fillColor="#2c92dc" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,91C133.844,112.707 112.707,133.844 91,139C97.713,141.817 104.365,138.322 110,134.655C120.53,127.803 128.568,119.602 135.305,109C138.719,103.627 141.635,97.279 139,91z" + android:fillColor="#1c3939" + android:strokeColor="#00000000"/> + <path + android:pathData="M15.333,92.667C15.278,92.722 15.222,93.778 15.667,93.333C15.722,93.278 15.778,92.222 15.333,92.667M123.333,92.667C123.278,92.722 123.222,93.778 123.667,93.333C123.722,93.278 123.778,92.222 123.333,92.667z" + android:fillColor="#37374e" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,93C59.014,96.194 58.597,98.271 62,99L59,93z" + android:fillColor="#1c1c25" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,94C0.015,116.391 26.143,139.998 48,140C38.965,134.286 29.231,131.185 21,123.826C11.275,115.132 7.027,104.447 0,94z" + android:fillColor="#1c3939" + android:strokeColor="#00000000"/> + <path + android:pathData="M13,94L14,95L13,94z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M15,94L16,95L15,94z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M16.333,94.667C16.278,94.722 16.222,95.778 16.667,95.333C16.722,95.278 16.778,94.222 16.333,94.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M70,107L70,117C83.824,116.884 101.381,109.75 108,97C103.823,96.878 98.932,93.694 94.996,95.029C90.027,96.713 87.162,101.507 82.961,104.276C79.118,106.809 74.442,106.963 70,107z" + android:fillColor="#53a0dd" + android:strokeColor="#00000000"/> + <path + android:pathData="M122.333,94.667C122.278,94.722 122.222,95.778 122.667,95.333C122.722,95.278 122.778,94.222 122.333,94.667z" + android:fillColor="#2e3a46" + android:strokeColor="#00000000"/> + <path + android:pathData="M123,94L124,95L123,94z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M125,94L126,95L125,94M14,96L15,97L14,96z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M17.333,96.667C17.278,96.722 17.222,97.778 17.667,97.333C17.722,97.278 17.778,96.222 17.333,96.667M121.333,96.667C121.278,96.722 121.222,97.778 121.667,97.333C121.722,97.278 121.778,96.222 121.333,96.667z" + android:fillColor="#37374e" + android:strokeColor="#00000000"/> + <path + android:pathData="M122,96L123,97L122,96z" + android:fillColor="#83838a" + android:strokeColor="#00000000"/> + <path + android:pathData="M124,96L125,97L124,96z" + android:fillColor="#6c6c76" + android:strokeColor="#00000000"/> + <path + android:pathData="M15,98L16,99L15,98z" + android:fillColor="#5c5c66" + android:strokeColor="#00000000"/> + <path + android:pathData="M18,98L19,99L18,98z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,98C26.392,117.112 49.9,126.998 69,127L69,117C60.392,116.976 52.444,114.787 45,110.373C39.682,107.221 35.244,100.912 29.715,98.603C26.602,97.304 22.309,98 19,98z" + android:fillColor="#2189d7" + android:strokeColor="#00000000"/> + <path + android:pathData="M53,98C55.025,107.946 65.909,106.444 74,106.075C77.37,105.921 80.964,106.276 83.891,104.259C86.212,102.66 87.129,100.54 88,98C83.007,98.653 79.167,101.427 74,101L75,103C72.427,103.515 68.991,103.195 67,102L68,101C62.599,101.658 58.364,98.472 53,98z" + android:fillColor="#c6c6c6" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,98L59,99L58,98z" + android:fillColor="#909093" + android:strokeColor="#00000000"/> + <path + android:pathData="M81,98L82,99L81,98z" + android:fillColor="#59595f" + android:strokeColor="#00000000"/> + <path + android:pathData="M120,98L121,99L120,98z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M123,98L124,99L123,98z" + android:fillColor="#5c5c66" + android:strokeColor="#00000000"/> + <path + android:pathData="M18,99L19,100L18,99z" + android:fillColor="#555568" + android:strokeColor="#00000000"/> + <path + android:pathData="M60,99L61,100L60,99z" + android:fillColor="#79797d" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,99L81,100L80,99z" + android:fillColor="#979799" + android:strokeColor="#00000000"/> + <path + android:pathData="M120,99L121,100L120,99z" + android:fillColor="#555568" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,100L20,101L19,100z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M47,101C47.691,102.388 47.985,102.861 49,104L45,107L45,111C52.704,115.103 60.305,116.994 69,117L69,107C65.58,106.99 62.164,107.107 59.015,105.548C54.443,103.285 52.461,99.872 47,101z" + android:fillColor="#55a2de" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,100C63.248,100.685 63.548,100.749 65,101C63.752,100.315 63.452,100.251 62,100z" + android:fillColor="#9d9d9f" + android:strokeColor="#00000000"/> + <path + android:pathData="M77.667,100.333C77.222,100.778 78.278,100.722 78.333,100.667C78.778,100.222 77.722,100.278 77.667,100.333z" + android:fillColor="#afafb0" + android:strokeColor="#00000000"/> + <path + android:pathData="M79.667,100.333C79.222,100.778 80.278,100.722 80.333,100.667C80.778,100.222 79.722,100.278 79.667,100.333z" + android:fillColor="#e4e4e2" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,100L120,101L119,100z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M17,101L18,102L17,101M19,101L20,102L19,101z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M20.333,101.667C20.278,101.722 20.222,102.778 20.667,102.333C20.722,102.278 20.778,101.222 20.333,101.667z" + android:fillColor="#4e5862" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,101C63.506,101.683 64.315,101.826 66,102C64.494,101.317 63.685,101.174 62,101z" + android:fillColor="#e1e1e0" + android:strokeColor="#00000000"/> + <path + android:pathData="M68,101C70.052,101.874 71.747,101.953 74,102C71.948,101.126 70.253,101.047 68,101z" + android:fillColor="#b2b2b3" + android:strokeColor="#00000000"/> + <path + android:pathData="M76,101C77.248,101.685 77.548,101.749 79,102C77.752,101.315 77.452,101.251 76,101z" + android:fillColor="#e6e6e5" + android:strokeColor="#00000000"/> + <path + android:pathData="M118.333,101.667C118.278,101.722 118.222,102.778 118.667,102.333C118.722,102.278 118.778,101.222 118.333,101.667z" + android:fillColor="#4e5862" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,101L120,102L119,101M121,101L122,102L121,101z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,101C131.962,117.312 117.312,131.962 101,139C106.015,141.1 110.756,139.056 115,136.086C122.915,130.548 129.692,123.815 135.359,116C138.624,111.497 141.299,106.491 139,101z" + android:fillColor="#242449" + android:strokeColor="#00000000"/> + <path + android:pathData="M67,102C69.613,103.098 72.164,102.993 75,103C72.387,101.902 69.836,102.007 67,102z" + android:fillColor="#d7d7d6" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,103C0.058,120.066 21.183,139.952 38,140C31.036,134.169 22.663,130.354 16.039,123.91C9.633,117.678 5.787,109.637 0,103z" + android:fillColor="#242449" + android:strokeColor="#00000000"/> + <path + android:pathData="M21,103L22,104L21,103M117,103L118,104L117,103z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,104L20,105L19,104z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,104L23,105L22,104M116,104L117,105L116,104z" + android:fillColor="#232e3a" + android:strokeColor="#00000000"/> + <path + android:pathData="M119,104L120,105L119,104z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,105L23,106L22,105z" + android:fillColor="#73737b" + android:strokeColor="#00000000"/> + <path + android:pathData="M23,105C23.684,106.58 23.805,106.777 25,108C24.316,106.42 24.195,106.223 23,105M114,108C115.457,106.897 115.897,106.457 117,105C114.876,105.899 114.899,105.876 114,108z" + android:fillColor="#4e5862" + android:strokeColor="#00000000"/> + <path + android:pathData="M60,106C62.89,107.213 65.874,106.998 69,107C66.11,105.787 63.126,106.002 60,106M70,106C72.613,107.098 75.164,106.993 78,107C75.387,105.902 72.836,106.007 70,106z" + android:fillColor="#adbdc9" + android:strokeColor="#00000000"/> + <path + android:pathData="M69,107L69,117C70.346,113.793 70.346,110.207 69,107z" + android:fillColor="#90c1e9" + android:strokeColor="#00000000"/> + <path + android:pathData="M22,108L23,109L22,108z" + android:fillColor="#62626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M25,108L26,109L25,108M113,108L114,109L113,108z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M116,108L117,109L116,108z" + android:fillColor="#62626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M23,109L24,110L23,109z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M26,109L27,110L26,109M112,109L113,110L112,109z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M115,109L116,110L115,109z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,109C132.977,121.093 121.093,132.977 109,139C112.837,140.448 115.858,138.433 119,136.096C125.319,131.398 131.398,125.319 136.096,119C138.433,115.858 140.448,112.837 139,109z" + android:fillColor="#2a2a2a" + android:strokeColor="#00000000"/> + <path + android:pathData="M24,110L25,111L24,110z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M27,110L28,111L27,110z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M70,117L70,127C82.773,126.999 98.687,123.619 107,113L103,113L104,110C91.868,110 82.019,116.744 70,117z" + android:fillColor="#1f87d6" + android:strokeColor="#00000000"/> + <path + android:pathData="M111,110L112,111L111,110z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M114,110L115,111L114,110z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,111C1.272,122.49 18.422,139.223 30,140C24.497,135.1 18.262,131.254 13.004,125.996C8.31,121.302 4.855,115.437 0,111z" + android:fillColor="#2a2a2a" + android:strokeColor="#00000000"/> + <path + android:pathData="M28,111L29,112L28,111M110,111L111,112L110,111z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M113,111L114,112L113,111z" + android:fillColor="#87878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M29,112L30,113L29,112M109,112L110,113L109,112z" + android:fillColor="#2c3743" + android:strokeColor="#00000000"/> + <path + android:pathData="M112,112L113,113L112,112z" + android:fillColor="#87878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M27,113L28,114L27,113z" + android:fillColor="#808087" + android:strokeColor="#00000000"/> + <path + android:pathData="M30.667,113.333C30.222,113.778 31.278,113.722 31.333,113.667C31.778,113.222 30.722,113.278 30.667,113.333z" + android:fillColor="#255d89" + android:strokeColor="#00000000"/> + <path + android:pathData="M106,116C107.457,114.897 107.897,114.457 109,113C106.876,113.899 106.899,113.876 106,116z" + android:fillColor="#4c555e" + android:strokeColor="#00000000"/> + <path + android:pathData="M111,113L112,114L111,113z" + android:fillColor="#83838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M28,114L29,115L28,114z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M31.667,114.333C31.222,114.778 32.278,114.722 32.333,114.667C32.778,114.222 31.722,114.278 31.667,114.333z" + android:fillColor="#234661" + android:strokeColor="#00000000"/> + <path + android:pathData="M110,114L111,115L110,114z" + android:fillColor="#77777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,114C132.047,123.671 123.671,132.047 114,139C121.765,141.655 132.043,128.452 136.096,123C138.219,120.146 140.136,117.501 139,114M0,115C1.148,125.365 14.633,138.847 25,140C21.71,136.293 17.56,133.457 14,129.985C9.09,125.197 4.87,119.771 0,115z" + android:fillColor="#333333" + android:strokeColor="#00000000"/> + <path + android:pathData="M29,115L30,116L29,115z" + android:fillColor="#686871" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,115L33,116L32,115z" + android:fillColor="#707880" + android:strokeColor="#00000000"/> + <path + android:pathData="M33,115L34,116L33,115M105,115L106,116L105,115z" + android:fillColor="#212c43" + android:strokeColor="#00000000"/> + <path + android:pathData="M109,115L110,116L109,115z" + android:fillColor="#686871" + android:strokeColor="#00000000"/> + <path + android:pathData="M34,116L35,117L34,116M104,116L105,117L104,116z" + android:fillColor="#2a354a" + android:strokeColor="#00000000"/> + <path + android:pathData="M35.667,117.333C35.222,117.778 36.278,117.722 36.333,117.667C36.778,117.222 35.722,117.278 35.667,117.333z" + android:fillColor="#263955" + android:strokeColor="#00000000"/> + <path + android:pathData="M69,117L69,127C70.346,123.793 70.346,120.207 69,117z" + android:fillColor="#7ab7e6" + android:strokeColor="#00000000"/> + <path + android:pathData="M102.667,117.333C102.222,117.778 103.278,117.722 103.333,117.667C103.778,117.222 102.722,117.278 102.667,117.333z" + android:fillColor="#4c555e" + android:strokeColor="#00000000"/> + <path + android:pathData="M33,118L34,119L33,118z" + android:fillColor="#7b7b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M36,118L37,119L36,118z" + android:fillColor="#7c838a" + android:strokeColor="#00000000"/> + <path + android:pathData="M37,118L38,119L37,118z" + android:fillColor="#212c43" + android:strokeColor="#00000000"/> + <path + android:pathData="M38.333,118.667C38.278,118.722 38.222,119.778 38.667,119.333C38.722,119.278 38.778,118.222 38.333,118.667M100,118L99,120L101,120C101,118.147 101.3,118.65 100,118z" + android:fillColor="#525b64" + android:strokeColor="#00000000"/> + <path + android:pathData="M101,118L102,119L101,118z" + android:fillColor="#212c43" + android:strokeColor="#00000000"/> + <path + android:pathData="M102,118L103,119L102,118z" + android:fillColor="#7c838a" + android:strokeColor="#00000000"/> + <path + android:pathData="M105,118L106,119L105,118z" + android:fillColor="#788087" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,118C133.148,126.139 126.402,133.442 118,139C125.882,141.975 141.975,125.882 139,118M0,119C0.528,128.647 11.369,139.354 21,140L0,119z" + android:fillColor="#404040" + android:strokeColor="#00000000"/> + <path + android:pathData="M39,119L40,120L39,119z" + android:fillColor="#212c43" + android:strokeColor="#00000000"/> + <path + android:pathData="M37,121C37,122.797 37.014,122.521 38,124L34,123C51.892,141.082 85.551,135.352 105,124C104.402,122.805 104.534,123.023 103,122C104.457,120.897 104.897,120.457 106,119C99.803,121.346 94.405,125.199 88,127.254C70.288,132.937 53.115,129.444 37,121z" + android:fillColor="#263340" + android:strokeColor="#00000000"/> + <path + android:pathData="M36,120L37,121L36,120z" + android:fillColor="#7c838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M40.667,120.333C40.222,120.778 41.278,120.722 41.333,120.667C41.778,120.222 40.722,120.278 40.667,120.333z" + android:fillColor="#26425e" + android:strokeColor="#00000000"/> + <path + android:pathData="M97.667,120.333C97.222,120.778 98.278,120.722 98.333,120.667C98.778,120.222 97.722,120.278 97.667,120.333z" + android:fillColor="#3b454e" + android:strokeColor="#00000000"/> + <path + android:pathData="M102,120L103,121L102,120z" + android:fillColor="#7c838b" + android:strokeColor="#00000000"/> + <path + android:pathData="M41,121L42,122L41,121z" + android:fillColor="#80878e" + android:strokeColor="#00000000"/> + <path + android:pathData="M42.667,121.333C42.222,121.778 43.278,121.722 43.333,121.667C43.778,121.222 42.722,121.278 42.667,121.333z" + android:fillColor="#273b4e" + android:strokeColor="#00000000"/> + <path + android:pathData="M93,122C94.659,122.406 95.242,122.309 97,122C95.341,121.594 94.758,121.691 93,122z" + android:fillColor="#333d47" + android:strokeColor="#00000000"/> + <path + android:pathData="M97,121L98,122L97,121z" + android:fillColor="#7c8391" + android:strokeColor="#00000000"/> + <path + android:pathData="M39,122L40,123L39,122z" + android:fillColor="#58626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M43,122L44,123L43,122z" + android:fillColor="#7c838a" + android:strokeColor="#00000000"/> + <path + android:pathData="M44.667,122.333C44.222,122.778 45.278,122.722 45.333,122.667C45.778,122.222 44.722,122.278 44.667,122.333z" + android:fillColor="#293347" + android:strokeColor="#00000000"/> + <path + android:pathData="M95,122L96,123L95,122z" + android:fillColor="#78808e" + android:strokeColor="#00000000"/> + <path + android:pathData="M99,122L100,123L99,122z" + android:fillColor="#58626c" + android:strokeColor="#00000000"/> + <path + android:pathData="M41,123L42,124L41,123z" + android:fillColor="#646d76" + android:strokeColor="#00000000"/> + <path + android:pathData="M46.667,123.333C46.222,123.778 47.278,123.722 47.333,123.667C47.778,123.222 46.722,123.278 46.667,123.333z" + android:fillColor="#2a3540" + android:strokeColor="#00000000"/> + <path + android:pathData="M91.667,123.333C91.222,123.778 92.278,123.722 92.333,123.667C92.778,123.222 91.722,123.278 91.667,123.333z" + android:fillColor="#424c55" + android:strokeColor="#00000000"/> + <path + android:pathData="M97,123L98,124L97,123z" + android:fillColor="#646d76" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,123C134.422,129.009 129.009,134.422 123,139C130.37,141.969 141.969,130.37 139,123M0,124C0.279,132.593 7.407,139.721 16,140C11.146,134.388 5.456,129.045 0,124z" + android:fillColor="#005555" + android:strokeColor="#00000000"/> + <path + android:pathData="M43,124L44,125L43,124z" + android:fillColor="#646d76" + android:strokeColor="#00000000"/> + <path + android:pathData="M48,124L49,125L48,124z" + android:fillColor="#6c747c" + android:strokeColor="#00000000"/> + <path + android:pathData="M49.667,124.333C49.222,124.778 50.278,124.722 50.333,124.667C50.778,124.222 49.722,124.278 49.667,124.333z" + android:fillColor="#2a3540" + android:strokeColor="#00000000"/> + <path + android:pathData="M88.667,124.333C88.222,124.778 89.278,124.722 89.333,124.667C89.778,124.222 88.722,124.278 88.667,124.333z" + android:fillColor="#333d47" + android:strokeColor="#00000000"/> + <path + android:pathData="M90,124L91,125L90,124z" + android:fillColor="#6c747c" + android:strokeColor="#00000000"/> + <path + android:pathData="M95,124L96,125L95,124z" + android:fillColor="#646d76" + android:strokeColor="#00000000"/> + <path + android:pathData="M51,125L52,126L51,125z" + android:fillColor="#687078" + android:strokeColor="#00000000"/> + <path + android:pathData="M52.667,125.333C52.222,125.778 53.278,125.722 53.333,125.667C53.778,125.222 52.722,125.278 52.667,125.333z" + android:fillColor="#2a3540" + android:strokeColor="#00000000"/> + <path + android:pathData="M84,125L85,126L84,125z" + android:fillColor="#265986" + android:strokeColor="#00000000"/> + <path + android:pathData="M85.667,125.333C85.222,125.778 86.278,125.722 86.333,125.667C86.778,125.222 85.722,125.278 85.667,125.333z" + android:fillColor="#333d47" + android:strokeColor="#00000000"/> + <path + android:pathData="M87.667,125.333C87.222,125.778 88.278,125.722 88.333,125.667C88.778,125.222 87.722,125.278 87.667,125.333z" + android:fillColor="#8f95a2" + android:strokeColor="#00000000"/> + <path + android:pathData="M48,126L49,127L48,126z" + android:fillColor="#6e777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M54.667,126.333C54.222,126.778 55.278,126.722 55.333,126.667C55.778,126.222 54.722,126.278 54.667,126.333z" + android:fillColor="#525b64" + android:strokeColor="#00000000"/> + <path + android:pathData="M56,126C57.248,126.685 57.548,126.749 59,127C57.752,126.315 57.452,126.251 56,126M80,126C81.248,126.685 81.548,126.749 83,127C81.752,126.315 81.452,126.251 80,126z" + android:fillColor="#2a3540" + android:strokeColor="#00000000"/> + <path + android:pathData="M83.667,126.333C83.222,126.778 84.278,126.722 84.333,126.667C84.778,126.222 83.722,126.278 83.667,126.333z" + android:fillColor="#788087" + android:strokeColor="#00000000"/> + <path + android:pathData="M90,126L91,127L90,126z" + android:fillColor="#6e777f" + android:strokeColor="#00000000"/> + <path + android:pathData="M58,127C59.248,127.685 59.548,127.749 61,128C59.752,127.315 59.452,127.251 58,127z" + android:fillColor="#707880" + android:strokeColor="#00000000"/> + <path + android:pathData="M61,127C65.974,129.087 72.638,128 78,128C73.026,125.913 66.362,127 61,127z" + android:fillColor="#2a3540" + android:strokeColor="#00000000"/> + <path + android:pathData="M78.667,127.333C78.222,127.778 79.278,127.722 79.333,127.667C79.778,127.222 78.722,127.278 78.667,127.333z" + android:fillColor="#707880" + android:strokeColor="#00000000"/> + <path + android:pathData="M80,127C81.543,128.267 82.048,128.489 84,129C82.542,127.919 81.752,127.564 80,127z" + android:fillColor="#979ca8" + android:strokeColor="#00000000"/> + <path + android:pathData="M87,127L88,128L87,127z" + android:fillColor="#737b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M65,128C67.89,129.213 70.874,128.998 74,129C71.11,127.787 68.126,128.002 65,128z" + android:fillColor="#838996" + android:strokeColor="#00000000"/> + <path + android:pathData="M59,129C60.248,129.685 60.548,129.749 62,130C60.752,129.315 60.452,129.251 59,129M77,129C78.248,129.685 78.548,129.749 80,130C78.752,129.315 78.452,129.251 77,129z" + android:fillColor="#737b84" + android:strokeColor="#00000000"/> + <path + android:pathData="M139,129C135.471,132.529 131.877,135.916 129,140L140,140C140,136.3 140.44,132.432 139,129M0,130L0,140L10,140C7.211,136.04 3.96,132.789 0,130z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> +</vector> diff --git a/app/src/main/res/drawable/ic_bground.xml b/app/src/main/res/drawable/ic_bground.xml new file mode 100644 index 0000000..5cec1ad --- /dev/null +++ b/app/src/main/res/drawable/ic_bground.xml @@ -0,0 +1,18 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="1024dp" + android:height="600dp" + android:viewportWidth="1024" + android:viewportHeight="600"> + <path + android:pathData="M0,0L0,572C27.15,560.7 53.38,547.54 81,537.23C132.63,517.95 186.24,503.28 241,496.87C278.11,492.53 315.59,489.7 353,494.18C396.99,499.45 439.58,514.02 482,526.42C492.71,529.56 503.42,532.81 514,536.33C519.53,538.17 526.18,541.33 532,541.7C539.59,542.17 548.89,536.71 556,534.33C573.53,528.47 591.11,522.58 609,517.88C662.52,503.83 716.53,494.34 772,495C801.54,495.36 829.64,502.38 858,509.85C893.31,519.15 928.2,530.24 963,541.34C976.05,545.51 989,550 1002,554.33C1009.18,556.73 1016.5,559.89 1024,561L1024,0L0,0z" + android:fillColor="#181a2a" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,600L269,600L356,600C369.89,600 385.28,601.88 399,599.79C410.51,598.03 422.55,589.42 433,584.48C455.67,573.78 478.72,563.71 502,554.4C511.19,550.72 523.03,543.68 533,543.28C538.04,543.07 543.25,545.86 548,547.28C558.06,550.28 568.03,553.34 578,556.67C607.43,566.48 636.63,576.94 666,586.82C678.33,590.97 691.03,597.97 704,599.79C715.26,601.37 727.63,600 739,600L809,600L1024,600L1024,561C1006.67,556.99 989.93,549.61 973,544.19C946.42,535.69 919.74,527.53 893,519.56C868.07,512.13 842.71,503.61 817,499.32C793.44,495.4 768.88,493.99 745,495.04C697.49,497.12 649.72,505.88 604,519C587.2,523.82 570.57,529.09 554,534.67C547.56,536.84 538.88,541.97 532,541.44C524.12,540.83 515.54,536.37 508,534.03C491.73,528.97 475.42,523.65 459,519.15C435.4,512.68 411.95,504.84 388,499.8C353.35,492.52 317.31,490.49 282,492.91C268.58,493.83 255.21,493.73 242,496.55C234.57,498.13 226.55,498.31 219,499.43C205.34,501.45 191.49,504.39 178,507.42C138.1,516.41 98.98,529.53 61,544.6C46.16,550.49 31.37,556.8 17,563.74C12.34,565.99 3.95,567.82 1.03,572.39C-0.5,574.79 0,578.3 0,581L0,600z" + android:fillColor="#1e2231" + android:strokeColor="#00000000"/> + <path + android:pathData="M401,599C408.4,602.1 419.99,600 428,600L489,600L702,600C698.23,597.31 693.32,596.57 689,594.94C679.74,591.44 670.41,588.16 661,585.11C632.83,575.97 605.12,565.37 577,556C567.37,552.79 557.68,549.97 548,546.97C542.52,545.28 536.87,542.42 531,543.33C525.47,544.18 520.2,547 515,548.95C504.56,552.86 494.17,556.97 484,561.54C456.42,573.94 428.96,587.53 401,599z" + android:fillColor="#222737" + android:strokeColor="#00000000"/> +</vector> diff --git a/app/src/main/res/drawable/ic_btn_daikao.xml b/app/src/main/res/drawable/ic_btn_daikao.xml index 70a0121..91e43d4 100644 --- a/app/src/main/res/drawable/ic_btn_daikao.xml +++ b/app/src/main/res/drawable/ic_btn_daikao.xml @@ -5,5 +5,5 @@ android:viewportHeight="1024"> <path android:pathData="M0,0m115.86,0l955.85,0q115.86,0 115.86,115.86l0,738.61q0,115.86 -115.86,115.86l-955.85,0q-115.86,0 -115.86,-115.86l0,-738.61q0,-115.86 115.86,-115.86Z" - android:fillColor="#208AFF"/> + android:fillColor="#1E4A89"/> </vector> diff --git a/app/src/main/res/drawable/ic_btn_save_nopress.xml b/app/src/main/res/drawable/ic_btn_save_nopress.xml new file mode 100644 index 0000000..644660d --- /dev/null +++ b/app/src/main/res/drawable/ic_btn_save_nopress.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> +<solid android:color="#187558"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_btn_save_press.xml b/app/src/main/res/drawable/ic_btn_save_press.xml new file mode 100644 index 0000000..330dcf6 --- /dev/null +++ b/app/src/main/res/drawable/ic_btn_save_press.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> +<solid android:color="#d4237a"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_check.xml b/app/src/main/res/drawable/ic_check.xml new file mode 100644 index 0000000..76a6a1f --- /dev/null +++ b/app/src/main/res/drawable/ic_check.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="16dp" + android:height="16dp" + android:viewportWidth="1024" + android:viewportHeight="1024"> + <path + android:pathData="M915.75,0h-807.91C48.27,0 0,48.48 0,107.83v807.91c0,59.56 48.48,107.83 107.83,107.83h807.91c59.56,0 107.83,-48.48 107.83,-107.83v-807.91c0,-59.34 -48.48,-107.83 -107.83,-107.83zM972.38,915.75c0,31.14 -25.5,56.63 -56.63,56.63h-807.91c-31.14,0 -56.63,-25.5 -56.63,-56.63v-807.91c0,-31.14 25.5,-56.63 56.63,-56.63h807.91c31.14,0 56.63,25.5 56.63,56.63v807.91zM667.7,371.78L440.53,597.47 355.89,512.4a25.48,25.48 0,0 0,-36.15 0,25.48 25.48,0 0,0 0,36.16l102.61,103.23a25.49,25.49 0,0 0,36.15 0l245.34,-243.87a25.48,25.48 0,0 0,0 -36.15,25.48 25.48,0 0,0 -36.15,0z" + android:fillColor="#a5a7a4"/> +</vector> diff --git a/app/src/main/res/drawable/ic_home_circle.xml b/app/src/main/res/drawable/ic_home_circle.xml new file mode 100644 index 0000000..cffae09 --- /dev/null +++ b/app/src/main/res/drawable/ic_home_circle.xml @@ -0,0 +1,51 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="74dp" + android:height="58dp" + android:viewportWidth="74" + android:viewportHeight="58"> + + <path + android:pathData="M8,1L9,2L8,1z" + android:fillColor="#00ff00" + android:strokeColor="#00000000"/> + <path + android:pathData="M9,1.5725C-0.002,4.1593 -2.8624,16.7539 2.5139,23.956C6.2162,28.9157 13.199,30.1558 19,28.5664C28.1132,26.0694 30.8989,13.2084 25.4861,6.0548C21.7788,1.1552 14.7167,-0.0702 9,1.5725z" + android:fillColor="#05b26f" + android:strokeColor="#00000000"/> + <path + android:pathData="M19,1L20,2L19,1M0,9L1,10L0,9M27,9L28,10L27,9z" + android:fillColor="#00ff00" + android:strokeColor="#00000000"/> + <path + android:pathData="M11.3179,11.0324C6.2073,14.3323 11.4901,22.32 16.6821,18.9676C21.7927,15.6677 16.5098,7.68 11.3179,11.0324z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M36.6042,13.0278C33.5331,15.4768 35.941,19.3206 39.0586,19.8519C46.6286,21.1417 55.3219,20.0035 63,20C65.4619,19.9989 69.3194,20.6281 71.3958,18.9722C74.4669,16.5232 72.059,12.6794 68.9414,12.1481C61.3714,10.8583 52.6781,11.9965 45,12C42.5381,12.0011 38.6806,11.372 36.6042,13.0278z" + android:fillColor="#05b26f" + android:strokeColor="#00000000"/> + <path + android:pathData="M0,20L1,21L0,20M53,28L54,29L53,28z" + android:fillColor="#00ff00" + android:strokeColor="#00000000"/> + <path + android:pathData="M54,28.5725C44.998,31.1593 42.1376,43.7539 47.5139,50.956C51.2162,55.9157 58.199,57.1558 64,55.5664C73.1132,53.0694 75.8989,40.2084 70.4861,33.0548C66.7788,28.1552 59.7167,26.9298 54,28.5725z" + android:fillColor="#05b26f" + android:strokeColor="#00000000"/> + <path + android:pathData="M64,28L65,29L64,28M45,36L46,37L45,36M72,36L73,37L72,36z" + android:fillColor="#00ff00" + android:strokeColor="#00000000"/> + <path + android:pathData="M56.3179,38.0324C51.2074,41.3323 56.4901,49.32 61.6821,45.9676C66.7926,42.6677 61.5098,34.68 56.3179,38.0324z" + android:fillColor="#000000" + android:strokeColor="#00000000"/> + <path + android:pathData="M1.6042,40.0278C-1.4669,42.4768 0.941,46.3206 4.0586,46.8519C11.6286,48.1417 20.3219,47.0035 28,47C30.4619,46.9989 34.3194,47.6281 36.3958,45.9722C39.4669,43.5232 37.059,39.6794 33.9414,39.1481C26.3714,37.8583 17.6781,38.9965 10,39C7.5381,39.0011 3.6806,38.372 1.6042,40.0278z" + android:fillColor="#05b26f" + android:strokeColor="#00000000"/> + <path + android:pathData="M45,47L46,48L45,47z" + android:fillColor="#00ff00" + android:strokeColor="#00000000"/> +</vector> diff --git a/app/src/main/res/drawable/ic_xiala.xml b/app/src/main/res/drawable/ic_xiala.xml new file mode 100644 index 0000000..b821cc8 --- /dev/null +++ b/app/src/main/res/drawable/ic_xiala.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="32dp" + android:height="32dp" + android:viewportWidth="1024" + android:viewportHeight="1024"> + <path + android:pathData="M65.41,340.95c42.31,-35.39 65.34,-52.6 106.85,-88.88 145.65,142.91 145.65,142.91 339.74,331.68 120.8,-111.76 223.5,-215.06 339.75,-322.61 35.46,31.61 69.4,61.86 106.84,95.23 -150.21,139.31 -298.09,276.47 -448.05,415.56 -10.26,-9.28 -19.78,-17.65 -29.04,-26.32L65.41,340.95z" + android:fillColor="#11468A"/> +</vector> diff --git a/app/src/main/res/drawable/input_bg.xml b/app/src/main/res/drawable/input_bg.xml new file mode 100644 index 0000000..4d8337e --- /dev/null +++ b/app/src/main/res/drawable/input_bg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="5dp"/> + </shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/list_divider.xml b/app/src/main/res/drawable/list_divider.xml new file mode 100644 index 0000000..51d4631 --- /dev/null +++ b/app/src/main/res/drawable/list_divider.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="line"> +<size android:height="1px" /> + <stroke + android:width="1dp" + android:color="@android:color/holo_red_dark"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/right_arrow.png b/app/src/main/res/drawable/right_arrow.png index 83a27d0..7194690 100644 --- a/app/src/main/res/drawable/right_arrow.png +++ b/app/src/main/res/drawable/right_arrow.png Binary files differ diff --git a/app/src/main/res/drawable/set_arg_et_drawable.xml b/app/src/main/res/drawable/set_arg_et_drawable.xml new file mode 100644 index 0000000..ff2c619 --- /dev/null +++ b/app/src/main/res/drawable/set_arg_et_drawable.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <solid android:color="#ff2b3141" /> + <corners android:radius="7dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/setting.png b/app/src/main/res/drawable/setting.png old mode 100644 new mode 100755 index 7492fb3..c41c2c0 --- a/app/src/main/res/drawable/setting.png +++ b/app/src/main/res/drawable/setting.png Binary files differ diff --git a/app/src/main/res/drawable/start_exam_bg.xml b/app/src/main/res/drawable/start_exam_bg.xml new file mode 100644 index 0000000..e9a6cfe --- /dev/null +++ b/app/src/main/res/drawable/start_exam_bg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <solid android:color="#ffaa373e" /> + <corners android:radius="26dp" /> + </shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/stu_score_bg.xml b/app/src/main/res/drawable/stu_score_bg.xml new file mode 100644 index 0000000..83f0eba --- /dev/null +++ b/app/src/main/res/drawable/stu_score_bg.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <size android:width="484dp" android:height="140dp"/> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:radius="5dp"/> + </shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/stu_score_item.xml b/app/src/main/res/drawable/stu_score_item.xml new file mode 100644 index 0000000..42acadf --- /dev/null +++ b/app/src/main/res/drawable/stu_score_item.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:right="10px" android:bottom="10px"> + <shape> + <padding + android:bottom="0dp" + android:left="1dp" + android:right="1dp" + android:top="0dp" /> + + </shape> + </item> + <item > + <shape + android:shape="rectangle"> + <solid android:color="#26324B"/> + </shape> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/stu_score_item_other.xml b/app/src/main/res/drawable/stu_score_item_other.xml new file mode 100644 index 0000000..89128fa --- /dev/null +++ b/app/src/main/res/drawable/stu_score_item_other.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:right="10px" android:bottom="10px"> + <shape> + <padding + android:bottom="0dp" + android:left="1dp" + android:right="1dp" + android:top="0dp" /> + + </shape> + </item> + <item > + <shape + android:shape="rectangle"> + <solid android:color="#15223D"/> + </shape> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/stu_score_title.xml b/app/src/main/res/drawable/stu_score_title.xml new file mode 100644 index 0000000..0c15467 --- /dev/null +++ b/app/src/main/res/drawable/stu_score_title.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:right="10px" android:bottom="10px"> + <shape> + <padding + android:bottom="0dp" + android:left="1dp" + android:right="1dp" + android:top="1dp" /> + + </shape> + </item> + <item > + <shape + android:shape="rectangle"> + <solid android:color="#194156"/> + <corners android:topLeftRadius="5dp" android:topRightRadius="5dp"/> + </shape> + </item> +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/sys_line_bg.xml b/app/src/main/res/drawable/sys_line_bg.xml new file mode 100644 index 0000000..e89d879 --- /dev/null +++ b/app/src/main/res/drawable/sys_line_bg.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <solid android:color="#1786fb" /> + <size android:height="2dp" android:width="16dp"/> + <corners android:radius="1dp" /> +</shape> + diff --git a/app/src/main/res/drawable/tab_bg.xml b/app/src/main/res/drawable/tab_bg.xml new file mode 100644 index 0000000..9bdd3f9 --- /dev/null +++ b/app/src/main/res/drawable/tab_bg.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> +<solid android:color="#ff1e4a89"/> + <corners android:radius="3dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/tv_des_bg.xml b/app/src/main/res/drawable/tv_des_bg.xml new file mode 100644 index 0000000..06e2893 --- /dev/null +++ b/app/src/main/res/drawable/tv_des_bg.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" +> + <item> + <shape android:shape="rectangle"> + <stroke android:color="#11468A" android:width="1dp"/> + <corners android:bottomLeftRadius="@dimen/ui_margin_5dp" android:topLeftRadius="@dimen/ui_margin_5dp"/> + </shape> + </item> + <item android:top="1dp" android:left="1dp" android:bottom="1dp"> + <shape android:shape="rectangle"> + <solid android:color="#ff2b3141"/> + <corners android:topLeftRadius="@dimen/ui_margin_5dp" android:bottomLeftRadius="@dimen/ui_margin_5dp"/> + </shape> + </item> + +</layer-list> \ No newline at end of file diff --git a/app/src/main/res/drawable/vehicle_network.png b/app/src/main/res/drawable/vehicle_network.png old mode 100644 new mode 100755 index a1f650c..f40e188 --- a/app/src/main/res/drawable/vehicle_network.png +++ b/app/src/main/res/drawable/vehicle_network.png Binary files differ diff --git a/app/src/main/res/drawable/view_map_bg.xml b/app/src/main/res/drawable/view_map_bg.xml new file mode 100644 index 0000000..de7931b --- /dev/null +++ b/app/src/main/res/drawable/view_map_bg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <solid android:color="#ff2b3141" /> + <corners android:radius="8dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/view_map_font_bg.xml b/app/src/main/res/drawable/view_map_font_bg.xml new file mode 100644 index 0000000..7cdc53c --- /dev/null +++ b/app/src/main/res/drawable/view_map_font_bg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> + <solid android:color="#ff187558" /> + <corners android:radius="15dp"/> + </shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/wheel.png b/app/src/main/res/drawable/wheel.png old mode 100644 new mode 100755 index 7b8222f..8ce84c3 --- a/app/src/main/res/drawable/wheel.png +++ b/app/src/main/res/drawable/wheel.png Binary files differ diff --git a/app/src/main/res/drawable/xiala.png b/app/src/main/res/drawable/xiala.png new file mode 100644 index 0000000..49a568c --- /dev/null +++ b/app/src/main/res/drawable/xiala.png Binary files differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 96d9db5..e8f9ccd 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,16 +1,37 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:orientation="vertical" tools:context=".MainActivity"> - + <include layout="@layout/networktoolbar"/> <FrameLayout - android:id="@+id/fl_container" android:layout_width="match_parent" - android:layout_marginBottom="@dimen/bottombar_height" - android:layout_height="match_parent"/> + android:layout_height="match_parent"> + <FrameLayout + android:id="@+id/fl_container" + android:background="@drawable/ic_bground" + android:layout_width="match_parent" + android:layout_marginBottom="@dimen/bottombar_height" + android:layout_height="match_parent"> + <Button + android:id="@+id/btn_return" + android:layout_width="128dp" + android:layout_height="48dp" + android:background="@mipmap/return_bg" + android:drawableLeft="@mipmap/return_pic" + android:paddingLeft="20dp" + android:text="杩斿洖" + android:gravity="center_vertical" + android:drawablePadding="@dimen/ui_margin_5dp" + android:layout_gravity="bottom|end" + android:textColor="#FFFFFF" + android:textSize="@dimen/network_train_textsize24px" /> + </FrameLayout> + </FrameLayout> -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file + + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/dropdown_stytle.xml b/app/src/main/res/layout/dropdown_stytle.xml new file mode 100644 index 0000000..82db2ab --- /dev/null +++ b/app/src/main/res/layout/dropdown_stytle.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="100dp" + android:layout_height="40dp" + android:text="New Text" + android:padding="10dp" + android:singleLine="true" + android:textSize="18sp" + android:textColor="@android:color/white" + android:gravity="center" + android:background="#2B3141" + android:id="@+id/textView3333" /> \ No newline at end of file diff --git a/app/src/main/res/layout/gps_info_item.xml b/app/src/main/res/layout/gps_info_item.xml index 060ec8c..9c28717 100644 --- a/app/src/main/res/layout/gps_info_item.xml +++ b/app/src/main/res/layout/gps_info_item.xml @@ -5,6 +5,7 @@ android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" + android:text="123" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:minHeight="?android:attr/listPreferredItemHeightSmall" /> \ No newline at end of file diff --git a/app/src/main/res/layout/gps_info_item_rightarrow.xml b/app/src/main/res/layout/gps_info_item_rightarrow.xml index e8a7a9b..1d668dc 100644 --- a/app/src/main/res/layout/gps_info_item_rightarrow.xml +++ b/app/src/main/res/layout/gps_info_item_rightarrow.xml @@ -6,6 +6,10 @@ android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" android:text="璁剧疆鍙傛暟" + android:textColor="#A8AAA7" + android:textSize="18sp" + android:drawableLeft="@mipmap/click_it" + android:drawablePadding="@dimen/ui_margin_5dp" android:drawableRight="@drawable/right_arrow" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" diff --git a/app/src/main/res/layout/inspect_signal_head.xml b/app/src/main/res/layout/inspect_signal_head.xml index 0048d3d..18f447b 100644 --- a/app/src/main/res/layout/inspect_signal_head.xml +++ b/app/src/main/res/layout/inspect_signal_head.xml @@ -6,6 +6,10 @@ android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" android:text="杞﹁浇淇″彿" + android:textColor="#A8AAA7" + android:drawablePadding="@dimen/ui_margin_5dp" + android:drawableLeft="@mipmap/click_it" + android:textSize="@dimen/network_train_textsize22px" android:drawableRight="@drawable/right_arrow" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml index 0554463..d2fab1c 100644 --- a/app/src/main/res/layout/layout_base_datas.xml +++ b/app/src/main/res/layout/layout_base_datas.xml @@ -1,376 +1,235 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:lee="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent"> -<!-- <include layout="@layout/toolbar"/>--> -<!-- <ScrollView--> -<!-- android:layout_height="match_parent" android:layout_width="match_parent"--> + android:layout_height="match_parent" + android:layout_marginTop="@dimen/ui_margin_20dp"> + <TextView + android:layout_width="114dp" + android:layout_height="43dp" + android:text="鍙傛暟璁剧疆" + android:textColor="#ffffffff" + android:textSize="23sp" + android:id="@+id/tvv" + android:layout_alignParentStart="true" + android:layout_marginLeft="20dp" -<!-- >--> + /> +<Button + android:layout_width="96dp" + android:layout_height="35dp" + android:layout_alignParentEnd="true" + android:layout_marginRight="35dp" + android:background="@drawable/btn_state_save" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize24px" + android:id="@+id/btn_save_platform" + android:text="淇濆瓨"/> <LinearLayout android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:orientation="vertical" android:padding="10dp" + android:layout_below="@+id/btn_save_platform" + android:id="@+id/ll_container_set" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="@dimen/ui_margin_10dp" android:gravity="center_horizontal" - android:background="@color/train_bg" + android:background="@drawable/stu_score_bg" > <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="60dp" + android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@android:color/black" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize25px" android:text="鑰冭瘯骞冲彴鍦板潃锛�"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="IP锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="47.93.157.103" - android:id="@+id/et_platform_ip" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:text="Port锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="2020" - android:id="@+id/et_platform_port" - android:background="@android:drawable/editbox_background_normal"/> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:id="@+id/platform_ip" + lee:txt="47.93.157.103" + lee:txt_des="IP" + android:layout_marginLeft="31dp" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:id="@+id/platform_port" + lee:txt="12125" + lee:txt_des="Port" + android:layout_marginLeft="@dimen/ui_margin_10dp" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> </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:visibility="gone" - android:orientation="horizontal"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="妯℃嫙鍣�"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="IP锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/simulate_ip" - android:text="192.168.23.12" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:text="Port锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/simulate_port" - android:text="9001" - android:background="@android:drawable/editbox_background_normal"/> - </LinearLayout> - <View - android:layout_width="match_parent" - android:layout_height="1px" - android:visibility="gone" - 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:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="@string/rtk_addr_des"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="IP锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/rtk_addr_ip" - android:text="192.168.23.12" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:text="Port锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/rtk_addr_port" - android:text="8080" - android:background="@android:drawable/editbox_background_normal"/> - </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:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="鐧诲綍淇℃伅锛�"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="鐪両D锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/et_provice_id" - android:text="12" - android:inputType="numberDecimal" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:text="甯侷D锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/et_city_id" - android:text="192" - android:inputType="numberDecimal" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:visibility="gone" - android:text="鐢佃瘽锛�"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/et_phone" - android:text="19234567894" - android:visibility="gone" - android:inputType="numberDecimal" - android:background="@android:drawable/editbox_background_normal"/> - </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:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="杞﹁浇淇″彿閰嶇疆锛�"/> - <TableLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center"> - <TableRow android:gravity="center_horizontal" - android:visibility="gone" - android:layout_marginBottom="10dp"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="涓绘澘锛�"/> - <androidx.appcompat.widget.AppCompatSpinner - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:entries="@array/spinnerarr" - android:gravity="center" - /> - </TableRow> - <TableRow android:gravity="center_horizontal" - android:visibility="gone" - android:layout_marginBottom="10dp"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="涓插彛鍙凤細"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="GpsExam" - android:background="@android:drawable/editbox_background_normal"/> <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="娉㈢壒鐜囷細"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="GpsExam" - android:background="@android:drawable/editbox_background_normal"/> - </TableRow> - <TableRow android:gravity="center_horizontal" - android:visibility="gone" - android:layout_marginBottom="10dp"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="鍓澘锛�"/> - <androidx.appcompat.widget.AppCompatSpinner - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:entries="@array/spinnerarr"/> - </TableRow> - <TableRow android:gravity="center_horizontal" - android:visibility="gone" - android:layout_marginBottom="10dp"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="涓插彛鍙凤細"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="GpsExam" - android:background="@android:drawable/editbox_background_normal"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="15dp" - android:text="娉㈢壒鐜囷細"/> - <EditText - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="GpsExam" - android:background="@android:drawable/editbox_background_normal"/> - </TableRow> - <TableRow android:gravity="center_horizontal" - > - <Button android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="鏌ョ湅淇″彿" - android:visibility="gone" - android:id="@+id/btn_inpsect_signal" - android:padding="5dp" - 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_signal_conf" - android:layout_marginLeft="15dp" - android:background="@drawable/btn_bg_baseset"/> - </TableRow> - </TableLayout> - </LinearLayout> - <View + + <LinearLayout android:layout_width="match_parent" - android:layout_height="1px" + android:layout_height="60dp" + android:gravity="center_vertical" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" - android:background="@color/colorAccent" - /> + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize25px" + android:text="@string/rtk_addr_des"/> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:id="@+id/rtk_addr_ip" + lee:txt="47.93.157.103" + lee:txt_des="IP" + android:layout_marginLeft="33dp" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:id="@+id/rtk_addr_port" + lee:txt="12125" + lee:txt_des="Port" + android:layout_marginLeft="@dimen/ui_margin_10dp" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> + + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="60dp" + android:gravity="center_vertical" + + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize25px" + android:text="鐧诲綍淇℃伅锛�"/> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:layout_marginLeft="65dp" + android:id="@+id/province_id" + lee:txt="23" + lee:txt_des="鐪両D" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> + <safeluck.drive.evaluation.customview.MyArgEditText + android:layout_height="50dp" + android:layout_width="200dp" + android:id="@+id/city_id" + lee:txt="1" + lee:txt_des="甯侷D" + android:layout_marginLeft="@dimen/ui_margin_10dp" + lee:txt_unit="false" + lee:txt_unit_des ="r/min" + /> + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="60dp" + android:gravity="center_vertical" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize25px" + android:text="杞﹁浇淇″彿閰嶇疆锛�"/> + <Button android:layout_width="395dp" + android:layout_height="wrap_content" + android:text="淇″彿閰嶇疆" + android:padding="5dp" + android:textColor="@android:color/white" + android:id="@+id/btn_signal_conf" + android:textSize="@dimen/network_train_textsize24px" + android:layout_marginLeft="@dimen/ui_margin_25dp" + android:background="@drawable/btn_bg1_baseset"/> + </LinearLayout> + <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_marginBottom="10dp" + android:layout_height="60dp" + android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@android:color/black" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize25px" android:text="閰嶇疆鍙傛暟锛�"/> - <TableLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center"> - <TableRow android:gravity="center_horizontal" - android:layout_marginBottom="10dp"> - <Button android:layout_width="wrap_content" - android:layout_height="wrap_content" + + <Button android:layout_width="129dp" + android:layout_height="@dimen/ui_margin_50dp" android:text="鍗忓鐞嗗櫒鍗囩骇" android:padding="5dp" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize21px" + android:layout_marginLeft="60dp" 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="鍦鸿�冨湴鍥鹃�夋嫨" + <Button android:layout_width="129dp" + android:layout_height="@dimen/ui_margin_50dp" + android:text="鑰冭瘯鍦板浘閫夋嫨" android:padding="5dp" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize21px" android:id="@+id/btn_map_select" - android:layout_marginLeft="15dp" + android:layout_marginLeft="8dp" android:background="@drawable/btn_bg_baseset"/> - <Button android:layout_width="wrap_content" - android:layout_height="wrap_content" + <Button android:layout_width="129dp" + android:layout_height="@dimen/ui_margin_50dp" android:text="杞﹁締妯″瀷閫夋嫨" android:padding="5dp" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize21px" android:id="@+id/btn_car_select" - android:layout_marginLeft="15dp" + android:layout_marginLeft="8dp" 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_roadmap_select" - android:layout_marginLeft="15dp" - android:background="@drawable/btn_bg_baseset"/> - </TableRow> - </TableLayout> + </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" - android:id="@+id/btn_save_platform" - android:background="@drawable/btn_state_save" - android:text="淇濆瓨"/> + + </LinearLayout> -<!-- </ScrollView>--> -</LinearLayout> + <Button + android:id="@+id/btn_return" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:background="@mipmap/return_bg" + android:drawableLeft="@mipmap/return_pic" + android:gravity="center_vertical" + android:paddingLeft="20dp" + android:text="杩斿洖" + android:drawablePadding="5dp" + android:textColor="#FFFFFF" + android:layout_alignParentEnd="true" + android:layout_alignParentBottom="true" + + android:textSize="@dimen/network_train_textsize24px" /> +</RelativeLayout> diff --git a/app/src/main/res/layout/layout_base_set.xml b/app/src/main/res/layout/layout_base_set.xml index bdd45cd..992ae8d 100644 --- a/app/src/main/res/layout/layout_base_set.xml +++ b/app/src/main/res/layout/layout_base_set.xml @@ -1,37 +1,55 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical"> - <com.google.android.material.appbar.AppBarLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:theme="@style/AppTheme.AppBarOverlay"> - - <androidx.appcompat.widget.Toolbar - android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:background="?attr/colorPrimary" - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" - app:popupTheme="@style/AppTheme.NoActionBar.PopupOverlay" - app:titleTextAppearance="@style/Toolbar_TextAppearance_White"/> - <com.google.android.material.tabs.TabLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/tab_base_set" - - android:background="@color/profile_bg" - android:layout_below="@+id/toolbar_set"> - </com.google.android.material.tabs.TabLayout> - </com.google.android.material.appbar.AppBarLayout> - <androidx.viewpager.widget.ViewPager +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" android:layout_height="match_parent"> + <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/train_bg" - android:id="@+id/vp_base_set"> + android:orientation="vertical" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:layout_marginBottom="@dimen/ui_margin_25dp" + android:background="@drawable/stu_score_bg" + > + <com.google.android.material.appbar.AppBarLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:theme="@style/AppTheme.AppBarOverlay"> - </androidx.viewpager.widget.ViewPager> -</LinearLayout> \ No newline at end of file + <androidx.appcompat.widget.Toolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorPrimary" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + app:popupTheme="@style/AppTheme.NoActionBar.PopupOverlay" + app:titleTextAppearance="@style/Toolbar_TextAppearance_White"/> + <com.google.android.material.tabs.TabLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/tab_base_set" + + android:layout_below="@+id/toolbar_set"> + </com.google.android.material.tabs.TabLayout> + </com.google.android.material.appbar.AppBarLayout> + <androidx.viewpager.widget.ViewPager + android:layout_width="match_parent" + android:layout_height="match_parent" + android:id="@+id/vp_base_set"> + + </androidx.viewpager.widget.ViewPager> + + </LinearLayout> + + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:layout_marginBottom="@dimen/ui_margin_25dp" + android:layout_marginTop="@dimen/ui_margin_50dp" + android:background="@drawable/stu_score_bg" + /> +</FrameLayout> diff --git a/app/src/main/res/layout/layout_check_signal.xml b/app/src/main/res/layout/layout_check_signal.xml index 7c45702..cb48455 100644 --- a/app/src/main/res/layout/layout_check_signal.xml +++ b/app/src/main/res/layout/layout_check_signal.xml @@ -1,57 +1,53 @@ <?xml version="1.0" encoding="utf-8"?> <layout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:lee="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:background="@android:color/white" > - <include layout="@layout/toolbar" android:id="@+id/inpsect_signal_toolbar"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鏌ョ湅杞﹁浇淇″彿杈撳叆" + android:textColor="#ffffffff" + android:textSize="23sp" + android:layout_marginBottom="17dp" + android:layout_marginTop="@dimen/ui_margin_10dp" + android:layout_marginLeft="@dimen/ui_margin_10dp" + /> <FrameLayout - android:layout_width="match_parent" - android:layout_height="match_parent" > + android:layout_width="791dp" + android:layout_height="373dp" + android:background="@drawable/stu_score_bg" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="10dp"> <include layout="@layout/layout_signal_slice" android:id="@+id/inpset_signal_slice"/> <RelativeLayout android:layout_gravity="end" android:padding="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content"> - <TextView - android:layout_width="70dp" - android:layout_height="25dp" - android:textColor="@android:color/black" - android:id="@+id/tv_dangwei" + <safeluck.drive.evaluation.customview.MyCustomEditText - android:gravity="center" - android:text="@string/chesu"/> - <TextView - android:layout_width="35dp" - android:layout_height="25dp" - android:layout_toRightOf="@id/tv_dangwei" - android:id="@+id/tv_dangwei_num" - android:text="0" - android:gravity="center" - android:background="@drawable/dangwei_bg"/> - <TextView - android:layout_width="70dp" - android:layout_height="25dp" - android:textColor="@android:color/black" + android:id="@+id/myspeed" + lee:txt="121" + lee:txt_des="杞﹂��" + lee:txt_unit="true" + lee:txt_unit_des ="km/h" - android:gravity="center" - android:layout_marginTop="15dp" - - android:layout_below="@+id/tv_dangwei" - android:text="@string/engine"/> - <TextView - android:layout_width="70dp" - android:layout_height="25dp" - android:gravity="center" - android:layout_marginTop="15dp" - android:text="-1.32332" - android:id="@+id/tv_roate_speed" - android:layout_toRightOf="@id/tv_dangwei" - android:layout_below="@+id/tv_dangwei_num" - android:background="@drawable/dangwei_bg"/> + android:layout_height="58dp" + android:layout_width="237dp"/> + <safeluck.drive.evaluation.customview.MyCustomEditText + android:layout_marginTop="@dimen/ui_margin_20dp" + android:layout_below="@+id/myspeed" + lee:txt="1212" + lee:txt_des="杞��" + lee:txt_unit="true" + lee:txt_unit_des ="r/min" + android:id="@+id/roatespeed" + android:layout_height="58dp" + android:layout_width="237dp"/> </RelativeLayout> </FrameLayout> diff --git a/app/src/main/res/layout/layout_dlg.xml b/app/src/main/res/layout/layout_dlg.xml new file mode 100644 index 0000000..9856c7f --- /dev/null +++ b/app/src/main/res/layout/layout_dlg.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="210dp" + + android:layout_height="180dp" + android:gravity="center" + + android:background="@drawable/bg_select_dlg" + android:orientation="vertical" > +<TextView + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:textSize="@dimen/network_train_textsize20px" + android:textColor="@android:color/white" + android:layout_margin="@dimen/ui_margin_10dp" + android:text="鎻愮ず锛�"/> + <TextView + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="2" + android:id="@+id/tv_message" + android:textColor="@android:color/white" + android:padding="@dimen/ui_margin_5dp" + android:textSize="@dimen/network_train_textsize24px" + android:textAlignment="textStart" + android:text="鍊惧惉鏀惧亣鍟﹂檮杩戝ぇ鍔涘紑鍙戞斁鍋囨垜鍑忚偉I"/> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="2" + android:orientation="horizontal" + > + <Button + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginTop="@dimen/ui_margin_10dp" + android:text="纭畾" + android:padding="@dimen/ui_margin_5dp" + android:textSize="@dimen/network_train_textsize22px" + android:background="@drawable/bg_rgb_dlg" + android:textColor="@android:color/white" + android:id="@+id/btn_sure_"/> + <Button + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:padding="@dimen/ui_margin_5dp" + android:layout_marginTop="@dimen/ui_margin_10dp" + android:text="鍙栨秷" + android:textSize="@dimen/network_train_textsize22px" + android:background="@drawable/bg_rgb_dlg" + android:textColor="@android:color/white" + android:id="@+id/btn_cancle_"/> + </LinearLayout> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_gps_info.xml b/app/src/main/res/layout/layout_gps_info.xml index 3f24621..3ae55fb 100644 --- a/app/src/main/res/layout/layout_gps_info.xml +++ b/app/src/main/res/layout/layout_gps_info.xml @@ -5,5 +5,7 @@ <ListView android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="@dimen/ui_margin_10dp" android:id="@+id/lv_gpsinfo"></ListView> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_home_fragment.xml b/app/src/main/res/layout/layout_home_fragment.xml index b03871d..69133fd 100644 --- a/app/src/main/res/layout/layout_home_fragment.xml +++ b/app/src/main/res/layout/layout_home_fragment.xml @@ -3,90 +3,80 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> - <include android:id="@+id/tb" layout="@layout/toolbar"/> - <LinearLayout + <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_below="@+id/tb" - android:orientation="horizontal" android:gravity="center" - android:background="@color/home_bg_color"> - <LinearLayout - android:layout_width="100dp" - android:layout_height="100dp" - android:gravity="center" + > + <RelativeLayout + android:layout_width="558px" + android:layout_height="244px" + android:background="@mipmap/let_top" android:id="@+id/network_train" - android:layout_weight="1" - android:orientation="vertical"> - <safeluck.drive.evaluation.customview.CircleImageView - style="@style/home_fragment_icon" - app:civ_fill_color="@android:color/white" - app:civ_border_width="15dp" - app:civ_border_color="@android:color/white" - - android:src="@drawable/vehicle_network" - /> - <TextView - style="@style/home_fragment_text_sub" - android:text="@string/vehicle_net" - /> - </LinearLayout> - <LinearLayout - android:layout_width="100dp" - android:layout_height="100dp" - android:gravity="center" - android:layout_weight="1" + > + <include + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerInParent="true" + layout="@layout/layout_sys_home_part"/> + </RelativeLayout> + <RelativeLayout + android:layout_width="512px" + android:layout_height="244px" + android:layout_marginLeft="-45px" + android:background="@mipmap/right_top" + android:layout_toRightOf="@+id/network_train" android:id="@+id/car_train" - android:orientation="vertical"> - <safeluck.drive.evaluation.customview.CircleImageView - - app:civ_fill_color="@android:color/white" - app:civ_border_width="15dp" - app:civ_border_color="@android:color/white" - android:src="@drawable/wheel" - style="@style/home_fragment_icon"/> - <TextView - style="@style/home_fragment_text_sub" - android:text="@string/vehicle_train" - /> - </LinearLayout> - <LinearLayout - android:layout_width="100dp" - android:layout_height="100dp" - android:gravity="center" + > + <include + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerInParent="true" + layout="@layout/layout_sys_home_part_train"/> + </RelativeLayout> + <RelativeLayout + android:layout_width="512px" + android:layout_height="244px" + android:layout_marginTop="13px" + android:background="@mipmap/left_bottom" android:id="@+id/system_setting" - android:layout_weight="1" - android:orientation="vertical"> - <safeluck.drive.evaluation.customview.CircleImageView - app:civ_fill_color="@android:color/white" - app:civ_border_width="15dp" - app:civ_border_color="@android:color/white" - android:src="@drawable/setting" - style="@style/home_fragment_icon"/> - <TextView - style="@style/home_fragment_text_sub" - android:text="@string/setting" - /> - </LinearLayout> - <LinearLayout - android:layout_width="100dp" - android:layout_height="100dp" - android:gravity="center" + android:layout_below="@+id/network_train" + > + <include + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerInParent="true" + layout="@layout/layout_sys_home_part_set"/> + </RelativeLayout> + <RelativeLayout + android:layout_width="550px" + android:layout_height="244px" + android:background="@mipmap/right_bottom" android:id="@+id/exit_sys" - android:layout_weight="1" - android:orientation="vertical"> - <safeluck.drive.evaluation.customview.CircleImageView - app:civ_fill_color="@android:color/white" - app:civ_border_width="15dp" - app:civ_border_color="@android:color/white" - android:src="@drawable/exit" - style="@style/home_fragment_icon"/> - <TextView - style="@style/home_fragment_text_sub" - android:text="@string/exit" - /> - </LinearLayout> - </LinearLayout> + android:layout_marginLeft="-37px" + android:layout_marginTop="13px" + android:layout_toRightOf="@+id/system_setting" + android:layout_below="@+id/network_train" + > + <include + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerInParent="true" + layout="@layout/layout_sys_home_part_exit"/> + </RelativeLayout> + <safeluck.drive.evaluation.customview.CircleImageView + android:layout_width="208px" + android:layout_height="208px" + android:layout_marginLeft="411px" + android:layout_marginTop="147px" + app:civ_fill_color="#2A303F" + android:src="@drawable/home_circle" + /> + + </RelativeLayout> + + + <TextView style="@style/home_fragment_text" android:text="@string/version_name" diff --git a/app/src/main/res/layout/layout_mycustom_et.xml b/app/src/main/res/layout/layout_mycustom_et.xml new file mode 100644 index 0000000..872b7ad --- /dev/null +++ b/app/src/main/res/layout/layout_mycustom_et.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="237dp" + android:layout_height="58dp" + android:gravity="center_vertical" + android:background="@drawable/input_bg"> +<TextView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:text="杞﹂��" + android:gravity="center_vertical" + android:paddingLeft="@dimen/ui_margin_5dp" + android:paddingRight="@dimen/ui_margin_5dp" + android:textSize="20sp" + android:id="@+id/tv_des_et" + android:background="@drawable/tv_des_bg" + android:textColor="#FFFFFF" + /> + <EditText + android:layout_width="100dp" + android:layout_height="match_parent" + android:text="123" + android:background="@null" + android:gravity="center" + android:id="@+id/et_num" + android:textColor="#FFFFFF" + android:textSize="20sp" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:text="km/h" + android:gravity="center" + android:textSize="20sp" + android:id="@+id/tv_unit" + android:textColor="#888A95" + /> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_mycustom_et_arg.xml b/app/src/main/res/layout/layout_mycustom_et_arg.xml new file mode 100644 index 0000000..c9424ec --- /dev/null +++ b/app/src/main/res/layout/layout_mycustom_et_arg.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="180dp" + android:layout_height="50dp" + android:gravity="center_vertical" + android:background="@drawable/input_bg"> +<TextView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:text="杞﹂��" + android:gravity="center_vertical" + android:paddingLeft="@dimen/ui_margin_5dp" + android:paddingRight="@dimen/ui_margin_5dp" + android:textSize="20sp" + android:id="@+id/tv_des_et" + android:background="@drawable/tv_des_bg" + android:textColor="#FFFFFF" + /> + <EditText + android:layout_width="150dp" + android:layout_height="match_parent" + android:text="123" + android:background="@null" + android:gravity="center" + android:id="@+id/et_num" + android:textColor="#FFFFFF" + android:textSize="20sp" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:text="km/h" + android:gravity="center" + android:textSize="20sp" + android:id="@+id/tv_unit" + android:textColor="#888A95" + /> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_net_train.xml b/app/src/main/res/layout/layout_net_train.xml index d10b307..cc15c51 100644 --- a/app/src/main/res/layout/layout_net_train.xml +++ b/app/src/main/res/layout/layout_net_train.xml @@ -1,46 +1,53 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" android:orientation="horizontal"> + android:layout_height="match_parent" android:orientation="horizontal" + android:background="@drawable/stu_score_bg"> <LinearLayout android:layout_width="0dp" android:layout_weight="4" android:layout_height="match_parent" - android:paddingTop="2dp" android:paddingBottom="2dp" - android:paddingLeft="5dp" - android:paddingRight="5dp" - android:gravity="center" + android:orientation="vertical" - android:background="@color/train_bg" + > <RelativeLayout android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:background="@drawable/stu_score_title" + + android:layout_height="38dp"> <TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="38dp" android:id="@+id/tv_item" - android:background="@color/train_item_bg" - android:padding="10dp" + android:gravity="center_vertical" + android:textColor="#FFFFFF" + android:layout_marginLeft="19dp" + android:drawablePadding="5dp" + android:textSize="@dimen/network_train_textsize22px" + android:drawableLeft="@mipmap/duobianxing" android:text="椤圭洰鍒楄〃"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="10dp" - android:layout_marginRight="10dp" android:layout_toRightOf="@+id/tv_item" android:gravity="center" + android:layout_marginLeft="300dp" android:padding="10dp" android:id="@+id/tv_speed" + android:textColor="#A1A1A3" android:text="@string/speed"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/tv_speed" - android:id="@+id/tv_pos" + android:id="@+id/tv_start_time" android:padding="10dp" android:gravity="center" - android:text="@string/licheng"/> + android:textColor="#A1A1A3" + android:layout_alignParentEnd="true" + android:layout_marginRight="16dp" + android:text="@string/begin_time"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -48,7 +55,7 @@ android:id="@+id/tv_stop" android:textColor="@android:color/white" android:padding="10dp" - +android:visibility="gone" android:background="@drawable/btn_start_bg" android:layout_toRightOf="@+id/tv_pos"/> </RelativeLayout> @@ -56,5 +63,4 @@ <include layout="@layout/layout_road_train" android:visibility="gone" android:id="@+id/lukao"/> </LinearLayout> - <include android:layout_gravity="center_vertical" android:layout_marginLeft="10dp" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" layout="@layout/layout_train_exit"/> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_net_train_item.xml b/app/src/main/res/layout/layout_net_train_item.xml index 41c2f8a..d01b5ec 100644 --- a/app/src/main/res/layout/layout_net_train_item.xml +++ b/app/src/main/res/layout/layout_net_train_item.xml @@ -1,51 +1,56 @@ <?xml version="1.0" encoding="utf-8"?> -<RelativeLayout +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" - android:background="@color/train_item_bg" - android:gravity="bottom"> - -<safeluck.drive.evaluation.customview.HouseView - android:layout_width="80dp" - android:layout_height="80dp" - android:id="@+id/hv" - app:text = "鍊掕溅鍏ュ簱" - /> - - <safeluck.drive.evaluation.customview.ArrowView - android:layout_width="80dp" - android:layout_height="80dp" - android:layout_toRightOf="@+id/hv" - android:id="@+id/av1" - app:text="鍧¢亾瀹氱偣" - android:layout_marginLeft="-15dp" - /> - <safeluck.drive.evaluation.customview.ArrowView - android:layout_width="80dp" - android:layout_height="80dp" - app:text="渚ф柟鍋滆溅" - android:layout_marginLeft="-15dp" - android:layout_toRightOf="@+id/av1" - android:id="@+id/av2" - /> - <safeluck.drive.evaluation.customview.ArrowView - android:layout_width="80dp" - android:layout_height="80dp" - android:id="@+id/av3" - app:text="鏇茬嚎琛岄┒" - android:layout_marginLeft="-15dp" - android:layout_toRightOf="@id/av2" - /> - <safeluck.drive.evaluation.customview.ArrowView - android:layout_width="80dp" - android:layout_height="80dp" - android:layout_marginLeft="-15dp" - android:layout_toRightOf="@+id/av3" - android:id="@+id/av4" - app:text="鐩磋杞集" - - /> -</RelativeLayout> \ No newline at end of file + android:gravity="center_vertical"> + <Button + android:layout_width="0dp" + android:layout_weight="1" + android:background="@drawable/btn_exam_item_bg" + android:layout_height="48dp" + android:textColor="#FFFFFF" + android:layout_marginRight="@dimen/ui_margin_20dp" + style="@style/ui_exam_font" + android:id="@+id/hv" + android:text="鍊掕溅鍏ュ簱"/> +<Button + android:layout_width="0dp" + android:layout_weight="1" + android:background="@drawable/btn_exam_item_bg" + android:layout_height="48dp" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:id="@+id/av1" + android:layout_marginRight="@dimen/ui_margin_20dp" + android:text="鍧¢亾瀹氱偣"/> + <Button + android:layout_width="0dp" + android:layout_weight="1" + android:background="@drawable/btn_exam_item_bg" + android:layout_height="48dp" + android:textColor="#FFFFFF" + android:layout_marginRight="@dimen/ui_margin_20dp" + style="@style/ui_exam_font" + android:id="@+id/av2" + android:text="渚ф柟鍋滆溅"/> + <Button + android:layout_width="0dp" + android:layout_weight="1" + android:background="@drawable/btn_exam_item_bg" + android:layout_height="48dp" + android:layout_marginRight="@dimen/ui_margin_20dp" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:id="@+id/av3" + android:text="鏇茬嚎琛岄┒"/><Button + android:layout_width="0dp" + android:layout_weight="1" + android:background="@drawable/btn_exam_item_bg" + android:layout_height="48dp" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:id="@+id/av4" + android:text="鐩磋杞集"/> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_road_train.xml b/app/src/main/res/layout/layout_road_train.xml index fd77b47..62475ff 100644 --- a/app/src/main/res/layout/layout_road_train.xml +++ b/app/src/main/res/layout/layout_road_train.xml @@ -8,96 +8,151 @@ <TableLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - - android:background="@color/train_item_bg" + android:layout_height="45dp" + android:padding="@dimen/ui_margin_5dp" android:gravity="bottom"> -<TableRow android:layout_width="wrap_content" +<TableRow android:layout_width="match_parent" android:id="@+id/first" android:layout_height="35dp"> <Button android:id="@+id/btn_1" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:background="@drawable/btn_exam_item_bg" android:text="@string/straight_line"/> <Button android:id="@+id/btn_2" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" android:text="@string/add_subtract"/> <Button android:id="@+id/btn_3" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" android:text="@string/pull_over"/> <Button android:id="@+id/btn_4" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" android:text="@string/by_crossing"/> <Button android:id="@+id/btn_5" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" android:text="@string/junction_left"/> <Button android:id="@+id/btn_6" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" android:text="@string/junction_right"/> + <Button android:id="@+id/btn_12" + android:layout_width="0dp" + android:layout_weight="1" + android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + + style="@style/ui_exam_font" + android:text="@string/lane_change"/> </TableRow> - <TableRow android:layout_width="wrap_content" + <TableRow android:layout_width="match_parent" android:id="@+id/second" android:layout_height="35dp"> <Button android:id="@+id/btn_7" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" android:text="@string/crosswalk"/> <Button android:id="@+id/btn_8" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" - android:text="@string/school_area"/> + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:text="@string/school_area"/> <Button android:id="@+id/btn_9" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" android:text="@string/bus_area"/> <Button android:id="@+id/btn_10" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" android:text="@string/turn_around"/> - <Button android:id="@+id/btn_11" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - android:text="@string/turn_around"/> - <Button android:id="@+id/btn_12" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - android:text="@string/lane_change"/> - <Button android:id="@+id/btn_13" - android:layout_width="wrap_content" + <Button android:id="@+id/btn_14" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" - android:visibility="gone" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + style="@style/ui_exam_font" + android:text="@string/start_vehicle"/> + <Button android:id="@+id/btn_16" + android:textColor="#FFFFFF" + style="@style/ui_exam_font" + android:background="@drawable/btn_exam_item_bg" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:layout_width="0dp" + android:layout_weight="1" + android:layout_height="wrap_content" + android:text="@string/pull_over"/> + + + <Button android:id="@+id/btn_13" + android:layout_width="0dp" + android:layout_weight="1" + android:layout_height="@dimen/ui_margin_45dp" + android:textColor="#FFFFFF" + android:background="@drawable/btn_exam_item_bg" + + style="@style/ui_exam_font" android:text="@string/night_driving"/> </TableRow> - <TableRow android:layout_width="wrap_content" - android:visibility="gone" - android:id="@+id/third" - android:layout_height="35dp"> - <Button android:id="@+id/btn_14" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/junction_right"/> - <Button android:id="@+id/btn_15" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/turn_around"/> - <Button android:id="@+id/btn_16" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/pull_over"/> - </TableRow> </TableLayout> </ScrollView> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_score_item.xml b/app/src/main/res/layout/layout_score_item.xml index b8a2dfe..87df477 100644 --- a/app/src/main/res/layout/layout_score_item.xml +++ b/app/src/main/res/layout/layout_score_item.xml @@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="40dp" - android:background="@color/train_bg" + android:background="@drawable/stu_score_title" > <TextView android:layout_width="0dp" @@ -11,12 +11,9 @@ android:textColor="@android:color/white" android:gravity="center" android:id="@+id/tv_item" + style="@style/ui_exam_font" android:text="鎵e垎椤圭洰"/> - <View android:layout_height="match_parent" - android:layout_width="1px" - android:background="#66CCFF" - /> <TextView android:layout_width="0dp" android:layout_weight="1" @@ -24,12 +21,9 @@ android:gravity="center" android:textColor="@android:color/white" android:id="@+id/tv_score" + style="@style/ui_exam_font" android:text="鎵e垎鍒嗘暟"/> - <View android:layout_height="match_parent" - android:layout_width="1px" - android:background="#66CCFF" - /> <TextView android:layout_width="0dp" android:layout_weight="1" @@ -37,5 +31,6 @@ android:layout_height="match_parent" android:gravity="center" android:id="@+id/tv_reason" + style="@style/ui_exam_font" android:text="鎵e垎鍘熷洜"/> </LinearLayout> diff --git a/app/src/main/res/layout/layout_score_item_title.xml b/app/src/main/res/layout/layout_score_item_title.xml new file mode 100644 index 0000000..8f1cc9c --- /dev/null +++ b/app/src/main/res/layout/layout_score_item_title.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="38dp" + + android:background="@drawable/stu_score_title" +> +<TextView + android:layout_width="wrap_content" + android:layout_weight="1" + + android:layout_height="match_parent" + android:textColor="@android:color/white" + android:gravity="center_vertical" + android:paddingLeft="90dp" + android:drawablePadding="5dp" + android:id="@+id/tv_item" + android:textSize="@dimen/network_train_textsize22px" + android:drawableLeft="@mipmap/duobianxing" + android:text="鎵e垎椤圭洰"/> + <View android:layout_height="match_parent" + android:layout_width="1px" + android:background="#2B3141" + + /> + + <TextView + android:id="@+id/tv_score" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="1" + android:paddingLeft="90dp" + android:drawablePadding="5dp" + android:includeFontPadding="false" + android:drawableLeft="@mipmap/duobianxing" + android:gravity="center_vertical" + android:text="鎵e垎鍒嗘暟" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize22px" /> + + <View android:layout_height="match_parent" + android:layout_width="1px" + android:background="#2B3141" + + /> + <TextView + android:layout_width="wrap_content" + android:layout_weight="1" + android:includeFontPadding="false" + android:textColor="@android:color/white" + android:layout_height="match_parent" + android:gravity="center_vertical" + android:drawablePadding="5dp" + android:paddingLeft="90dp" + android:id="@+id/tv_reason" + android:textSize="@dimen/network_train_textsize22px" + android:drawableLeft="@mipmap/duobianxing" + android:text="鎵e垎鍘熷洜"/> +</LinearLayout> diff --git a/app/src/main/res/layout/layout_select_dlg.xml b/app/src/main/res/layout/layout_select_dlg.xml new file mode 100644 index 0000000..a12674a --- /dev/null +++ b/app/src/main/res/layout/layout_select_dlg.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="210dp" + + android:layout_height="210dp" + android:gravity="center" + + android:background="@drawable/bg_select_dlg" + android:orientation="vertical" > +<TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textSize="@dimen/network_train_textsize20px" + android:textColor="@android:color/white" + android:layout_margin="@dimen/ui_margin_10dp" + android:text="璇烽�夋嫨涓�涓」鐩細"/> + <RadioGroup + android:background="@drawable/bg_rgb_dlg" + android:layout_width="match_parent" + android:id="@+id/radiogroub" + android:layout_height="wrap_content"> + <RadioButton + android:layout_width="match_parent" + android:layout_height="@dimen/ui_margin_50dp" + android:id="@+id/rb1" + android:text="鍦鸿�冨湴鍥�" + android:textSize="@dimen/network_train_textsize24px" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:textColor="@android:color/white"/> + <RadioButton + android:layout_width="match_parent" + android:layout_height="@dimen/ui_margin_50dp" + android:id="@+id/rb2" + android:textSize="@dimen/network_train_textsize24px" + android:text="璺�冨湴鍥�" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:textColor="@android:color/white"/> + + </RadioGroup> + <Button + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/ui_margin_10dp" + android:text="纭畾" + android:textSize="@dimen/network_train_textsize22px" + android:background="@null" + android:textColor="@android:color/white" + android:id="@+id/btn_sure_"/> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_signal_conf_item.xml b/app/src/main/res/layout/layout_signal_conf_item.xml index 0842db8..668e2ae 100644 --- a/app/src/main/res/layout/layout_signal_conf_item.xml +++ b/app/src/main/res/layout/layout_signal_conf_item.xml @@ -1,66 +1,71 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:gravity="center" - android:layout_height="60dp"> + android:paddingBottom="8dp" + android:gravity="center_vertical" + android:layout_height="50dp"> <TextView android:layout_width="0dp" android:layout_weight="1" android:id="@+id/tv_signal_1" - android:layout_height="wrap_content" - android:gravity="center" + android:textColor="@android:color/white" + android:layout_height="32dp" + android:textAlignment="center" + android:gravity="center_vertical" + android:textSize="@dimen/network_train_textsize22px" android:text="鍠囧彮"/> - <EditText + <androidx.appcompat.widget.AppCompatSpinner android:layout_width="0dp" android:layout_weight="1" + android:textColor="@android:color/white" android:gravity="center" - android:layout_height="wrap_content" + android:layout_height="32dp" + android:popupBackground="#2B3141" + android:background="@drawable/bg_spinner" android:id="@+id/et_signal1_port" - android:background="@android:drawable/editbox_background_normal" + android:entries="@array/signals_name" + android:textSize="@dimen/network_train_textsize22px" android:text="0"/> - <CheckBox + <safeluck.drive.evaluation.customview.MyCustomCheckbox android:layout_width="0dp" android:layout_weight="1" android:gravity="center" + android:button="@null" + android:layout_gravity="center_vertical" + android:drawableStart="@drawable/ic_check" android:id="@+id/signal_check_1" - android:layout_height="wrap_content" + android:layout_height="@dimen/ui_margin_30dp" android:checked="true"/> - <CheckBox - android:layout_width="0dp" - android:layout_weight="1" - android:gravity="center" - android:id="@+id/signal_check_2" - android:layout_height="wrap_content" - android:checked="true"/> - <View - android:layout_width="1px" - android:layout_height="wrap_content" - android:background="@color/colorAccent"/> + <TextView android:layout_width="0dp" android:layout_weight="1" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize22px" android:gravity="center" android:id="@+id/tv_signal_2" - android:layout_height="wrap_content" + android:layout_height="32dp" android:text="鍠囧彮"/> - <EditText + <androidx.appcompat.widget.AppCompatSpinner android:layout_width="0dp" android:layout_weight="1" android:gravity="center" - android:background="@android:drawable/editbox_background_normal" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize22px" + android:background="@drawable/bg_spinner" android:id="@+id/et_signal2_port" - android:layout_height="wrap_content" + android:popupBackground="#2B3141" + android:layout_height="32dp" + android:entries="@array/signals_name" android:text="0"/> - <CheckBox - android:layout_width="0dp" + <safeluck.drive.evaluation.customview.MyCustomCheckbox + android:layout_width="wrap_content" android:layout_weight="1" + android:button="@null" + android:drawableStart="@drawable/ic_check" + android:gravity="center" android:id="@+id/signal_check_3" - android:layout_height="wrap_content" + android:layout_height="@dimen/ui_margin_30dp" android:checked="true"/> - <CheckBox - android:layout_width="0dp" - android:layout_weight="1" - android:id="@+id/signal_check_4" - android:layout_height="wrap_content" - android:checked="true"/> + </LinearLayout> diff --git a/app/src/main/res/layout/layout_signal_config.xml b/app/src/main/res/layout/layout_signal_config.xml index aaad303..5a195b6 100644 --- a/app/src/main/res/layout/layout_signal_config.xml +++ b/app/src/main/res/layout/layout_signal_config.xml @@ -1,67 +1,90 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" android:layout_height="match_parent"> +<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:background="@android:color/white" android:id="@+id/ll_container" + + android:layout_marginBottom="@dimen/ui_margin_25dp" + > <include layout="@layout/toolbar"/> <LinearLayout android:layout_width="match_parent" - android:layout_height="30dp" - android:padding="5dp" - + android:layout_height="25dp" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="10dp" android:orientation="horizontal" android:layout_column="8"> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" - android:textColor="@android:color/black" + android:gravity="center" + android:textSize="15sp" + android:textColor="#ff888995" + android:text="鐗╃悊閫氶亾"/> + <TextView + android:layout_width="0dp" + android:layout_weight="1" + android:textSize="15sp" + android:textColor="#ff888995" + android:gravity="center" + android:layout_height="wrap_content" android:text="淇″彿鍚嶇О"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="鐗╃悊绱㈠紩"/> - <TextView - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="wrap_content" + android:gravity="center" + android:textSize="15sp" + android:textColor="#ff888995" android:text="楂樼數骞虫湁鏁�"/> + <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="涓绘澘鏈夋晥"/> + android:gravity="center" + android:textSize="15sp" + android:textColor="#ff888995" + android:text="鐗╃悊閫氶亾"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" - android:textColor="@android:color/black" + android:gravity="center" + android:textSize="15sp" + android:textColor="#ff888995" android:text="淇″彿鍚嶇О"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="鐗╃悊绱㈠紩"/> - <TextView - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="wrap_content" + android:textSize="15sp" + android:textColor="#ff888995" + android:gravity="center" android:text="楂樼數骞虫湁鏁�"/> - <TextView - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="wrap_content" - android:textColor="@android:color/black" - android:text="涓绘澘鏈夋晥"/> + </LinearLayout> + <ListView + android:layout_width="match_parent" + android:id="@+id/lv_signalconf" + android:layout_height="match_parent"/> </LinearLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:layout_marginRight="@dimen/ui_margin_10dp" + android:layout_marginBottom="@dimen/ui_margin_25dp" + android:layout_marginTop="@dimen/ui_margin_50dp" + android:background="@drawable/stu_score_bg" + /> +</FrameLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_signal_slice.xml b/app/src/main/res/layout/layout_signal_slice.xml index 62f9278..3384cea 100644 --- a/app/src/main/res/layout/layout_signal_slice.xml +++ b/app/src/main/res/layout/layout_signal_slice.xml @@ -18,27 +18,29 @@ android:id="@+id/tv_loudspeaker" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - - android:textColor="@android:color/black"/> + android:textSize="@dimen/network_train_textsize22px" + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="杩滃厜鐏�" android:layout_marginLeft="30dp" android:id="@+id/tv_high_beam" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="妗d綅涓�" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_gear_one" android:layout_toRightOf="@+id/tv_high_beam" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -48,27 +50,30 @@ android:layout_height="wrap_content" android:text="瀹夊叏甯�" android:id="@+id/tv_seat_belt" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绌烘。" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_null_engine" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="妗d綅浜�" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_gear_two" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -77,28 +82,31 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="鐔勭伀" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_cut_off" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绀哄鐏�" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_width_lamp" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" android:layout_marginLeft="30dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="妗d綅涓�" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_gear_three" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -108,28 +116,31 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="闂ㄩ攣" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_gate_lock" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="鍙岄棯" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_emergency_flasher" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="鍓埞" android:layout_marginLeft="30dp" android:id="@+id/tv_gear_four" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> @@ -140,28 +151,31 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="鎵嬪埞" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_parking_brake" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="鑴氬埞" + android:textSize="@dimen/network_train_textsize22px" android:layout_marginLeft="30dp" android:id="@+id/tv_foot_brake" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="妗d綅浜�" android:layout_marginLeft="30dp" android:id="@+id/tv_gear_five" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -171,19 +185,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="宸﹁浆鍚�" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_trun_left" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="缁曡溅涓�" android:layout_marginLeft="30dp" + android:textSize="@dimen/network_train_textsize22px" android:id="@+id/tv_winding_one" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -191,9 +207,10 @@ android:layout_marginLeft="30dp" android:id="@+id/tv_signal3_6" android:visibility="gone" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -204,28 +221,31 @@ android:layout_height="wrap_content" android:text="鍙宠浆鍚�" android:id="@+id/tv_turn_right" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="閽ュ寵START浣�" android:layout_marginLeft="30dp" android:id="@+id/tv_winding_two" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Signal3-7" android:id="@+id/tv_signal3_7" + android:textSize="@dimen/network_train_textsize22px" android:visibility="gone" android:layout_marginLeft="30dp" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> </TableRow> <TableRow android:layout_marginBottom="10dp" > @@ -238,16 +258,18 @@ android:id="@+id/tv_low_lamp" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textSize="@dimen/network_train_textsize22px" + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绂诲悎" android:layout_marginLeft="30dp" android:id="@+id/tv_clutch_pedal" + android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textColor="@android:color/white"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -257,7 +279,8 @@ android:id="@+id/tv_signal3_8" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" - android:textColor="@android:color/black"/> + android:textSize="@dimen/network_train_textsize22px" + android:textColor="@android:color/white"/> </TableRow> </TableLayout> diff --git a/app/src/main/res/layout/layout_stu_score.xml b/app/src/main/res/layout/layout_stu_score.xml index ba23bfd..1f27659 100644 --- a/app/src/main/res/layout/layout_stu_score.xml +++ b/app/src/main/res/layout/layout_stu_score.xml @@ -1,10 +1,27 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent"> -<ListView android:layout_width="match_parent" android:layout_height="match_parent" - android:id="@+id/lv"></ListView> + android:background="@drawable/stu_score_bg"> + <include android:id="@+id/title_item" layout="@layout/layout_score_item_title"/> + <LinearLayout + android:layout_width="match_parent" + android:layout_below="@+id/title_item" + android:layout_height="wrap_content"> + <ListView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="1dp" + android:id="@+id/lv"></ListView> + </LinearLayout> +<LinearLayout + android:layout_width="88dp" + android:layout_height="48dp" + android:layout_alignParentBottom="true" + android:layout_alignParentEnd="true" + android:orientation="horizontal"> + + +</LinearLayout> + </RelativeLayout> diff --git a/app/src/main/res/layout/layout_sys_home_part.xml b/app/src/main/res/layout/layout_sys_home_part.xml new file mode 100644 index 0000000..0bf03e8 --- /dev/null +++ b/app/src/main/res/layout/layout_sys_home_part.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="557px" + android:gravity="center" + android:layout_height="244px" + + > + +<safeluck.drive.evaluation.customview.CircleImageView + style="@style/home_fragment_icon" + android:id="@+id/circle_1" + android:src="@drawable/vehicle_network" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鑱旂綉鑰冭瘯" + android:textColor="#ffffffff" + android:textSize="39sp" + android:id="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + /> +<View + android:layout_width="26dp" + android:layout_height="2dp" + android:background="@drawable/sys_line_bg" + android:layout_below="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + android:layout_marginTop="10dp" + android:id="@+id/view_line" + android:layout_marginBottom="10dp"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="LIAN WANG KAO SHI" + android:textColor="#ff64738e" + android:id="@+id/tv_des_t" + android:textSize="13sp" + android:shadowDx="0" + android:shadowDy="1" + android:shadowRadius="3.0" + android:shadowColor="#ff181a26" + android:layout_below="@+id/view_line" + android:layout_toRightOf="@id/circle_1" + /> +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_sys_home_part_exit.xml b/app/src/main/res/layout/layout_sys_home_part_exit.xml new file mode 100644 index 0000000..93fd77d --- /dev/null +++ b/app/src/main/res/layout/layout_sys_home_part_exit.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:gravity="center" + android:layout_height="match_parent" + + > + +<safeluck.drive.evaluation.customview.CircleImageView + style="@style/home_fragment_icon" + android:id="@+id/circle_1" + android:src="@drawable/exit" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="閫�鍑�" + android:textColor="#ffffffff" + android:textSize="39sp" + android:id="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + /> +<View + android:layout_width="26dp" + android:layout_height="2dp" + android:background="@drawable/sys_line_bg" + android:layout_below="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + android:layout_marginTop="12dp" + android:id="@+id/view_line" + android:layout_marginBottom="16dp"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="TUI CHU" + android:textColor="#ff64738e" + android:id="@+id/tv_des_t" + android:textSize="13sp" + android:shadowDx="0" + android:shadowDy="1" + android:shadowRadius="3.0" + android:shadowColor="#ff181a26" + android:layout_below="@+id/view_line" + android:layout_toRightOf="@id/circle_1" + /> +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_sys_home_part_set.xml b/app/src/main/res/layout/layout_sys_home_part_set.xml new file mode 100644 index 0000000..8f0e6aa --- /dev/null +++ b/app/src/main/res/layout/layout_sys_home_part_set.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:gravity="center" + android:layout_height="match_parent" + + > + +<safeluck.drive.evaluation.customview.CircleImageView + style="@style/home_fragment_icon" + android:id="@+id/circle_1" + android:src="@drawable/setting" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="璁剧疆" + android:textColor="#ffffffff" + android:textSize="39sp" + android:id="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + /> +<View + android:layout_width="26dp" + android:layout_height="2dp" + android:background="@drawable/sys_line_bg" + android:layout_below="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + android:layout_marginTop="10dp" + android:id="@+id/view_line" + android:layout_marginBottom="10dp"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="SHE ZHI" + android:textColor="#ff64738e" + android:id="@+id/tv_des_t" + android:textSize="13sp" + android:shadowDx="0" + android:shadowDy="1" + android:shadowRadius="3.0" + android:shadowColor="#ff181a26" + android:layout_below="@+id/view_line" + android:layout_toRightOf="@id/circle_1" + /> +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_sys_home_part_train.xml b/app/src/main/res/layout/layout_sys_home_part_train.xml new file mode 100644 index 0000000..9cfab03 --- /dev/null +++ b/app/src/main/res/layout/layout_sys_home_part_train.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="512px" + android:gravity="center" + android:layout_height="244px" + + > + +<safeluck.drive.evaluation.customview.CircleImageView + style="@style/home_fragment_icon" + android:id="@+id/circle_1" + android:src="@drawable/wheel" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鍗曟満璁粌" + android:textColor="#ffffffff" + android:textSize="39sp" + android:id="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + /> +<View + android:layout_width="26dp" + android:layout_height="2dp" + android:background="@drawable/sys_line_bg" + android:layout_below="@+id/tv_des" + android:layout_toRightOf="@+id/circle_1" + android:layout_marginTop="10dp" + android:id="@+id/view_line" + android:layout_marginBottom="10dp"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="DAN JI XUN LIAN" + android:textColor="#ff64738e" + android:id="@+id/tv_des_t" + android:textSize="13sp" + android:shadowDx="0" + android:shadowDy="1" + android:shadowRadius="3.0" + android:shadowColor="#ff181a26" + android:layout_below="@+id/view_line" + android:layout_toRightOf="@id/circle_1" + /> +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_train_exit.xml b/app/src/main/res/layout/layout_train_exit.xml deleted file mode 100644 index 3d86e5b..0000000 --- a/app/src/main/res/layout/layout_train_exit.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:background="@color/train_bg" - android:layout_height="match_parent" - android:gravity="center" - android:padding="5dp" - android:orientation="vertical"> -<Button - android:layout_width="110dp" - android:layout_height="wrap_content" - android:text="杩斿洖" - android:padding="10dp" - android:textSize="20sp" - android:id="@+id/btn_return" - android:textColor="@android:color/white" - android:background="@color/train_btn_return"/> - <Button - android:layout_width="110dp" - android:layout_height="wrap_content" - android:background="@drawable/btn_start_bg" - android:layout_marginTop="10dp" - android:textSize="20sp" - android:layout_below="@+id/btn_return" - android:padding="10dp" - android:id="@+id/btn_start" - android:textColor="@android:color/white" - android:text="寮�濮嬭�冭瘯"/> -</RelativeLayout> diff --git a/app/src/main/res/layout/layout_train_fragment.xml b/app/src/main/res/layout/layout_train_fragment.xml index fba737e..4f2898c 100644 --- a/app/src/main/res/layout/layout_train_fragment.xml +++ b/app/src/main/res/layout/layout_train_fragment.xml @@ -3,8 +3,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:background="@color/home_bg_color"> -<include layout="@layout/networktoolbar"/> + style="@style/ui_margin" + > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/networktoolbar.xml b/app/src/main/res/layout/networktoolbar.xml index 891dd57..079d156 100644 --- a/app/src/main/res/layout/networktoolbar.xml +++ b/app/src/main/res/layout/networktoolbar.xml @@ -5,13 +5,13 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" + android:id="@+id/top_title" android:theme="@style/AppTheme.AppBarOverlay"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="@dimen/actionbarsizehalf" - android:background="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/AppTheme.NoActionBar.PopupOverlay" app:titleTextAppearance="@style/Toolbar_TextAppearance_White"> diff --git a/app/src/main/res/layout/profile_layout.xml b/app/src/main/res/layout/profile_layout.xml index c6cac4f..93d32d4 100644 --- a/app/src/main/res/layout/profile_layout.xml +++ b/app/src/main/res/layout/profile_layout.xml @@ -2,194 +2,142 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/profile_bg" - android:gravity="center" + android:gravity="center_vertical" android:orientation="horizontal" - android:padding="5dp"> + > +<LinearLayout android:layout_width="457dp" + android:layout_height="105dp" + android:orientation="horizontal" + android:background="@drawable/stu_score_bg" + > - <ImageView + +<LinearLayout + android:layout_width="0dp" + android:layout_height="105dp" + android:paddingTop="@dimen/ui_margin_10dp" + android:gravity="center" + android:layout_weight="1" + android:orientation="vertical"> + <safeluck.drive.evaluation.customview.CircleImageView android:id="@+id/iv_head" - android:layout_width="0dp" - android:layout_height="90dp" - android:layout_weight="1" - android:scaleType="center" - - android:src="@drawable/head_select" /> - - <LinearLayout - android:layout_width="0dp" - android:layout_height="90dp" - android:layout_marginLeft="10dp" - android:layout_weight="3" - android:orientation="vertical"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:orientation="horizontal"> - - <TextView - android:id="@+id/tv_name" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@+id/iv_head" - android:layout_weight="1" - android:text="@string/name" - android:textColor="@android:color/white" /> + android:layout_width="73dp" + android:layout_height="73dp" + android:src="@drawable/head_select1" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@+id/tv_sex" - android:layout_weight="1" - android:text="鐢靛瓙鏁欑粌:楂樼骇" - android:textColor="@android:color/white" - android:visibility="gone" /> - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_marginTop="5dp" - android:layout_marginBottom="5dp" - android:layout_weight="1"> - - <TextView - android:id="@+id/tv_sex" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginRight="10dp" - android:layout_toRightOf="@+id/tv_name" - android:layout_weight="1" - android:text="@string/sex" - android:textColor="@android:color/white" /> - - <TextView - android:id="@+id/tv_use_time" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:text="鐢ㄦ椂:" - android:textColor="@android:color/white" - - android:visibility="gone" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_marginTop="5dp" - android:layout_marginBottom="5dp" - android:layout_weight="1"> - - <TextView - android:id="@+id/tv_ID" - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_below="@+id/tv_name" - android:layout_weight="2" - android:text="@string/user_id" - android:textColor="@android:color/white" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1"> - - <TextView - android:id="@+id/tv_start_time" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:text="@string/begin_time" - android:textColor="@android:color/white" /> - - - <TextView - android:id="@+id/view_map" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:text="鏌ョ湅鍦板浘" - android:textColor="@android:color/white" /> - - - </LinearLayout> - - </LinearLayout> - - <RelativeLayout - android:visibility="gone" - android:layout_width="0dp" - android:layout_height="90dp" - android:layout_marginLeft="10dp" - android:layout_weight="1" - android:gravity="center"> - - <LinearLayout - android:id="@+id/ll_gps" - android:layout_width="wrap_content" - android:layout_height="40dp" - android:gravity="center" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/iv_gps" - android:layout_width="20dp" - android:layout_height="20dp" - android:src="@drawable/gps" /> - - <TextView - android:id="@+id/tv_sat_num" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:gravity="center" - android:text="10" - android:textColor="@android:color/white" /> - - - </LinearLayout> - - <ImageView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@+id/ll_gps" - android:id="@+id/iv_rtk_connect" - android:src="@drawable/antennaxml" /> - - </RelativeLayout> - - <LinearLayout - android:layout_width="0dp" - android:layout_height="100dp" - + <TextView + android:id="@+id/tv_name" + android:layout_width="73dp" + android:layout_height="0dp" android:layout_weight="1" android:gravity="center" - android:orientation="vertical"> + android:text="@string/name" + style="@style/ui_exam_font" + android:textColor="@android:color/white" /> + +</LinearLayout> +<LinearLayout + android:layout_width="0dp" + android:layout_height="105dp" + android:gravity="center" + android:layout_weight="1" + android:paddingTop="@dimen/ui_margin_10dp" + android:orientation="vertical"> + <safeluck.drive.evaluation.customview.CircleImageView + android:id="@+id/iv_coach_head" + android:layout_width="73dp" + android:layout_height="73dp" + android:src="@drawable/head_select2" /> + + + <TextView + android:id="@+id/tv_coach_name" + android:layout_width="73dp" + android:layout_height="0dp" + android:layout_weight="1" + android:gravity="center" + android:text="@string/name1" + style="@style/ui_exam_font" + android:textColor="@android:color/white" /> + + + +</LinearLayout> +</LinearLayout> + <LinearLayout android:layout_width="166dp" + android:layout_height="105dp" + android:orientation="vertical" + android:id="@+id/view_map" + android:layout_marginLeft="@dimen/ui_margin_10dp" + android:background="@drawable/view_map_bg" + > +<ImageView + android:layout_width="128dp" + android:layout_height="78dp" + android:layout_gravity="center_horizontal" + android:scaleType="centerCrop" + android:src="@mipmap/view_map"/> <TextView - android:id="@+id/tv_total_score" - android:layout_width="90dp" - android:layout_height="40dp" - android:layout_marginTop="5dp" - android:background="@android:color/holo_green_dark" - android:padding="5dp" - android:text="@string/total_score" + + android:layout_width="96dp" + android:layout_height="20dp" android:gravity="center" - android:textSize="20sp" + android:layout_gravity="center" + android:layout_marginTop="@dimen/ui_margin_5dp" + android:text="鏌ョ湅鍦板浘" + android:textSize="13sp" + android:background="@drawable/view_map_font_bg" android:textColor="@android:color/white" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="褰撳墠寰楀垎" + </LinearLayout> + <LinearLayout + android:layout_width="143dp" + android:layout_height="105dp" + android:layout_marginLeft="10dp" + android:orientation="vertical" + > +<LinearLayout + android:layout_width="143dp" + android:layout_height="60dp" + android:orientation="vertical" + android:gravity="center" + + android:background="@drawable/stu_score_bg"> + <TextView + android:id="@+id/tv_total_score" + android:layout_width="90dp" + android:layout_height="40dp" + android:text="@string/total_score" + android:gravity="center" + android:textSize="28sp" + android:textColor="@android:color/white" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="褰撳墠璁粌寰楀垎" + android:gravity="center" + android:textColor="#ffa1a1a3" + android:textSize="13sp" + android:id="@+id/tv_score_tip" + android:shadowDx="0" + android:shadowDy="1" + android:shadowRadius="3.0" + android:shadowColor="#330f1329" + /> +</LinearLayout> + <Button + android:layout_width="match_parent" + android:layout_height="match_parent" + android:textColor="#ffffff" + android:background="@drawable/start_exam_bg" + android:textSize="@dimen/network_train_textsize24px" android:gravity="center" - android:textColor="@android:color/white" /> + android:id="@+id/btn_start" + android:layout_marginTop="2dp" + android:text="寮�濮嬭�冭瘯"/> </LinearLayout> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/spinner_item.xml b/app/src/main/res/layout/spinner_item.xml new file mode 100644 index 0000000..b00c833 --- /dev/null +++ b/app/src/main/res/layout/spinner_item.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="100dp" + android:layout_height="30dp" + android:textColor="@android:color/white" + android:gravity="center" + android:textSize="@dimen/network_train_textsize22px" + android:singleLine="true" + android:text="New Text" + android:id="@+id/textView32" /> \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/auto_check_status.png b/app/src/main/res/mipmap-xhdpi/auto_check_status.png new file mode 100755 index 0000000..aa707d3 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/auto_check_status.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/click_it.png b/app/src/main/res/mipmap-xhdpi/click_it.png new file mode 100644 index 0000000..29fef8c --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/click_it.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/conn_status.png b/app/src/main/res/mipmap-xhdpi/conn_status.png new file mode 100644 index 0000000..0edb8e5 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/conn_status.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/device_sn.png b/app/src/main/res/mipmap-xhdpi/device_sn.png new file mode 100755 index 0000000..6cfc2a5 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/device_sn.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/duobianxing.png b/app/src/main/res/mipmap-xhdpi/duobianxing.png new file mode 100755 index 0000000..c412946 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/duobianxing.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/left_bottom.png b/app/src/main/res/mipmap-xhdpi/left_bottom.png new file mode 100755 index 0000000..c511967 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/left_bottom.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/let_top.png b/app/src/main/res/mipmap-xhdpi/let_top.png new file mode 100755 index 0000000..31e35c7 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/let_top.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/platform_pic.png b/app/src/main/res/mipmap-xhdpi/platform_pic.png new file mode 100755 index 0000000..d409bb6 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/platform_pic.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/province_id.png b/app/src/main/res/mipmap-xhdpi/province_id.png new file mode 100755 index 0000000..a87eb57 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/province_id.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/return_bg.png b/app/src/main/res/mipmap-xhdpi/return_bg.png new file mode 100755 index 0000000..c996feb --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/return_bg.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/return_pic.png b/app/src/main/res/mipmap-xhdpi/return_pic.png new file mode 100755 index 0000000..ed14f89 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/return_pic.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/right_bottom.png b/app/src/main/res/mipmap-xhdpi/right_bottom.png new file mode 100755 index 0000000..5953dab --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/right_bottom.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/right_top.png b/app/src/main/res/mipmap-xhdpi/right_top.png new file mode 100755 index 0000000..967156e --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/right_top.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/start_exam_bg.png b/app/src/main/res/mipmap-xhdpi/start_exam_bg.png new file mode 100755 index 0000000..bbbc9fe --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/start_exam_bg.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/version_pic.png b/app/src/main/res/mipmap-xhdpi/version_pic.png new file mode 100755 index 0000000..2926510 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/version_pic.png Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/view_map.png b/app/src/main/res/mipmap-xhdpi/view_map.png new file mode 100755 index 0000000..ac059be --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/view_map.png Binary files differ diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 6fe4b75..106064d 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -11,4 +11,29 @@ <item>鍥哄畾瑙�</item> <item>娴姩瑙�</item> </string-array> + <string-array name="signals_name"> + <item>瀹夊叏甯�</item> + <item>宸﹁浆</item> + <item>鍙宠浆</item> + <item>鎵嬪埞</item> + <item>鑴氬埞</item> + <item>杩戝厜</item> + <item>杩滃厜</item> + <item>闂ㄩ攣</item> + <item>绌烘尅</item> + <item>涓�妗�</item> + <item>浜屾。</item> + <item>涓夋。</item> + <!-- <item>鍥涙。</item> + <item>浜旀。</item> + <item>鍊掓。</item>--> + <item>START浣�</item> + <item>鍓埞</item> + <item>缁曡溅涓�</item> + <item>缁曡溅浜�</item> + <item>缁曡溅涓�</item> + <item>缁曡溅鍥�</item> + <item>闆剧伅</item> + <item>绀哄粨鐏�</item> + </string-array> </resources> diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 61e42b8..5dc8219 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -14,4 +14,12 @@ <declare-styleable name="HouseView"> <attr name="item" format="string" /> </declare-styleable> + <declare-styleable name="mycustom_et"> + <attr name="txt" format="string"/> + <attr name="txt_des" format="string"/> + <attr name="txt_unit" format="boolean"/> + <attr name="txt_unit_des" format="string"/> +<!-- <attr name="view_height" format="integer"/>--> +<!-- <attr name="view_width" format="integer"/>--> + </declare-styleable> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9882094..08dd8d1 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <color name="colorPrimary">#008577</color> + <color name="colorPrimary">#181B2A</color> <color name="colorPrimaryDark">#00574B</color> <color name="colorAccent">#D81B60</color> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index f4c539b..3267616 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,5 +1,23 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="bottombar_height">0dp</dimen> - <dimen name="actionbarsizehalf">28dp</dimen> + <dimen name="actionbarsizehalf">20dp</dimen> + <dimen name="network_train_textsize">14sp</dimen> + <dimen name="network_train_textsize22px">18sp</dimen> + <dimen name="network_train_textsize20px">16sp</dimen> + <dimen name="network_train_textsize24px">20sp</dimen> + <dimen name="network_train_textsize16px">13sp</dimen> + <dimen name="ui_margin_10dp">10dp</dimen> + <dimen name="ui_margin_20dp">20dp</dimen> + <dimen name="ui_margin_5dp">5dp</dimen> + <dimen name="network_train_textsize26px">21sp</dimen> + <dimen name="width_160px_dp">127dp</dimen> + <dimen name="network_train_textsize21px">17sp</dimen> + <dimen name="network_train_textsize25px">19sp</dimen> + <dimen name="ui_margin_30dp">30dp</dimen> + <dimen name="ui_margin_25dp">25dp</dimen> + <dimen name="ui_margin_80dp">80dp</dimen> + <dimen name="ui_margin_50dp">50dp</dimen> + <dimen name="ui_margin_40dp">40dp</dimen> + <dimen name="ui_margin_45dp">45dp</dimen> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d33a3b9..87f2c9f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -25,10 +25,10 @@ <string name="rtk_connect_status">RTK杩炴帴鐘舵�侊細%1$d</string> <string name="rtk_config_login">RTK鐧诲綍缁撴灉锛�%1$d</string> <string name="speed">杞﹂��:%1$.2fkm/h</string> - <string name="licheng">宸茶椹�:451km</string> - <string name="total_score">%1$d</string> + <string name="total_score">%1$d鍒�</string> <string name="sat_num">鍗槦鏁伴噺</string> - <string name="name">濮撳悕锛�</string> + <string name="name">瀛﹀憳</string> + <string name="name1">鏁欑粌</string> <string name="sex">鎬у埆锛�</string> <string name="begin_time">寮�濮嬫椂闂达細</string> <string name="mcu_info">鍗忓鐞嗗櫒淇℃伅锛�</string> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 16fc81d..984f0cc 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -26,8 +26,8 @@ </style> <style name="home_fragment_icon"> - <item name="android:layout_width">80dp</item> - <item name="android:layout_height">80dp</item> + <item name="android:layout_width">140px</item> + <item name="android:layout_height">140px</item> <item name="android:gravity">center</item> <item name="android:layout_weight">1</item> @@ -56,5 +56,15 @@ <style name="Dialog.FullScreen" parent="Theme.AppCompat.Dialog"> <item name="android:padding">0dp</item> <item name="android:windowBackground">@android:color/transparent</item> + </style> <style name="ui_margin"> + + <item name="android:layout_marginLeft">@dimen/ui_margin_10dp</item> + <item name="android:layout_marginRight">@dimen/ui_margin_10dp</item> </style> + + <style name="ui_exam_font"> + <item name="android:textSize">@dimen/network_train_textsize</item> + </style> + + </resources> diff --git a/build.gradle b/build.gradle index 61e3858..5a5a0d6 100644 --- a/build.gradle +++ b/build.gradle @@ -13,6 +13,7 @@ lifecycleVersion = '2.1.0' retrofit_version = '2.8.1' qrcode_version = '3.3.0' + picasso_version = '3.5.0' } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' diff --git a/lib/src/main/cpp/native-lib.cpp b/lib/src/main/cpp/native-lib.cpp index 206f071..5912646 100644 --- a/lib/src/main/cpp/native-lib.cpp +++ b/lib/src/main/cpp/native-lib.cpp @@ -26,7 +26,7 @@ const int RTK_PLATFORM_PORT = 12125; const uint8_t phone[] = {0x20,0x19,0x10,0x15,0x00,0x00,0x00,0x01}; -const char *VIRTUAL_RTK_IP = "192.168.16.100"; +const char *VIRTUAL_RTK_IP = "192.168.16.101"; const int VIRTUAL_RTK_PORT = 9001; static pthread_mutex_t tts_mutex = PTHREAD_MUTEX_INITIALIZER; -- Gitblit v1.8.0