From eb0cfac6e7fbab4ace0ac63d419036a700f7e905 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 15 八月 2024 14:19:22 +0800
Subject: [PATCH] #

---
 app/src/main/java/com/example/agvcontroller/MainActivity.java |  121 +++++++++++++++++++++++++++++-----------
 1 files changed, 87 insertions(+), 34 deletions(-)

diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index 7d9de0f..9eba106 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -4,21 +4,27 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.os.Vibrator;
 import android.util.Log;
+import android.view.KeyEvent;
+import android.view.MotionEvent;
 import android.view.View;
 import android.widget.Button;
 
+import com.example.agvcontroller.protocol.AgvAction;
+import com.example.agvcontroller.protocol.ForceSwitchAction;
+import com.example.agvcontroller.protocol2.PackagePart;
+import com.example.agvcontroller.socket.NettyServerHandler;
 import com.example.agvcontroller.socket.SocketManager;
-import com.example.agvcontroller.socket.SocketTask;
+import com.example.agvcontroller.utils.SnowflakeIdWorker;
 
 import java.net.Socket;
 import java.util.List;
 
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.Unpooled;
-import io.netty.util.CharsetUtil;
 
 public class MainActivity extends AppCompatActivity {
 
@@ -26,60 +32,107 @@
     private ItemAdapter itemAdapter;
     private List<Item> itemList;
     private Vibrator vibrator;
-    private Button vibrateButton;
+    private Button stopBtn;  // 鎬ュ仠鎸夐挳
+    private Button forceSwitchBtn;  // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏�
+    private Button rotatopnRightBtn; // 鍙虫棆杞�
+    private Button rotatopnLeftBtn;  // 宸︽棆杞�
+    private Button goForwardBtn;  // 鍓嶈繘
+    private Button goBackwardBtn;  // 鍚庨��
     private Socket socket;
+
     SocketManager socketManager;
+
+    private boolean isDowm = false;
+    private boolean isOpen = false;
+
+
+
+    private Handler handler = new Handler(new Handler.Callback() {
+        @Override
+        public boolean handleMessage(Message msg) {
+            String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15);
+
+            AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
+                    .setAgvNo("1")
+                    .setSerialNo(substring)
+                    .setVal(1)
+                    .bodySync((action) -> action.setPwd((short) 21));
+
+
+            if (isDowm) {
+                System.out.println(agvAction);
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+//                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            return false;
+        }
+    });
+
+    String clientId;
+    NettyServerHandler nettyServerHandler;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
-        // 浣滀负瀹㈡埛绔繛鎺�
-        //SocketManager.getInstance().setHostAndPort("192.168.4.188", 802);
-        //SocketManager.getInstance().connect();
-
-        //SocketManager.getInstance().setPort(8080);
-        //SocketManager.getInstance().startServer();
-
-        // 璁剧疆绔彛鍙峰苟鍚姩鏈嶅姟绔�
-        //SocketManager.getInstance().setPort(8080);
-        socketManager = new SocketManager();
-        socketManager.startServer(8080);
-
-        // 鍚姩鏈嶅姟绔�
-        //new Thread(() -> {
-        //    SocketManager.getInstance().startServer();
-        //}).start();
-
+        // 鎸夐挳闇囧姩
         vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
-        vibrateButton = findViewById(R.id.btn_stop);
+        stopBtn = findViewById(R.id.btn_stop);
+        forceSwitchBtn = findViewById(R.id.btn_force_switch);
+        goForwardBtn = findViewById(R.id.btn_go_forward);
+        goBackwardBtn = findViewById(R.id.btn_go_backward);
 
-        vibrateButton.setOnClickListener(new View.OnClickListener() {
+        Intent intent = getIntent();
+        clientId = intent.getStringExtra("message");
+        Log.i("message1",clientId);
+
+        forceSwitchBtn.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,15);
 
-                //socket = new Socket();
-                //new SocketTask().execute("192.168.4.188", 802);
-                //ByteBuf message = Unpooled.copiedBuffer("Hello, Netty!", CharsetUtil.UTF_8);
-                //SocketManager.getInstance().sendMessage(message);
-
-                String clientId = "/192.168.4.188:63160";
-                byte[] message = new byte[]{0x01, 0x02, 0x03, 0x04}; // 绀轰緥娑堟伅
-                socketManager.sendMessage(clientId, message); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
+                        .setAgvNo("12")
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 21));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
             }
         });
+        stopBtn.setOnTouchListener(new CarTouchButton());
+        goForwardBtn.setOnTouchListener(new CarTouchButton());
+        goBackwardBtn.setOnTouchListener(new CarTouchButton());
 
+    }
+
+    private class CarTouchButton implements View.OnTouchListener {
+
+        @Override
+        public boolean onTouch(View view, MotionEvent motionEvent) {
+            if (view.getId() == R.id.btn_go_forward) {
+                Log.i("message1","1111");
+            } else if (view.getId() == R.id.btn_go_backward) {
+                Log.i("message1","22222");
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isDowm = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isDowm = false;
+                }
+            }
+            return false;
+        }
     }
 
     @Override
     protected void onDestroy() {
         super.onDestroy();
         //SocketManager.getInstance().disconnect();
-
         //SocketManager.getInstance().stopServer();
-        socketManager.stopServer(); // 鍋滄鏈嶅姟鍣�
+        //socketManager.stopServer(); // 鍋滄鏈嶅姟鍣�
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1