USB auto-read: - ESP responds to 'KEY?\n' over USB serial with 'HMAC_KEY:<hex>' - Android UsbKeyReceiver (manifest BroadcastReceiver) catches USB_DEVICE_ATTACHED - Filters on Espressif vendor 0x303a, requests USB permission - Opens CDC-ACM serial (115200), sends KEY?, parses response, saves to SharedPreferences - Works even when app not in foreground - usb-serial-for-android v3.7.3 via JitPack UI redesign: - activity_main.xml: FrameLayout with settings icon top-right, relay button center, status bottom-left (14sp) - Scan & Connect button moved to SettingsActivity - SettingsActivity: hint text 'Voer de HMAC sleutel in of sluit de relaismodule aan op de telefoon' - SettingsActivity: scan button saves key + returns RESULT_OK to trigger scanning - MainActivity: removed scanButton, auto-scan on onResume when key is set - Back button removed from settings (ActionBar up navigation only) README updated with USB protocol docs, new UI description, and updated setup guide
33 lines
No EOL
1.1 KiB
XML
33 lines
No EOL
1.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:padding="16dp">
|
|
|
|
<ImageButton
|
|
android:id="@+id/settingsButton"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:layout_gravity="end|top"
|
|
android:src="@drawable/ic_settings"
|
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="Instellingen" />
|
|
|
|
<Button
|
|
android:id="@+id/relayButton"
|
|
android:layout_width="200dp"
|
|
android:layout_height="200dp"
|
|
android:layout_gravity="center"
|
|
android:text="HOLD"
|
|
android:textSize="24sp"
|
|
android:enabled="false" />
|
|
|
|
<TextView
|
|
android:id="@+id/statusText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_gravity="bottom|start"
|
|
android:text="Disconnected"
|
|
android:textSize="14sp" />
|
|
|
|
</FrameLayout> |