rifki_cs29

ListHistoryDocumentViewModel

Dec 4th, 2020
978
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data