summaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/drawable/badge_transcript.xml6
-rw-r--r--app/src/main/res/drawable/bg_record_active.xml21
-rw-r--r--app/src/main/res/drawable/bg_record_idle.xml20
-rw-r--r--app/src/main/res/drawable/ic_launcher_background.xml25
-rw-r--r--app/src/main/res/drawable/ic_launcher_foreground.xml102
-rw-r--r--app/src/main/res/drawable/ic_rec_dot.xml10
-rw-r--r--app/src/main/res/layout/activity_main.xml116
-rw-r--r--app/src/main/res/layout/activity_player.xml144
-rw-r--r--app/src/main/res/layout/activity_recordings.xml53
-rw-r--r--app/src/main/res/layout/item_recording.xml47
-rw-r--r--app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml5
-rw-r--r--app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml5
-rw-r--r--app/src/main/res/values/colors.xml10
-rw-r--r--app/src/main/res/values/strings.xml54
-rw-r--r--app/src/main/res/values/themes.xml13
15 files changed, 631 insertions, 0 deletions
diff --git a/app/src/main/res/drawable/badge_transcript.xml b/app/src/main/res/drawable/badge_transcript.xml
new file mode 100644
index 0000000..06848bf
--- /dev/null
+++ b/app/src/main/res/drawable/badge_transcript.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <corners android:radius="10dp" />
+ <solid android:color="@color/accent" />
+</shape>
diff --git a/app/src/main/res/drawable/bg_record_active.xml b/app/src/main/res/drawable/bg_record_active.xml
new file mode 100644
index 0000000..e218a37
--- /dev/null
+++ b/app/src/main/res/drawable/bg_record_active.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="oval">
+ <solid android:color="#1FE53935" />
+ <stroke
+ android:width="3dp"
+ android:color="@color/accent" />
+ </shape>
+ </item>
+ <item
+ android:bottom="62dp"
+ android:left="62dp"
+ android:right="62dp"
+ android:top="62dp">
+ <shape android:shape="rectangle">
+ <corners android:radius="14dp" />
+ <solid android:color="@color/accent" />
+ </shape>
+ </item>
+</layer-list>
diff --git a/app/src/main/res/drawable/bg_record_idle.xml b/app/src/main/res/drawable/bg_record_idle.xml
new file mode 100644
index 0000000..c9f776a
--- /dev/null
+++ b/app/src/main/res/drawable/bg_record_idle.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="oval">
+ <solid android:color="#14FFFFFF" />
+ <stroke
+ android:width="3dp"
+ android:color="#40FFFFFF" />
+ </shape>
+ </item>
+ <item
+ android:bottom="56dp"
+ android:left="56dp"
+ android:right="56dp"
+ android:top="56dp">
+ <shape android:shape="oval">
+ <solid android:color="@color/accent" />
+ </shape>
+ </item>
+</layer-list>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..0c2447b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="108"
+ android:viewportHeight="108">
+ <path android:pathData="M0,0 h108 v108 h-108 z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:type="linear"
+ android:startX="0"
+ android:startY="0"
+ android:endX="108"
+ android:endY="108">
+ <item
+ android:offset="0"
+ android:color="#FF2B3A4C" />
+ <item
+ android:offset="1"
+ android:color="#FF0E1116" />
+ </gradient>
+ </aapt:attr>
+ </path>
+</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000..61b5198
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="108"
+ android:viewportHeight="108">
+
+ <!-- Ears -->
+ <path
+ android:fillColor="#7C8794"
+ android:pathData="M34,33 m-11,0 a11,11 0 1,0 22,0 a11,11 0 1,0 -22,0" />
+ <path
+ android:fillColor="#7C8794"
+ android:pathData="M74,33 m-11,0 a11,11 0 1,0 22,0 a11,11 0 1,0 -22,0" />
+ <path
+ android:fillColor="#3A414B"
+ android:pathData="M34,33 m-5.5,0 a5.5,5.5 0 1,0 11,0 a5.5,5.5 0 1,0 -11,0" />
+ <path
+ android:fillColor="#3A414B"
+ android:pathData="M74,33 m-5.5,0 a5.5,5.5 0 1,0 11,0 a5.5,5.5 0 1,0 -11,0" />
+
+ <!-- Head -->
+ <path
+ android:fillColor="#9AA3AD"
+ android:strokeColor="#6B7280"
+ android:strokeWidth="1.5"
+ android:pathData="M54,50 m-28,0 a28,26 0 1,0 56,0 a28,26 0 1,0 -56,0" />
+
+ <!-- Eye mask -->
+ <path
+ android:fillColor="#333A45"
+ android:pathData="M41,46 m-15,0 a15,10.5 0 1,0 30,0 a15,10.5 0 1,0 -30,0" />
+ <path
+ android:fillColor="#333A45"
+ android:pathData="M67,46 m-15,0 a15,10.5 0 1,0 30,0 a15,10.5 0 1,0 -30,0" />
+ <path
+ android:fillColor="#333A45"
+ android:pathData="M41,40 h26 v12 h-26 z" />
+
+ <!-- Eyes -->
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M41,46 m-6.5,0 a6.5,7 0 1,0 13,0 a6.5,7 0 1,0 -13,0" />
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M67,46 m-6.5,0 a6.5,7 0 1,0 13,0 a6.5,7 0 1,0 -13,0" />
+ <path
+ android:fillColor="#1B1F27"
+ android:pathData="M41,47 m-3.2,0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0" />
+ <path
+ android:fillColor="#1B1F27"
+ android:pathData="M67,47 m-3.2,0 a3.2,3.2 0 1,0 6.4,0 a3.2,3.2 0 1,0 -6.4,0" />
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M42.4,45.2 m-1.1,0 a1.1,1.1 0 1,0 2.2,0 a1.1,1.1 0 1,0 -2.2,0" />
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M68.4,45.2 m-1.1,0 a1.1,1.1 0 1,0 2.2,0 a1.1,1.1 0 1,0 -2.2,0" />
+
+ <!-- Muzzle -->
+ <path
+ android:fillColor="#E9EDF1"
+ android:pathData="M54,64 m-14,0 a14,10.5 0 1,0 28,0 a14,10.5 0 1,0 -28,0" />
+ <path
+ android:fillColor="#1B1F27"
+ android:pathData="M54,59 m-5,0 a5,3.8 0 1,0 10,0 a5,3.8 0 1,0 -10,0" />
+ <path
+ android:fillColor="#00000000"
+ android:strokeColor="#1B1F27"
+ android:strokeLineCap="round"
+ android:strokeWidth="1.6"
+ android:pathData="M54,62.5 q0,3.5 -4.5,3.5 M54,62.5 q0,3.5 4.5,3.5" />
+
+ <!-- Microphone badge -->
+ <path
+ android:fillColor="#0E1116"
+ android:pathData="M68,68 m-13,0 a13,13 0 1,0 26,0 a13,13 0 1,0 -26,0" />
+ <path
+ android:fillColor="#E53935"
+ android:pathData="M68,68 m-11.5,0 a11.5,11.5 0 1,0 23,0 a11.5,11.5 0 1,0 -23,0" />
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M68,60 a3.5,3.5 0 0 1 3.5,3.5 v5 a3.5,3.5 0 0 1 -7,0 v-5 a3.5,3.5 0 0 1 3.5,-3.5 z" />
+ <path
+ android:fillColor="#00000000"
+ android:strokeColor="#FFFFFF"
+ android:strokeLineCap="round"
+ android:strokeWidth="1.8"
+ android:pathData="M62.5,66 v2.5 a5.5,5.5 0 0 0 11,0 v-2.5" />
+ <path
+ android:fillColor="#00000000"
+ android:strokeColor="#FFFFFF"
+ android:strokeLineCap="round"
+ android:strokeWidth="1.8"
+ android:pathData="M68,73.5 v1.5" />
+ <path
+ android:fillColor="#00000000"
+ android:strokeColor="#FFFFFF"
+ android:strokeLineCap="round"
+ android:strokeWidth="1.8"
+ android:pathData="M65.5,75 h5" />
+</vector>
diff --git a/app/src/main/res/drawable/ic_rec_dot.xml b/app/src/main/res/drawable/ic_rec_dot.xml
new file mode 100644
index 0000000..dd16b26
--- /dev/null
+++ b/app/src/main/res/drawable/ic_rec_dot.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="14dp"
+ android:height="14dp"
+ android:viewportWidth="14"
+ android:viewportHeight="14">
+ <path
+ android:fillColor="@color/accent"
+ android:pathData="M7,7 m-7,0 a7,7 0 1,0 14,0 a7,7 0 1,0 -14,0" />
+</vector>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..a281759
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/background"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp">
+
+ <TextView
+ android:id="@+id/titleText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="28dp"
+ android:letterSpacing="0.04"
+ android:text="@string/app_name"
+ android:textColor="@color/text_primary"
+ android:textSize="34sp"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/libraryButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="18dp"
+ android:layout_marginEnd="4dp"
+ android:background="?android:attr/selectableItemBackground"
+ android:padding="8dp"
+ android:text="@string/library"
+ android:textColor="@color/text_secondary"
+ android:textSize="14sp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/subtitleText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:text="@string/subtitle"
+ android:textColor="@color/text_secondary"
+ android:textSize="13sp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/titleText" />
+
+ <ImageView
+ android:id="@+id/recIndicator"
+ android:layout_width="14dp"
+ android:layout_height="14dp"
+ android:layout_marginBottom="10dp"
+ android:contentDescription="@null"
+ android:src="@drawable/ic_rec_dot"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@id/timerText"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <TextView
+ android:id="@+id/timerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="20dp"
+ android:fontFamily="monospace"
+ android:text="@string/timer_zero"
+ android:textColor="@color/text_primary"
+ android:textSize="56sp"
+ android:textStyle="bold"
+ app:layout_constraintBottom_toTopOf="@id/recordButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <ImageButton
+ android:id="@+id/recordButton"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:background="@drawable/bg_record_idle"
+ android:contentDescription="@string/cd_record"
+ android:scaleType="centerInside"
+ android:src="@android:color/transparent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/statusText"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="28dp"
+ android:gravity="center"
+ android:text="@string/status_idle"
+ android:textColor="@color/text_secondary"
+ android:textSize="15sp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/recordButton" />
+
+ <TextView
+ android:id="@+id/footerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="12dp"
+ android:alpha="0.6"
+ android:text="@string/footer"
+ android:textColor="@color/text_secondary"
+ android:textSize="12sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_player.xml b/app/src/main/res/layout/activity_player.xml
new file mode 100644
index 0000000..479efa9
--- /dev/null
+++ b/app/src/main/res/layout/activity_player.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/background"
+ android:fillViewport="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingLeft="20dp"
+ android:paddingTop="20dp"
+ android:paddingRight="20dp"
+ android:paddingBottom="28dp">
+
+ <TextView
+ android:id="@+id/titleText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@color/text_primary"
+ android:textSize="20sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/timeText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:fontFamily="monospace"
+ android:textColor="@color/text_secondary"
+ android:textSize="14sp" />
+
+ <SeekBar
+ android:id="@+id/seekBar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="6dp" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="6dp"
+ android:gravity="center"
+ android:orientation="horizontal">
+
+ <Button
+ android:id="@+id/rewindButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/player_rewind" />
+
+ <Button
+ android:id="@+id/playButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:minWidth="72dp"
+ android:text="@string/player_play"
+ android:textSize="18sp" />
+
+ <Button
+ android:id="@+id/forwardButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/player_forward" />
+
+ <Button
+ android:id="@+id/speedButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:text="@string/player_speed_1x" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="18dp"
+ android:layout_marginBottom="16dp"
+ android:background="@color/divider" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/transcribe_title"
+ android:textColor="@color/text_primary"
+ android:textSize="18sp"
+ android:textStyle="bold" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:orientation="horizontal">
+
+ <Spinner
+ android:id="@+id/languageSpinner"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
+
+ <Spinner
+ android:id="@+id/modelSpinner"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="10dp"
+ android:layout_weight="1" />
+ </LinearLayout>
+
+ <Button
+ android:id="@+id/transcribeButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:text="@string/transcribe_action" />
+
+ <ProgressBar
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleHorizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:max="1000"
+ android:visibility="gone" />
+
+ <TextView
+ android:id="@+id/statusText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="6dp"
+ android:textColor="@color/text_secondary"
+ android:textSize="13sp" />
+
+ <LinearLayout
+ android:id="@+id/transcriptContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:orientation="vertical" />
+
+ </LinearLayout>
+</ScrollView>
diff --git a/app/src/main/res/layout/activity_recordings.xml b/app/src/main/res/layout/activity_recordings.xml
new file mode 100644
index 0000000..c0ad20a
--- /dev/null
+++ b/app/src/main/res/layout/activity_recordings.xml
@@ -0,0 +1,53 @@
+<?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/background"
+ android:orientation="vertical"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
+ android:text="@string/recordings_title"
+ android:textColor="@color/text_primary"
+ android:textSize="26sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:text="@string/recordings_subtitle"
+ android:textColor="@color/text_secondary"
+ android:textSize="13sp" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_marginTop="12dp"
+ android:layout_weight="1">
+
+ <ListView
+ android:id="@+id/recordingsList"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:divider="@color/divider"
+ android:dividerHeight="1dp"
+ android:scrollbars="none" />
+
+ <TextView
+ android:id="@+id/emptyText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:text="@string/recordings_empty"
+ android:textColor="@color/text_secondary"
+ android:textSize="15sp"
+ android:visibility="gone" />
+ </FrameLayout>
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/item_recording.xml b/app/src/main/res/layout/item_recording.xml
new file mode 100644
index 0000000..0065268
--- /dev/null
+++ b/app/src/main/res/layout/item_recording.xml
@@ -0,0 +1,47 @@
+<?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="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingTop="14dp"
+ android:paddingBottom="14dp">
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/nameText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@color/text_primary"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/metaText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:textColor="@color/text_secondary"
+ android:textSize="13sp" />
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/transcriptBadge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="12dp"
+ android:background="@drawable/badge_transcript"
+ android:paddingLeft="8dp"
+ android:paddingTop="3dp"
+ android:paddingRight="8dp"
+ android:paddingBottom="3dp"
+ android:text="@string/badge_transcript"
+ android:textColor="@color/badge_text"
+ android:textSize="11sp"
+ android:visibility="gone" />
+
+</LinearLayout>
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..6b78462
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -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="@drawable/ic_launcher_background" />
+ <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..6b78462
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -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="@drawable/ic_launcher_background" />
+ <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..2eb3eeb
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="background">#0E1116</color>
+ <color name="text_primary">#F5F7FA</color>
+ <color name="text_secondary">#93A0B0</color>
+ <color name="accent">#E53935</color>
+ <color name="divider">#22FFFFFF</color>
+ <color name="badge_text">#FFFFFF</color>
+ <color name="ic_launcher_background">#1B2430</color>
+</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..3776f4c
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">RECCoon</string>
+ <string name="subtitle">by wuhei · v1.1.0-alpha</string>
+ <string name="timer_zero">00:00</string>
+ <string name="footer">44.1 kHz · 16-bit · mono PCM (WAV)</string>
+
+ <string name="status_idle">Tap the button to start recording</string>
+ <string name="status_recording">Recording… tap again to stop and save</string>
+ <string name="status_saving">Saving to Downloads…</string>
+
+ <string name="cd_record">Start recording</string>
+ <string name="cd_stop">Stop and save</string>
+
+ <string name="err_permission">Microphone permission is required to record</string>
+ <string name="err_record">Could not start recording</string>
+ <string name="err_save">Could not save the file</string>
+ <string name="saved_fmt">Saved %1$s</string>
+
+ <string name="library">Recordings</string>
+ <string name="recordings_title">Recordings</string>
+ <string name="recordings_subtitle">Saved in Downloads · reccoon-*.wav</string>
+ <string name="recordings_empty">No recordings yet.\nTap the record button to make one.</string>
+ <string name="badge_transcript">TXT</string>
+
+ <string name="player_play">▶</string>
+ <string name="player_pause">❚❚</string>
+ <string name="player_rewind">-10s</string>
+ <string name="player_forward">+10s</string>
+ <string name="player_speed_1x">1.0×</string>
+
+ <string name="transcribe_title">Transcription (on-device)</string>
+ <string name="transcribe_action">Transcribe</string>
+ <string name="transcribe_hint">Choose a language and model, then tap Transcribe.</string>
+ <string name="lang_auto">Auto detect</string>
+ <string name="lang_en">English</string>
+ <string name="lang_it">Italiano</string>
+ <string name="model_tiny">Tiny (fast)</string>
+ <string name="model_base">Base (better)</string>
+
+ <string name="model_download_title">Download model</string>
+ <string name="model_download_message">The %1$s multilingual Whisper model is required (about %2$s). Download it now over Wi-Fi?</string>
+ <string name="download">Download</string>
+ <string name="cancel">Cancel</string>
+ <string name="status_model_ready">Model ready</string>
+ <string name="status_transcribing">Transcribing…</string>
+ <string name="status_no_speech">No speech was recognized</string>
+ <string name="status_transcript_saved">Transcript saved</string>
+ <string name="err_download">Download failed: %1$s</string>
+ <string name="err_transcribe">Transcription failed: %1$s</string>
+ <string name="err_playback">Could not play this file</string>
+ <string name="status_downloading">Downloading %1$s… %2$d%%</string>
+ <string name="status_preparing">Preparing model…</string>
+</resources>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..1cc7d6d
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <style name="Theme.Reccoon" parent="Theme.AppCompat.NoActionBar">
+ <item name="android:windowBackground">@color/background</item>
+ <item name="android:statusBarColor">@color/background</item>
+ <item name="android:navigationBarColor">@color/background</item>
+ <item name="android:windowLightStatusBar">false</item>
+ <item name="android:windowLightNavigationBar">false</item>
+ <item name="colorPrimary">@color/accent</item>
+ <item name="colorPrimaryDark">@color/background</item>
+ <item name="colorAccent">@color/accent</item>
+ </style>
+</resources>