aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/advancedprivacy/widget
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/widget')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt12
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt9
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
)