Advertisement
rifki_cs29

ListHistoryDocumentViewModel

Dec 4th, 2020
1,370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.09 KB | None | 0 0
  1. package com.pupukkaltim.signer.viewmodel
  2.  
  3. import android.content.Context
  4. import android.util.Log
  5. import androidx.lifecycle.LiveData
  6. import androidx.lifecycle.MutableLiveData
  7. import androidx.lifecycle.ViewModel
  8. import com.androidnetworking.AndroidNetworking
  9. import com.androidnetworking.common.Priority
  10. import com.androidnetworking.error.ANError
  11. import com.androidnetworking.interfaces.JSONObjectRequestListener
  12. import com.pupukkaltim.signer.model.HistoryDocument
  13. import com.pupukkaltim.signer.model.ItemHistoryDocument
  14. import org.json.JSONObject
  15. import java.lang.Exception
  16.  
  17. class ListHistoryDocumentViewModel : ViewModel() {
  18.     private val _listHistoryDocuments = MutableLiveData<ArrayList<HistoryDocument>>()
  19.     val listHistoryDocuments: LiveData<ArrayList<HistoryDocument>>
  20.     get() = _listHistoryDocuments
  21.  
  22.     private lateinit var context: Context
  23.  
  24.     fun init(context: Context) {
  25.         this.context = context
  26.     }
  27.  
  28.     fun setListHistoryDocument(idDocument: String){
  29.         val listHistoryDocument = ArrayList<HistoryDocument>()
  30.         val mPreference = context.getSharedPreferences("my_esign_preff", Context.MODE_PRIVATE)
  31.         val token = mPreference?.getString("access_token", "")
  32.         Log.e("test","token: $token")
  33.  
  34.         AndroidNetworking.get("http://apps.floo.id:54000/api/v1/mobile/transaction/document-tracking/$idDocument")
  35.             .addHeaders("Authorization", "Bearer $token")
  36.             .setPriority(Priority.LOW)
  37.             .build()
  38.             .getAsJSONObject(object :JSONObjectRequestListener {
  39.                 override fun onResponse(response: JSONObject) {
  40.                     try {
  41.                         val jsonArray = response.getJSONArray("data")
  42.  
  43.                         for (i in 0 until jsonArray.length()) {
  44.                             val jsonObject = jsonArray.getJSONObject(i)
  45.                             val attachments = jsonObject.getJSONArray("attachment_list")
  46.                             val historyDocument = HistoryDocument()
  47.  
  48.                             historyDocument.reviewerId =  jsonObject.getString("user_id")
  49.                             historyDocument.reviewerName = jsonObject.getString("user_name")
  50.                             for (j in 0 until attachments.length()) {
  51.                                 val data = attachments.getJSONObject(j)
  52.                                 val itemHistoryDocument = ItemHistoryDocument()
  53.                                 itemHistoryDocument.attachmentLabel = data.getString("document_attachment_label")
  54.                                 itemHistoryDocument.attachmentStatus = data.getString("status")
  55.                             }
  56.                             listHistoryDocument.add(historyDocument)
  57.                         }
  58.                         _listHistoryDocuments.postValue(listHistoryDocument)
  59.                     } catch (e: Exception) {
  60.                         e.printStackTrace()
  61.                     }
  62.                 }
  63.  
  64.                 override fun onError(anError: ANError?) {
  65.                     Log.d("onFailure", anError.toString())
  66.                 }
  67.             })
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement