From d82ecf624e6a73977d66cd34bbe887d0257319c0 Mon Sep 17 00:00:00 2001 From: Mariya Date: Sat, 27 Jan 2024 12:55:42 +0530 Subject: [PATCH] device registering issue resolved --- .../presentation/dashboard/DashboardActivity.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt index 395a194..5ea1e98 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/DashboardActivity.kt @@ -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() {