3个文件已删除
69个文件已修改
68个文件已添加
| | |
| | | <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> |
| | |
| | | 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() |
| | |
| | | "signalName": "雾灯", |
| | | "index":1, |
| | | "func_id":21, |
| | | "id":0, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | |
| | | "signalName": "三档", |
| | | "index":2, |
| | | "func_id":11, |
| | | "id":1, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | | { |
| | | "signalName": "手刹", |
| | | "index":3, |
| | | "id":2, |
| | | "func_id":3, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | "signalName": "一档", |
| | | "index":4, |
| | | "func_id":9, |
| | | "id":3, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | |
| | | "signalName": "副刹", |
| | | "index":5, |
| | | "func_id":16, |
| | | "id":4, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | | { |
| | | "signalName": "安全带", |
| | | "index":6, |
| | | "id":5, |
| | | "func_id":0, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | { |
| | | "signalName": "二档", |
| | | "index":7, |
| | | "id":6, |
| | | "func_id":10, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | { |
| | | "signalName": "脚刹", |
| | | "index":8, |
| | | "id":7, |
| | | "func_id":4, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | "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 |
| | |
| | | "signalName": "近光", |
| | | "index":14, |
| | | "func_id":5, |
| | | "id":13, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | |
| | | "signalName": "左转", |
| | | "index":15, |
| | | "func_id":1, |
| | | "id":14, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | }, |
| | | { |
| | | "signalName": "右转", |
| | | "index":16, |
| | | "id":15, |
| | | "func_id":2, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | { |
| | | "signalName": "绕车三", |
| | | "index":18, |
| | | "id":17, |
| | | "func_id":19, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | |
| | | { |
| | | "signalName": "绕车四", |
| | | "index":19, |
| | | "id":17, |
| | | "func_id":20, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | } , { |
| | | "signalName": "示廓灯", |
| | | "index":20, |
| | | "func_id":22, |
| | | "highLevel":1, |
| | | "mainBoard":2 |
| | | } |
| | | ] |
| | |
| | | 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)); |
| | |
| | | //教练 |
| | | 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); |
| | |
| | | getMap(sn, "yard") |
| | | getMap(sn, "car") |
| | | |
| | | |
| | | MyLog.i(PlatFormConstant.TAG,"重置TCP连接") |
| | | IMSClientBootstrap.getInstance().resetConnect(); |
| | | } |
| | |
| | | @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(); |
| | |
| | | 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() { |
| | |
| | | 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; |
| | | |
| | | |
| | |
| | | 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; |
| | |
| | | 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(); |
| | | |
| | |
| | | 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()); |
| | | //初始化tts |
| | | 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"; |
| | |
| | | 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() { |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onClick(View v) { |
| | | switch (v.getId()){ |
| | | case R.id.btn_return: |
| | | onBackPressed(); |
| | | break; |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | 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;//姓名 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | //数据库操作 |
| | | MyLog.i(TAG, "onCreate111"); |
| | | FileUtil.createdirs(getApplicationContext()); |
| | | //1.先检查sd卡包名的目录下,是否存在地图文件和车辆模型文件 |
| | | //2. 如果不能再就去下载 |
| | | |
| | | //考试状态 ,一些初始状态,app一些状态应该先初始化一下 |
| | | initData(); |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | private void initData() { |
| | | CThreadPoolExecutor.runInBackground(()->{ |
| | | int type = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().getStartExamInt(); |
| | | ExamPlatformData.getInstance().setExamType(type); |
| | | }); |
| | | } |
| | | |
| | | public static Context getAppContext(){ |
| | |
| | | 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()){ |
New file |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | public String getCoachID() { |
| | | return coachID; |
| | | } |
| | | |
| | | /** |
| | | * 返回学员是否签到,true-已经签到 |
| | | */ |
| | | 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; |
| | | /** |
| | | * 返回教练是否签到,true-已经签到 |
| | | */ |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | this.one = one; |
| | | } |
| | | |
| | | public boolean isTwo() { |
| | | return two; |
| | | } |
| | | |
| | | public void setTwo(boolean two) { |
| | | this.two = two; |
| | | } |
| | | |
| | | public int getPort_one() { |
| | | return port_one; |
| | |
| | | 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 + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | this.func_id = func_id; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "SignalConfigRemote{" + |
| | | "gpio_num=" + gpio_num + |
| | | ", level=" + level + |
| | | ", func_id=" + func_id + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | 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(); |
| | | |
| | |
| | | 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(); |
| | |
| | | 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 ; |
| | | |
| | | |
| | |
| | | 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(); |
New file |
| | |
| | | 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() |
| | | |
| | | } |
| | | |
| | | |
| | | |
New file |
| | |
| | | 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()) |
| | | } |
| | | } |
New file |
| | |
| | | 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() |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
New file |
| | |
| | | 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() |
| | | } |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | public class QRCodeDialog extends DialogFragment { |
| | | private static final String TAG = "QRCodeDialog"; |
| | | private String message="正在加载..."; |
| | | private boolean canCancel= true; |
| | | private boolean canCancel= false; |
| | | private ImageView iv_qrCode; |
| | | private Button btn; |
| | | private Bitmap qrBitmap; |
| | |
| | | @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; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 隐藏虚拟按键,并且全屏 |
| | | */ |
| | | 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); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | 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(); |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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) { |
| | |
| | | public void run() { |
| | | |
| | | if (mRtkConfig != null){ |
| | | datas.add("省ID:"+mRtkConfig.getProvince()); |
| | | datas.add("市ID:"+mRtkConfig.getCity()); |
| | | datas.add("RTK平台地址:"+mRtkConfig.getIp()+":"+mRtkConfig.getPort()); |
| | | setitemInfo("省ID ", String.valueOf(mRtkConfig.getProvince()),R.mipmap.province_id); |
| | | setitemInfo("市ID ", 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); |
| | | } |
| | |
| | | } |
| | | }; |
| | | |
| | | 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) { |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | 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); |
| | |
| | | |
| | | 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: |
| | |
| | | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | 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)); |
| | |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | private int item_id;//扣分分数总和 |
| | | 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<>(); |
| | |
| | | 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()); |
| | |
| | | } |
| | | }); |
| | | |
| | | 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("进入考场结束考试,startexam="+examStatus.getStartExam()); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | MyLog.i("进入考场,type="+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) { |
| | |
| | | if (item_conents.contains("倒车入库")) { |
| | | MyLog.i("该项考试失败,type="+type); |
| | | |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过倒车入库合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过坡道定点停车和起步合格合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过侧方停车合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过曲线行驶合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过直角转弯合格"); |
| | |
| | | examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); |
| | | } |
| | | |
| | | return getResources().getColor(R.color.train_btn_return); |
| | | return getResources().getDrawable(R.drawable.ic_btn_succ); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | }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 |
| | |
| | | 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(); |
| | | } |
| | |
| | | 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); |
| | |
| | | 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) -> { |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | 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(); |
| | |
| | | item_id = 0; |
| | | |
| | | failedProjViewModel.deleteAll(); |
| | | tv_total_score.setText(String.valueOf(currTotalScore)); |
| | | setTotalScoreText(); |
| | | |
| | | |
| | | ExamPlatformData.getInstance().getTTS().speak("结束考试"); |
| | |
| | | public void onAttach(Context context) { |
| | | super.onAttach(context); |
| | | CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_SPEED_TOPIC); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | public static SetArgumentsFragment newInstance() { |
| | | return new SetArgumentsFragment(); |
| | | } |
| | | // |
| | | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | |
| | | 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()); |
| | | |
| | |
| | | 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); |
| | |
| | | |
| | | } |
| | | 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){ |
| | |
| | | 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; |
| | |
| | | rtkConfigViewModel.insertRTKConfig(mRtkConfig); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | _mActivity.onBackPressed(); |
| | | break; |
| | | case R.id.btn_car_select://车辆模型和地图公用一套代码 区别在于REQUEST_CODE |
| | |
| | | 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; |
| | |
| | | public void onDetach() { |
| | | super.onDetach(); |
| | | } |
| | | |
| | | @Override |
| | | public void onDestroyView() { |
| | | super.onDestroyView(); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | |
| | | /** |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | 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(); |
| | | } |
| | | |
| | | } |
| | | }); |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | private Gson gson = new Gson(); |
| | | |
| | | |
| | | |
| | |
| | | |
| | | } |
| | | }); |
| | | 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,index" ,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信号的index=%d改为%d",siname,index,indexPre)); |
| | | Log.i(TAG,String.format("把%s信号的index=%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,index" + |
| | | "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,index" ,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信号的index=%d改为%d",siname,index,indexPre)); |
| | | Log.i(TAG,String.format("sp2把%s信号的index=%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,index" + |
| | | "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); |
| | | } |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | @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: "); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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.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; |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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;//扣分分数总和 |
| | | 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; |
| | |
| | | String icson;//返回的ic卡信息 json |
| | | private String content;//用以生成二维码的内容 |
| | | |
| | | private LoadProgressDialog loadProgressDialog; |
| | | |
| | | private List<Integer> btn_ids = new ArrayList<Integer>(); |
| | | |
| | |
| | | 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()); |
| | |
| | | } |
| | | }); |
| | | |
| | | private int aaa(int type) { |
| | | private Drawable aaa(int type) { |
| | | if (examStatusList!=null &&examStatusList.size()>0){ |
| | | for (ExamStatus examStatus: |
| | | examStatusList) { |
| | |
| | | if (examStatusList.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){ |
| | | //结束考试了 |
| | | MyLog.i("进入考场结束考试,startexam="+examStatus.getStartExam()); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | MyLog.i("进入考场,type="+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) { |
| | |
| | | if (item_conents.contains("倒车入库")) { |
| | | MyLog.i("该项考试失败,type="+type); |
| | | |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过倒车入库合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过坡道定点停车和起步合格合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过侧方停车合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过曲线行驶合格"); |
| | |
| | | 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("该项考试失败,type="+type); |
| | | return getResources().getColor(R.color.colorAccent); |
| | | return getResources().getDrawable(R.drawable.ic_btn_fail); |
| | | }else{ |
| | | if (examStatus.getResult() ==1){ |
| | | MyLog.i("已经播放过直角转弯合格"); |
| | |
| | | examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); |
| | | } |
| | | |
| | | return getResources().getColor(R.color.train_btn_return); |
| | | return getResources().getDrawable(R.drawable.ic_btn_succ); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | }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); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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(); |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | |
| | | |
| | | 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); |
| | |
| | | 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() { |
| | |
| | | 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 发送JKMessage0202 给平台,开始考试 |
| | | if (btn_start_exam.getText().toString().equalsIgnoreCase("开始训练")){ |
| | | |
| | | //TODO 发送JKMessage0202 给平台,开始考试 |
| | | 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); |
| | |
| | | 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) { |
| | |
| | | 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() { |
| | |
| | | @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; |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | }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(); |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | @Message |
| | | @Length(0) |
| | | public AttachInfo attachInfo; |
| | | @Order(6) |
| | | @Message |
| | | @Length(0) |
| | | public AttachInfo2 attachInfo2; |
| | | |
| | | |
| | | |
| | |
| | | @Order(4) |
| | | @Int8 |
| | | public int personType; |
| | | |
| | | @Order(5) |
| | | @Length |
| | | @Ascii |
| | | public String head_url; |
| | | } |
| | | /** |
| | | 0 |
| | |
| | | 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; |
| | |
| | | |
| | | |
| | | public final class DimenUtil { |
| | | |
| | | |
| | | private static final String TAG = "DimenUtil"; |
| | | |
| | | public static int getScreenWidth(Context context ) { |
| | | final Resources resources = context.getResources(); |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | |
| | | 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"; |
| | | |
| | | /** |
| | | * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法 |
| | |
| | | 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; |
| | |
| | | import javax.crypto.SecretKey; |
| | | import javax.crypto.SecretKeyFactory; |
| | | import javax.crypto.spec.DESKeySpec; |
| | | import javax.crypto.spec.IvParameterSpec; |
| | | |
| | | import safeluck.drive.evaluation.bean.Point; |
| | | |
| | |
| | | public static float px2dp(float value){ |
| | | return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,value, Resources.getSystem().getDisplayMetrics()); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * dp值转像素 |
| | |
| | | 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()); |
| | | //创建一个密匙工厂,然后用它把DESKeySpec转换成 |
| | | //Cipher对象实际完成加密操作 |
| | | //用密匙初始化Cipher对象 |
| | | cipher.init(Cipher.ENCRYPT_MODE, securekey, desKey); |
| | | //现在,获取数据并加密 |
| | | //正式执行加密操作 |
| | | return cipher.doFinal(datasource); |
| | | }catch(Throwable e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | /** |
| | | * 解密 |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | <?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> |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
| | |
| | | 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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | | |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | <?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> |
| | | |
| | | |
| | | </LinearLayout> |
New file |
| | |
| | | <?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" /> |
| | |
| | | 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" /> |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | <?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="省ID:"/> |
| | | <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="市ID:"/> |
| | | <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="省ID" |
| | | 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="市ID" |
| | | 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> |
| | | |
| | |
| | | <?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> |
| | | <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> |
| | |
| | | <?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> |
| | | |
New file |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | 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" |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | <?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" |
| | |
| | | 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> |
| | |
| | | <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> |
| | |
| | | <?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> |
| | | 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> |
| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | android:textColor="@android:color/white" |
| | | android:gravity="center" |
| | | android:id="@+id/tv_item" |
| | | style="@style/ui_exam_font" |
| | | android:text="扣分项目"/> |
| | | <View android:layout_height="match_parent" |
| | | android:layout_width="1px" |
| | | android:background="#66CCFF" |
| | | |
| | | /> |
| | | <TextView |
| | | android:layout_width="0dp" |
| | | android:layout_weight="1" |
| | |
| | | android:gravity="center" |
| | | android:textColor="@android:color/white" |
| | | android:id="@+id/tv_score" |
| | | style="@style/ui_exam_font" |
| | | android:text="扣分分数"/> |
| | | <View android:layout_height="match_parent" |
| | | android:layout_width="1px" |
| | | android:background="#66CCFF" |
| | | |
| | | /> |
| | | <TextView |
| | | android:layout_width="0dp" |
| | | android:layout_weight="1" |
| | |
| | | android:layout_height="match_parent" |
| | | android:gravity="center" |
| | | android:id="@+id/tv_reason" |
| | | style="@style/ui_exam_font" |
| | | android:text="扣分原因"/> |
| | | </LinearLayout> |
New file |
| | |
| | | <?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="扣分项目"/> |
| | | <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="扣分分数" |
| | | 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="扣分原因"/> |
| | | </LinearLayout> |
New file |
| | |
| | | <?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> |
| | |
| | | <?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> |
| | |
| | | <?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> |
| | |
| | | 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="档位一" |
| | | 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" > |
| | | |
| | |
| | | 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="档位二" |
| | | 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" > |
| | | |
| | |
| | | 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="档位三" |
| | | 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" > |
| | |
| | | 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> |
| | | |
| | | |
| | |
| | | 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="档位五" |
| | | 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" > |
| | |
| | | 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" |
| | |
| | | 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" > |
| | |
| | | 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" > |
| | |
| | | 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" |
| | |
| | | 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> |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | 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" |
| | |
| | | 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"> |
| | |
| | | <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> |
New file |
| | |
| | | <?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" /> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <?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> |
| | | |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | | |
| | |
| | | <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> |
| | |
| | | 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' |
| | |
| | | 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; |