Merge "Regional: Customize date and time format and accessibility services"
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index c48a29a..c0a1e5c 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -276,4 +276,18 @@
 
     <!-- Voice Call earpiece Volume,its value is from 0 to 5,default value is 4 -->
     <integer name="def_voice_call_earpiece_volume" translatable="false">4</integer>
+
+    <!-- Date format,yyyy-MM-dd: 2013/07/30; MM-dd-yyyy:07/30/2013; dd-MM-yyyy:30/07/2013 -->
+    <string name="def_date_format" translatable="false"></string>
+
+    <!-- Time format,default value is 24 : 24 format,other value is 12 format -->
+    <string name="def_time_format" translatable="false"></string>
+
+    <!-- enable accessibility or not,1:enable;0:disable -->
+    <integer name="def_enable_accessibility">0</integer>
+
+    <!-- for enable accessibility services,split by ":" ,
+         example "com.google.android.marvin.talkback/
+         com.google.android.marvin.talkback.TalkBackService" -->
+    <string name="def_enable_accessibility_services" translatable="false"></string>
 </resources>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 8c98f5c..5d2229f 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -2168,6 +2168,35 @@
                         final SettingsState systemSettings = getSystemSettingsLocked(userId);
                         loadCustomizedVolumeLevels(systemSettings);
                     }
+
+                    // Allow OEMs to set date format, time format and enable/disable accessibility
+                    // services in resource.
+                    final SettingsState dateAndTimeSettings = getSystemSettingsLocked(userId);
+                    String defaultStringComponent;
+                    int defaultIntComponent;
+                    defaultStringComponent = getContext().getResources().getString(
+                            R.string.def_date_format);
+                    if (!TextUtils.isEmpty(defaultStringComponent)) {
+                        dateAndTimeSettings.insertSettingLocked(Settings.System.DATE_FORMAT,
+                                defaultStringComponent,SettingsState.SYSTEM_PACKAGE_NAME);
+                    }
+                    defaultStringComponent = getContext().getResources().getString(
+                            R.string.def_time_format);
+                    if (!TextUtils.isEmpty(defaultStringComponent)) {
+                        dateAndTimeSettings.insertSettingLocked(Settings.System.TIME_12_24,
+                                defaultStringComponent,SettingsState.SYSTEM_PACKAGE_NAME);
+                    }
+                    defaultIntComponent = getContext().getResources().getInteger(
+                            R.integer.def_enable_accessibility);
+                    secureSettings.insertSettingLocked(Settings.Secure.ACCESSIBILITY_ENABLED,
+                            String.valueOf(defaultIntComponent),SettingsState.SYSTEM_PACKAGE_NAME);
+                    defaultStringComponent = getContext().getResources().getString(
+                            R.string.def_enable_accessibility_services);
+                    if (!TextUtils.isEmpty(defaultStringComponent)) {
+                        secureSettings.insertSettingLocked(Settings.Secure.
+                                ENABLED_ACCESSIBILITY_SERVICES,defaultStringComponent,
+                                SettingsState.SYSTEM_PACKAGE_NAME);
+                    }
                     currentVersion = 122;
                 }
                 // vXXX: Add new settings above this point.