initial commit
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/bg_card"/>
|
||||
<corners android:radius="12dp"/>
|
||||
</shape>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/bg_dark">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="페어링된 장치 선택"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:padding="24dp"
|
||||
android:background="@color/bg_card"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="HC-05 장치를 선택하세요"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="16sp"
|
||||
android:padding="16dp"/>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/lv_devices"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:divider="@color/divider"
|
||||
android:dividerHeight="1dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/bg_dark"
|
||||
android:padding="24dp">
|
||||
|
||||
<!-- ─── BLUETOOTH STATUS ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/card_bg"
|
||||
android:padding="20dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="📡 블루투스 상태"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp"
|
||||
android:textAllCaps="true"
|
||||
android:letterSpacing="0.1"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="⚫ Not Connected"
|
||||
android:textColor="@color/status_disconnected"
|
||||
android:textSize="26sp"
|
||||
android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── VOICE RESULT ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/card_bg"
|
||||
android:padding="20dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="🎙 인식된 명령"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp"
|
||||
android:textAllCaps="true"
|
||||
android:letterSpacing="0.1"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_voice_result"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="—"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="40sp"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── SENT COMMAND ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/card_bg"
|
||||
android:padding="20dp"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="📤 전송된 명령"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp"
|
||||
android:textAllCaps="true"
|
||||
android:letterSpacing="0.1"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sent_command"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="—"
|
||||
android:textColor="@color/accent_green"
|
||||
android:textSize="60sp"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── CONNECT BUTTON ─── -->
|
||||
<Button
|
||||
android:id="@+id/btn_connect"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:text="블루투스 연결"
|
||||
android:textSize="22sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:backgroundTint="@color/btn_connect"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:stateListAnimator="@null"/>
|
||||
|
||||
<!-- ─── VOICE COMMAND BUTTON ─── -->
|
||||
<Button
|
||||
android:id="@+id/btn_voice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="96dp"
|
||||
android:text="🎤 음성 명령"
|
||||
android:textSize="28sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:backgroundTint="@color/btn_voice"
|
||||
android:enabled="false"
|
||||
android:alpha="0.4"
|
||||
android:stateListAnimator="@null"/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/bg_card"/>
|
||||
<corners android:radius="12dp"/>
|
||||
</shape>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M31,63.92V20.33h19.51v43.59h-19.51z M51.44,63.92V20.33h19.51v43.59h-19.51z" />
|
||||
</vector>
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/bg_dark">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Select Paired Device"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:padding="24dp"
|
||||
android:background="@color/bg_card"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Please select your HC-05 device"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="16sp"
|
||||
android:padding="16dp"/>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/lv_devices"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:divider="@color/divider"
|
||||
android:dividerHeight="1dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg_dark"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
|
||||
<!-- ─── BLUETOOTH STATUS ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/card_bg"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="📡 Bluetooth Status"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="⚫ Not Connected"
|
||||
android:textColor="@color/status_disconnected"
|
||||
android:textSize="26sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── VOICE RESULT ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_weight="1.5"
|
||||
android:background="@drawable/card_bg"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="🎙 Recognized commands"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_voice_result"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="left"
|
||||
android:text="—"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="normal" />
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── SENT COMMAND ─── -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/card_bg"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="📤 Commands sent"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/text_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sent_command"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="—"
|
||||
android:textColor="@color/accent_green"
|
||||
android:textSize="60sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- ─── CONNECT BUTTON ─── -->
|
||||
<Button
|
||||
android:id="@+id/btn_connect"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:backgroundTint="@color/btn_connect"
|
||||
android:stateListAnimator="@null"
|
||||
android:text="Bluetooth connect"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="22sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<!-- ─── VOICE COMMAND BUTTON ─── -->
|
||||
<Button
|
||||
android:id="@+id/btn_voice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="96dp"
|
||||
android:alpha="0.4"
|
||||
android:backgroundTint="@color/btn_voice"
|
||||
android:enabled="false"
|
||||
android:stateListAnimator="@null"
|
||||
android:text="🎤 Voice commands"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="28sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="accent_green">#00E676</color>
|
||||
<color name="bg_card">#1A1A2E</color>
|
||||
<color name="bg_dark">#0D0D0D</color>
|
||||
<color name="btn_connect">#1565C0</color>
|
||||
<color name="btn_disconnect">#B71C1C</color>
|
||||
<color name="btn_voice">#6A1B9A</color>
|
||||
<color name="divider">#333333</color>
|
||||
<color name="ic_launcher_background">#0D0D0D</color>
|
||||
<color name="status_connected">#00E676</color>
|
||||
<color name="status_connecting">#FFD600</color>
|
||||
<color name="status_disconnected">#FF5252</color>
|
||||
<color name="text_label">#888888</color>
|
||||
<color name="text_primary">#FFFFFF</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<string name="app_name">Stage Control</string>
|
||||
<style name="Theme.StageControl" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<item name="colorPrimary">@color/btn_connect</item>
|
||||
<item name="colorPrimaryVariant">@color/bg_card</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
<item name="android:windowBackground">@color/bg_dark</item>
|
||||
<item name="android:statusBarColor">@color/bg_card</item>
|
||||
<item name="android:navigationBarColor">@color/bg_dark</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="accent_green">#00E676</color>
|
||||
<color name="bg_card">#1A1A2E</color>
|
||||
<color name="bg_dark">#0D0D0D</color>
|
||||
<color name="btn_connect">#1565C0</color>
|
||||
<color name="btn_disconnect">#B71C1C</color>
|
||||
<color name="btn_voice">#6A1B9A</color>
|
||||
<color name="divider">#333333</color>
|
||||
<color name="status_connected">#00E676</color>
|
||||
<color name="status_connecting">#FFD600</color>
|
||||
<color name="status_disconnected">#FF5252</color>
|
||||
<color name="text_label">#888888</color>
|
||||
<color name="text_primary">#FFFFFF</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<string name="app_name">Stage Control</string>
|
||||
<style name="Theme.StageControl" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<item name="colorPrimary">@color/btn_connect</item>
|
||||
<item name="colorPrimaryVariant">@color/bg_card</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
<item name="android:windowBackground">@color/bg_dark</item>
|
||||
<item name="android:statusBarColor">@color/bg_card</item>
|
||||
<item name="android:navigationBarColor">@color/bg_dark</item>
|
||||
</style>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user