reduced number of api calls in home screen
This commit is contained in:
@@ -100,8 +100,6 @@ class DashboardActivity : AppCompatActivity(), IDataCollector {
|
||||
val apk = result.data
|
||||
val file = File(getExternalFilesDir("Updates"), "update.apk")
|
||||
file.setReadable(true, false) // Ensure the file is readable
|
||||
|
||||
|
||||
apk.byteStream().use { input ->
|
||||
file.outputStream().use { output ->
|
||||
input.copyTo(output)
|
||||
|
||||
@@ -267,14 +267,12 @@ class HomeFragment : Fragment() {
|
||||
var password = sharedPreference.getString(Constants.DEVICE_PASSWORD_API, "").toString()
|
||||
var userID = sharedPreference.getString(Constants.DEVICE_ID_API, "").toString()
|
||||
deviceId = sharedPreference.getString(Constants.DEVICE_ID, "").toString()
|
||||
if (userID.isNotEmpty() && password.isNotEmpty()) {
|
||||
if (!isTokenAvailable || isTokenExpired(accessToken)) {
|
||||
hemoCubeViewModel.login(createLoginRequestData(userID, password))
|
||||
} else {
|
||||
isTokenAvailable = true
|
||||
hemoCubeViewModel.startPeriodicCheckUpdate()
|
||||
hemoCubeViewModel.checkUpdate(createCheckUpdateRequestData())
|
||||
|
||||
if (!isTokenAvailable) {
|
||||
if(userID.isNotEmpty() || password.isNotEmpty()) {
|
||||
if(isTokenExpired(accessToken)) {
|
||||
hemoCubeViewModel.login(createLoginRequestData(userID, password))
|
||||
}
|
||||
}
|
||||
} else if (userID.isEmpty() && password.isEmpty() && deviceId.isNotEmpty()) {
|
||||
fetchDeviceCredentials()
|
||||
@@ -290,6 +288,9 @@ class HomeFragment : Fragment() {
|
||||
when (response) {
|
||||
is Result.Success -> {
|
||||
updateTokens(response)
|
||||
isTokenAvailable = true
|
||||
hemoCubeViewModel.startPeriodicCheckUpdate()
|
||||
hemoCubeViewModel.checkUpdate(createCheckUpdateRequestData())
|
||||
}
|
||||
|
||||
is Result.Error -> {
|
||||
@@ -326,7 +327,7 @@ class HomeFragment : Fragment() {
|
||||
response.exception.let { message ->
|
||||
Toast.makeText(
|
||||
activity,
|
||||
"An error occurred in uploading logs: $message",
|
||||
"$message",
|
||||
Toast.LENGTH_LONG
|
||||
)
|
||||
.show()
|
||||
@@ -344,13 +345,23 @@ class HomeFragment : Fragment() {
|
||||
hemoCubeViewModel.checkUpdate.observe(viewLifecycleOwner) { response ->
|
||||
when (response) {
|
||||
is Result.Success -> {
|
||||
// Handle success
|
||||
val apkUrl = response.data
|
||||
Log.e("ApI", "APK URL: $apkUrl")
|
||||
hemoCubeViewModel.deviceUpdate(createDeviceUpdateRequestData())
|
||||
val updatedversion = response.data.data?.version.toString()
|
||||
val currentversion =
|
||||
context?.let { context?.packageManager!!.getPackageInfo(it.packageName, 0) }
|
||||
if(updatedversion > currentversion.toString()){
|
||||
hemoCubeViewModel.deviceUpdate(createDeviceUpdateRequestData())
|
||||
}else{
|
||||
Toast.makeText(
|
||||
activity,
|
||||
"App is Up to date",
|
||||
Toast.LENGTH_LONG
|
||||
)
|
||||
.show()
|
||||
}
|
||||
|
||||
Toast.makeText(
|
||||
activity,
|
||||
" ${response.data}",
|
||||
"new version ${response.data.data?.version} Available",
|
||||
Toast.LENGTH_LONG
|
||||
)
|
||||
.show()
|
||||
|
||||
Reference in New Issue
Block a user