X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyCell.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacycell%2Fworkers%2FRegisterRealtimeListenerWorker.kt;h=6bb76add73692863138dcc4930427af3a1af7239;hp=7fe86d028b06ede04598f9bff6f24642cb06b851;hb=86731d839decc4df39f2fa765f6727e64e151cb6;hpb=3191bf833c94b2462d4391ef913a2c2643632361 diff --git a/app/src/main/java/com/stoutner/privacycell/workers/RegisterRealtimeListenerWorker.kt b/app/src/main/java/com/stoutner/privacycell/workers/RegisterRealtimeListenerWorker.kt index 7fe86d0..6bb76ad 100644 --- a/app/src/main/java/com/stoutner/privacycell/workers/RegisterRealtimeListenerWorker.kt +++ b/app/src/main/java/com/stoutner/privacycell/workers/RegisterRealtimeListenerWorker.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2021 Soren Stoutner . + * Copyright © 2021-2022 Soren Stoutner . * * This file is part of Privacy Cell . * @@ -46,11 +46,12 @@ class RegisterRealtimeListenerWorker(appContext: Context, workerParameters: Work val realtimeMonitoring = sharedPreferences.getBoolean(applicationContext.getString(R.string.realtime_monitoring_key), true) // Perform the functions according to the realtime monitoring status. + @Suppress("DEPRECATION") // The deprecated `getRunningServices()` now only returns services started by Privacy Cell, but that is all we want to know anyway. if (realtimeMonitoring) { // Realtime monitoring is enabled. // Get a handle for the activity manager. val activityManager: ActivityManager = applicationContext.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager - // Get a list of the running service info. The deprecated `getRunningServices()` now only returns services stared by Privacy Cell, but that is all we want to know anyway. + // Get a list of the running service info. The deprecated `getRunningServices()` now only returns services started by Privacy Cell, but that is all we want to know anyway. val runningServiceInfoList: List = activityManager.getRunningServices(1) // Check to see if the service is currently running. @@ -89,6 +90,9 @@ class RegisterRealtimeListenerWorker(appContext: Context, workerParameters: Work applicationContext.bindService(Intent(applicationContext, RealtimeMonitoringService::class.java), serviceConnection, 0) } } else { // Realtime monitoring is disabled. + // Stop the realtime monitoring service. + applicationContext.stopService(Intent(applicationContext, RealtimeMonitoringService::class.java)) + // Cancel the realtime listener work request. WorkManager.getInstance(applicationContext).cancelUniqueWork(applicationContext.getString(R.string.register_listener_work_request)) }