Merge "Disable MTE developer option if device config overrides it" into udc-dev am: c5054d5907

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21548006

Change-Id: I33d87ecc4efe5ac2364f4068ecca4e19a0c4b17d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-03-01 06:34:53 +00:00
committed by Automerger Merge Worker
3 changed files with 17 additions and 2 deletions

View File

@@ -48,6 +48,9 @@ public class DevelopmentMemtagPreferenceController extends TogglePreferenceContr
@Override
public int getAvailabilityStatus() {
if (MemtagHelper.isForcedOff() || MemtagHelper.isForcedOn()) {
return BasePreferenceController.DISABLED_DEPENDENT_SETTING;
}
return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
&& SystemProperties.getBoolean("ro.arm64.memtag.bootctl_supported", false)
? BasePreferenceController.AVAILABLE

View File

@@ -25,14 +25,14 @@ import com.android.settings.core.BasePreferenceController;
import java.util.Arrays;
public class MemtagHelper {
private static boolean isForcedOff() {
public static boolean isForcedOff() {
return "force_off"
.equals(
SystemProperties.get(
"persist.device_config.memory_safety_native_boot.bootloader_override"));
}
private static boolean isForcedOn() {
public static boolean isForcedOn() {
return "force_on"
.equals(
SystemProperties.get(

View File

@@ -176,4 +176,16 @@ public class MemtagHelperTest {
ShadowSystemProperties.override(mMemtagProperty, "memtag");
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_force_on);
}
@Test
public void isForcedOn_forceOnOverride_isTrue() {
ShadowSystemProperties.override(mDeviceConfigOverride, "force_on");
assertThat(MemtagHelper.isForcedOn()).isTrue();
}
@Test
public void isForcedOff_forceOffOverride_isTrue() {
ShadowSystemProperties.override(mDeviceConfigOverride, "force_off");
assertThat(MemtagHelper.isForcedOff()).isTrue();
}
}