Skip to content

Commit d6c4cbf

Browse files
Merge pull request #10 from SwevenSoftware/feature/pocFinal
close #9
2 parents 879dc37 + f0db7d9 commit d6c4cbf

4 files changed

Lines changed: 33 additions & 31 deletions

File tree

app/src/main/java/com/sweven/blockcovid/MainActivity.kt

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,12 @@ import com.sweven.blockcovid.ui.prenotazioni.PrenotazioniViewModel
2929
import com.google.android.material.bottomnavigation.BottomNavigationView
3030
import com.google.gson.GsonBuilder
3131
import com.google.gson.JsonParser
32+
import com.sweven.blockcovid.services.NetworkClient
3233
import kotlinx.coroutines.CoroutineScope
3334
import kotlinx.coroutines.Dispatchers
3435
import kotlinx.coroutines.launch
35-
import okhttp3.OkHttpClient
36-
import retrofit2.Retrofit
37-
import retrofit2.converter.scalars.ScalarsConverterFactory
3836
import java.io.File
3937
import java.util.*
40-
import java.util.concurrent.TimeUnit
4138
import kotlinx.coroutines.withContext
4239

4340

@@ -154,17 +151,7 @@ class MainActivity : AppCompatActivity() {
154151
authorization = cacheFile.readText()
155152
}
156153

157-
val BASE_URL = "http://192.168.210.30:8080"
158-
val TIMEOUT = 10
159-
val retrofit: Retrofit?
160-
val okHttpClientBuilder = OkHttpClient.Builder()
161-
okHttpClientBuilder.connectTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
162-
163-
retrofit = Retrofit.Builder()
164-
.baseUrl(BASE_URL)
165-
.addConverterFactory(ScalarsConverterFactory.create())
166-
.client(okHttpClientBuilder.build())
167-
.build()
154+
val retrofit = NetworkClient.retrofitClient
168155

169156
val service = retrofit.create(APIReserve::class.java)
170157

app/src/main/java/com/sweven/blockcovid/StartActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ class StartActivity : AppCompatActivity() {
1717
if(cacheFile.exists()) {
1818
val i = Intent(this, MainActivity::class.java)
1919
startActivity(i)
20+
finish()
2021
} else {
2122
val i = Intent(this, LoginActivity::class.java)
2223
startActivity(i)
24+
finish()
2325
}
2426
}
2527
}

app/src/main/java/com/sweven/blockcovid/data/LoginRepository.kt

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ package com.sweven.blockcovid.data
22

33
import com.sweven.blockcovid.data.model.LoggedInUser
44
import com.sweven.blockcovid.services.APIUser
5-
import okhttp3.OkHttpClient
6-
import retrofit2.Retrofit
7-
import retrofit2.converter.scalars.ScalarsConverterFactory
5+
import com.sweven.blockcovid.services.NetworkClient
86
import java.io.IOException
9-
import java.util.concurrent.TimeUnit
107

118
/**
129
* Classe che richiede l'autenticazione e le informazioni sull'utente dall'origine dati remota e
@@ -35,25 +32,14 @@ class LoginRepository(val dataSource: LoginDataSource) {
3532

3633
suspend fun login(username: String, password: String): Result<LoggedInUser> {
3734

38-
val BASE_URL = "http://192.168.210.30:8080"
39-
val TIMEOUT = 10
40-
val retrofit: Retrofit?
41-
val okHttpClientBuilder = OkHttpClient.Builder()
42-
okHttpClientBuilder.connectTimeout(TIMEOUT.toLong(), TimeUnit.SECONDS)
43-
44-
retrofit = Retrofit.Builder()
45-
.baseUrl(BASE_URL)
46-
.addConverterFactory(ScalarsConverterFactory.create())
47-
.client(okHttpClientBuilder.build())
48-
.build()
35+
val retrofit = NetworkClient.retrofitClient
4936

5037
val service = retrofit.create(APIUser::class.java)
5138

5239
val fields: HashMap<String?, String?> = HashMap()
5340
fields["username"] = (username)
5441
fields["password"] = (password)
5542

56-
5743
val response = service.loginUser(fields)
5844
return if (response.isSuccessful) {
5945
val token = response.body()?.string().toString()
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.sweven.blockcovid.services
2+
3+
import okhttp3.OkHttpClient
4+
import retrofit2.Retrofit
5+
import retrofit2.converter.scalars.ScalarsConverterFactory
6+
import java.util.concurrent.TimeUnit
7+
8+
object NetworkClient {
9+
10+
private const val url = "http://192.168.210.30:8080"
11+
private const val timeout = 10
12+
var retrofit: Retrofit? = null
13+
14+
val retrofitClient: Retrofit
15+
get() {
16+
if (retrofit == null) {
17+
val okHttpClientBuilder = OkHttpClient.Builder()
18+
okHttpClientBuilder.connectTimeout(timeout.toLong(), TimeUnit.SECONDS)
19+
retrofit = Retrofit.Builder()
20+
.baseUrl(url)
21+
.addConverterFactory(ScalarsConverterFactory.create())
22+
.client(okHttpClientBuilder.build())
23+
.build()
24+
}
25+
return retrofit!!
26+
}
27+
}

0 commit comments

Comments
 (0)