From 43a88998d2402b016f990b9dd221365b9454f86e Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 19 八月 2024 22:21:31 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/MainActivity.java | 670 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 618 insertions(+), 52 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java index b08e87c..dff8a4c 100644 --- a/app/src/main/java/com/example/agvcontroller/MainActivity.java +++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java @@ -5,6 +5,8 @@ import android.content.Context; import android.content.Intent; +import android.content.res.ColorStateList; +import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -14,42 +16,93 @@ import android.view.MotionEvent; import android.view.View; import android.widget.Button; +import android.widget.RelativeLayout; +import com.example.agvcontroller.action.BackPaddle; +import com.example.agvcontroller.action.ForwardBackAction; +import com.example.agvcontroller.action.FrontPaddle; +import com.example.agvcontroller.action.HandExtendCollect; +import com.example.agvcontroller.action.HandForkRotatopn; +import com.example.agvcontroller.action.HandInAction; +import com.example.agvcontroller.action.HandLift; +import com.example.agvcontroller.action.RotatopnLeftRight; import com.example.agvcontroller.protocol.AgvAction; -import com.example.agvcontroller.action.ForceSwitchAction; import com.example.agvcontroller.action.HandOutAction; import com.example.agvcontroller.socket.NettyServerHandler; import com.example.agvcontroller.socket.SocketManager; +import com.example.agvcontroller.utils.DialogUtil; import com.example.agvcontroller.utils.SnowflakeIdWorker; import java.net.Socket; -import java.sql.Time; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeoutException; public class MainActivity extends AppCompatActivity { public static final Map<String, Object> map = new ConcurrentHashMap(); + public static final Map<String, Object> car_num = new ConcurrentHashMap(); private RecyclerView recyclerView; private ItemAdapter itemAdapter; private List<Item> itemList; private Vibrator vibrator; private Button stopBtn; // 鎬ュ仠鎸夐挳 - private Button forceSwitchBtn; // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏� - private Button rotatopnRightBtn; // 鍙虫棆杞� +// private Button forceSwitchBtn; // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏� private Button rotatopnLeftBtn; // 宸︽棆杞� + private Button rotatopnRightBtn; // 鍙虫棆杞� private Button goForwardBtn; // 鍓嶈繘 private Button goBackwardBtn; // 鍚庨�� + private Button modelSwitchBtn; // 杩涘叆銆侀��鍑� 鎵嬪姩 + + private Button frontPaddleExtendBtn; + private Button frontPaddleCollectBtn; + private Button backPaddleExtendBtn; + private Button backPaddleCollectBtn; + private Button riseBtn; + private Button dropBtn; + private Button extendForkBtn; + private Button collectForkBtn; + private Button turnLeftBtn; + private Button turnRightBtn; + + + private Button bodySwitchBtn; // 搴曠洏/璐у弶鍒囨崲 private Socket socket; + private String AgvNo = "12"; + private RelativeLayout layout_bottom; + private RelativeLayout layout_top; + private RelativeLayout layout_single; + private RelativeLayout layout_reset; + + int liftHeight = 400; + int extendWidth = 0; + SocketManager socketManager; - private boolean isDowm = false; - private boolean isOpen = false; + + // 鎸夐挳闀挎寜浜嬩欢 + private int autoVal = 1; + private boolean isAuto = true; + private boolean isGoForward = false; + private boolean isGoBackward = false; + private boolean isRotatopnRight = false; + private boolean isRotatopnLeft = false; + + private boolean isFrontPaddleExtendBtn = false; + private boolean isFrontPaddleCollectBtn = false; + private boolean isBackPaddleExtendBtn = false; + private boolean isBackPaddleCollectBtn = false; + private boolean isRiseBtn = false; + private boolean isDropBtn = false; + private boolean isExtendForkBtn = false; + private boolean isCollectForkBtn = false; + private boolean isTurnLeftBtn = false; + private boolean isTurnRightBtn = false; + + @@ -57,48 +110,157 @@ private Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { - if (isDowm) { + if (isGoForward) { String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); - AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) - .setAgvNo("1") + AgvAction agvAction = new AgvAction<>(ForwardBackAction.class) + .setAgvNo(AgvNo) .setSerialNo(substring) .setVal(1) - .bodySync((action) -> action.setPwd((short) 21)); - - nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� - handler.sendEmptyMessageDelayed(0, 100); - - boolean result = false; - long timestamp = System.currentTimeMillis(); - - while (System.currentTimeMillis() - timestamp < 5000) { - - Object o = map.get(substring); - - if (null != o) { - result = true; - map.remove(o); - break; - } - } - - if (result) { - // alert ok - } else { - throw new TimeoutException("瓒呮椂"); - } - - } - if (isOpen) { - String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); - AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) - .setAgvNo("12") - .setSerialNo(substring) - .setVal(1) - .bodySync((action) -> action.setPwd((short) 21)); + .bodySync((action) -> action.setPwd((short) 10)); nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� handler.sendEmptyMessageDelayed(0, 100); } + if (isGoBackward) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(ForwardBackAction.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) -10)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + handler.sendEmptyMessageDelayed(0, 100); + } + if (isRotatopnRight) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(RotatopnLeftRight.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 10)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + handler.sendEmptyMessageDelayed(0, 100); + } + if (isRotatopnLeft) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(RotatopnLeftRight.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) -10)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + handler.sendEmptyMessageDelayed(0, 100); + } + +// // 鍓嶆嫧鏉嗕几 +// if (isFrontPaddleExtendBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(FrontPaddle.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) 1)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 鍓嶆嫧鏉嗘敹 +// if (isFrontPaddleCollectBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(FrontPaddle.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) 0)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 鍚庢嫧鏉嗕几 +// if (isBackPaddleExtendBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(BackPaddle.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) 1)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 鍚庢嫧鏉嗘敹 +// if (isBackPaddleCollectBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(BackPaddle.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) 0)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 涓婂崌 +// if (isRiseBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandLift.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 涓嬮檷 +// if (isDropBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandLift.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 浼稿弶 +// if (isExtendForkBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 鏀跺弶 +// if (isCollectForkBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 璐у弶宸︽棆 +// if (isTurnLeftBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } +// // 璐у弶鍙虫棆 +// if (isTurnRightBtn) { +// String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); +// AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) +// .setAgvNo(AgvNo) +// .setSerialNo(substring) +// .setVal(1) +// .bodySync((action) -> action.setPwd((short) -10)); +// nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� +// handler.sendEmptyMessageDelayed(0, 100); +// } return false; } }); @@ -114,33 +276,296 @@ // 鎸夐挳闇囧姩 vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); stopBtn = findViewById(R.id.btn_stop); - forceSwitchBtn = findViewById(R.id.btn_force_switch); +// forceSwitchBtn = findViewById(R.id.btn_force_switch); goForwardBtn = findViewById(R.id.btn_go_forward); goBackwardBtn = findViewById(R.id.btn_go_backward); + rotatopnLeftBtn = findViewById(R.id.btn_rotatopn_left); + rotatopnRightBtn = findViewById(R.id.btn_rotatopn_right); + modelSwitchBtn = findViewById(R.id.btn_model_switch); + + frontPaddleExtendBtn = findViewById(R.id.btn_front_paddle_extend); // 鍓嶆嫧鏉� + frontPaddleCollectBtn = findViewById(R.id.btn_front_paddle_collect); // 鍓嶆嫧鏉� + backPaddleExtendBtn = findViewById(R.id.btn_back_paddle_extend); // 鍚庢嫧鏉� + backPaddleCollectBtn = findViewById(R.id.btn_back_paddle_collect); // 鍚庢嫧鏉� + riseBtn = findViewById(R.id.btn_rise); + dropBtn = findViewById(R.id.btn_drop); + extendForkBtn = findViewById(R.id.btn_extend_fork); + collectForkBtn = findViewById(R.id.btn_collect_fork); + turnLeftBtn = findViewById(R.id.btn_turn_left); + turnRightBtn = findViewById(R.id.btn_turn_right); + + bodySwitchBtn = findViewById(R.id.btn_body_switch); + + layout_bottom = findViewById(R.id.layout_bottom); + layout_top = findViewById(R.id.layout_top); + layout_single = findViewById(R.id.layout_single); + layout_reset = findViewById(R.id.layout_reset); Intent intent = getIntent(); clientId = intent.getStringExtra("message"); Log.i("message1",clientId); - // 杩涘嚭鎵嬪姩妯″紡 - forceSwitchBtn.setOnClickListener(new View.OnClickListener() { + // 鍓嶆嫧鏉嗕几鍑� + frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (vibrator != null && vibrator.hasVibrator()) { vibrator.vibrate(500); } String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); - AgvAction agvAction = new AgvAction<>(HandOutAction.class) - .setAgvNo("12") + AgvAction agvAction = new AgvAction<>(FrontPaddle.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 1)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 鍓嶆嫧鏉嗘敹璧� + frontPaddleCollectBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(FrontPaddle.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 0)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 鍚庢嫧鏉嗕几鍑� + backPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(BackPaddle.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 1)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 鍚庢嫧鏉嗘敹璧� + backPaddleCollectBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(BackPaddle.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 0)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 涓婂崌 + riseBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + if (liftHeight >= 3200) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandLift.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) liftHeight)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + liftHeight += 100; + } else { + DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒"); + } + + } + }); + + // 涓嬮檷 + dropBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + + if (liftHeight >= 400) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandLift.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) liftHeight)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + liftHeight -= 100; + } else { + DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�灏忓�硷紒"); + } + } + }); + + // 浼稿嚭 + extendForkBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + if (liftHeight >= 3200) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + liftHeight += 100; + } else { + DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒"); + } + + } + }); + + // 鏀惰捣 + frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) + .setAgvNo(AgvNo) .setSerialNo(substring) .setVal(1) .bodySync((action) -> action.setPwd((short) 21)); nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� } }); + + // 宸︽棆 + frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 鍙虫棆 + frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + }); + + // 鎵嬭嚜鍔ㄦā寮忓紑鍏� + modelSwitchBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (vibrator != null && vibrator.hasVibrator()) { + vibrator.vibrate(500); + } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); + if (isAuto) { + AgvAction agvAction = new AgvAction<>(HandInAction.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(autoVal) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } else { + AgvAction agvAction = new AgvAction<>(HandOutAction.class) + .setAgvNo(AgvNo) + .setSerialNo(substring) + .setVal(autoVal) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + } + + boolean result = false; + long timestamp = System.currentTimeMillis(); + while (System.currentTimeMillis() - timestamp < 5000) { + + Object o = map.get(substring); + + if (null != o) { + result = true; + isAuto = !isAuto; + map.remove(o); + break; + } + } + + if (result) { + // alert ok 淇敼鎸夐挳鏍峰紡 鍚嶇О + if (isAuto) { + modelSwitchBtn.setText("鑷姩妯″紡"); + autoVal = 0; +// modelSwitchBtn.setBackgroundTintList(ColorStateList.valueOf(Color.RED)); + } else { + autoVal = 1; + modelSwitchBtn.setText("鎵嬪姩妯″紡"); + } + + } else { +// throw new TimeoutException("瓒呮椂"); + DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "璇锋眰搴旂瓟瓒呮椂锛�"); + } + } + }); + + // 鐐瑰姩鎸夐挳 stopBtn.setOnTouchListener(new CarTouchButton()); goForwardBtn.setOnTouchListener(new CarTouchButton()); goBackwardBtn.setOnTouchListener(new CarTouchButton()); + rotatopnLeftBtn.setOnTouchListener(new CarTouchButton()); + rotatopnRightBtn.setOnTouchListener(new CarTouchButton()); + +// frontPaddleExtendBtn.setOnTouchListener(new CarTouchButton()); +// frontPaddleCollectBtn.setOnTouchListener(new CarTouchButton()); +// backPaddleExtendBtn.setOnTouchListener(new CarTouchButton()); +// backPaddleCollectBtn.setOnTouchListener(new CarTouchButton()); +// riseBtn.setOnTouchListener(new CarTouchButton()); +// dropBtn.setOnTouchListener(new CarTouchButton()); +// extendForkBtn.setOnTouchListener(new CarTouchButton()); +// collectForkBtn.setOnTouchListener(new CarTouchButton()); +// turnLeftBtn.setOnTouchListener(new CarTouchButton()); +// turnRightBtn.setOnTouchListener(new CarTouchButton()); } @@ -148,25 +573,166 @@ @Override public boolean onTouch(View view, MotionEvent motionEvent) { + if (view.getId() == R.id.btn_go_forward) { + // 鍓嶈繘 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { - isDowm = true; + isGoForward = true; handler.sendEmptyMessage(0); } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { - isDowm = false; + isGoForward = false; } + } else if (view.getId() == R.id.btn_go_backward) { + // 鍚庨�� if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { - isOpen = true; + isGoBackward = true; handler.sendEmptyMessage(0); } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { - isOpen = false; + isGoBackward = false; + } + + } else if (view.getId() == R.id.btn_rotatopn_left) { + // 宸︽棆杞� + if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { + isRotatopnLeft = true; + handler.sendEmptyMessage(0); + } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { + isRotatopnLeft = false; + } + + } else if (view.getId() == R.id.btn_rotatopn_right) { + // 鍙虫棆杞� + if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { + isRotatopnRight = true; + handler.sendEmptyMessage(0); + } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { + isRotatopnRight = false; } } +// else if (view.getId() == R.id.btn_front_paddle_extend) { +// // 鍓嶆嫧鏉嗕几鍑� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isFrontPaddleExtendBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isFrontPaddleExtendBtn = false; +// } +// } else if (view.getId() == R.id.btn_front_paddle_collect) { +// // 鍓嶆嫧鏉嗘敹璧� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isFrontPaddleCollectBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isFrontPaddleCollectBtn = false; +// } +// } else if (view.getId() == R.id.btn_back_paddle_extend) { +// // 鍚庢嫧鏉嗕几鍑� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isBackPaddleExtendBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isBackPaddleExtendBtn = false; +// } +// } else if (view.getId() == R.id.btn_back_paddle_collect) { +// // 鍚庢嫧鏉嗘敹璧� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isBackPaddleCollectBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isBackPaddleCollectBtn = false; +// } +// } else if (view.getId() == R.id.btn_rise) { +// // 涓婂崌 +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isRiseBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isRiseBtn = false; +// } +// } else if (view.getId() == R.id.btn_drop) { +// // 涓嬮檷 +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isDropBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isDropBtn = false; +// } +// } else if (view.getId() == R.id.btn_extend_fork) { +// // 浼稿弶 +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isExtendForkBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isExtendForkBtn = false; +// } +// } else if (view.getId() == R.id.btn_collect_fork) { +// // 鏀跺弶 +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isCollectForkBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isCollectForkBtn = false; +// } +// } else if (view.getId() == R.id.btn_turn_left) { +// // 宸︽棆杞� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isTurnLeftBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isTurnLeftBtn = false; +// } +// } else if (view.getId() == R.id.btn_turn_right) { +// // 宸︽棆杞� +// if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { +// isTurnRightBtn = true; +// handler.sendEmptyMessage(0); +// } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { +// isTurnRightBtn = false; +// } +// } + return false; + } } + private boolean isVisble = true; + + // 璐у弶绛夋寜閽� + public void switchover(View view) { + if (isVisble) { + layout_bottom.setVisibility(View.GONE); + layout_top.setVisibility(View.VISIBLE); + bodySwitchBtn.setText("璐у弶"); + } else { + layout_bottom.setVisibility(View.VISIBLE); + layout_top.setVisibility(View.GONE); + bodySwitchBtn.setText("搴曠洏"); + } + isVisble = !isVisble; + + layout_single.setVisibility(View.GONE); + layout_reset.setVisibility(View.GONE); + + } + + // 鍗曡酱浣胯兘鎸夐挳 + public void switchSingle(View view) { + layout_bottom.setVisibility(View.GONE); + layout_top.setVisibility(View.GONE); + layout_single.setVisibility(View.VISIBLE); + layout_reset.setVisibility(View.GONE); + } + + // 澶嶄綅鎸夐挳 + public void switchRest(View view) { + layout_bottom.setVisibility(View.GONE); + layout_top.setVisibility(View.GONE); + layout_single.setVisibility(View.GONE); + layout_reset.setVisibility(View.VISIBLE); + } + @Override protected void onDestroy() { super.onDestroy(); -- Gitblit v1.9.1