diff options
-rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt | 28 | ||||
-rw-r--r-- | app/src/main/res/layout/search_manga_page.xml | 29 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 1 |
3 files changed, 30 insertions, 28 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 6310dfc..40f9633 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 @@ -1,7 +1,5 @@ package xyz.adjutor.aniki.manga.search -import android.content.Context -import android.content.SharedPreferences import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -11,8 +9,8 @@ import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.google.android.material.snackbar.Snackbar +import com.google.android.material.textfield.TextInputEditText import com.google.gson.Gson import com.google.gson.GsonBuilder import retrofit2.Call @@ -24,7 +22,6 @@ import xyz.adjutor.aniki.R class SearchMangaPage : Fragment() { - private lateinit var sharedPreferences: SharedPreferences val gson: Gson = GsonBuilder() .setLenient() .create() @@ -37,11 +34,6 @@ class SearchMangaPage : Fragment() { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.search_manga_page, container, false) - sharedPreferences = view.context.getSharedPreferences("sp_manga", Context.MODE_PRIVATE) - - - makeApiCall(view, baseUrl) - return view } @@ -54,18 +46,10 @@ class SearchMangaPage : Fragment() { findNavController().navigate(R.id.action_SearchMangaPage_to_HomePage) } - fun updateList() { - makeApiCall(view, baseUrl) - Snackbar.make(requireView(), "Data refreshed", Snackbar.LENGTH_LONG) - .setAction("Action", null).show() + view.findViewById<Button>(R.id.button_query).setOnClickListener{ + val userInput = view.findViewById<TextInputEditText>(R.id.tiet_query).text.toString() + makeApiCall(view, baseUrl, userInput) } - - val swipeRefresh: SwipeRefreshLayout = view.findViewById(R.id.swiperefresh) - swipeRefresh.setOnRefreshListener { - updateList() - swipeRefresh.isRefreshing = false - } - } //display the recyclerview @@ -77,7 +61,7 @@ class SearchMangaPage : Fragment() { (recyclerView.adapter as SearchMangaAdapter).notifyDataSetChanged() } - private fun makeApiCall(view: View, BASE_URL: String) { + private fun makeApiCall(view: View, BASE_URL: String, query: String) { val retrofit = Retrofit.Builder() .baseUrl(BASE_URL) @@ -85,7 +69,7 @@ class SearchMangaPage : Fragment() { .build() val service = retrofit.create(SearchMangaApi::class.java) - val call = service.getSearchMangaData("fate") //fate is an exemple, we'll have to replace it by the user input. + val call = service.getSearchMangaData(q = query) //fate is an exemple, we'll have to replace it by the user input. call.enqueue(object : Callback<SearchMangaResponse> { override fun onResponse( diff --git a/app/src/main/res/layout/search_manga_page.xml b/app/src/main/res/layout/search_manga_page.xml index a6de772..1470311 100644 --- a/app/src/main/res/layout/search_manga_page.xml +++ b/app/src/main/res/layout/search_manga_page.xml @@ -7,10 +7,27 @@ android:background="@color/very_dark_purple" tools:context=".manga.search.SearchMangaPage"> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout - android:id="@+id/swiperefresh" - android:layout_width="match_parent" - android:layout_height="match_parent"> + + <com.google.android.material.textfield.TextInputEditText + android:id="@+id/tiet_query" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:textStyle="bold" + app:layout_constraintBottom_toTopOf="@id/recycler_view" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/button_query"/> + + <Button + android:id="@+id/button_query" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toTopOf="@id/recycler_view" + app:layout_constraintStart_toEndOf="@id/tiet_query" + android:text="@string/search" + /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" @@ -20,9 +37,8 @@ app:layout_constraintBottom_toTopOf="@+id/button_home" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" + app:layout_constraintTop_toBottomOf="@id/tiet_query" tools:listitem="@layout/item_layout" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> <Button android:id="@+id/button_home" @@ -33,4 +49,5 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 87630b3..d7f7838 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -37,5 +37,6 @@ <string name="episodes">0000</string> <string name="search_manga_page_label">Search Manga Page</string> <string name="search_manga">Search Manga</string> + <string name="search">Search in the database</string> </resources>
\ No newline at end of file |