summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-08-08 14:06:31 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-08 14:06:31 -0700
commit66321184570da9e93c089b2a1065fc3d4c7230a3 (patch)
tree5cf9124445cd6538b7ab187dce7c8e5eaaaf2038
parenta1f463cb1930e806420844d4915def2dcfe7ae72 (diff)
parent7526636406087666d005d389ddc0cdacd79499fd (diff)
downloadpackages_apps_settings-66321184570da9e93c089b2a1065fc3d4c7230a3.zip
packages_apps_settings-66321184570da9e93c089b2a1065fc3d4c7230a3.tar.gz
packages_apps_settings-66321184570da9e93c089b2a1065fc3d4c7230a3.tar.bz2
am 75266364: am 5d72b272: Merge "Add support for SE Android to the Settings app."
* commit '7526636406087666d005d389ddc0cdacd79499fd': Add support for SE Android to the Settings app.
-rw-r--r--res/values/strings.xml7
-rw-r--r--res/xml/device_info_settings.xml6
-rw-r--r--src/com/android/settings/DeviceInfoSettings.java15
3 files changed, 28 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b89fe3a..3c54d1a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1789,6 +1789,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>
@@ -4062,6 +4064,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 b156c11..324deaa 100644
--- a/res/xml/device_info_settings.xml
+++ b/res/xml/device_info_settings.xml
@@ -125,4 +125,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 7d8b805..3847862 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";
@@ -79,6 +82,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);