summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt27
-rw-r--r--app/src/main/res/layout/search_manga_page.xml2
2 files changed, 27 insertions, 2 deletions
diff --git a/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt
index f79db36..7866151 100644
--- a/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt
@@ -5,8 +5,11 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.Button
+import android.widget.EditText
+import android.widget.TextView.OnEditorActionListener
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
@@ -23,6 +26,7 @@ import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.MainActivity
import xyz.adjutor.aniki.R
+
class SearchMangaPage : Fragment() {
val gson: Gson = GsonBuilder()
@@ -48,11 +52,24 @@ class SearchMangaPage : Fragment() {
findNavController().navigate(R.id.action_SearchMangaPage_to_HomePage)
}
- view.findViewById<Button>(R.id.button_query).setOnClickListener{
+ view.findViewById<Button>(R.id.button_query).setOnClickListener {
val userInput = view.findViewById<TextInputEditText>(R.id.tiet_query).text.toString()
hideKeyboard()
makeApiCall(view, baseUrl, userInput)
}
+
+ view.findViewById<EditText>(R.id.tiet_query)
+ .setOnEditorActionListener(OnEditorActionListener { v, actionId, event ->
+ if (actionId == EditorInfo.IME_ACTION_SEARCH) {
+ val userInput =
+ view.findViewById<TextInputEditText>(R.id.tiet_query).text.toString()
+ hideKeyboard()
+ makeApiCall(view, baseUrl, userInput)
+ return@OnEditorActionListener true
+ }
+ false
+ })
+
}
private fun hideKeyboard() {
@@ -75,6 +92,7 @@ class SearchMangaPage : Fragment() {
(recyclerView.adapter as SearchMangaAdapter).notifyDataSetChanged()
}
+ //call the API and show the list
private fun makeApiCall(view: View, BASE_URL: String, query: String) {
val retrofit = Retrofit.Builder()
@@ -112,8 +130,13 @@ class SearchMangaPage : Fragment() {
})
}
+ //display a snack
private fun showError() {
- Snackbar.make(requireView(), "API ERROR : Verify your internet connection or your query.", Snackbar.LENGTH_LONG)
+ Snackbar.make(
+ requireView(),
+ "API ERROR : Verify your internet connection or your query.",
+ Snackbar.LENGTH_LONG
+ )
.setAction("Action", null).show()
}
diff --git a/app/src/main/res/layout/search_manga_page.xml b/app/src/main/res/layout/search_manga_page.xml
index 02a62ff..cacab1d 100644
--- a/app/src/main/res/layout/search_manga_page.xml
+++ b/app/src/main/res/layout/search_manga_page.xml
@@ -18,6 +18,8 @@
app:layout_constraintBottom_toTopOf="@id/recycler_view"
app:layout_constraintEnd_toStartOf="@id/button_query"
app:layout_constraintStart_toStartOf="parent"
+ android:imeOptions="actionSearch"
+ android:inputType="text"
app:layout_constraintTop_toTopOf="parent" />
<Button