app/build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/layout_check_signal.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/layout_signal_slice.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/toolbar.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/build.gradle
@@ -16,6 +16,9 @@ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } dataBinding{ enabled = true } signingConfigs { release { storeFile file("../key/key.jks") app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -35,6 +35,7 @@ import java.util.List; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.BuildConfig; import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.DB.appstatusdb.AppStatus; import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel; @@ -83,7 +84,7 @@ if (fields[i].getName().equalsIgnoreCase("version")){ String version = (String) fields[i].get(mcuInfo); version = new String(BytesUtils.hexStringToBytes(version),"GBK"); datas.add("版本号:" + version); datas.add("版本号:" + version+"#"+ BuildConfig.VERSION_NAME); }else if(fields[i].getName().equalsIgnoreCase("sn")){ datas.add( "设备序列号:" + fields[i].get(mcuInfo)); }else if(fields[i].getName().equalsIgnoreCase("selftest")){ @@ -103,7 +104,7 @@ if (mRtkConfig != null){ datas.add("省ID:"+mRtkConfig.getProvince()); datas.add("市ID:"+mRtkConfig.getCity()); datas.add("电话:"+mRtkConfig.getPhone()); datas.add("电话:"+mRtkConfig.getSn()); datas.add("RTK平台地址:"+mRtkConfig.getIp()+":"+mRtkConfig.getPort()); datas.add("考试平台地址:"+ExamPlatformData.getInstance().getPlatformIP()+":"+ExamPlatformData.getInstance().getPlatformPort()); app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java
@@ -5,6 +5,7 @@ import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -13,8 +14,13 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.Toolbar; import androidx.databinding.DataBindingUtil; import com.anyun.im_lib.util.ByteUtil; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.Constant; @@ -22,6 +28,8 @@ import safeluck.drive.evaluation.bean.MCUInfo; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.cEventCenter.ICEventListener; import safeluck.drive.evaluation.databinding.LayoutCheckSignalBinding; import safeluck.drive.evaluation.databinding.LayoutSignalSliceBinding; /** * MyApplication2 @@ -31,20 +39,52 @@ */ public class InspectSignalFragment extends SupportFragment { 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 LayoutCheckSignalBinding bingding; private List<Integer> gpios = new ArrayList<>(); Drawable leftGreen ; Drawable leftGray ; private ICEventListener icEventListener = new ICEventListener() { @Override public void onCEvent(String topic, int msgCode, int resultCode, Object obj) { if (msgCode==Constant.MCU_SN){ final MCUInfo mcuInfo = gson.fromJson((String)obj, MCUInfo.class); if (mcuInfo != null){ tv_engine.post(new Runnable() { bingding.getRoot().post(new Runnable() { @Override public void run() { tv_engine.setText(String.valueOf(mcuInfo.getEngine())); tv_speed.setText(String.valueOf(mcuInfo.getSpeed())); for (int i = 0; i < 16; i++) { gpios.add( ByteUtil.getBitStatus(mcuInfo.getGpio(),i)); } bingding.tvRoateSpeed.setText(String.valueOf(mcuInfo.getEngine())); bingding.tvDangweiNum.setText(String.valueOf(mcuInfo.getSpeed())); bingding.inpsetSignalSlice.tvSeatBelt.setCompoundDrawablesWithIntrinsicBounds(gpios.get(0)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvTrunLeft.setCompoundDrawablesWithIntrinsicBounds(gpios.get(1)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvTurnRight.setCompoundDrawablesWithIntrinsicBounds(gpios.get(2)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvParkingBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(3)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvFootBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(4)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvLowLamp.setCompoundDrawablesWithIntrinsicBounds(gpios.get(5)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvHighBeam.setCompoundDrawablesWithIntrinsicBounds(gpios.get(6)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGateLock.setCompoundDrawablesWithIntrinsicBounds(gpios.get(7)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvNullEngine.setCompoundDrawablesWithIntrinsicBounds(gpios.get(8)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGearOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(9)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGearTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(10)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGearThree.setCompoundDrawablesWithIntrinsicBounds(gpios.get(11)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGearFour.setCompoundDrawablesWithIntrinsicBounds(gpios.get(12)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvGearFive.setCompoundDrawablesWithIntrinsicBounds(gpios.get(13)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvWindingOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(14)==VALIAD_NUM?leftGreen:leftGray,null,null,null); bingding.inpsetSignalSlice.tvWindingTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(15)==VALIAD_NUM?leftGreen:leftGray,null,null,null); } }); } @@ -60,15 +100,18 @@ @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.layout_check_signal,container,false); initView(view); return view; bingding = DataBindingUtil.inflate(inflater,R.layout.layout_check_signal,container,false); initView(); leftGreen = getResources().getDrawable(R.drawable.green_light,null); leftGray = getResources().getDrawable(R.drawable.gray_light,null); return bingding.getRoot(); } private void initView(View view) { tv_engine = view.findViewById(R.id.tv_roate_speed); tv_speed = view.findViewById(R.id.tv_dangwei_num); toolbar =view.findViewById(R.id.toolbar); 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 @@ -77,14 +120,7 @@ } }); toolbar.setTitle("查看车载信号输入"); textView_turnLight = view.findViewById(R.id.tv_fog_lamp); final Drawable left = getResources().getDrawable(R.drawable.green_light,null); new Handler().postDelayed(new Runnable() { @Override public void run() { textView_turnLight.setCompoundDrawablesWithIntrinsicBounds(left,null,null,null); } },5*1000); } @Override app/src/main/res/layout/layout_check_signal.xml
@@ -1,15 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <layout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@android:color/white" > <include layout="@layout/toolbar"/> <include layout="@layout/toolbar" android:id="@+id/inpsect_signal_toolbar"/> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" > <include layout="@layout/layout_signal_slice"/> <include layout="@layout/layout_signal_slice" android:id="@+id/inpset_signal_slice"/> <RelativeLayout android:layout_gravity="end" android:padding="10dp" @@ -56,3 +57,5 @@ </LinearLayout> </layout> app/src/main/res/layout/layout_signal_slice.xml
@@ -1,5 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <layout> <data> <variable name="gpio" type="safeluck.drive.evaluation.bean.MCUInfo" /> </data> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" @@ -13,6 +18,7 @@ android:id="@+id/tv_loudspeaker" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" android:textColor="@android:color/black"/> <TextView android:layout_width="wrap_content" @@ -48,9 +54,9 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="雾灯" android:text="空档" android:layout_marginLeft="30dp" android:id="@+id/tv_fog_lamp" android:id="@+id/tv_null_engine" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" android:textColor="@android:color/black"/> @@ -150,9 +156,9 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Signal3-5" android:text="档位五" android:layout_marginLeft="30dp" android:id="@+id/tv_signal3_5" android:id="@+id/tv_gear_five" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" android:textColor="@android:color/black"/> @@ -172,7 +178,7 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绕车一" android:text="倒挡" android:layout_marginLeft="30dp" android:id="@+id/tv_winding_one" android:drawableLeft="@drawable/gray_light" @@ -184,6 +190,7 @@ android:text="Signal3-6" android:layout_marginLeft="30dp" android:id="@+id/tv_signal3_6" android:visibility="gone" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" android:textColor="@android:color/black"/> @@ -203,7 +210,7 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绕车二" android:text="钥匙START位" android:layout_marginLeft="30dp" android:id="@+id/tv_winding_two" android:drawableLeft="@drawable/gray_light" @@ -214,6 +221,7 @@ android:layout_height="wrap_content" android:text="Signal3-7" android:id="@+id/tv_signal3_7" android:visibility="gone" android:layout_marginLeft="30dp" android:drawableLeft="@drawable/gray_light" android:drawablePadding="5dp" @@ -244,6 +252,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Signal3-8" android:visibility="gone" android:layout_marginLeft="30dp" android:id="@+id/tv_signal3_8" android:drawableLeft="@drawable/gray_light" @@ -252,3 +261,5 @@ </TableRow> </TableLayout> </layout> app/src/main/res/layout/toolbar.xml
@@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <layout> <com.google.android.material.appbar.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" @@ -16,3 +16,4 @@ app:popupTheme="@style/AppTheme.NoActionBar.PopupOverlay" app:titleTextAppearance="@style/Toolbar_TextAppearance_White"/> </com.google.android.material.appbar.AppBarLayout> </layout> im_lib/src/main/java/com/anyun/im_lib/util/ByteUtil.java
@@ -268,4 +268,18 @@ Log.i(TAG, "getShort: "+s); return s ; } /** * 判断1一个int变量 某位bit的值 * * @param num * @param pos =0 是第一为 1.。 2.。 * @return */ public static int getBitStatus(int num,int pos){ if ((num&(1<<pos))!=0){ return 1; }else return 0; } }