summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuK1337 <priv.luk@gmail.com>2020-08-29 10:54:56 +0200
committerLuK1337 <priv.luk@gmail.com>2020-08-29 10:58:55 +0200
commit7e5db13fd6d6d703a19a34f8704dbc70a8d104cb (patch)
tree420d8fac3d4d583cbd0fb7d8ca3efae404b187f5
parent6d9b7c4fa5f05b6776d718e4b89d2950b1de2935 (diff)
LineageParts: Discard all invalid bits when setting TRUST_WARNINGS value
Test: adb shell settings --lineage put secure trust_warnings 3 then try to change the preference in settings. Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/2435 Change-Id: Ieda259513fb51380ffb3216f33353f51c23f8ddc
-rw-r--r--src/org/lineageos/lineageparts/trust/TrustPreferences.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/org/lineageos/lineageparts/trust/TrustPreferences.java b/src/org/lineageos/lineageparts/trust/TrustPreferences.java
index 670fcad..1b49c97 100644
--- a/src/org/lineageos/lineageparts/trust/TrustPreferences.java
+++ b/src/org/lineageos/lineageparts/trust/TrustPreferences.java
@@ -230,7 +230,8 @@ public class TrustPreferences extends SettingsPreferenceFragment {
LineageSettings.Secure.TRUST_WARNINGS, TrustInterface.TRUST_WARN_MAX_VALUE);
int newValue = value ? (original | feature) : (original & ~feature);
boolean success = LineageSettings.Secure.putInt(getContext().getContentResolver(),
- LineageSettings.Secure.TRUST_WARNINGS, newValue);
+ LineageSettings.Secure.TRUST_WARNINGS,
+ newValue & TrustInterface.TRUST_WARN_MAX_VALUE);
if (success && !value) {
mInterface.removeNotificationForFeature(feature);
}