Merge "Move bootloader_override property" into udc-dev am: f58ea4671e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22234234 Change-Id: Ia4d95a05268432874a40cfe4f905d28c269b30ec Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.security;
|
package com.android.settings.security;
|
||||||
|
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.internal.os.Zygote;
|
import com.android.internal.os.Zygote;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -25,18 +26,15 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class MemtagHelper {
|
public class MemtagHelper {
|
||||||
|
public static final String DEVICE_CONFIG_PROP =
|
||||||
|
"persist.device_config.runtime_native_boot.bootloader_override";
|
||||||
|
|
||||||
public static boolean isForcedOff() {
|
public static boolean isForcedOff() {
|
||||||
return "force_off"
|
return TextUtils.equals("force_on", SystemProperties.get(DEVICE_CONFIG_PROP));
|
||||||
.equals(
|
|
||||||
SystemProperties.get(
|
|
||||||
"persist.device_config.memory_safety_native_boot.bootloader_override"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isForcedOn() {
|
public static boolean isForcedOn() {
|
||||||
return "force_on"
|
return TextUtils.equals("force_on", SystemProperties.get(DEVICE_CONFIG_PROP));
|
||||||
.equals(
|
|
||||||
SystemProperties.get(
|
|
||||||
"persist.device_config.memory_safety_native_boot.bootloader_override"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isChecked() {
|
public static boolean isChecked() {
|
||||||
|
@@ -33,8 +33,6 @@ import org.robolectric.shadows.ShadowSystemProperties;
|
|||||||
public class MemtagHelperTest {
|
public class MemtagHelperTest {
|
||||||
private final String mMemtagProperty = "arm64.memtag.bootctl";
|
private final String mMemtagProperty = "arm64.memtag.bootctl";
|
||||||
private final String mMemtagSupportedProperty = "ro.arm64.memtag.bootctl_settings_toggle";
|
private final String mMemtagSupportedProperty = "ro.arm64.memtag.bootctl_settings_toggle";
|
||||||
private final String mDeviceConfigOverride =
|
|
||||||
"persist.device_config.memory_safety_native_boot.bootloader_override";
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isChecked_empty_isFalse() {
|
public void isChecked_empty_isFalse() {
|
||||||
@@ -80,7 +78,7 @@ public class MemtagHelperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailabilityStatus_isForcedOff_isDISABLED_DEPENDENT_SETTING() {
|
public void getAvailabilityStatus_isForcedOff_isDISABLED_DEPENDENT_SETTING() {
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_off");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_off");
|
||||||
ShadowSystemProperties.override(mMemtagSupportedProperty, "true");
|
ShadowSystemProperties.override(mMemtagSupportedProperty, "true");
|
||||||
assertThat(MemtagHelper.getAvailabilityStatus())
|
assertThat(MemtagHelper.getAvailabilityStatus())
|
||||||
.isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
.isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||||
@@ -88,7 +86,7 @@ public class MemtagHelperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailabilityStatus_isForcedOn_isDISABLED_DEPENDENT_SETTING() {
|
public void getAvailabilityStatus_isForcedOn_isDISABLED_DEPENDENT_SETTING() {
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_on");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_on");
|
||||||
ShadowSystemProperties.override(mMemtagSupportedProperty, "true");
|
ShadowSystemProperties.override(mMemtagSupportedProperty, "true");
|
||||||
assertThat(MemtagHelper.getAvailabilityStatus())
|
assertThat(MemtagHelper.getAvailabilityStatus())
|
||||||
.isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
.isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||||
@@ -96,7 +94,7 @@ public class MemtagHelperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailabilityStatus_isUnsupported_isUNSUPPORTED_ON_DEVICE() {
|
public void getAvailabilityStatus_isUnsupported_isUNSUPPORTED_ON_DEVICE() {
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "");
|
||||||
ShadowSystemProperties.override(mMemtagSupportedProperty, "false");
|
ShadowSystemProperties.override(mMemtagSupportedProperty, "false");
|
||||||
assertThat(MemtagHelper.getAvailabilityStatus())
|
assertThat(MemtagHelper.getAvailabilityStatus())
|
||||||
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
||||||
@@ -127,7 +125,7 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_memtagAndZygoteSupportsMemoryTagging_memtag_on() {
|
public void getSummary_memtagAndZygoteSupportsMemoryTagging_memtag_on() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(true);
|
ZygoteShadow.setSupportsMemoryTagging(true);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_on);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_on);
|
||||||
}
|
}
|
||||||
@@ -136,7 +134,7 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_noMemtagAndZygoteSupportsMemoryTagging_memtag_off_pending() {
|
public void getSummary_noMemtagAndZygoteSupportsMemoryTagging_memtag_off_pending() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(true);
|
ZygoteShadow.setSupportsMemoryTagging(true);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "");
|
ShadowSystemProperties.override(mMemtagProperty, "");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_off_pending);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_off_pending);
|
||||||
}
|
}
|
||||||
@@ -145,7 +143,7 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_noMemtagAndNoZygoteSupportsMemoryTagging_memtag_off() {
|
public void getSummary_noMemtagAndNoZygoteSupportsMemoryTagging_memtag_off() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(false);
|
ZygoteShadow.setSupportsMemoryTagging(false);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "");
|
ShadowSystemProperties.override(mMemtagProperty, "");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_off);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_off);
|
||||||
}
|
}
|
||||||
@@ -154,7 +152,7 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_memtagAndNoZygoteSupportsMemoryTagging_memtag_on_pending() {
|
public void getSummary_memtagAndNoZygoteSupportsMemoryTagging_memtag_on_pending() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(false);
|
ZygoteShadow.setSupportsMemoryTagging(false);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_on_pending);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_on_pending);
|
||||||
}
|
}
|
||||||
@@ -163,7 +161,7 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_forceOffOverride_memtag_force_off() {
|
public void getSummary_forceOffOverride_memtag_force_off() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(false);
|
ZygoteShadow.setSupportsMemoryTagging(false);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_off");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_off");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_force_off);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_force_off);
|
||||||
}
|
}
|
||||||
@@ -172,20 +170,20 @@ public class MemtagHelperTest {
|
|||||||
@Config(shadows = {ZygoteShadow.class})
|
@Config(shadows = {ZygoteShadow.class})
|
||||||
public void getSummary_forceOffOverride_memtag_force_on() {
|
public void getSummary_forceOffOverride_memtag_force_on() {
|
||||||
ZygoteShadow.setSupportsMemoryTagging(false);
|
ZygoteShadow.setSupportsMemoryTagging(false);
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_on");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_on");
|
||||||
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
ShadowSystemProperties.override(mMemtagProperty, "memtag");
|
||||||
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_force_on);
|
assertThat(MemtagHelper.getSummary()).isEqualTo(R.string.memtag_force_on);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isForcedOn_forceOnOverride_isTrue() {
|
public void isForcedOn_forceOnOverride_isTrue() {
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_on");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_on");
|
||||||
assertThat(MemtagHelper.isForcedOn()).isTrue();
|
assertThat(MemtagHelper.isForcedOn()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isForcedOff_forceOffOverride_isTrue() {
|
public void isForcedOff_forceOffOverride_isTrue() {
|
||||||
ShadowSystemProperties.override(mDeviceConfigOverride, "force_off");
|
ShadowSystemProperties.override(MemtagHelper.DEVICE_CONFIG_PROP, "force_off");
|
||||||
assertThat(MemtagHelper.isForcedOff()).isTrue();
|
assertThat(MemtagHelper.isForcedOff()).isTrue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user