Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1.  
  2. package com.epitech.epicture
  3.  
  4. import android.app.Activity
  5. import android.os.Bundle
  6. import android.view.View
  7. import android.widget.*
  8. import androidx.recyclerview.widget.StaggeredGridLayoutManager
  9. import com.android.volley.Response
  10. import com.android.volley.toolbox.JsonObjectRequest
  11. import com.android.volley.toolbox.Volley
  12. import kotlinx.android.synthetic.main.activity_search.*
  13.  
  14. class SearchActivity : Activity(), AdapterView.OnItemSelectedListener {
  15.  
  16. var listoffilters = arrayOf("top", "time", "viral")
  17. override fun onCreate(savedInstanceState: Bundle?) {
  18. super.onCreate(savedInstanceState)
  19. setContentView(R.layout.activity_search)
  20.  
  21. spinnerfilter!!.onItemSelectedListener = this
  22. val adapt = ArrayAdapter(this, android.R.layout.simple_spinner_item, listoffilters)
  23. adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
  24. spinnerfilter!!.setAdapter(adapt)
  25.  
  26. buttonGoBack.setOnClickListener {
  27. finish()
  28. }
  29.  
  30. val queue = Volley.newRequestQueue(this)
  31. val url = "https://api.imgur.com/3/gallery/hot"
  32. val urlSearch = "https://api.imgur.com/3/gallery/search/"
  33. val piece = "?q="
  34.  
  35. val jsonObjectRequest = object: JsonObjectRequest(Method.GET, url, null, Response.Listener { response ->
  36. val sgridlm = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
  37. rvs.layoutManager = sgridlm
  38. val values = response.getJSONArray("data")
  39. val imageList = ArrayList<ImageData>()
  40.  
  41. for (i in 0 until values.length()) {
  42. val img = ImageData()
  43. val item = values.getJSONObject(i)
  44. if (item.getBoolean("is_album"))
  45. continue
  46. img.setId(item.getString("id"))
  47. img.setUrl(item.getString("link"))
  48. img.setIsFavorite(item.getBoolean("is_favorite"))
  49. }
  50. val adapter = ImageGridKotlinAdapter(this, imageList)
  51. rvs.adapter = adapter
  52. },
  53. Response.ErrorListener { println("This did not work!")})
  54. {
  55. override fun getHeaders(): MutableMap<String, String> {
  56. val headers = HashMap<String, String>()
  57. headers["Authorization"] = "Client-ID 332a15dcc8a6e8b"
  58. return headers
  59. }
  60. }
  61.  
  62. queue.add(jsonObjectRequest)
  63. buttonsearch.setOnClickListener {
  64. val stringToSearch = searchText.text.toString()
  65. val filter = spinnerfilter.selectedItem.toString()
  66. val urlSeach = urlSearch + filter + piece + stringToSearch
  67.  
  68. val jsonObjectRequest2 = object: JsonObjectRequest(Method.GET, urlSeach, null, Response.Listener { response ->
  69. println(response)
  70. val sgridlm = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
  71. rvs.layoutManager = sgridlm
  72. val values = response.getJSONArray("data")
  73. val imageList = ArrayList<ImageData>()
  74.  
  75. for (i in 0 until values.length()) {
  76. val img = ImageData()
  77. val item = values.getJSONObject(i)
  78. if (item.getBoolean("is_album"))
  79. continue
  80. img.setId(item.getString("id"))
  81. img.setUrl(item.getString("link"))
  82. img.setIsFavorite(item.getBoolean("is_favorite"))
  83. }
  84. val adapter = ImageGridKotlinAdapter(this, imageList)
  85. rvs.adapter = adapter
  86. },
  87. Response.ErrorListener { println("This did not work!")})
  88. {
  89. override fun getHeaders(): MutableMap<String, String> {
  90. val headers = HashMap<String, String>()
  91. headers["Authorization"] = "Client-ID 332a15dcc8a6e8b"
  92. return headers
  93. }
  94. }
  95. queue.add(jsonObjectRequest2)
  96. }
  97. }
  98. override fun onItemSelected(arg0: AdapterView<*>, arg1: View, position: Int, id: Long) {
  99. //textView.text = arg0.getItemAtPosition(position).toString()
  100. }
  101.  
  102. override fun onNothingSelected(p0: AdapterView<*>?) {
  103. //textView!!.text = "False"
  104. TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement