diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2012-08-08 13:19:26 -0700 |
---|---|---|
committer | android code review <noreply-gerritcodereview@google.com> | 2012-08-08 13:19:26 -0700 |
commit | 5d72b2726797374e402943182d8132045ed32d3a (patch) | |
tree | 970c4f2b30d1e2dbb8dbbde6cd1a607ed85a9682 | |
parent | 9ad4a89877363a6f1128b258f6535b29d2f778e2 (diff) | |
parent | b4e84f34e095ad423b854f66f75aeb36514d49f0 (diff) | |
download | packages_apps_settings-5d72b2726797374e402943182d8132045ed32d3a.zip packages_apps_settings-5d72b2726797374e402943182d8132045ed32d3a.tar.gz packages_apps_settings-5d72b2726797374e402943182d8132045ed32d3a.tar.bz2 |
Merge "Add support for SE Android to the Settings app."
-rw-r--r-- | res/values/strings.xml | 7 | ||||
-rw-r--r-- | res/xml/device_info_settings.xml | 6 | ||||
-rw-r--r-- | src/com/android/settings/DeviceInfoSettings.java | 15 |
3 files changed, 28 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 2371b4a..5a774f0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -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/> diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index 93347c6..3121867 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -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> diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index c25a466..152b8e2 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -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); |