|
1 | 1 | package com.arvind.moviesapp.repository
|
2 | 2 |
|
3 | 3 | import android.app.Application
|
4 |
| -import android.util.Log |
| 4 | +import androidx.lifecycle.LiveData |
5 | 5 | import androidx.lifecycle.MutableLiveData
|
6 | 6 | import com.arvind.moviesapp.model.showdetails.DataModelShowDetailsBase
|
7 |
| -import com.arvind.moviesapp.response.showdetails.ResponseTvShowDetails |
8 | 7 | import com.arvind.moviesapp.webapi.ApiService
|
9 | 8 | import retrofit2.Call
|
10 | 9 | import retrofit2.Callback
|
11 | 10 | import retrofit2.Response
|
12 |
| -import java.util.ArrayList |
| 11 | +import java.util.* |
13 | 12 | import javax.inject.Inject
|
14 | 13 |
|
15 | 14 |
|
16 | 15 | class TvShowsDetailsRepository @Inject constructor(
|
17 |
| - private val apiService: ApiService, application: Application, private val id: String |
| 16 | + private val apiService: ApiService |
18 | 17 | ) {
|
19 | 18 |
|
20 |
| - private var tvShowsArrayList = ArrayList<ResponseTvShowDetails>() |
21 |
| - private val mutableLiveData = MutableLiveData<List<ResponseTvShowDetails>>() |
22 |
| - |
23 |
| - fun getMutableLiveData(): MutableLiveData<List<ResponseTvShowDetails>> { |
24 |
| - val userDataService = apiService |
25 |
| - val call = userDataService.getTVShowDetails(id) |
26 |
| - |
27 |
| - call.enqueue(object : Callback<DataModelShowDetailsBase> { |
28 |
| - internal var message: String? = null |
29 |
| - |
| 19 | + fun getTVShowDetails(id: String?): LiveData<DataModelShowDetailsBase?>? { |
| 20 | + val data: MutableLiveData<DataModelShowDetailsBase?> = |
| 21 | + MutableLiveData<DataModelShowDetailsBase?>() |
| 22 | + apiService.getTVShowDetails(id).enqueue(object : Callback<DataModelShowDetailsBase?> { |
30 | 23 | override fun onResponse(
|
31 |
| - call: Call<DataModelShowDetailsBase>, |
32 |
| - response: Response<DataModelShowDetailsBase> |
| 24 | + call: Call<DataModelShowDetailsBase?>, |
| 25 | + response: Response<DataModelShowDetailsBase?> |
33 | 26 | ) {
|
34 |
| - |
35 |
| - if (response.isSuccessful()) { |
36 |
| - val apiresponse: DataModelShowDetailsBase? = response.body() |
37 |
| - if (apiresponse != null) { |
38 |
| - tvShowsArrayList = |
39 |
| - apiresponse.tvShow as ArrayList<ResponseTvShowDetails> |
40 |
| - mutableLiveData.setValue(tvShowsArrayList) |
41 |
| - } |
42 |
| - } |
43 |
| - |
| 27 | + data.setValue(response.body()) |
44 | 28 | }
|
45 | 29 |
|
46 |
| - override fun onFailure(call: Call<DataModelShowDetailsBase>, t: Throwable) { |
47 |
| - t.printStackTrace() |
48 |
| - Log.d(TAG, t.message!!) |
49 |
| - |
| 30 | + override fun onFailure(call: Call<DataModelShowDetailsBase?>, t: Throwable) { |
| 31 | + data.setValue(null) |
50 | 32 | }
|
51 | 33 | })
|
52 |
| - |
53 |
| - return mutableLiveData |
| 34 | + return data |
54 | 35 | }
|
55 | 36 |
|
56 | 37 | companion object {
|
|
0 commit comments