- add PreferenceReader interface - add PreferenceWriter interface - add lazy singleton ServicesFactory - add retrofit dependencies into app module
This commit is contained in:
parent
3344ea7400
commit
8dae517943
@ -24,6 +24,10 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
// retrofit
|
||||||
|
implementation "com.squareup.retrofit2:retrofit:2.6.2"
|
||||||
|
implementation "com.squareup.retrofit2:converter-gson:2.6.2"
|
||||||
|
|
||||||
implementation project(':wrapper')
|
implementation project(':wrapper')
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
package it.unisannio.ding.ids.wedroid.app.util;
|
||||||
|
|
||||||
|
public interface PreferenceReader {
|
||||||
|
String getBaseUrl();
|
||||||
|
String getUserId();
|
||||||
|
String getToken();
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package it.unisannio.ding.ids.wedroid.app.util;
|
||||||
|
|
||||||
|
public interface PreferenceWriter {
|
||||||
|
void setBaseUrl(String baseUrl);
|
||||||
|
void setUserId(String userId);
|
||||||
|
void setToken(String token);
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package it.unisannio.ding.ids.wedroid.app.util
|
||||||
|
|
||||||
|
import it.unisannio.ding.ids.wedroid.wrapper.api.*
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
|
object ServicesFactory {
|
||||||
|
private val retrofit: Retrofit
|
||||||
|
private lateinit var reader: PreferenceReader //TODO
|
||||||
|
|
||||||
|
init {
|
||||||
|
val httpClient = OkHttpClient.Builder()
|
||||||
|
.addInterceptor {
|
||||||
|
val request = it.request().newBuilder()
|
||||||
|
.addHeader("Authorization", "Bearer ${reader.token}")
|
||||||
|
.addHeader("Accept", "application/json")
|
||||||
|
.addHeader("Content-type", "application/json")
|
||||||
|
.build()
|
||||||
|
|
||||||
|
it.proceed(request)
|
||||||
|
}.build()
|
||||||
|
|
||||||
|
retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl(reader.baseUrl)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.client(httpClient)
|
||||||
|
.build()
|
||||||
|
}
|
||||||
|
|
||||||
|
val boardService by lazy {
|
||||||
|
retrofit.create(BoardService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val cardCommentService by lazy {
|
||||||
|
retrofit.create(CardCommentService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val cardService by lazy {
|
||||||
|
retrofit.create(CardService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val checklistService by lazy {
|
||||||
|
retrofit.create(ChecklistService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val listService by lazy {
|
||||||
|
retrofit.create(ListService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val swimlanesService by lazy {
|
||||||
|
retrofit.create(SwimlanesService::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
val userService by lazy {
|
||||||
|
retrofit.create(UserService::class.java)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user