aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt')
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt26
1 files changed, 24 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..d236887 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,10 @@ 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.TextView.OnEditorActionListener
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
@@ -23,6 +25,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 +51,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<TextInputEditText>(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 +91,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 +129,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()
}