11package com.frogobox.frogonewsapi
22
33import android.content.Context
4+ import com.frogobox.frogonewsapi.callback.NewsResultCallback
5+ import com.frogobox.frogonewsapi.data.response.ArticleResponse
6+ import com.frogobox.frogonewsapi.data.source.NewsDataSource
47import com.frogobox.frogonewsapi.data.source.NewsRemoteDataSource
58import com.frogobox.frogonewsapi.data.source.NewsRepository
69
@@ -28,4 +31,168 @@ class ConsumeNewsApi(private val apiKey: String) : ConsumeNewsApiView {
2831 override fun usingChuckInterceptor (context : Context ) {
2932 newsRepository.usingChuckInterceptor(context)
3033 }
34+
35+ override fun getTopHeadlineByCountry (
36+ apiKey : String ,
37+ country : String ,
38+ callback : NewsResultCallback <ArticleResponse >
39+ ) {
40+ newsRepository.getTopHeadlineByCountry(
41+ apiKey,
42+ country,
43+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
44+ override fun onSuccess (data : ArticleResponse ) {
45+ callback.getResultData(data)
46+ }
47+
48+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
49+ callback.failedResult(statusCode, errorMessage)
50+ }
51+ })
52+ }
53+
54+ override fun getTopHeadlineByCountry (
55+ apiKey : String ,
56+ country : String ,
57+ category : String ,
58+ callback : NewsResultCallback <ArticleResponse >
59+ ) {
60+ newsRepository.getTopHeadlineByCountry(
61+ apiKey,
62+ country,
63+ category,
64+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
65+ override fun onSuccess (data : ArticleResponse ) {
66+ callback.getResultData(data)
67+ }
68+
69+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
70+ callback.failedResult(statusCode, errorMessage)
71+ }
72+ })
73+ }
74+
75+ override fun getTopHeadlineBySource (
76+ apiKey : String ,
77+ sources : String ,
78+ callback : NewsResultCallback <ArticleResponse >
79+ ) {
80+ newsRepository.getTopHeadlineBySource(
81+ apiKey,
82+ sources,
83+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
84+ override fun onSuccess (data : ArticleResponse ) {
85+ callback.getResultData(data)
86+ }
87+
88+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
89+ callback.failedResult(statusCode, errorMessage)
90+ }
91+ })
92+ }
93+
94+ override fun getTopHeadlineBySource (
95+ apiKey : String ,
96+ sources : String ,
97+ category : String ,
98+ callback : NewsResultCallback <ArticleResponse >
99+ ) {
100+ newsRepository.getTopHeadlineBySource(
101+ apiKey,
102+ sources,
103+ category,
104+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
105+ override fun onSuccess (data : ArticleResponse ) {
106+ callback.getResultData(data)
107+ }
108+
109+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
110+ callback.failedResult(statusCode, errorMessage)
111+ }
112+ })
113+ }
114+
115+ override fun getTopHeadlineByQ (
116+ apiKey : String ,
117+ q : String ,
118+ callback : NewsResultCallback <ArticleResponse >
119+ ) {
120+ newsRepository.getTopHeadlineByQ(
121+ apiKey,
122+ q,
123+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
124+ override fun onSuccess (data : ArticleResponse ) {
125+ callback.getResultData(data)
126+ }
127+
128+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
129+ callback.failedResult(statusCode, errorMessage)
130+ }
131+ })
132+ }
133+
134+ override fun getTopHeadlineByQ (
135+ apiKey : String ,
136+ q : String ,
137+ category : String ,
138+ callback : NewsResultCallback <ArticleResponse >
139+ ) {
140+ newsRepository.getTopHeadlineByQ(
141+ apiKey,
142+ q,
143+ category,
144+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
145+ override fun onSuccess (data : ArticleResponse ) {
146+ callback.getResultData(data)
147+ }
148+
149+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
150+ callback.failedResult(statusCode, errorMessage)
151+ }
152+ })
153+ }
154+
155+ override fun getTopHeadlineByCategory (
156+ apiKey : String ,
157+ category : String ,
158+ callback : NewsResultCallback <ArticleResponse >
159+ ) {
160+ newsRepository.getTopHeadlineByCategory(
161+ apiKey,
162+ category,
163+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
164+ override fun onSuccess (data : ArticleResponse ) {
165+ callback.getResultData(data)
166+ }
167+
168+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
169+ callback.failedResult(statusCode, errorMessage)
170+ }
171+ })
172+ }
173+
174+ override fun getTopHeadline (
175+ apiKey : String ,
176+ q : String? ,
177+ sources : String? ,
178+ category : String? ,
179+ country : String? ,
180+ callback : NewsResultCallback <ArticleResponse >
181+ ) {
182+ newsRepository.getTopHeadline(
183+ apiKey,
184+ q,
185+ sources,
186+ category,
187+ country,
188+ object : NewsDataSource .GetRemoteCallback <ArticleResponse > {
189+ override fun onSuccess (data : ArticleResponse ) {
190+ callback.getResultData(data)
191+ }
192+
193+ override fun onFailed (statusCode : Int , errorMessage : String? ) {
194+ callback.failedResult(statusCode, errorMessage)
195+ }
196+ })
197+ }
31198}
0 commit comments