diff --git a/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt b/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt index 565e4579d70221c86afbaf1841c31087ca3ed8c1..da76b3a200d16f62db669983a9eca125d305e5bb 100644 --- a/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt +++ b/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt @@ -45,20 +45,22 @@ class LoginViewModel : ViewModel() { fun checkToken(bearerToken: String) { viewModelScope.launch { try { - val repository = UserRepository( - RetrofitClient.getInstanceWithAuth(bearerToken).create(UserService::class.java) - ) + val repository = + UserRepository( + RetrofitClient.getInstanceWithAuth(bearerToken).create(UserService::class.java), + ) val tokenResponse = repository.checkToken() if (tokenResponse.isSuccessful) { _tokenResponse.value = tokenResponse.body() } else { - _tokenResponse.value = TokenResponse( - "", - 0, - 0, - tokenResponse.errorBody()?.string() ?: "Unknown error" - ) + _tokenResponse.value = + TokenResponse( + "", + 0, + 0, + tokenResponse.errorBody()?.string() ?: "Unknown error", + ) } } catch (e: Exception) { _tokenResponse.value = TokenResponse("", 0, 0, e.message ?: "Unknown error") diff --git a/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt b/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt index 4095645bc19bd4c3498249018ac455a848b23ef6..edbcaab71cc89a9116e1653fb39a270488605e3a 100644 --- a/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt +++ b/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt @@ -53,13 +53,12 @@ class ScanReceiptViewModel : ViewModel() { _scanReceiptResponse.value = ScanReceiptResponseItemsWrapper( null, - "You're offline. Please check your internet." + "You're offline. Please check your internet.", ) } catch (e: Exception) { _scanReceiptResponse.value = ScanReceiptResponseItemsWrapper(null, "Something went wrong. Please try again.") } - } } } diff --git a/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt b/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt index 6fee0137958b69fe37259caeec38d8d0ea511c7e..1e318056f7d3b81e6307dba437c911b985e5a83e 100644 --- a/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt +++ b/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt @@ -64,31 +64,39 @@ class ExpiryService : Service() { private fun checkTokenJob(token: String) { coroutineScope.launch { - val repository = - UserRepository( - RetrofitClient.getInstanceWithAuth(token).create( - UserService::class.java, - ), - ) - val tokenResponse = repository.checkToken() + try { + val repository = + UserRepository( + RetrofitClient.getInstanceWithAuth(token).create( + UserService::class.java, + ), + ) - // If not success then sendBroadcast - if (!tokenResponse.isSuccessful || tokenResponse.body() == null) { - sendBroadcast() - stopSelf() - return@launch - } + val tokenResponse = repository.checkToken() + + // If not success then sendBroadcast + if (!tokenResponse.isSuccessful || tokenResponse.body() == null) { + sendBroadcast() + stopSelf() + return@launch + } - // If expired then sendBroadcast - val currentTime = System.currentTimeMillis() / 1000 - if (tokenResponse.body()?.exp != null && tokenResponse.body()?.exp!! < currentTime) { + // If expired then sendBroadcast + val currentTime = System.currentTimeMillis() / 1000 + if (tokenResponse.body()?.exp != null && tokenResponse.body()?.exp!! < currentTime) { + sendBroadcast() + stopSelf() + return@launch + } + + val timeout = + tokenResponse.body()?.exp?.minus(currentTime)?.times(1000) ?: defaultTimeout + startTimer(timeout) + } catch (e: Exception) { + Log.e("ExpiryService", "Error checking token", e) sendBroadcast() stopSelf() - return@launch } - - val timeout = tokenResponse.body()?.exp?.minus(currentTime)?.times(1000) ?: defaultTimeout - startTimer(timeout) } }