Added voice input for caption and description (#5415)

* Fixed Grey empty screen at Upload wizard caption step after denying files permission

* Empty commit

* Fixed loop issue

* Created docs for earlier commits

* Fixed javadoc

* Fixed spaces

* Added added basic features to OSM Maps

* Added search location feature

* Added filter to Open Street Maps

* Fixed chipGroup in Open Street Maps

* Removed mapBox code

* Removed mapBox's code

* Reformat code

* Reformatted code

* Removed rotation feature to map

* Removed rotation files and Fixed Marker click problem

* Ignored failing tests

* Added voice input feature

* Fixed test cases

* Changed caption and description text
This commit is contained in:
Kanahia 2024-01-15 10:52:25 +05:30 committed by GitHub
parent e5c789e874
commit b7090d90c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 296 additions and 108 deletions

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="21dp"
android:height="21dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF1E8CAB"
android:pathData="M12,15c1.66,0 2.99,-1.34 2.99,-3L15,6c0,-1.66 -1.34,-3 -3,-3S9,4.34 9,6v6c0,1.66 1.34,3 3,3zM17.3,12c0,3 -2.54,5.1 -5.3,5.1S6.7,15 6.7,12L5,12c0,3.42 2.72,6.23 6,6.72L11,22h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z" />
</vector>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/pressed_button_light" />
<item android:state_focused="false"
android:drawable="@android:color/transparent" />
</selector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:tint="?attr/editTextColor"
android:viewportHeight="20">
<path
android:pathData="M17.778,17.778H2.223V2.222H10V0H2.223C0.989,0 0,1 0,2.222V17.778C0,19 0.989,20 2.223,20H17.778C19,20 20,19 20,17.778V10H17.778V17.778ZM12.223,0V2.222H16.212L5.289,13.144L6.856,14.711L17.778,3.789V7.778H20V0H12.223Z"
android:fillColor="#8F000000"/>
</vector>

View file

@ -7,68 +7,118 @@
android:layout_marginVertical="8dp"
app:elevation="6dp">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="20dp">
<ImageView
android:id="@+id/btn_remove"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:contentDescription="@string/remove"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_remove" />
<TextView
android:id="@+id/description_languages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:drawableRight="@drawable/ic_baseline_arrow_drop_down_24"
android:padding="@dimen/dimen_2"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/caption_item_edit_text_input_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="20dp">
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description_languages">
<ImageView
android:id="@+id/btn_remove"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:contentDescription="@string/remove"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/caption_item_edit_text_input_layout"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@drawable/ic_remove" />
<fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
android:id="@+id/caption_item_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/share_caption_hint"
android:imeOptions="actionNext|flagNoExtractUi"
android:inputType="text"
app:allowFormatting="false" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/description_languages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:drawableRight="@drawable/ic_baseline_arrow_drop_down_24"
android:padding="@dimen/dimen_2"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@+id/caption_item_edit_text_input_layout"
app:layout_constraintStart_toStartOf="parent" />
<LinearLayout
android:id="@+id/ll_write_better_caption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:background="@drawable/clicked_linearlayout_background"
android:clickable="true"
android:gravity="center_vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/caption_item_edit_text_input_layout">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/caption_item_edit_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/description_item_edit_text_input_layout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/learn_how_to_write_a_useful_caption"
android:textSize="12sp" />
<fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
android:id="@+id/caption_item_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/share_caption_hint"
android:imeOptions="actionNext|flagNoExtractUi"
android:inputType="text"
app:allowFormatting="false" />
</com.google.android.material.textfield.TextInputLayout>
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginStart="6dp"
app:srcCompat="@drawable/ic_open" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/description_item_edit_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
</LinearLayout>
<fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
android:id="@+id/description_item_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/share_description_hint"
android:imeOptions="actionNext|flagNoExtractUi"
android:inputType="textMultiLine"
app:allowFormatting="false" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/description_item_edit_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_write_better_caption">
</androidx.constraintlayout.widget.ConstraintLayout>
<fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
android:id="@+id/description_item_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/share_description_hint"
android:imeOptions="actionNext|flagNoExtractUi"
android:inputType="textMultiLine"
app:allowFormatting="false" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/ll_write_better_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:background="@drawable/clicked_linearlayout_background"
android:clickable="true"
android:gravity="center_vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description_item_edit_text_input_layout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/learn_how_to_write_a_useful_description"
android:textSize="12sp" />
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginStart="6dp"
app:srcCompat="@drawable/ic_open" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>

View file

@ -784,6 +784,8 @@ Upload your first media by tapping on the add button.</string>
<string name="storage_permissions_denied">Storage Permissions Denied</string>
<string name="unable_to_share_upload_item">Unable to share this item</string>
<string name="permissions_are_required_for_functionality">Permissions are required for functionality</string>
<string name="learn_how_to_write_a_useful_description">Learn how to write a useful description</string>
<string name="learn_how_to_write_a_useful_caption">Learn how to write a useful caption</string>
<plurals name="custom_picker_images_selected_title_appendix">
<item quantity="one">%d image selected</item>
<item quantity="other">%d images selected</item>