Đây là danh sách các tính năng đã có sẵn trong Android Agent (Java) nhưng chưa được tích hợp vào giao diện frontend. Backend Rust (Tauri commands) đã có sẵn cho hầu hết các tính năng này.
| Feature | Agent Command | Frontend Component |
|---|---|---|
| Danh sách ứng dụng với icon | GET_APPS |
AppManager.tsx |
| Lọc app hệ thống | include_system param |
AppManager.tsx |
| Duyệt file nhanh | LIST_FILES |
FileManager.tsx |
Mô tả: Theo dõi CPU, RAM, Pin theo thời gian thực.
Agent Service: PerformanceService.java
getCpuUsage()- % CPU đang sử dụnggetMemoryInfo()- RAM total/used/free (KB)getBatteryInfo()- Mức pin (%), nhiệt độ (°C), trạng thái sạc
Backend Command: get_performance_stats (đã có trong agent.rs)
Gợi ý UI:
- Widget hiển thị CPU/RAM/Pin trên Device Card
- Hoặc tab riêng "Performance" với biểu đồ realtime
- Cập nhật mỗi 2-5 giây
Mô tả: Đồng bộ clipboard giữa PC và điện thoại.
Agent Service: ClipboardService.java
getClipboardText()- Lấy nội dung clipboard điện thoạisetClipboardText(text)- Gửi text từ PC vào clipboard điện thoại
Backend Commands:
get_clipboard(đã có trongagent.rs)set_clipboard(đã có trongagent.rs)
Gợi ý UI:
- Nút "Sync Clipboard" trong Panel hoặc QuickActions
- Popup hiển thị nội dung clipboard với nút Copy/Paste
- Tự động sync khi focus vào app (tùy chọn)
Mô tả: Tìm kiếm file siêu nhanh bằng index tạo sẵn trên device.
Agent Service: IndexingService.java
buildIndex(path)- Xây dựng index cho thư mục (async)search(query)- Tìm kiếm tức thì trong indexisIndexing()- Kiểm tra đang indexing hay không
Backend Commands:
build_index(đã có trongagent.rs)search_files_fast(đã có trongagent.rs)
Gợi ý UI:
- Thanh tìm kiếm trong
FileManager.tsx - Nút "Build Index" với loading indicator
- Hiển thị kết quả tìm kiếm với đường dẫn đầy đủ
- Badge "Indexing..." khi đang build
Mô tả: Mô phỏng chạm màn hình từ xa (cho mirroring/control).
Agent Service: InputService.java
injectTap(x, y)- Mô phỏng tap tại tọa độ (x, y)
Backend Command: inject_tap_fast (đã có trong agent.rs)
Gợi ý UI:
- Tích hợp vào Screen Mirroring (khi bật control mode)
- Click vào preview → gửi tap đến device
- Có thể mở rộng thêm swipe, long-press sau này
Mô tả: Kiểm tra phiên bản Agent đang chạy trên device.
Agent Command: GET_VERSION → trả về { "version": "1.1.0" }
Backend: Chưa có command riêng, có thể dùng test_agent_connection
Gợi ý UI:
- Hiển thị trong Device Card: "Agent v1.1.0 ✓"
- Cảnh báo nếu version cũ hơn yêu cầu
Mô tả: Mở rộng input injection cho các thao tác khác.
Cần thêm vào InputService.java:
public boolean injectSwipe(int x1, int y1, int x2, int y2, int duration);
public boolean injectLongPress(int x, int y, int duration);
public boolean injectText(String text);Mô tả: Chụp màn hình thông qua SurfaceControl (như scrcpy).
Cần tạo mới: ScreenshotService.java
- Sử dụng hidden API
SurfaceControl.screenshot() - Trả về Base64 PNG/JPEG
Mô tả: Theo dõi FPS của app đang foreground.
Cần thêm vào PerformanceService.java:
- Đọc từ
/sys/class/graphics/fb0/ - Hoặc sử dụng
dumpsys SurfaceFlinger --latency
Mô tả: Xem danh sách process và kill app.
Cần tạo mới: Mở rộng AppService.java
public JSONArray getRunningProcesses();
public boolean forceStopApp(String packageName);- Performance Monitoring - UI đơn giản, giá trị cao
- Clipboard Sync - Tính năng hay dùng
- File Search - File Manager đã có sẵn
- Input Injection Tap - Cần cho Screen Control
- Version Check - Đơn giản, nên làm sớm
Android Agent (Java):
android-agent/src/com/h1dr0n/adbcompass/SocketServer.java- Main handlerandroid-agent/src/com/h1dr0n/adbcompass/services/*.java- Các service
Rust Backend:
src-tauri/src/adb/agent_manager.rs- Agent communicationsrc-tauri/src/commands/agent.rs- Tauri commands
Frontend (React):
src/components/device/AppManager.tsx- App listsrc/components/device/FileManager.tsx- File browsersrc/components/device/Performance.tsx- (Cần tạo mới)src/components/device/ClipboardSync.tsx- (Cần tạo mới)