In app feedback (#4845)

* rebase

* Progress

* Completed UI and POST Request

* removed invalid string resource

* Removed unused code & Added string resources

* Resolved Code style issues

* Javadoc for getters & setters

* Codestyle fixes

* Minor Fixes

* wip

* Tests

* Comments

* Fixed Tests

* Minor changes

* minor change

* Comments

* Minor Fixes

* fixed tests

* Removed Butterknife

* Fixed tests

* Removed Unecessary strings

* Minor chnages

* Minor fix

* Minor changes

* Minor changes

* Implemented Suggestions

* Removed Redundant Toast
This commit is contained in:
Devarsh Mavani 2022-03-20 08:40:25 +05:30 committed by GitHub
parent 00760ba1c6
commit fa0370438b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 777 additions and 5 deletions

View file

@ -0,0 +1,136 @@
<?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="wrap_content"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_margin="@dimen/dimen_6"
android:padding="@dimen/tiny_gap"
android:textSize="24sp"
android:textColor="@color/black"
android:text="@string/navigation_item_feedback"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/feedback_item_edit_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dimen_6"
android:layout_marginEnd="@dimen/dimen_6"
>
<fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
android:id="@+id/feedback_item_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/your_feedback"
android:imeOptions="actionNext|flagNoExtractUi"
android:lines="4"
android:inputType="text|textMultiLine"
app:allowFormatting="false" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:layout_margin="@dimen/dimen_6"
android:padding="4dp"
android:textSize="21sp"
android:textColor="@color/black"
android:text="@string/select_feedback_data_choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/api_level_checkbox"
android:text="@string/api_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<CheckBox
android:id="@+id/android_version_checkbox"
android:text="@string/android_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<CheckBox
android:id="@+id/device_manufacturer_checkbox"
android:text="@string/device_manufacturer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<CheckBox
android:id="@+id/device_model_checkbox"
android:text="@string/device_model"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<CheckBox
android:id="@+id/device_name_checkbox"
android:text="@string/device_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<CheckBox
android:id="@+id/network_type_checkbox"
android:text="@string/network_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="?android:attr/textCheckMark"
android:checked="true"
android:gravity="center_vertical"
android:padding="@dimen/tiny_gap"
android:layout_margin="@dimen/dimen_6"
/>
<Button
android:id="@+id/btn_submit_feedback"
android:textColor="@color/white"
android:layout_marginBottom="@dimen/dimen_10"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>

View file

@ -650,5 +650,4 @@
<string name="feedback_sharing_data_alert">Од оваа порака отстранете ги сите информации што не сакате да бидат јавни. Воедно, имајте на ум дека вашата е-поштенска адреса од која испраќате, името и профилна слика ќе бидат јавно видливи.</string>
<string name="achievements_unavailable_beta">Достигнувањата се достапни само во производниот вкус.</string>
<string name="leaderboard_unavailable_beta">Предводниците се достапни само во производниот вкус.</string>
<string name="copyright_popup">Подигајте само слики што сте ги направиле самите. Подигачите на слики заштитени со авторски права ќе бидат блокирани. Ова важи и за бета-верзијата. Ви благодариме што го испробувате прилогот!</string>
</resources>

View file

@ -693,4 +693,15 @@ Upload your first media by tapping on the add button.</string>
<string name="achievements_unavailable_beta">Achievements are only available in the prod flavor, please check the developer documentation.</string>
<string name="leaderboard_unavailable_beta">The leaderboard is only available in the prod flavor, please check the developer documentation.</string>
<string name="copyright_popup">Please only upload pictures you have taken by yourself. Uploaders of copyrighted images will be blocked. This applies to the beta flavor too. Thank you for testing the app!</string>
<string name="select_feedback_data_choice">Please deselect any information that you are not comfortable sharing publicly.</string>
<string name="api_level">API level</string>
<string name="android_version">Android version</string>
<string name="device_manufacturer">Device manufacturer</string>
<string name="device_model">Device model</string>
<string name="device_name">Device name</string>
<string name="network_type">Network type</string>
<string name="thanks_feedback">Thanks for giving feedback</string>
<string name="error_feedback">Error while sending feedback</string>
<string name="enter_description">What is your feedback?</string>
<string name="your_feedback">Your feedback</string>
</resources>