CompatibilityMode settings
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9119edc..d6394bc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -886,6 +886,13 @@
     <!-- Sound & display settings screen, setting option summary to change screen timeout -->
     <string name="screen_timeout_summary">Adjust the delay before the screen automatically turns off</string>
 
+    <!-- Sound & display settings screen, compatibility mode check box label -->
+    <string name="compatibility_mode_title">Compatibility Mode</string>
+    <!-- Sound & display settings screen, compatibility mode option summary text when check box is selected -->
+    <string name="compatibility_mode_summary_on">Run older apps in Compatibility mode. This require rebooting. </string>
+    <!-- Sound & display settings screen, compatibility mode option summary text when check box is clear -->
+    <string name="compatibility_mode_summary_off">Run older apps in Compatibility mode. This require rebooting. </string>
+
     <!-- SIM lock settings title -->
     <string name="sim_lock_settings">SIM card lock settings</string>
     <!-- Security & location settings screen, setting option name -->
diff --git a/res/xml/sound_and_display_settings.xml b/res/xml/sound_and_display_settings.xml
index c8a9360..458bc7a 100644
--- a/res/xml/sound_and_display_settings.xml
+++ b/res/xml/sound_and_display_settings.xml
@@ -124,6 +124,11 @@
                 android:entries="@array/screen_timeout_entries"
                 android:entryValues="@array/screen_timeout_values" />
 
+        <CheckBoxPreference
+                android:key="compatibility_mode"
+                android:title="@string/compatibility_mode_title"
+                android:summaryOn="@string/compatibility_mode_summary_on"
+                android:summaryOff="@string/compatibility_mode_summary_off" />
     </PreferenceCategory>
 
 </PreferenceScreen>   
diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java
index e8cb10f..4111450 100644
--- a/src/com/android/settings/SoundAndDisplaySettings.java
+++ b/src/com/android/settings/SoundAndDisplaySettings.java
@@ -17,6 +17,7 @@
 package com.android.settings;
 
 import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
+import static android.provider.Settings.System.COMPATIBILITY_MODE;
 
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -52,6 +53,7 @@
     private static final String KEY_ANIMATIONS = "animations";
     private static final String KEY_ACCELEROMETER = "accelerometer";
     private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds";
+    private static final String KEY_COMPATIBILITY_MODE = "compatibility_mode";
     
     private CheckBoxPreference mSilent;
 
@@ -71,6 +73,7 @@
     private CheckBoxPreference mSoundEffects;
     private CheckBoxPreference mAnimations;
     private CheckBoxPreference mAccelerometer;
+    private CheckBoxPreference mCompatibilityMode;
     private float[] mAnimationScales;
     
     private AudioManager mAudioManager;
@@ -112,6 +115,10 @@
         mAnimations.setPersistent(false);
         mAccelerometer = (CheckBoxPreference) findPreference(KEY_ACCELEROMETER);
         mAccelerometer.setPersistent(false);
+        mCompatibilityMode = (CheckBoxPreference) findPreference(KEY_COMPATIBILITY_MODE);
+        mCompatibilityMode.setPersistent(false);
+        mCompatibilityMode.setChecked(Settings.System.getInt(resolver,
+                Settings.System.COMPATIBILITY_MODE, 1) != 0);
         
         ListPreference screenTimeoutPreference =
             (ListPreference) findPreference(KEY_SCREEN_TIMEOUT);
@@ -249,6 +256,10 @@
             Settings.System.putInt(getContentResolver(),
                     Settings.System.ACCELEROMETER_ROTATION,
                     mAccelerometer.isChecked() ? 1 : 0);
+        } else if (preference == mCompatibilityMode) {
+            Settings.System.putInt(getContentResolver(),
+                    Settings.System.COMPATIBILITY_MODE,
+                    mCompatibilityMode.isChecked() ? 1 : 0);
         }
         return true;
     }