device registering issue resolved

This commit is contained in:
Mariya
2024-01-27 12:55:42 +05:30
parent d2d965d524
commit d82ecf624e

View File

@@ -1,5 +1,6 @@
package com.example.hpostesting.presentation.dashboard
import android.annotation.SuppressLint
import android.app.DownloadManager
import android.content.BroadcastReceiver
import android.content.Context
@@ -47,6 +48,7 @@ class DashboardActivity : AppCompatActivity(), IDataCollector {
var responses: String = ""
lateinit var nats: NatsManager
private var downloadId: Long = 0
private var isReceiverRegistered = false
// TODO: Remove hemocube viewmodel
private val hemocubeViewModel: HemoCubeViewModel by viewModels()
@@ -125,6 +127,7 @@ class DashboardActivity : AppCompatActivity(), IDataCollector {
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
}
@SuppressLint("UnspecifiedRegisterReceiverFlag")
private fun initiateUpdate(responseBody: String) {
if (!isValidHttpUrl(responseBody)) {
return
@@ -139,7 +142,11 @@ class DashboardActivity : AppCompatActivity(), IDataCollector {
val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
downloadId = downloadManager.enqueue(request)
val filter = IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)
registerReceiver(downloadReceiver, filter)
if (!isReceiverRegistered) {
val filter = IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)
registerReceiver(downloadReceiver, filter)
isReceiverRegistered = true
}
}
private fun extractApkUrl(responseBody: ResponseBody): String {
return responseBody.string()
@@ -183,7 +190,10 @@ class DashboardActivity : AppCompatActivity(), IDataCollector {
override fun onDestroy() {
super.onDestroy()
unregisterReceiver(downloadReceiver)
if (isReceiverRegistered) {
unregisterReceiver(downloadReceiver)
isReceiverRegistered = false
}
}
override fun onResume() {