Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d72b272 authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru Committed by android code review
Browse files

Merge "Add support for SE Android to the Settings app."

parents 9ad4a898 b4e84f34
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1778,6 +1778,8 @@
    <string name="kernel_version">Kernel version</string>
    <!-- About phone screen,  setting option name-->
    <string name="build_number">Build number</string>
    <!-- About phone screen,  setting option name-->
    <string name="selinux_status">SELinux status</string>

    <!-- About phone screen, show when a value of some status item is unavailable. -->
    <string name="device_info_not_available">Not available</string>
@@ -4034,6 +4036,11 @@
    from their cell phone carrier. The use of the string is similar to the string
    "system_update_settings_list_item_title" in this project. [CHAR LIMIT=25] -->
    <string name="additional_system_update_settings_list_item_title">Additional system updates</string>
    <!-- These statuses are displayed when a device was built with SE Android supoprt.
    These are displayed by the settings app in the about section. -->
    <string name="selinux_status_disabled">Disabled</string>
    <string name="selinux_status_permissive">Permissive</string>
    <string name="selinux_status_enforcing">Enforcing</string>

    <!-- User settings -->
    <skip/>
+6 −0
Original line number Diff line number Diff line
@@ -119,4 +119,10 @@
                android:title="@string/build_number"
                android:summary="@string/device_info_default"/>

        <!-- SELinux status information -->
        <Preference android:key="selinux_status"
                style="?android:preferenceInformationStyle"
                android:title="@string/selinux_status"
                android:summary="@string/selinux_status_enforcing"/>

</PreferenceScreen>
+15 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.SELinux;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.preference.Preference;
@@ -53,9 +54,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
    private static final String KEY_COPYRIGHT = "copyright";
    private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings";
    private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal";
    private static final String PROPERTY_SELINUX_STATUS = "ro.build.selinux";
    private static final String KEY_KERNEL_VERSION = "kernel_version";
    private static final String KEY_BUILD_NUMBER = "build_number";
    private static final String KEY_DEVICE_MODEL = "device_model";
    private static final String KEY_SELINUX_STATUS = "selinux_status";
    private static final String KEY_BASEBAND_VERSION = "baseband_version";
    private static final String KEY_FIRMWARE_VERSION = "firmware_version";
    private static final String KEY_UPDATE_SETTING = "additional_system_update_settings";
@@ -75,6 +78,18 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
        setStringSummary(KEY_BUILD_NUMBER, Build.DISPLAY);
        findPreference(KEY_KERNEL_VERSION).setSummary(getFormattedKernelVersion());

        if (!SELinux.isSELinuxEnabled()) {
            String status = getResources().getString(R.string.selinux_status_disabled);
            setStringSummary(KEY_SELINUX_STATUS, status);
        } else if (!SELinux.isSELinuxEnforced()) {
            String status = getResources().getString(R.string.selinux_status_permissive);
            setStringSummary(KEY_SELINUX_STATUS, status);
        }

        // Remove selinux information if property is not present
        removePreferenceIfPropertyMissing(getPreferenceScreen(), KEY_SELINUX_STATUS,
                PROPERTY_SELINUX_STATUS);

        // Remove Safety information preference if PROPERTY_URL_SAFETYLEGAL is not set
        removePreferenceIfPropertyMissing(getPreferenceScreen(), "safetylegal",
                PROPERTY_URL_SAFETYLEGAL);