Advertisement
Guest User

Untitled

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