aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/xyz/adjutor/aniki/manga/search
diff options
context:
space:
mode:
authorClyhtsuriva <aimeric@adjutor.xyz>2021-03-23 09:09:40 +0100
committerClyhtsuriva <aimeric@adjutor.xyz>2021-03-23 09:09:40 +0100
commit9159505004b7d55964653747decd313bcdd6a801 (patch)
treedc695347aaddda6661ea488c5d4947128d5b0d64 /app/src/main/java/xyz/adjutor/aniki/manga/search
parent249cdf3a91eab6be7e4f23ae146b1fb91caf6ed4 (diff)
Manga : Added a search button replacing return on the keyboard.
Diffstat (limited to 'app/src/main/java/xyz/adjutor/aniki/manga/search')
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt27
1 files changed, 25 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()
}