diff options
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/widget')
-rw-r--r-- | app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt | 12 | ||||
-rw-r--r-- | app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt | 9 |
2 files changed, 15 insertions, 6 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt b/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt index f68a59c..9021125 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt @@ -26,10 +26,15 @@ class WidgetCommandReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { val getQuickPrivacyStateUseCase = (context?.applicationContext as? AdvancedPrivacyApplication)?.dependencyContainer?.getQuickPrivacyStateUseCase + val featureEnabled = intent?.extras?.let { bundle -> + if (bundle.containsKey(PARAM_FEATURE_ENABLED)) + bundle.getBoolean(PARAM_FEATURE_ENABLED) + else null + } when (intent?.action) { - ACTION_TOGGLE_TRACKERS -> getQuickPrivacyStateUseCase?.toggleTrackers() - ACTION_TOGGLE_LOCATION -> getQuickPrivacyStateUseCase?.toggleLocation() - ACTION_TOGGLE_IPSCRAMBLING -> getQuickPrivacyStateUseCase?.toggleIpScrambling() + ACTION_TOGGLE_TRACKERS -> getQuickPrivacyStateUseCase?.toggleTrackers(featureEnabled) + ACTION_TOGGLE_LOCATION -> getQuickPrivacyStateUseCase?.toggleLocation(featureEnabled) + ACTION_TOGGLE_IPSCRAMBLING -> getQuickPrivacyStateUseCase?.toggleIpScrambling(featureEnabled) else -> {} } } @@ -38,5 +43,6 @@ class WidgetCommandReceiver : BroadcastReceiver() { const val ACTION_TOGGLE_TRACKERS = "toggle_trackers" const val ACTION_TOGGLE_LOCATION = "toggle_location" const val ACTION_TOGGLE_IPSCRAMBLING = "toggle_ipscrambling" + const val PARAM_FEATURE_ENABLED = "param_feature_enabled" } } diff --git a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt b/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt index cb7fe5c..f1edb36 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt @@ -37,6 +37,7 @@ import foundation.e.advancedprivacy.main.MainActivity import foundation.e.advancedprivacy.widget.WidgetCommandReceiver.Companion.ACTION_TOGGLE_IPSCRAMBLING import foundation.e.advancedprivacy.widget.WidgetCommandReceiver.Companion.ACTION_TOGGLE_LOCATION import foundation.e.advancedprivacy.widget.WidgetCommandReceiver.Companion.ACTION_TOGGLE_TRACKERS +import foundation.e.advancedprivacy.widget.WidgetCommandReceiver.Companion.PARAM_FEATURE_ENABLED data class State( val quickPrivacyState: QuickPrivacyState = QuickPrivacyState.DISABLED, @@ -75,11 +76,10 @@ fun render( ) ) + val trackersEnabled = state.trackerMode != TrackerMode.VULNERABLE setImageViewResource( R.id.toggle_trackers, - if (state.trackerMode == TrackerMode.VULNERABLE) - R.drawable.ic_switch_disabled - else R.drawable.ic_switch_enabled + if (trackersEnabled) R.drawable.ic_switch_enabled else R.drawable.ic_switch_disabled ) setOnClickPendingIntent( @@ -89,6 +89,7 @@ fun render( REQUEST_CODE_TOGGLE_TRACKERS, Intent(context, WidgetCommandReceiver::class.java).apply { action = ACTION_TOGGLE_TRACKERS + putExtra(PARAM_FEATURE_ENABLED, !trackersEnabled) }, FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) @@ -118,6 +119,7 @@ fun render( REQUEST_CODE_TOGGLE_LOCATION, Intent(context, WidgetCommandReceiver::class.java).apply { action = ACTION_TOGGLE_LOCATION + putExtra(PARAM_FEATURE_ENABLED, !state.isLocationHidden) }, FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) @@ -144,6 +146,7 @@ fun render( REQUEST_CODE_TOGGLE_IPSCRAMBLING, Intent(context, WidgetCommandReceiver::class.java).apply { action = ACTION_TOGGLE_IPSCRAMBLING + putExtra(PARAM_FEATURE_ENABLED, !state.ipScramblingMode.isChecked) }, FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) |