Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.03 KB | None | 0 0
  1. package com.frontier_apps.dev.spradz.viewmodel;
  2.  
  3. import android.content.Context;
  4. import android.util.Log;
  5. import android.widget.Toast;
  6.  
  7. import androidx.lifecycle.LiveData;
  8. import androidx.lifecycle.MutableLiveData;
  9. import androidx.lifecycle.ViewModel;
  10.  
  11. import com.frontier_apps.dev.spradz.model.Pengaturan;
  12. import com.frontier_apps.dev.spradz.model.PreferensiCampaignModel;
  13. import com.frontier_apps.dev.spradz.model.Repository.YoutubeRepository;
  14. import com.frontier_apps.dev.spradz.model.YoutubeModel;
  15. import com.frontier_apps.dev.spradz.presenter.KategoriCampaignCallBack;
  16. import com.frontier_apps.dev.spradz.presenter.RetrofitCallBack;
  17. import com.frontier_apps.dev.spradz.presenter.YoutubeCallBack;
  18. import com.frontier_apps.dev.spradz.view.config.Config;
  19. import com.frontier_apps.dev.spradz.view.helper.ProgressBar;
  20.  
  21. import org.json.JSONArray;
  22. import org.json.JSONException;
  23. import org.json.JSONObject;
  24.  
  25. import java.io.IOException;
  26. import java.util.ArrayList;
  27. import java.util.HashMap;
  28.  
  29. import okhttp3.ResponseBody;
  30. import retrofit2.Call;
  31. import retrofit2.Callback;
  32. import retrofit2.Response;
  33. import retrofit2.Retrofit;
  34. import retrofit2.converter.gson.GsonConverterFactory;
  35.  
  36. /**
  37. * Class ini digunakan untuk memanggil API dengan endpoint API_URL + "youtube/{endpoint}"
  38. */
  39. public class YoutubeViewModel extends ViewModel {
  40. private YoutubeRepository youtubeRepository;
  41. private PreferensiCampaignModel preferensiCampaignModel;
  42.  
  43. private YoutubeModel youtubeModel;
  44.  
  45. /**
  46. * Constructor yang berisi context dan class progressbar
  47. *
  48. */
  49. public YoutubeViewModel(YoutubeRepository youtubeRepository) {
  50. this.youtubeRepository = youtubeRepository;
  51. }
  52.  
  53. /**
  54. * Setter untuk menerima data YoutubeModel dari class activity / fragment
  55. * @param youtubeModel object Class YoutubeModel
  56. */
  57. public void setYoutubeModel(YoutubeModel youtubeModel) {
  58. this.youtubeModel = youtubeModel;
  59. }
  60.  
  61. /**
  62. * Setter untuk menerima data PreferensiCampaignModel dari class activity / fragment
  63. * @param preferensiCampaignModel object Class PreferensiCampaignModel
  64. */
  65. public void setPreferensiCampaignModel(PreferensiCampaignModel preferensiCampaignModel) {
  66. this.preferensiCampaignModel = preferensiCampaignModel;
  67. }
  68.  
  69. /**
  70. * Live Data untuk get Channel ID
  71. * @return hashmap value dari youtuberepository list getChannelIdYoutube
  72. */
  73. public LiveData<HashMap> getChannelIdYoutube() {
  74. return youtubeRepository.getChannelIdYoutube(youtubeModel);
  75. }
  76.  
  77. /**
  78. * Live Data untuk get Impression Youtube
  79. * @return arryalist value dari youtuberepository list getImpressionYoutube
  80. */
  81. public LiveData<ArrayList<YoutubeModel>> getImpressionYoutube() {
  82. return youtubeRepository.getImpressionYoutube(youtubeModel);
  83. }
  84.  
  85. /**
  86. * Live Data untuk add Channel Youtube ke Spradz
  87. * @return arryalist value dari youtuberepository addChannelYoutube
  88. */
  89. public LiveData<ArrayList<YoutubeModel>> addChannelYoutube() {
  90. return youtubeRepository.addChannelYoutube(youtubeModel);
  91. }
  92.  
  93. /**
  94. * Live Data untuk get Preferensi / kategori untuk youtube
  95. * @return arryalist value dari youtuberepository list getPreferensiYoutube
  96. */
  97. public LiveData<HashMap> getPreferensiYoutube() {
  98. return youtubeRepository.getPreferensiYoutube(youtubeModel);
  99. }
  100.  
  101. /**
  102. * Live Data untuk get Preferensi / kategori untuk youtube
  103. * @return arryalist value dari youtuberepository updatePreferensiYoutube
  104. */
  105. public LiveData<ArrayList<YoutubeModel>> updatePreferensiYoutube() {
  106. return youtubeRepository.updatePreferensiYoutube(preferensiCampaignModel);
  107. }
  108.  
  109. /**
  110. * Model Live Data untuk get Akun influencer youtuber
  111. * @return hashmap value dari youtuberepository list akun youtuber influencer
  112. */
  113. public LiveData<HashMap> getYoutubeAkunSpradz() {
  114. return youtubeRepository.getListAkunYoutubeRepo(youtubeModel);
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement