package safeluck.drive.evaluation.fragment;
|
|
import android.content.Context;
|
import android.graphics.drawable.Drawable;
|
import android.os.Bundle;
|
import android.os.Handler;
|
|
import android.util.Log;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.TextView;
|
|
import androidx.annotation.NonNull;
|
import androidx.annotation.Nullable;
|
import androidx.appcompat.widget.Toolbar;
|
import androidx.databinding.DataBindingUtil;
|
|
import com.anyun.exam.lib.MyLog;
|
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;
|
import safeluck.drive.evaluation.R;
|
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
|
* Created by lzw on 2019/3/22. 11:07:11
|
* 邮箱:632393724@qq.com
|
* All Rights Saved! Chongqing AnYun Tech co. LTD
|
*/
|
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 Handler handler = new Handler();
|
private LayoutCheckSignalBinding bingding;
|
private List<Integer> gpios = new ArrayList<>();
|
Drawable leftGreen ;
|
Drawable leftGray ;
|
private int index =0 ;
|
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){
|
gpios.clear();
|
for (int i = 0; i < 16; i++) {
|
|
gpios.add( ByteUtil.getBitStatus(mcuInfo.getGpio(),i));
|
}
|
MyLog.i("mcu info gpio"+mcuInfo.getGpio());
|
|
handler.post(new Runnable() {
|
@Override
|
public void run() {
|
bingding.tvRoateSpeed.setText(String.valueOf(mcuInfo.getEngine()));
|
bingding.tvDangweiNum.setText(String.valueOf(mcuInfo.getSpeed()));
|
|
for (int i = 0; i < gpios.size(); i++) {
|
Log.i(TAG, "run: gpio["+i+"]="+gpios.get(i));
|
}
|
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);
|
}
|
});
|
}
|
}
|
}
|
};
|
|
public static SupportFragment newInstance(){
|
return new InspectSignalFragment();
|
}
|
|
@Nullable
|
@Override
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
|
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() {
|
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("查看车载信号输入");
|
|
|
}
|
@Override
|
public void onAttach(Context context) {
|
super.onAttach(context);
|
CEventCenter.onBindEvent(true,icEventListener, Constant.BIND_MCUINFO_TOPIC);
|
}
|
|
@Override
|
public void onDetach() {
|
super.onDetach();
|
CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC);
|
}
|
}
|