|
|
@@ -186,13 +186,13 @@
|
|
|
app:layout_constraintWidth_percent="0.1" />
|
|
|
|
|
|
<View
|
|
|
- android:onClick="@{()-> cloneVoiceViewModel.onRecordClick()}"
|
|
|
android:id="@+id/v_clone_record"
|
|
|
android:layout_width="match_parent"
|
|
|
android:layout_height="0dp"
|
|
|
android:layout_marginHorizontal="@dimen/clone_voice_padding"
|
|
|
android:layout_marginTop="8dp"
|
|
|
android:background="@drawable/bg_clone_card"
|
|
|
+ android:onClick="@{()-> cloneVoiceViewModel.onRecordClick()}"
|
|
|
app:layout_constraintDimensionRatio="312:80"
|
|
|
app:layout_constraintTop_toBottomOf="@+id/v_clone_upload" />
|
|
|
|
|
|
@@ -418,11 +418,12 @@
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
|
- tools:visibility="gone"
|
|
|
isGone="@{cloneVoiceViewModel.cloneState != CloneState.CLONE_SUCCESS}"
|
|
|
android:layout_width="match_parent"
|
|
|
android:layout_height="wrap_content"
|
|
|
- app:layout_constraintTop_toBottomOf="@+id/space4">
|
|
|
+ android:paddingBottom="@dimen/clone_voice_padding"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/space4"
|
|
|
+ tools:visibility="gone">
|
|
|
|
|
|
<View
|
|
|
android:id="@+id/v_clone_success_preview"
|
|
|
@@ -475,12 +476,12 @@
|
|
|
app:layout_constraintTop_toBottomOf="@+id/tv_clone_success_title" />
|
|
|
|
|
|
<TextView
|
|
|
- android:onClick="@{()->cloneVoiceViewModel.useCloneVoiceClick()}"
|
|
|
android:id="@+id/tv_clone_used"
|
|
|
android:layout_width="0dp"
|
|
|
android:layout_height="0dp"
|
|
|
android:background="@drawable/bg_use_clone_voice"
|
|
|
android:gravity="center"
|
|
|
+ android:onClick="@{()->cloneVoiceViewModel.useCloneVoiceClick()}"
|
|
|
android:text="@string/clone_voice_used_txt"
|
|
|
android:textColor="@color/white"
|
|
|
android:textSize="15sp"
|
|
|
@@ -495,17 +496,17 @@
|
|
|
app:layout_constraintWidth_percent="0.45" />
|
|
|
|
|
|
<TextView
|
|
|
- android:onClick="@{()-> cloneVoiceViewModel.onDeleteClick()}"
|
|
|
- android:text="@string/clone_voice_delete_txt"
|
|
|
android:id="@+id/tv_clone_delete"
|
|
|
android:layout_width="0dp"
|
|
|
- android:gravity="center"
|
|
|
- android:textStyle="bold"
|
|
|
- android:textSize="15sp"
|
|
|
- android:background="@drawable/bg_clone_voice_delete"
|
|
|
- android:textColor="@color/colorPrimary"
|
|
|
android:layout_height="0dp"
|
|
|
android:layout_marginStart="12dp"
|
|
|
+ android:background="@drawable/bg_clone_voice_delete"
|
|
|
+ android:gravity="center"
|
|
|
+ android:onClick="@{()-> cloneVoiceViewModel.onDeleteClick()}"
|
|
|
+ android:text="@string/clone_voice_delete_txt"
|
|
|
+ android:textColor="@color/colorPrimary"
|
|
|
+ android:textSize="15sp"
|
|
|
+ android:textStyle="bold"
|
|
|
app:layout_constraintBottom_toBottomOf="@+id/tv_clone_used"
|
|
|
app:layout_constraintDimensionRatio="98:36"
|
|
|
app:layout_constraintLeft_toRightOf="@+id/tv_clone_used"
|
|
|
@@ -515,6 +516,233 @@
|
|
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
|
|
+ <androidx.constraintlayout.widget.ConstraintLayout
|
|
|
+ android:id="@+id/clone_voice_record_layout"
|
|
|
+ isGone="@{cloneVoiceViewModel.cloneState != CloneState.RECORDING_VOICE}"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:paddingBottom="@dimen/clone_voice_padding"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/space4"
|
|
|
+ tools:visibility="gone">
|
|
|
+
|
|
|
+ <View
|
|
|
+ android:id="@+id/v_record_audio_preview"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:layout_marginHorizontal="@dimen/clone_voice_padding"
|
|
|
+ android:background="@drawable/bg_clone_card"
|
|
|
+ app:layout_constraintDimensionRatio="312:309"
|
|
|
+ app:layout_constraintTop_toTopOf="parent" />
|
|
|
+
|
|
|
+
|
|
|
+ <ImageView
|
|
|
+ android:id="@+id/iv_record_audio"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:layout_marginStart="12dp"
|
|
|
+ android:layout_marginTop="10dp"
|
|
|
+ android:src="@drawable/icon_clone_voice_record"
|
|
|
+ app:layout_constraintDimensionRatio="1:1"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintWidth_percent="0.05" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:layout_marginStart="3dp"
|
|
|
+ android:text="@string/record_title"
|
|
|
+ android:textColor="@color/white80"
|
|
|
+ android:textSize="12sp"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/iv_record_audio"
|
|
|
+ app:layout_constraintStart_toEndOf="@+id/iv_record_audio"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_record_audio" />
|
|
|
+
|
|
|
+ <Space
|
|
|
+ android:id="@+id/space6"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ app:layout_constraintDimensionRatio="360:8"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/iv_record_audio" />
|
|
|
+
|
|
|
+ <View
|
|
|
+ android:id="@+id/v_divider"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="1dp"
|
|
|
+ android:layout_marginHorizontal="12dp"
|
|
|
+ android:background="@color/white20"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/space6" />
|
|
|
+
|
|
|
+ <com.atmob.voiceai.widget.AutoScrollTextView
|
|
|
+ android:id="@+id/tv_record_example"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:layout_marginHorizontal="12dp"
|
|
|
+ android:layout_marginTop="6dp"
|
|
|
+ android:scrollbarSize="0dp"
|
|
|
+ android:scrollbars="vertical"
|
|
|
+ android:text="@string/record_example_txt"
|
|
|
+ android:textColor="@color/white"
|
|
|
+ android:textSize="16sp"
|
|
|
+ app:layout_constraintDimensionRatio="288:122"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/v_divider" />
|
|
|
+
|
|
|
+ <View
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:background="@drawable/bg_record_bottom_shadow"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/tv_record_example"
|
|
|
+ app:layout_constraintDimensionRatio="288:40"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/tv_record_example"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/tv_record_example" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_record_time"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:gravity="center"
|
|
|
+ android:textColor="@color/white"
|
|
|
+ android:textSize="25sp"
|
|
|
+ android:text="@{cloneVoiceViewModel.recordTimeTxt}"
|
|
|
+ android:textStyle="bold"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintVertical_bias="0.6928571428571429"
|
|
|
+ tools:text="00:05.62" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:text="@{cloneVoiceViewModel.recordStateDesc}"
|
|
|
+ android:id="@+id/tv_record_state_desc"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:gravity="center"
|
|
|
+ android:textSize="12sp"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_record_time"
|
|
|
+ tools:text="Can't clone yet, Keep speaking loud and clear"
|
|
|
+ tools:textColor="#FF5656" />
|
|
|
+
|
|
|
+ <Space
|
|
|
+ android:id="@+id/space7"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ app:layout_constraintDimensionRatio="360:25.5"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_record_state_desc" />
|
|
|
+
|
|
|
+ <View
|
|
|
+ app:layout_constraintHorizontal_bias="0.5714285714285714"
|
|
|
+ android:id="@+id/v_record_audio_20sec"
|
|
|
+ android:layout_width="3dp"
|
|
|
+ android:layout_height="14dp"
|
|
|
+ android:background="#7C7D88"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/progress_record_bar" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:text="@string/record_20_sec"
|
|
|
+ android:layout_marginTop="4dp"
|
|
|
+ android:textColor="@color/white50"
|
|
|
+ android:textSize="12sp"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_20sec"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_20sec"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/v_record_audio_20sec"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content" />
|
|
|
+
|
|
|
+ <View
|
|
|
+ app:layout_constraintHorizontal_bias="0.8571428571428571"
|
|
|
+ android:id="@+id/v_record_audio_30sec"
|
|
|
+ android:layout_width="3dp"
|
|
|
+ android:layout_height="14dp"
|
|
|
+ android:background="#7C7D88"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/progress_record_bar"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/progress_record_bar" />
|
|
|
+
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:text="@string/record_30_sec"
|
|
|
+ android:layout_marginTop="4dp"
|
|
|
+ android:textColor="@color/white50"
|
|
|
+ android:textSize="12sp"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_30sec"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_30sec"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/v_record_audio_30sec"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content" />
|
|
|
+
|
|
|
+ <ProgressBar
|
|
|
+ android:id="@+id/progress_record_bar"
|
|
|
+ style="?android:attr/progressBarStyleHorizontal"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="4dp"
|
|
|
+ android:progress="@{cloneVoiceViewModel.recordProgress}"
|
|
|
+ android:layout_marginHorizontal="16dp"
|
|
|
+ android:background="#7C7D88"
|
|
|
+ android:max="@{(int)cloneVoiceViewModel.recordMaxTime}"
|
|
|
+ android:progressDrawable="@{cloneVoiceViewModel.recordProgressDrawable}"
|
|
|
+ tools:progressDrawable="@drawable/bg_progress_bar_horizontal_record_0_20"
|
|
|
+ app:layout_constraintEnd_toEndOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintStart_toStartOf="@+id/v_record_audio_preview"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/space7"
|
|
|
+ tools:progress="60" />
|
|
|
+
|
|
|
+ <Space
|
|
|
+ android:id="@+id/space5"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ app:layout_constraintDimensionRatio="360:25"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/v_record_audio_preview" />
|
|
|
+
|
|
|
+ <View
|
|
|
+ android:id="@+id/v_record_audio"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:layout_marginHorizontal="@dimen/clone_voice_padding"
|
|
|
+ android:background="@drawable/bg_recording_btn"
|
|
|
+ android:onClick="@{()-> cloneVoiceViewModel.onRecordingClick(cloneVoiceViewModel.showStopRecord,cloneVoiceViewModel.recordProgress)}"
|
|
|
+ app:layout_constraintDimensionRatio="312:48"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/space5" />
|
|
|
+
|
|
|
+ <ImageView
|
|
|
+ android:id="@+id/iv_stop"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ android:src="@{cloneVoiceViewModel.showStopRecord ? @drawable/icon_record_stop: @drawable/icon_record_reset}"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/v_record_audio"
|
|
|
+ app:layout_constraintDimensionRatio="1:1"
|
|
|
+ app:layout_constraintHorizontal_chainStyle="packed"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/v_record_audio"
|
|
|
+ app:layout_constraintRight_toLeftOf="@+id/tv_stop"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/v_record_audio"
|
|
|
+ app:layout_constraintWidth_percent="0.0666666666666667" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_stop"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:layout_marginStart="6dp"
|
|
|
+ android:text="@{cloneVoiceViewModel.showStopRecord ? @string/record_stop: @string/record_reset}"
|
|
|
+ android:textColor="@color/white"
|
|
|
+ android:textSize="17sp"
|
|
|
+ android:textStyle="bold"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/iv_stop"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/iv_stop"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/v_record_audio"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_stop" />
|
|
|
+
|
|
|
+ </androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
+
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
|
|
</androidx.core.widget.NestedScrollView>
|