diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 14d8f75..eb3c4eb 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange-dienste"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Hierdie gebeurtenis is gekanselleer vir: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Die details van hierdie gebeurtenis het verander vir: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"moenie aanhegsels toelaat nie"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"moenie geheuekaarte toelaat nie"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"moenie ongetekende programme toelaat nie"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"moenie ongetekende programinstalleerders toelaat nie"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"moenie Wi-Fi toelaat nie"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"moenie teksboodskappe toelaat nie"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"moenie POP3- of IMAP-rekeninge toelaat nie"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"moenie infrarooi kommunikasie toelaat nie"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"moenie HTML-e-pos toelaat nie"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"moenie blaaiers toelaat nie"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"moenie verbruiker-e-pos toelaat nie"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"moenie internetdeling toelaat nie"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"ondersteun \'n terugstelwagwoord"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"vereis SMIME-boodskappe"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"laat net handmatige sinkronisasie toe tydens swerwing"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"beperk Bluetooth-gebruik"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"weier aangeduide programme"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"laat net aangeduide programme toe"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"beperk datums van kalendergebeurtenisse"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"beperk datums van e-posse"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"beperk grootte van teks-e-pos"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"beperk grootte van HTML-e-pos"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"beperk aanhegselgrootte"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"vereis toestelenkripsie"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"vereis SD-kaart-enkripsie"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Moenie geheuekaarte toelaat nie"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Moenie ongetekende programme toelaat nie"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Moenie ongetekende programinstalleerders toelaat nie"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Moenie Wi-Fi toelaat nie"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Moenie teksboodskappe toelaat nie"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Moenie POP3- of IMAP-rekeninge toelaat nie"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Moenie infrarooi kommunikasie toelaat nie"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Moenie HTML-e-pos toelaat nie"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Moenie blaaiers toelaat nie"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Moenie verbruiker-e-pos toelaat nie"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Moenie internetdeling toelaat nie"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Vereis SMIME-boodskappe"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Beperk Bluetooth-gebruik"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Weier gespesifiseerde programme"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Laat net gespesifiseerde programme toe"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Beperk datums van kalendergebeurtenisse"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Beperk e-posdatums"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Beperk grootte van teks-e-pos"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Beperk grootte van HTML-e-pos"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Vereis SD-kaart-enkripsie"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Moenie aanhegsels toelaat nie"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Beperk aanhegselgrootte"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Laat net handmatige sinkronisasie toe tydens swerwing"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Vereis toestelenkripsie"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Outomaties"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Een dag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Drie dae"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 1e3ea3c..ccc20bb 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"አገልግሎቶች ለዋውጥ"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"ይህ ከስተት ለ<xliff:g id="DATE">%s</xliff:g> ተሰርዟል።"</string>
     <string name="exception_updated" msgid="3397583105901142050">"የዚህ ክስተት ዝርዝሮች ለ፡<xliff:g id="DATE">%s</xliff:g> ተለውጠዋል"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"አባሪዎች አትፍቀድ"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"የማከማቻ ካርዶችን አትፍቀድ"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ያልተረጋገጡ ትግበራዎችን አትፍቀድ"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ያልተረጋገጡ  የትግበራ ጫኞችን አትፍቀድ"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"wifi አትፍቀድ"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"የፅሁፍ መልዕክት አትፍቀድ"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3 ወይም IMAP መለያዎች አትፍቀድ"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"የታህተቀይ ግኑኙነት አትፍቀድ"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"የHTML ኢሜይል አትፍቀድ"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"አሳሾች አትፍቀድ"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"የሸማች ኢሜይል አትፍቀድ"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"የበይነ መረብ መጋሪያ አትፍቀድ"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"የጠፋ የይለፍ ቃል ለማግኘት ደግፍ"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"የSMIME መልዕክቶች ጠይቅ"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"በእንቅስቃሴ ላይ የማኑዋል አሳምር ብቻ ፍቀድ"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"የብሉቱዝ አገልግሎትን ገድብ"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"የተወሰኑ ትግበራዎችን አይፈቅድም"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"የተወሰኑ ትግበራዎችን ብቻ ፍቀድ"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"የቀን መቁጠሪያ ክስተት ቀኖችን ገድብ"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"የኢሜይል ቀኖችን ገድብ"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"የፅሁፍ ኢሜይል መጠንን ገድብ"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"የHTML  ኢሜይል መጠን ገድብ"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"የአባሪ መጠንን ገድብ"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"የመሳሪያ ምስጠራ ጠይቅ"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"የsd ካርድ ምስጠራ ጠይቅ"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"የማከማቻ ካርዶችን አትፍቀድ"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"ያልተረጋገጡ የትግበራ  አትፍቀድ"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"ያልተረጋገጡ የትግበራ ጫኞችን አትፍቀድ"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fi አትፍቀድ"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"የፅሁፍ መልዕክት አትፍቀድ"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3 ወይም IMAP መለያዎች አትፍቀድ"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"የታህተቀይ ግኑኙነት አትፍቀድ"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"የHTML ኢሜይል አትፍቀድ"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"አሳሾች አትፍቀድ"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"የሸማች ኢሜይል አትፍቀድ"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"የበይነ መረብ ማጋራት አትፍቀድ"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"የSMIME መልዕክቶች ጠይቅ"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"የብሉቱዝ አገልግሎትን ገድብ"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"የተወሰኑ ትግበራዎችን አትፍቀድ"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"የተወሰኑ ትግበራዎችን ብቻ ፍቀድ"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"የቀን መቁጠሪያ ክስተት ቀኖችን ገድብ"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"የኢሜይል ቀኖችን ገድብ"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"የፅሁፍ ኢሜይል መጠንን ገድብ"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"የHTML ኢሜይል መጠን ገድብ"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"የsd ካርድ ምስጠራ ጠይቅ"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"አባሪዎች አትፍቀድ"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"የአባሪ መጠንን ገድብ"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"በእንቅስቃሴ ላይ በእጅ አመሳስል ብቻ ፍቀድ"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"የመሳሪያ ምስጠራ ጠይቅ"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"ራስ ሰር"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"አንድ ቀን"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"ሦስት ቀን"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 8e17e6c..66cb11d 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"خدمات Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"تم إلغاء هذا الحدث لـ: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"تم تغيير التفاصيل لهذا الحدث لـ: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"عدم السماح بالمرفقات"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"عدم السماح ببطاقات التخزين"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"عدم السماح بالتطبيقات غير الموقعة"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"عدم السماح بمثبتات التطبيقات غير الموقعة"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"عدم السماح باتصالات wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"عدم السماح بالرسائل النصية"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"عدم السماح بحسابات POP3 أو IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"عدم السماح باتصالات الأشعة تحت الحمراء"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"عدم السماح بالرسائل الإلكترونية بتنسيق HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"عدم السماح للمتصفحات"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"عدم السماح بالرسائل الإلكترونية للعميل"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"عدم السماح بالمشاركة عبر الإنترنت"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"دعم استعادة كلمة مرور"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"طلب الرسائل بتنسيق SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"السماح بالمزامنة اليدوية فقط أثناء التجوال"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"تقييد استخدام بلوتوث"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"عدم السماح بتطبيقات محددة"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"السماح بتطبيقات محددة فقط"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"حصر تواريخ أحداث التقويم"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"حصر تواريخ الرسائل الإلكترونية"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"حصر حجم الرسالة الإلكترونية النصية"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"حصر حجم الرسالة الإلكترونية بتنسيق HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"حصر حجم المرفق"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"يتطلب تشفير الجهاز"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"يتطلب تشفير بطاقة SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"عدم السماح ببطاقات التخزين"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"عدم السماح بالتطبيقات غير الموقعة"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"عدم السماح بمثبتات التطبيقات غير الموقعة"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"عدم السماح باتصالات Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"عدم السماح بالرسائل النصية"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"عدم السماح بحسابات POP3 أو IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"عدم السماح باتصالات الأشعة تحت الحمراء"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"عدم السماح برسائل HTML الإلكترونية"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"عدم السماح للمتصفحات"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"عدم السماح برسائل المستهلكين الإلكترونية"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"عدم السماح بالمشاركة عبر الإنترنت"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"يلزم توفر الرسائل بتنسيق SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"تقييد استخدام البلوتوث"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"عدم السماح بتطبيقات محددة"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"السماح بتطبيقات محددة فقط"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"تقييد تواريخ أحداث التقويم"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"تقييد تواريخ الرسائل الإلكترونية"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"تقييد حجم الرسالة الإلكترونية النصية"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"تقييد حجم رسائل HTML الإلكترونية"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"يلزم تشفير بطاقة SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"عدم السماح بالمرفقات"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"تقييد حجم المرفق"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"السماح بالمزامنة اليدوية فقط أثناء التجوال"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"يلزم تشفير الجهاز"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"تلقائي"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"يوم واحد"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"ثلاثة أيام"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index deb2f3b..be82d2b 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Услуги на Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Това събитие от <xliff:g id="DATE">%s</xliff:g> е анулирано"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Подробностите за това събитие са променени за: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"забраняване на прикачени файлове"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"забраняване на карти за съхранение"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"забраняване на неподписани приложения"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"без неподписани инсталатори на приложения"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"забраняване на WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"забраняване на текстови съобщения"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"забраняване на POP3 или IMAP профили"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"забраняване на инфрачервени комуникации"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"забраняване на HTML имейли"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"забраняване на браузъри"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"забраняване на маркетингови имейли"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"забраняване на споделянето на интернет"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"поддържане на парола за възстановяване"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"изискване на SMIME съобщения"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"само ръчно синхронизиране при роуминг"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ограничаване използването на Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"забраняване на посочените приложения"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"разрешаване само на посочени приложения"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"огранич. на дати за събития в календара"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ограничаване на датите на имейлите"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ограничаване размера на имейлите с текст"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ограничаване размера на HTML имейлите"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"огранич. размера на прикачените файлове"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"изискване за шифроване на устройството"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"изискване за шифроване на SD картата"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Забраняване на карти за съхранение"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Без неподписани приложения"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Без неподп. инсталатори на приложения"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Без разрешаване на WiFi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Забраняване на текстови съобщения"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Забраняване на POP3 или IMAP профили"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Забраняване на инфрачервени комуникации"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Забраняване на HTML имейли"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Забраняване на браузъри"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Забраняване на маркетингови имейли"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Без споделяне на интернет"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Изискване на SMIME съобщения"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ограничаване на ползването на Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Забраняване на посочените приложения"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Разрешаване само на посочени приложения"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Огранич. на дати за събития в календара"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ограничаване на датите на имейлите"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ограничаване на размера на текст. имейли"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ограничаване на размера на HTML имейлите"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Изискване за шифроване на SD картата"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Забраняване на прикачени файлове"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Огранич. на размера на прикач. файлове"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Само ръчно синхронизиране при роуминг"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Изискване за шифроване на устройството"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Автоматично"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Един ден"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Три дни"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 1c82801..f2d1947 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Serveis d\'Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Aquest esdeveniment s\'ha cancel·lat per a: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Els detalls d\'aquest esdeveniment han canviat per a: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"no permetis fitxers adjunts"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"no permetis targetes d\'emmagatzematge"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"no permetis les aplicacions no signades"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"no permetis instal. d\'aplic. no sign."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"no permetis la wi-fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"no permetis els missatges de text"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"no permetis els comptes POP3 ni IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"no permetis comunicacions per infraroigs"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"no permetis el correu electrònic HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"no permetis els navegadors"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"no permetis correus electr. de consum."</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"no permetis la compartició per internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"compatible amb contrasenya de recuperac."</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"requereix missatges SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"permet només sincr. manual en itineràn."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"restringeix l\'ús de bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"no permetis aplicacions especificades"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"permet només les aplicacions especif."</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"restringeix dades d\'esdeven. calendari"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"restringeix dates de correu electrònic"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"restring. mida de correu electr. de text"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"restringeix mida del correu electr. HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"restringeix la mida del fitxer adjunt"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"requereix l\'encriptació del dispositiu"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"requereix l\'encriptació de targetes SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"No permetis targetes d\'emmagatzematge"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"No permetis aplicacions no signades"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"No permetis instal. d\'aplic. no sign."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"No permetis la Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"No permetis els missatges de text"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"No permetis els comptes POP3 ni IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"No permetis comunicacions per infraroigs"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"No permetis el correu electrònic HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"No permetis els navegadors"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"No permetis correus electr. de consum."</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"No permetis la compartició per Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Requereix missatges SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Restringeix l\'ús de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"No permetis aplicacions especificades"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permet només les aplicacions especif."</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Restringeix dades d\'esdeven. calendari"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Restringeix dates de correu electrònic"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Restring. mida de correu electr. de text"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Restringeix mida del correu electr. HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Requereix l\'encriptació de targetes SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"No permetis fitxers adjunts"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Restringeix la mida del fitxer adjunt"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Permet només sincr. manual en itineràn."</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Requereix l\'encriptació del dispositiu"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automàtic"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un dia"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tres dies"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b322425..92b8f72 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Služby Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Tato událost byla zrušena pro datum: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Podrobnosti této události byly změněny pro datum: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"Nepovolit přílohy"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"Nepovolit paměťové karty"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"Nepovolit nepodepsané aplikace"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"Nepovolit nepodepsané instalátory"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"Nepovolit připojení  Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"Nepovolit textové zprávy"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"Nepovolit účty POP3 a IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"Nepovolit komunikaci IR"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"Nepovolit e-maily ve formátu HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"Nepovolit prohlížeče"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"Nepovolit marketingové e-maily"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"Nepovolit sdílení internetu"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"Podpora hesla pro obnovení"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"Požadovat zprávy ve formátu SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"Při roamingu povolit pouze ruční synchronizaci"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"Omezit použití připojení Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"Blokovat zadané aplikace"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"Povolit pouze zadané aplikace"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"Omezit data událostí v kalendáři"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"Omezit kalendářní data e-mailů"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"Omezit velikost textových e-mailů"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"Omezit velikost e-mailů ve formátu HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"Omezit velikost příloh"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"požadovat šifrování zařízení"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"požadovat šifrování karty SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Nepovolit paměťové karty"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Nepovolit nepodepsané aplikace"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Nepovolit nepodepsané instalátory"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Nepovolit připojení Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Nepovolit textové zprávy"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Nepovolovat účty POP3 a IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Nepovolit komunikaci IR"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Nepovolit e-maily ve formátu HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Nepovolit prohlížeče"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Nepovolit marketingové e-maily"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Nepovolit sdílení internetu"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Požadovat zprávy ve formátu SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Omezit použití připojení Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Blokovat zadané aplikace"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Povolit pouze zadané aplikace"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Omezit data událostí v kalendáři"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Omezit kalendářní data e-mailů"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Omezit velikost textových e-mailů"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Omezit velikost e-mailů ve formátu HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Požadovat šifrování karty SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Nepovolit přílohy"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Omezit velikost příloh"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Při roamingu povolit jen ruční synch."</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Požadovat šifrování zařízení"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatické"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Jeden den"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tři dny"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c9c1eea..2eef3b7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange-tjenester"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Denne begivenhed er annulleret for: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Oplysningerne om denne begivenhed er ændret for: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"tillad ikke vedhæftede filer"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"tillad ikke hukommelseskort"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"tillad ikke applikationer uden signatur"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"tillad ikke instal.progr. for progr. u. sign."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"tillad ikke wi-fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"tillad ikke sms-beskeder"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"tillad ikke POP3- eller IMAP-konti"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"tillad ikke infrarød kommunikation"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"tillad ikke e-mail i HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"tillad ikke browsere"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"tillad ikke e-mail til forbrugere"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"tillad ikke internetdeling"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"understøt en adgangskode til gendannelse"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"kræv SMIME-beskeder"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"tillad kun manuel synkron. under roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"begræns brug af bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"forbyd angivne applikationer"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"tillad kun angivne applikationer"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"begræns kalenderbegivenheder efter dato"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"begræns e-mail efter dato"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"begræns tekststørrelsen for e-mail"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"begræns størrelsen på e-mail i HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"begræns størrelsen på vedhæftede filer"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"kræver kryptering af enhed"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"kræver kryptering af SD-kort"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Tillad ikke hukommelseskort"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Tillad ikke usignerede apps"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Tillad ikke usignerede app-installationsprogrammer"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Tillad ikke Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Tillad ikke sms-beskeder"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Tillad ikke POP3- eller IMAP-konti"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Tillad ikke infrarød kommunikation"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Tillad ikke e-mail i HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Tillad ikke browsere"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Tillad ikke e-mail fra tredjepart"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Tillad ikke internetdeling"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Kræv SMIME-beskeder"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Begræns brugen af bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Tillad ikke angivne apps"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Tillad kun angivne apps"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Begræns kalenderbegivenheder efter dato"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Begræns e-mail efter dato"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Begræns tekststørrelsen for e-mail"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Begræns størrelsen på e-mail i HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Kræv kryptering af SD-kort"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Tillad ikke vedhæftede filer"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Begræns størrelsen på vedhæftede filer"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Tillad kun manuel synkron. under roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Kræv kryptering af enhed"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatisk"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"En dag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tre dage"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index eec60e3..c8b96dc 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Austauschdienste"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Dieser Termin wurde storniert für: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Die Details dieses Termins wurden geändert für: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"Anhänge nicht zulassen"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"Speicherkarten nicht zulassen"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"Unsignierte Apps nicht zulassen"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"Keine Installer für unsignierte Apps"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"WLAN nicht zulassen"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"SMS/MMS nicht zulassen"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3- oder IMAP-Konten nicht zulassen"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"Infrarotkommunikation nicht zulassen"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML-E-Mails nicht zulassen"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"Browser nicht zulassen"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"Verbraucher-E-Mails nicht zulassen"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"Internetfreigabe nicht zulassen"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"Passwortwiederherstellung unterstützen"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME-Nachrichten erforderlich"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"Bei Roaming nur manuelle Synchronis."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"Bluetooth-Nutzung beschränken"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"Angegebene Apps nicht zulassen"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"Nur angegebene Apps zulassen"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"Datum von Kalenderterminen beschränken"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"E-Mail-Datum beschränken"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"E-Mail-Größe beschränken"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"Größe von HTML-E-Mails beschränken"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"Größe von Anhängen beschränken"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"Geräteverschlüsselung erforderlich"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"SD-Kartenverschlüsselung erforderlich"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Speicherkarten nicht zulassen"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Keine unsignierten Apps"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Keine unsignierten App-Installer"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"WLAN nicht zulassen"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"SMS/MMS nicht zulassen"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3- oder IMAP-Konten nicht zulassen"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Infrarotkommunikation nicht zulassen"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML-E-Mails nicht zulassen"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Browser nicht zulassen"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Verbraucher-E-Mails nicht zulassen"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Teilen über das Internet nicht zulassen"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME-Nachrichten erforderlich"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetooth-Nutzung beschränken"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Angegebene Apps nicht zulassen"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Nur angegebene Apps zulassen"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Datum von Kalenderterminen eingrenzen"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"E-Mail-Datum eingrenzen"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"E-Mail-Text beschränken"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Größe von HTML-E-Mails beschränken"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SD-Kartenverschlüsselung erforderlich"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Anhänge nicht zulassen"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Größe von Anhängen beschränken"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Bei Roaming nur manuelle Synchronis."</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Geräteverschlüsselung erforderlich"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatisch"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Ein Tag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Drei Tage"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 5997b11..8ea8a2c 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Υπηρεσίες Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Αυτό το συμβάν ακυρώθηκε για: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Οι λεπτομέρειες αυτού του συμβάντος άλλαξαν για: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"δεν επιτρέπονται συνημμένα"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"δεν επιτρέπονται κάρτες αποθήκευσης"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"δεν επιτρέπονται ανυπόγραφες εφαρμογές"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"απαγορ. μη υπογεγραμ. προγ. εγκατάστασης"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"δεν επιτρέπεται wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"δεν επιτρέπ. ανταλλαγή μηνυμ. κειμένου"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"δεν επιτρέπονται λογαρ. POP3 ή IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"δεν επιτρέπoνται υπέρυθρες επικοινωνίες"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"δεν επιτρέπεται ηλ. ταχ. HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"δεν επιτρέπονται προγρ. περιήγησης"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"δεν επιτρέπεται ηλ. ταχ. καταναλωτών"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"απαγορεύεται η κοινή χρήση διαδικτύου"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"υποστήριξη κωδικού πρόσβασης ανάκτησης"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"απαιτούνται μηνύματα SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"σε περιαγωγή μόνο μη αυτ. συγχρονισμός"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"περιορισμός χρήσης bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"απαγορεύονται συγκεκριμένες εφαρμογές"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"επιτρέπονται μόνο συγκεκριμ. εφαρμογές"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"περιορισ. ημερομ. συμβάντων ημερολογίου"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"περιορισμός ημερομηνιών ηλ. ταχ."</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"περιορισμός μεγέθους κειμένου ηλ. ταχ."</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"περιορισμός μεγέθους ηλ. ταχ. HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"περιορισμός μεγέθους συνημμένων"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"απαιτείται κρυπτογράφηση συσκευής"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"απαιτείται κρυπτογράφηση κάρτας sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Δεν επιτρέπονται κάρτες αποθήκευσης"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Απαγόρευση μη υπογεγραμμένων εφαρμογών"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Απαγόρ. μη υπογεγρ. προγ. εγκατ. εφαρμ."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Απαγόρευση σύνδεσης Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Δεν επιτρέπ. ανταλλαγή μηνυμ. κειμένου"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Δεν επιτρέπονται λογαρ. POP3 ή IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Δεν επιτρέπoνται υπέρυθρες επικοινωνίες"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Δεν επιτρέπεται ηλ. ταχ. HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Δεν επιτρέπονται προγρ. περιήγησης"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Δεν επιτρέπεται ηλ. ταχ. καταναλωτών"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Απαγόρευση κοινής χρήσης διαδικτύου"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Απαιτούνται μηνύματα SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Περιορισμός χρήσης bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Απαγόρευση συγκεκριμένων εφαρμογών"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Επιτρέπονται μόνο συγκεκριμ. εφαρμογές"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Περιορισ. ημερομ. συμβάντων ημερολογίου"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Περιορισμός ημερομηνιών ηλ. ταχ."</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Περιορισμός μεγέθους κειμένου ηλ. ταχ."</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Περιορισμός μεγέθους ηλ. ταχ. HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Απαιτείται κρυπτογράφηση κάρτας SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Δεν επιτρέπονται συνημμένα"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Περιορισμός μεγέθους συνημμένων"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Σε περιαγωγή μόνο μη αυτ. συγχρονισμός"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Απαιτείται κρυπτογράφηση συσκευής"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Αυτόματη"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Μία ημέρα"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Τρεις ημέρες"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 1c081ce..970bf61 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"This event has been cancelled for: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"The details of this event have been changed for: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"don\'t allow attachments"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"don\'t allow storage cards"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"don\'t allow unsigned applications"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"don\'t allow unsigned application installers"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"don\'t allow Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"don\'t allow text messaging"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"don\'t allow POP3 or IMAP accounts"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"don\'t allow infrared communications"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"don\'t allow HTML email"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"don\'t allow browsers"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"don\'t allow consumer email"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"don\'t allow Internet sharing"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"support a recovery password"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"require SMIME messages"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"only allow manual sync while roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"restrict Bluetooth usage"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"disallow specified applications"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"allow only specified applications"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"restrict calendar event dates"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"restrict email dates"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"restrict text email size"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"restrict HTML email size"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"restrict attachment size"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"require device encryption"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"require sd card encryption"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Don\'t allow storage cards"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Don\'t allow unsigned apps"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Don\'t allow unsigned app installers"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Don\'t allow Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Don\'t allow text messaging"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Don\'t allow POP3 or IMAP accounts"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Don\'t allow infrared communications"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Don\'t allow HTML email"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Don\'t allow browsers"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Don\'t allow consumer email"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Don\'t allow Internet sharing"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Require SMIME messages"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Restrict Bluetooth usage"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Disallow specified apps"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Allow only specified apps"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Restrict calendar event dates"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Restrict email dates"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Restrict text email size"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Restrict HTML email size"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Require SD card encryption"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Don\'t allow attachments"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Restrict attachment size"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Only allow manual sync while roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Require device encryption"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatic"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"One day"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Three days"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 0e76eec..cfd0f9e 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Servicios de Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Este evento ha sido cancelado para: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Los detalles de este evento se han modificado para: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"No permitir archivos adjuntos"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"No permitir tarjetas de memoria"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"No permitir aplicaciones sin firmar"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"No permitir instaladores sin firmar"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"No permitir comunicaciones Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"No permitir envío de mensajes de texto"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"No permitir cuentas POP3 o IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"No permitir comunicaciones infrarrojas"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"No recibir correos electrónicos HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"No permitir uso de navegadores"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"No recibir correos del consumidor"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"No permitir compartir conexión a Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"Admitir una recuperación de contraseña"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"Requerir mensajes SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"Permitir sincronización manual solo en itinerancia"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"Restringir el uso de Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"Bloquear aplicaciones específicas"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"Permitir solo aplicaciones específicas"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"Restringir eventos del calendario"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"Restringir fecha de correos electrónicos"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"Restringir tamaño de correos de texto"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"Restringir tamaño de correos HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"Restringir tamaño de archivos adjuntos"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"Requerir el cifrado del dispositivo"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"Requerir el cifrado de tarjeta SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"No permitir tarjetas de memoria"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"No instalar aplicaciones sin firmar"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"No permitir instaladores sin firmar"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"No permitir Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"No permitir envío de mensajes de texto"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"No permitir cuentas POP3 ni IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"No permitir comunicación por infrarrojos"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"No recibir correos electrónicos HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"No permitir el uso de navegadores"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"No recibir correos comerciales"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"No permitir uso compartido de Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Recibir solo mensajes SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Restringir el uso de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Bloquear determinadas aplicaciones"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permitir determinadas aplicaciones"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Limitar fechas de eventos del calendario"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Restringir las fechas de los correos"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Restringir el tamaño de correos de texto"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Restringir el tamaño de los correos HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Requerir la encriptación de tarjetas SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"No descargar archivos adjuntos"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Restringir tamaño de archivos adjuntos"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Sincro. manual solo en itinerancia"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Requerir la encriptación del dispositivo"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automático"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un día"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tres días"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 827f5a0..93ca123 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Servicios de Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Este evento se ha cancelado el día: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Los detalles de este evento se han cambiado al día: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"no permitir archivos adjuntos"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"no permitir tarjetas de almacenamiento"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"no permitir aplicaciones sin firmar"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"no permitir instaladores sin firmar"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"no permitir Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"no permitir mensajes de texto"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"no permitir cuentas POP3 ni IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"no permitir comunicación por infrarrojos"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"no permitir mensajes de correo HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"no permitir navegadores"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"no permitir correos comerciales"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"no permitir compartir Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"permitir contraseña de recuperación"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"se requieren mensajes S/MIME."</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"permitir solo sinc manual en itinerancia"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"restringir el uso de Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"no permitir aplicaciones especificadas"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"permitir solo aplicaciones especificadas"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"restringir fechas de eventos de calendario"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"restringir fechas de mensajes"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"restringir tamaño de letra del mensaje"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"restringir el tamaño del mensaje HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"restringir tamaño de archivos adjuntos"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"requiere que el dispositivo esté encriptado"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"requiere que la tarjeta SD esté encriptada"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"No permitir tarjetas de almacenamiento"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"No permitir aplicaciones sin firmar"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"No permitir instaladores sin firmar"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"No permitir Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"No permitir mensajes de texto"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"No permitir cuentas POP3 ni IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"No permitir comunicación por infrarrojos"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"No permitir correos HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"No permitir navegadores"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"No permitir correos comerciales"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"No permitir compartir conexión a Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Solicitar mensajes SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Restringir uso de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"No permitir aplicaciones especificadas"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permitir solo aplicaciones especificadas"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Restringir fechas eventos de calendario"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Restringir fechas de correos"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Restringir tamaño de letra del correo"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Restringir el tamaño del correo HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Solicitar encriptación de tarjeta SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"No permitir archivos adjuntos"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Restringir tamaño de archivos adjuntos"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Sincronización manual solo en itinerancia"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Solicitar encriptación de dispositivo"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automática"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un día"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tres días"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index e520482..3d3a6e1 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"سرویس های Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"این رویداد لغو شده است به مدت: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"جزئیات این رویداد تغییر کرده اند به مدت: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"پیوست ها مجاز نباشد"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"کارت های حافظه مجاز نباشد"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"برنامه های امضا نشده مجاز نباشد"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"نصب کننده های برنامه امضا نشده مجاز نباشد"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"wifi مجاز نباشد"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"پیامرسانی متنی مجاز نباشد"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"حساب های POP3 یا IMAP مجاز نباشد"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ارتباطات مادون قرمز مجاز نباشد"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ایمیل HTML مجاز نباشد"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"مرورگرها مجاز نباشد"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ایمیل مصرف کننده مجاز نباشد"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"اشتراک گذاری اینترنت مجاز نباشد"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"پشتیبانی رمز عبور بازیابی"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"پیام های SMIME مورد نیاز است"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"تنها همگام سازی دستی هنگام رومینگ مجاز باشد"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"محدود کردن استفاده از بلوتوث"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"برنامه های خاص مجاز نباشد"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"تنها برنامه های خاص مجاز باشد"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"محدود کردن تاریخ های رویداد تقویم"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"محدود کردن تاریخ های ایمیل"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"محدود کردن اندازه متن ایمیل"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"محدود کردن اندازه ایمیل HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"محدود کردن اندازه پیوست"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"نیاز به رمزگذاری دستگاه دارد"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"نیاز به رمزگذاری کارت sd دارد"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"کارت‌های حافظه مجاز نیست"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"برنامه‌های امضا نشده مجاز نیستند"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"نصب کننده‌های برنامه امضا نشده مجاز نیستند"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fi مجاز نیست"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"پیام‌رسانی نوشتاری مجاز نیست"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"حساب‌های POP3 یا IMAP مجاز نیست"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"ارتباطات مادون قرمز مجاز نیست"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"ایمیل HTML مجاز نیست"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"مرورگرها مجاز نیستند"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"ایمیل مصرف‌کننده مجاز نیست"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"اشتراک‌گذاری اینترنتی مجاز نیست"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"پیامهای SMIME لازم است"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"استفاده از بلوتوث محدود است"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"برنامه‌های خاص مجاز نیستند"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"فقط برنامه‌های خاص مجاز هستند"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"تاریخ‌های رویداد تقویم محدود است"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"تاریخ‌های ایمیل محدود است"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"اندازه نوشتار ایمیل محدود است"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"اندازه ایمیل HTML محدود است"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"کارت sd باید رمزگذاری شود"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"پیوست‌ها مجاز نیستند"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"اندازه پیوست محدود است"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"در حالت رومینگ فقط همگام‌سازی دستی مجاز است"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"دستگاه باید رمزگذاری شود"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"خودکار"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"یک روز"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"سه روز"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index deb2d06..b99dc2d 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Poikkeus toistuvassa tapahtumassa, peruutettu <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Poikkeus toistuvassa tapahtumassa, muutettu <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"älä salli liitetiedostoja"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"älä salli muistikortteja"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"älä salli allekirjoittamatt. sovelluksia"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"älä salli allekirjoittamatt. sov. asent."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"älä salli wifi-yhteyttä"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"älä salli tekstiviestejä"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"älä salli POP3- tai IMAP-tilejä"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"älä salli infrapunaviestintää"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"älä salli HTML-sähköpostia"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"älä salli selaimia"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"älä salli kuluttajasähköpostia"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"älä salli internet-jakamista"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"tue palautussalasanaa"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"vaadi SMIME-viestit"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"salli vain manuaal. synkr. roaming-tilassa"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"rajoita bluetoothin käyttöä"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"kiellä määritetyt sovellukset"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"salli vain määritetyt sovellukset"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"rajoita kalenterin tapahtumapäivämääriä"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"rajoita sähköpostin päivämäärät"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"rajoita tekstimuot. sähköpostien kokoa"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"rajoita HTML-muot. sähköpostien kokoa"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"rajoita liitetiedoston kokoa"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"vaatii laitteen salauksen"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"vaatii sd-kortin salauksen"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Älä salli tallennuskortteja"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Älä salli allekirjoittamatt. sovelluksia"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Älä salli allekirjoittamatt. sov. asent."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Älä salli wifi-yhteyttä"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Älä salli tekstiviestejä"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Älä salli POP3- tai IMAP-tilejä"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Älä salli infrapunaviestintää"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Älä salli HTML-sähköpostia"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Älä salli selaimia"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Älä salli kuluttajasähköpostia"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Älä salli internet-jakamista"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Vaadi SMIME-viestit"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Rajoita bluetoothin käyttöä"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Älä salli määritettyjä sovelluksia"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Salli vain määritetyt sovellukset"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Rajoita kalenterin tapahtumapäivämääriä"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Rajoita sähköpostin päivämäärät"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Rajoita tekstimuot. sähköpostien kokoa"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Rajoita HTML-muot. sähköpostien kokoa"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Vaatii SD-kortin salauksen"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Älä salli liitetiedostoja"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Rajoita liitetiedostojen kokoa"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Salli vain man. synkr. roaming-tilassa"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Vaatii laitteen salauksen"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automaattinen"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Yksi päivä"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Kolme päivää"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 165affd..acf2ea1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Services Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Cet événement a été annulé pour : <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Les détails de cet événement ont été modifiés pour : <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ne pas autoriser les pièces jointes"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ne pas autoriser les cartes de stockage"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ne pas autoriser applications non signées"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ne pas autoriser prog. d\'install. non signés"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ne pas autoriser le Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ne pas autoriser les SMS"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ne pas autoriser les comptes POP3 ni IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ne pas autoriser communication infrarouge"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ne pas autoriser e-mails au format HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ne pas autoriser les navigateurs"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ne pas autoriser e-mails consommateur"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ne pas autoriser partage connex. Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"autoriser un mot de passe de récupération"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"exiger des messages au format SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"Ne pas autoriser synchro auto en itinérance"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"limiter l\'utilisation du Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"interdire les applications spécifiées"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"N\'autoriser que applications spécifiées"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"autoriser événements d\'agenda selon date"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"autoriser les e-mails selon leur date"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"autoriser e-mails texte selon leur taille"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"autoriser e-mails HTML selon taille"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"autoriser e-mails selon taille p. jointe"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"exiger le chiffrement de l\'appareil"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"exiger le chiffrement de la carte SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Ne pas autoriser les cartes de stockage"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Ne pas autoriser programmes d\'installation non signés"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ne pas autoriser programmes d\'installation non signés"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Ne pas autoriser les communications Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Ne pas autoriser les SMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Ne pas autoriser les comptes POP3 ni IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Ne pas autoriser communication infrarouge"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Ne pas autoriser e-mails au format HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Ne pas autoriser les navigateurs"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Ne pas autoriser e-mails publicitaires"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Ne pas autoriser partage connexion Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Exiger le format SMIME pour les messages"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Limiter l\'utilisation de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Interdire les applications spécifiées"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Autoriser applications spécifiées uniq."</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Autoriser événements d\'agenda selon date"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Autoriser les e-mails selon leur date"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Autoriser e-mails texte selon taille"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Autoriser e-mails HTML selon taille"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Exiger le chiffrement de la carte SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Ne pas autoriser les pièces jointes"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Autoriser pièces jointes selon taille"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Interdire synchro auto en itinérance"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Exiger le chiffrement de l\'appareil"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatique"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un jour"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Trois jours"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 03bced9..41e14fb 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"यह ईवेंट इसके लिए रद्द कर दिया गया है: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"इस ईवेंट का विवरण इसके लिए ‍बदल दिया गया है: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"अनुलग्नकों को अनुमति न दें"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"संग्रहण कार्ड को अनुमति न दें"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"अहस्ताक्षरित एप्लिकेशन को अनुमति न दें"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"अहस्‍ताक्षरित एप्लिकेशन इंस्‍टॉलर को अनुमति न दें"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"wifi को अनुमति न दें"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"पाठ संदेश सेवा को अनुमति न दें"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3 या IMAP खातों को अनुमति न दें"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"अवरक्त संचारों को अनुमति न दें"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML ईमेल को अनुमति न दें"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ब्राउज़र को अनुमति न दें"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"उपभोक्ता ईमेल को अनुमति न दें"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"इंटरनेट साझाकरण को अनुमति न दें"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"पुनर्प्राप्ति पासवर्ड का समर्थन करें"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME संदेश आवश्‍यक"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"रोमिंग के दौरान केवल मैन्‍युअल सिंक को अनुमति दें"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ब्‍लूटूथ उपयोग प्रतिबंधित करें"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"निर्दिष्ट एप्लिकेशन को अनुमति न दें"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"केवल निर्दिष्ट एप्लिकेशन को अनुमति दें"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"कैलेंडर ईवेंट दिनांक प्रतिबंधित करें"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ईमेल दिनांकों को प्रतिबंधित करें"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"पाठ ईमेल आकार को प्रतिबंधित करें"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"HTML ईमेल का आकार प्रतिबंधित करें"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"अनुलग्‍नक का आकार प्रतिबंधित करें"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"उपकरण एन्‍क्रिप्शन आवश्‍यक"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"sd कार्ड एन्‍क्रिप्शन आवश्‍यक"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"संग्रहण कार्ड को अनुमति न दें"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"अहस्ताक्षरित एप्लिकेशन की अनुमति न दें"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"अहस्ता. एप्लि. इंस्‍टॉलर को अनुमति न दें"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fi की अनुमति न दें"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"पाठ संदेश सेवा की अनुमति न दें"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3 या IMAP खातों को अनुमति न दें"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"अवरक्त संचारों को अनुमति न दें"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML ईमेल को अनुमति न दें"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"ब्राउज़र को अनुमति न दें"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"उपभोक्ता ईमेल की अनुमति न दें"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"इंटरनेट साझाकरण की अनुमति न दें"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME संदेश आवश्‍यक"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetooth का उपयोग प्रतिबंधित करें"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"निर्दिष्ट एप्लिकेशन की अनुमति न दें"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"केवल निर्दिष्ट एप्लिकेशन की अनुमति दें"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"कैलेंडर ईवेंट दिनांक प्रतिबंधित करें"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"ईमेल दिनांकों को प्रतिबंधित करें"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"पाठ ईमेल का आकार प्रतिबंधित करें"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"HTML ईमेल का आकार प्रतिबंधित करें"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SD कार्ड एन्‍क्रिप्शन आवश्‍यक"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"अनुलग्नकों की अनुमति न दें"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"अनुलग्‍नक का आकार प्रतिबंधित करें"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"रोमिंग पर मैन्‍युअल समन्वयन ही करने दें"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"उपकरण एन्‍क्रिप्शन आवश्‍यक"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"स्वचालित"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"एक दिन"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"तीन दिन"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a1f1e20..331452e 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Ovaj je događaj otkazan za: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Pojedinosti ovog događaja promijenjene su za: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ne dopusti privitke"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ne dopusti memorijske kartice"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ne dopusti nepotpisane aplikacije"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ne dopusti instal. prog. nepotpis. apl."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ne dopusti wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ne dopusti slanje SMS poruka"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ne dopusti POP3 ili IMAP račune"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ne dopusti infracrvenu komunikaciju"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ne dopusti e-poštu u HTML-u"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ne dopusti preglednike"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ne dopusti potrošačku e-poštu"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ne dopusti dijeljenje na internetu"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"podrži zaporku za oporavak"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"zahtijevaj SMIME poruke"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"dopusti samo ručnu sinkr. u roamingu"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ograniči upotrebu bluetootha"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"odbaci navedene aplikacije"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"dopusti samo navedene aplikacije"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ograniči datume događaja kalendara"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ograniči datume e-pošte"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ograniči veličinu tekstualne e-pošte"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ograniči veličinu e-pošte u HTML-u"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ograniči veličinu privitka"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"zahtijevaj enkripciju uređaja"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"zahtijevaj enkripciju SD kartice"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Ne dopusti memorijske kartice"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Ne dopusti nepotpisane aplikacije"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ne dopusti instal. prog. nepotpis. apl."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Ne dopusti WiFi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Ne dopusti slanje SMS poruka"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Ne dopusti POP3 ili IMAP račune"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Ne dopusti infracrvenu komunikaciju"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Ne dopusti e-poštu u HTML-u"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Ne dopusti preglednike"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Ne dopusti potrošačku e-poštu"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Ne dopusti dijeljenje na internetu"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Zahtijevaj SMIME poruke"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ograniči upotrebu Bluetootha"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Odbaci navedene aplikacije"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Dopusti samo navedene aplikacije"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Ograniči datume kalendarskih događaja"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ograniči datume e-pošte"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ograniči veličinu tekstualne e-pošte"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ograniči veličinu e-pošte u HTML-u"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Zahtijevaj enkripciju SD kartice"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Ne dopusti privitke"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ograniči veličinu privitka"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Dopusti samo ručnu sinkr. u roamingu"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Zahtijevaj enkripciju uređaja"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatski"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Jedan dan"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tri dana"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index aa08dd7..0551757 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange szolgáltatások"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Ezt az eseményt törölték: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Az esemény részletei a következőre módosultak: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"a mellékletek nem engedélyezettek"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"a memóriakártyák nem engedélyezettek"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"nincsenek aláíratlan alkalmazások"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"nincsenek aláíratlan alkalmazástelepítők"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"a wifi-kommunikáció nem engedélyezett"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"szöveges üzenetküldés nem engedélyezett"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"a POP3/IMAP-fiókok nem engedélyezettek"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"nincs infravörös kommunikáció"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML e-mailek nem engedélyezettek"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"a böngészők nem engedélyezettek"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"fogyasztói e-mailek nem engedélyezettek"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"az internetmegosztás nem engedélyezett"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"helyreállítási jelszó támogatása"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME üzenetek megkövetelése"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"csak kézi szinkronizáció barangolás során"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"a bluetooth használatának korlátozása"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"meghatározott alkalmazások tiltása"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"csak adott alkalmazások engedélyezettek"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"naptári események dátumának korlátozása"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"e-mailek dátumának korlátozása"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"szöveges e-mailek méretének korlátozása"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"a HTML e-mailek méretének korlátozása"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"a melléklet méretének korlátozása"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"eszköztitkosítás szükséges"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"sd-kártya titkosítás szükséges"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Memóriakártyák nem engedélyezettek"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Csak hiteles alkalmazások engedélyezése"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Csak hiteles alkalmazásokat telepítsen"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fi tiltása"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Szöveges üzenetküldés nem engedélyezett"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3/IMAP-fiókok nem engedélyezettek"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Infra kommunikáció nem engedélyezett"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML e-mailek nem engedélyezettek"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"A böngészők nem engedélyezettek"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Fogyasztói e-mailek nem engedélyezettek"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Internetmegosztás tiltása"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME-üzenetek szükségesek"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetooth használatának korlátozása"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Meghatározott alkalmazások tiltása"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Csak megadott alkalmazások engedélyezése"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Naptári események dátumának korlátozása"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"E-mailek dátumának korlátozása"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Szöveges e-mailek méretének korlátozása"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"HTML e-mailek méretének korlátozása"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SD-kártya titkosítása szükséges"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Mellékletek nem engedélyezettek"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Mellékletek méretének korlátozása"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Csak kézi szinkronizálás barangoláskor"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Eszköztitkosítás szükséges"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatikus"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Egy nap"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Három nap"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 8c8c450..54f320a 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Layanan Pertukaran"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Acara ini telah dibatalkan untuk: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Detail acara ini telah diubah untuk: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"jangan izinkan lampiran"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"jangan izinkan kartu penyimpanan"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"jangan izinkan aplikasi tak bertanda tangan"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"jangan izinkan pemasang aplikasi tak bertanda tangan"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"jangan izinkan wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"jangan izinkan pesan teks"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"jangan izinkan akun POP3 atau IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"jangan izinkan komunikasi inframerah"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"jangan izinkan email HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"jangan izinkan peramban"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"jangan izinkan email konsumen"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"jangan izinkan berbagi internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"dukung sandi pemulihan"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"wajibkan pesan SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"hanya izinkan sinkronisasi manual saat jelajah jaringan"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"batasi penggunaan bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"larang aplikasi yang disebutkan"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"izinkan hanya aplikasi yang disebutkan"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"batasi tanggal acara kalender"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"batasi tanggal email"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"batasi ukuran teks email"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"batasi ukuran email HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"batasi ukuran lampiran"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"enkripsi perangkat diperlukan"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"enkripsi kartu sd diperlukan"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Jangan izinkan kartu penyimpanan"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Jangan izinkan apl tak bertanda tangan"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Jgn izinkan pmasang apl tak bertanda tgn"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Jangan izinkan Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Jangan izinkan pesan teks"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Jangan izinkan akun POP3 atau IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Jangan izinkan komunikasi inframerah"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Jangan izinkan email HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Jangan izinkan peramban"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Jangan izinkan email pelanggan"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Jangan izinkan berbagi internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Memerlukan pesan SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Batasi penggunaan Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Tolak apl yang disebutkan"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Izinkan apl yang disebutkan saja"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Batasi tanggal acara kalender"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Batasi tanggal email"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Batasi ukuran email teks"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Batasi ukuran email HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Membutuhkan enkripsi kartu SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Jangan izinkan lampiran"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Batasi ukuran lampiran"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Hanya izinkan sinkr. manual saat roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Memerlukan enkripsi perangkat"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Otomatis"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Satu hari"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tiga hari"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 7db4950..949ed8e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Servizi Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Questo evento è stato annullato per la data: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"I dettagli di questo evento sono cambiati per la data: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"non consentire allegati"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"non consentire schede di memoria"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"non consentire applicazioni non firmate"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"non consentire installer di app. non firmate"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"non consentire Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"non consentire messaggi di testo"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"non consentire account POP3 o IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"non consentire comunicazione a infrarossi"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"non consentire email HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"non consentire browser"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"non consentire email di livello consumer"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"non consentire condivisione Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"supporta una password di ripristino"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"richiedi messaggi SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"consenti solo sincr. manuale in roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"limita utilizzo Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"non consentire applicazioni specificate"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"consenti solo applicazioni specificate"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"limita date eventi di calendario"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"limita date email"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"limita dimensioni testo email"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"limita dimensioni email HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"limita dimensioni allegati"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"richiesta crittografia dispositivo"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"richiesta crittografia scheda SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Non consentire schede di memoria"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Non consentire applicazioni non firmate"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Non consentire installer app. non firmate"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Non consentire Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Non consentire messaggi di testo"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Non consentire account POP3 o IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Non consentire comunicazione a infrarossi"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Non consentire email HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Non consentire browser"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Non consentire email di livello consumer"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Non consentire condivisione Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Richiedi messaggi SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Limita utilizzo Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Non consentire applicazioni specificate"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Consenti solo applicazioni specificate"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Limita date eventi di calendario"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Limita date email"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Limita dimensioni testo email"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Limita dimensioni email HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Richiedi crittografia scheda SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Non consentire allegati"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Limita dimensioni allegati"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Consenti solo sincr. manuale in roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Richiedi crittografia dispositivo"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatico"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un giorno"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tre giorni"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index b9a7100..e166260 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"שירותי Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"אירוע זה בוטל לתאריך: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"הפרטים של אירוע זה השתנו בתאריך: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"אל תאפשר קבצים מצורפים"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"אל תאפשר כרטיסי אחסון"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"אל תאפשר יישומים לא חתומים"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"אל תאפשר תוכנות התקנה לא חתומות של יישום"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"אל תאפשר WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"אל תאפשר העברת הודעות טקסט"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"אל תאפשר חשבונות מסוג POP3 או IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"אל תאפשר תקשורת אינפרא אדום"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"אל תאפשר דוא\"ל בפורמט HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"אל תאפשר דפדפנים"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"אל תאפשר דוא\"ל צרכן"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"אל תאפשר שיתוף באינטרנט"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"תמיכה בסיסמת שחזור"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"דרישה להעברת הודעות SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"אפשר סינכרון ידני רק בעת נדידה"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"הגבל את השימוש ב-Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"אל תאפשר יישומים שצוינו"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"אפשר רק יישומים שצוינו"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"הגבל תאריכי אירועים בלוח השנה"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"הגבל תאריכים של דוא\"ל"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"הגבל את גודל הטקסט שבדוא\"ל"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"הגבל את גודל הדוא\"ל שבפורמט HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"הגבל את גודל הקובץ המצורף"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"נדרשת הצפנת מכשיר"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"נדרשת הצפנת כרטיס SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"אל תאפשר כרטיסי אחסון"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"אל תאפשר יישומים לא חתומים"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"אל תאפשר תוכנות התקנה לא חתומות של יישום."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"אל תאפשר WiFi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"אל תאפשר העברת הודעות טקסט"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"אל תאפשר חשבונות מסוג POP3 או IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"אל תאפשר תקשורת אינפרא-אדום"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"אל תאפשר דוא\"ל בפורמט HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"אל תאפשר דפדפנים"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"אל תאפשר דוא\"ל צרכן"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"אל תאפשר שיתוף באינטרנט"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"נדרשת העברת הודעות SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"הגבל את השימוש ב-Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"אל תאפשר יישומים שצוינו"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"אפשר רק יישומים שצוינו"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"הגבל תאריכי אירועים בלוח השנה"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"הגבל תאריכים של דוא\"ל"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"הגבל את גודל הטקסט בדוא\"ל"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"הגבל גודל דוא\"ל בפורמט HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"נדרשת הצפנת כרטיס SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"אל תאפשר קבצים מצורפים"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"הגבל את גודל הקובץ המצורף"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"אפשר רק סינכרון ידני בעת נדידה"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"נדרשת הצפנת מכשיר"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"אוטומטי"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"יום אחד"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"שלושה ימים"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index d731e1d..0c4907f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchangeサービス"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"この予定はキャンセルされました: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"この予定の詳細が変更されました: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"添付ファイルを許可しない"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ストレージカードを許可しない"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"無署名のアプリケーションを許可しない"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"無署名のインストーラを許可しない"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"Wi-Fiを許可しない"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"テキストメッセージを許可しない"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3/IMAPアカウントを許可しない"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"赤外線通信を許可しない"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML形式のメールを許可しない"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ブラウザを許可しない"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ダイレクトメールを許可しない"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"インターネット共有を許可しない"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"再設定用パスワードをサポート"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME形式のメッセージを必須とする"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"ローミング中は手動での同期のみを許可する"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"Bluetoothの使用を制限する"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"指定されたアプリケーションを許可しない"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"指定したアプリケーションのみを許可する"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"カレンダーの予定の日付を制限する"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"メールの日付を制限する"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"テキストメールのサイズを制限する"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"HTML形式のメールのサイズを制限する"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"添付ファイルのサイズを制限する"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"端末の暗号化を必須とする"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"SDカードの暗号化を必須とする"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"SDカードを許可しない"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"無署名のアプリを許可しない"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"無署名のアプリインストーラを許可しない"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fiを許可しない"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"テキストメッセージを許可しない"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3/IMAPアカウントを許可しない"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"赤外線通信を許可しない"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTMLメールを許可しない"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"ブラウザを許可しない"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"ダイレクトメールを許可しない"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"インターネット共有を許可しない"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME形式のメッセージを必須とする"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetoothの使用を制限する"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"指定したアプリを許可しない"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"指定したアプリのみ許可する"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"カレンダーの予定の日付を制限する"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"メールの日付を制限する"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"テキストメールのサイズを制限する"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"HTMLメールのサイズを制限する"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SDカードの暗号化を必須とする"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"添付ファイルを許可しない"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"添付ファイルのサイズを制限する"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"ローミング中は手動での同期のみを許可する"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"端末の暗号化を必須とする"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"自動"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"1日"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"3日間"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 7316483..2a28768 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange 서비스"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"<xliff:g id="DATE">%s</xliff:g>에 있을 이 일정이 취소되었습니다."</string>
     <string name="exception_updated" msgid="3397583105901142050">"<xliff:g id="DATE">%s</xliff:g>에 있을 이 일정의 세부사항이 변경되었습니다."</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"첨부 파일 허용 안함"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"저장 카드 허용 안함"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"서명되지 않은 애플리케이션 허용 안함"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"서명되지 않은 애플리케이션 설치 프로그램 허용 안함"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"WiFi 허용 안함"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"문자 메시지 허용 안함"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3 또는 IMAP 계정 허용 안함"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"적외선 통신 허용 안함"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML 이메일 허용 안함"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"브라우저 허용 안함"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"일반 이메일 허용 안함"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"인터넷 공유 허용 안함"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"복구 비밀번호 지원"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME 메시지 필요"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"로밍 중에만 수동 동기화만 허용"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"블루투스 사용 제한"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"지정된 애플리케이션 허용 안함"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"지정한 애플리케이션만 허용"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"캘린더 일정 날짜 제한"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"이메일 날짜 제한"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"텍스트 이메일 크기 제한"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"HTML 이메일 크기 제한"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"첨부 파일 크기 제한"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"기기 암호화 필요"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"SD 카드 암호화 필요"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"저장 카드 허용 안함"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"서명되지 않은 앱 허용 안함"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"서명되지 않은 앱 설치 프로그램 허용 안함"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fi 허용 안함"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"문자 메시지 허용 안함"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3 또는 IMAP 계정 허용 안함"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"적외선 통신 허용 안함"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML 이메일 허용 안함"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"브라우저 허용 안함"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"소비자 이메일 허용 안함"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"인터넷 공유 허용 안함"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME 메시지 필요"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"블루투스 사용 제한"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"지정된 앱 허용 안함"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"지정한 앱만 허용"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"캘린더 일정 날짜 제한"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"이메일 날짜 제한"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"텍스트 이메일 크기 제한"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"HTML 이메일 크기 제한"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SD 카드 암호화 필요"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"첨부 파일 허용 안함"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"첨부 파일 크기 제한"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"로밍 중에 수동 동기화만 허용"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"기기 암호화 필요"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"자동"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"하루"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"3일"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6698832..da3b4a6 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Keitimo paslaugos"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Šis įvykis atšauktas: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Išsami šio įvykio informacija buvo pakeista: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"neleisti priedų"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"neleisti atmintinės kortelių"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"neleisti anoniminių programų"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"neleisti anonim. progr. diegimo priem."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"neleisti „Wi-Fi“"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"neleisti teksto pranešimų"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"neleisti POP3 ar IMAP prieigos paskyrų"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"neleisti infraraudonųjų spindulių ryšių"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"neleisti HTML el. laiškų"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"neleisti naršyklių"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"neleisti naudotojų el. laiškų"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"neleisti bendrinimo internetu"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"palaikyti atkūrimo slaptažodį"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"reikalauti SMIME pranešimų"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"leisti tik rank. būdu sinchr. veik. tarptinkl. ryš."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"apriboti „Bluetooth“ naudojimą"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"neleisti nurodytų programų"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"leisti tik nurodytas programas"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"apriboti kalendoriaus įvykių datas"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"apriboti el. laiškų datas"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"apriboti teksto el. laiškų dydį"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"apriboti HTML el. laiškų dydį"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"apriboti priedo dydį"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"reikalauti įrenginio šifravimo"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"reikalauti SD kortelės šifravimo"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Neleisti atminties kortelių"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Neleisti anoniminių programų"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Neleisti anon. programų diegimo progr."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Neleisti „Wi-Fi“"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Neleisti teksto pranešimų"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Neleisti POP3 ar IMAP prieigos paskyrų"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Neleisti infraraudonųjų spindulių ryšių"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Neleisti HTML el. laiškų"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Neleisti naršyklių"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Neleisti vartotojų el. laiškų"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Neleisti bendrinimo internetu"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Reikalauti SMIME pranešimų"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Apriboti „Bluetooth“ naudojimą"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Neleisti nurodytų programų"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Leisti tik nurodytas programas"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Riboti kalendoriaus įvykių datas"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Riboti el. laiškų datas"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Riboti teksto el. laiškų dydį"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Riboti HTML el. laiškų dydį"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Reikalauti SD kortelės šifravimo"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Neleisti priedų"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Riboti priedo dydį"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Veikiant tarptink. r. sinch. tik pačiam"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Reikalauti įrenginių šifravimo"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatinis"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Vieną dieną"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tris dienas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 58aa778..7b27eac 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange pakalpojumi"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Pasākums šajā datumā ir atcelts: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Šī pasākuma dati šādā datumā ir mainīti: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"neatļaut pielikumus"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"neatļaut atmiņas kartes"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"neatļaut neparakstītas lietojumprogr."</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"neļaut neparakst. lietojumpr. instal. p."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"neatļaut Wi-Fi sakarus"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"neatļaut īsziņas"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"neatļaut POP3 vai IMAP kontus"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"neatļaut infrasarkanos sakarus"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"neatļaut HTML e-pasta ziņojumus"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"neatļaut pārlūkprogrammas"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"neatļaut patērētāju e-pasta ziņojumus"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"neatļaut kopīgošanu internetā"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"atbalstīt atkopšanas paroli"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"pieprasīt SMIME ziņojumus"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"atļaut tikai man. sinhr., izm. viesabon."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ierobežot Bluetooth lietošanu"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"neatļaut noteiktas lietojumprogrammas"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"atļaut tikai noteiktas lietojumprogr."</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ierobežot kalendāra notikumus pēc datuma"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ierobežot e-pasta vienumus pēc datuma"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ierobežot teksta e-pasta ziņojumu izmēru"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ierobežot HTML e-pasta ziņojumu izmēru"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ierobežot pielikumu izmēru"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"pieprasīt ierīces šifrēšanu"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"pieprasīt SD kartes šifrēšanu"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Neatļaut atmiņas kartes"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Neatļaut neparakstītas lietotnes"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Neatļaut neparakst. lietotņu instal. p."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Neatļaut Wi-Fi savienojumu"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Neatļaut īsziņas"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Neatļaut POP3 vai IMAP kontus"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Neatļaut infrasarkanos sakarus"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Neatļaut HTML e-pasta ziņojumus"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Neatļaut pārlūkprogrammas"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Neatļaut patērētāju e-pasta ziņojumus"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Neatļaut kopīgošanu internetā"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Pieprasīt SMIME formāta ziņojumus"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ierobežot Bluetooth lietošanu"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Neatļaut noteiktas lietotnes"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Atļaut tikai norādītās lietotnes"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Ierobežot kalendāra notikumus pēc datuma"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ierobežot e-pasta vienumus pēc datuma"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ierobežot teksta e-pasta ziņojumu izmēru"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ierobežot HTML e-pasta ziņojumu izmēru"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Pieprasīt SD kartes šifrēšanu"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Neatļaut pielikumus"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ierobežot pielikumu izmēru"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Atļaut tikai man. sinhr., izm. viesabon."</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Pieprasīt ierīces šifrēšanu"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automātiski"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Viena diena"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Trīs dienas"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index acde8f9..cbc11d0 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Perkhidmatan Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Acara ini sudah dibatalkan untuk: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Butiran acara ini telah ditukar kepada: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"tidak membenarkan lampiran"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"tidak membenarkan kad storan"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"tidak membenarkan apl tanpa tandatangan"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"tidak benarkn pemsg apl tnpa tandatangan"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"tidak membenarkan wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"tidak membenarkan pemesejan teks"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"tidak membenarkan akaun POP3 atau IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"tidak membenarkan komunikasi inframerah"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"tidak membenarkan e-mel HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"tidak membenarkan penyemak imbas"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"tidak membenarkan e-mel pengguna"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"tidak membenarkan perkongsian internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"menyokong kata laluan pemulihan"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"memerlukan mesej SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"benarkn segerak mnual shj smsa peryaun"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"mengehadkan penggunaan bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"tidak membenarkan aplikasi tertentu"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"membenarkan aplikasi tertentu sahaja"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"mengehadkan tarikh acara kalendar"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"mengehadkan tarikh e-mel"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"mengehadkan saiz e-mel teks"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"mengehadkan saiz e-mel HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"mengehadkan saiz lampiran"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"memerlukan penyulitan peranti"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"memerlukan penyulitan kad sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Jgn benarkan kad storan"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Jgn bnrkan apl tanpa tandatangan"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Jgn bnrkan pemsng apl tanpa tandatangan"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Jgn benarkan Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Jgn benarkan pemesejan teks"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Jgn benarkan akaun POP3 atau IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Jgn benarkan komunikasi inframerah"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Jgn benarkan e-mel HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Jgn benarkan penyemak imbas"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Jgn benarkan e-mel pengguna"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Jgn benarkan perkongsian internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Perlukan mesej SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Hadkan penggunaan Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Jgn benarkan apl tertentu"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Benarnya hanya apl dinyatakan"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Hadkan tarikh acara kalendar"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Hadkan tarikh e-mel"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Hadkan saiz e-mel teks"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Hadkan saiz e-mel HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Memerlukan penyulitan kad SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Jgn benarkan lampiran"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Hadkan saiz lampiran"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Bnr sgrk manual sj semasa perayauan"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Perlukan penyulitan peranti"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatik"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Satu hari"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tiga hari"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5ecafce..2025c7a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange-tjenester"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Denne aktiviteten er kansellert for: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Detaljene for denne aktiviteten er endret for: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ikke tillat vedlegg"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ikke tillat minnekort"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ikke tillat usignerte applikasjoner"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ikke tillat inst.prog. for usign. apper"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ikke tillat Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ikke tillat tekstmeldinger"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ikke tillat POP3- eller IMAP-kontoer"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ikke tillat infrarød kommunikasjon"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ikke tillat e-post i HTML-format"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ikke tillat nettlesere"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ikke tillat e-post fra forbrukere"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ikke tillat Internett-deling"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"støtte av gjenopprettingspassord"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"krever SMIME-meldinger"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"tillat kun man. synk. ved datastreifing"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"begrens bruk av Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"forby angitte applikasjoner"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"tillat kun angitte applikasjoner"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"begrens datoer for kalenderaktiviteter"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"begrens e-postdatoer"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"begrens størr. på e-post i tekstformat"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"begrens størr. på e-post i HTML-format"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"begrens vedleggsstørrelse"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"kreve enhetskryptering"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"kreve kryptering av SD-kort"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Ikke tillat minnekort"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Ikke tillat usignerte apper"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ikke tillat usign. appinstallasjonsprog."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Ikke tillat Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Ikke tillat tekstmeldinger"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Ikke tillat POP3- eller IMAP-kontoer"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Ikke tillat infrarød kommunikasjon"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Ikke tillat e-post i HTML-format"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Ikke tillat nettlesere"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Ikke tillat forbruker-e-post"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Ikke tillat Internett-deling"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Krev SMIME-meldinger"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Begrens bruk av Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Forby angitte apper"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Tillat bare spesifikke apper"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Begrens datoer for kalenderaktiviteter"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Begrens e-postdatoer"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Begrens størr. på e-post i tekstformat"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Begrens størr. på e-post i HTML-format"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Krev kryptering av SD-kort"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Ikke tillat vedlegg"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Begrens vedleggsstørrelse"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Bare tillat manuell synk. ved streifing"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Krev enhetskryptering"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatisk"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Én dag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tre dager"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 496a743..26ac587 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Deze afspraak is geannuleerd voor: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"De details van deze afspraak zijn gewijzigd voor: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"bijlagen niet toestaan"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"geheugenkaarten niet toestaan"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"niet-ondertekende apps niet toestaan"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"niet-ondertek. app-installers niet toestn"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"Wi-Fi niet toestaan"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"sms\'en niet toestaan"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3- of IMAP-accounts niet toestaan"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"infraroodcommunicatie niet toestaan"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML-e-mail niet toestaan"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"browsers niet toestaan"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"consumenten-e-mail niet toestaan"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"internet delen niet toestaan"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"een herstelwachtwoord ondersteunen"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"SMIME-berichten vereisen"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"alleen handm. synchr. toestaan bij roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"het gebruik van Bluetooth beperken"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"gespecificeerde apps niet toestaan"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"alleen gespecificeerde apps toestaan"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"datums van agenda-afspraken beperken"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"e-maildatums beperken"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"tekstgrootte van e-mail beperken"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"grootte van HTML-e-mails beperken"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"grootte van bijlagen beperken"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"encryptie van apparaat vereisen"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"encryptie van SD-kaart vereisen"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Geheugenkaarten niet toestaan"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Niet-ondertekende apps niet toestaan"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Niet-ondertekende appinstallers weigeren"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wifi niet toestaan"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Sms\'en niet toestaan"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3- of IMAP-accounts niet toestaan"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Infraroodcommunicatie niet toestaan"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML-e-mail niet toestaan"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Browsers niet toestaan"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Consumenten-e-mail niet toestaan"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Internet delen niet toestaan"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"SMIME-berichten vereisen"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Het gebruik van Bluetooth beperken"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Opgegeven apps niet toestaan"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Alleen opgegeven apps toestaan"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Datums van agenda-afspraken beperken"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"E-maildatums beperken"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Tekstgrootte van e-mail beperken"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Grootte van HTML-e-mails beperken"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Codering van SD-kaart vereisen"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Bijlagen niet toestaan"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Grootte van bijlagen beperken"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Alleen handm. synchr. toestn bij roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Apparaatencryptie vereisen"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatisch"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Eén dag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Drie dagen"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 13b0a6c..8970a36 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Usługi wymiany"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"To zdarzenie zostało anulowane dla: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Szczegóły tego zdarzenia zostały zmienione dla: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"nie zezwalaj na załączniki"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"nie zezwalaj na karty pamięci"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"nie zezwalaj na niepodpisane aplikacje"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"nie zezwalaj na niepodpisane instalatory aplikacji"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"nie zezwalaj na Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"nie zezwalaj na wiadomości SMS"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"nie zezwalaj na konta POP3 ani IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"nie zezwalaj na komunikację przez podczerwień"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"nie zezwalaj na e-maile w formacie HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"nie zezwalaj na przeglądarki"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"nie zezwalaj na e-maile klientów"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"nie zezwalaj na udostępnianie połączenia internetowego"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"obsługa hasła odzyskiwania"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"wymagaj formatu SMIME wiadomości"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"w roamingu zezwalaj tylko na ręczną synchronizację"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ogranicz łączność Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"nie zezwalaj na określone aplikacje"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"zezwalaj wyłącznie na określone aplikacje"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ogranicz daty wydarzeń w kalendarzu"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ograniczaj daty wiadomości e-mail"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ogranicz długość tekstu wiadomości e-mail"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ogranicz rozmiar e-maili w formacie HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ogranicz rozmiar załączników"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"wymagaj szyfrowania urządzenia"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"wymagaj szyfrowania karty SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Nie zezwalaj na karty pamięci"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Nie zezwalaj na niepodpisane aplikacje"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Nie zezwalaj na niepodpisane instalatory"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Nie zezwalaj na używanie sieci Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Nie zezwalaj na wiadomości SMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Nie zezwalaj na konta POP3 ani IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Nie zezwalaj na łączność w podczerwieni"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Nie zezwalaj na e-maile w formacie HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Nie zezwalaj na przeglądarki"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Nie zezwalaj na e-maile komercyjne"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Nie zezwalaj na udostępnianie internetu"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Wymagaj wiadomości w formacie SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ogranicz użycie Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Nie zezwalaj na określone aplikacje"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Zezwalaj tylko na określone aplikacje"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Ograniczaj daty wydarzeń w kalendarzu"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ograniczaj daty e-maili"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ograniczaj rozmiar e-maili tekstowych"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ogranicz rozmiar e-maili w formacie HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Wymagaj szyfrowania na karcie SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Nie zezwalaj na załączniki"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ograniczaj rozmiar załączników"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"W roamingu tylko synchronizacja ręczna"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Wymagaj szyfrowania w urządzeniu"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatycznie"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Jeden dzień"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Trzy dni"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index f0c278c..449a3b7 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Serviços do Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Este evento foi cancelado para: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Os detalhes deste evento foram alterados para: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"não permitir anexos"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"não permitir cartões de armazenamento"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"não permitir aplicações não assinadas"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"não perm. pro. de inst. de apl. não ass."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"não permitir Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"não permitir mensagens de texto"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"não permitir contas POP3 ou IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"não permitir comun. via infravermelhos"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"não permitir e-mails em HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"não permitir navegadores"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"não permitir e-mails de consumidor"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"não permitir partilha de internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"suportar palavra-passe de recuperação"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"requerer mensagens SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"só permitir sincr. manual em roaming."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"limitar utilização de bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"desautorizar aplicações específicas"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"só permitir aplicações indicadas"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"limitar datas de eventos de calendário"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"limitar as datas dos e-mails"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"limitar tamanho de e-mails de texto"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"limitar o tamanho de e-mails em HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"limitar o tamanho dos anexos"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"requerer encriptação do aparelho"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"requerer encriptação do cartão sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Não permitir cartões de armazenamento"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Não permitir aplicações não assinadas"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Não permitir prog. de inst. não assinados"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Não permitir Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Não permitir mensagens de texto"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Não permitir contas POP3 ou IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Não permitir comun. por infravermelhos"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Não permitir e-mails em HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Não permitir navegadores"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Não permitir e-mails ao consumidor"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Não permitir partilha de internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Solicitar mensagens SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Limitar utilização de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Não permitir aplicações especificadas"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permitir apenas aplicações especificadas"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Limitar por datas de eventos de calendário"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Limitar por datas dos e-mails"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Limitar tamanho de e-mails de texto"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Limitar tamanho de e-mails em HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Solicitar encriptação do cartão SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Não permitir anexos"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Limitar tamanho dos anexos"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Permitir apenas sinc. manual em roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Solicitar encriptação do aparelho"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automático"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Um dia"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Três dias"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 16c86cb..246d219 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Trocar serviços"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Este evento foi cancelado para: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Os detalhes deste evento foram alterados para: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"não permitir anexos"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"não permitir cartões de armazenamento"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"não permitir aplicativos não assinados"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"não permitir instal. de aplic. não assin."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"não permitir redes sem fio"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"não permitir mensagens de texto"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"não permitr contas POP3 ou IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"não permitir comunic. via infravermelho"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"não permitir e-mail em HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"não permitir navegadores"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"não permitir e-mail do consumidor"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"não permitir compart. pela Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"suporte à senha de recuperação"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"exigir mensagens SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"permitir sincr. manual somente em roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"restringir uso de Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"desautorizar aplicativos especificados"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"permitir somente aplic. especificados"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"restringir datas de eventos na agenda"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"restringir e-mails por data"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"restringir o tamanho do e-mail em texto"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"restringir tamanho do e-mail em HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"restringir tamanho do anexo"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"exigir criptografia do dispositivo"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"exigir criptografia do cartão SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Não permitir cartões de armazenamento"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Não permitir aplicativos não assinados"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Não permitir instal. aplic. não assinado"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Não permitir Wi-FI"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Não permitir mensagens de texto"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Não permitir contas POP3 ou IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Não permitir comunic. via infravermelho"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Não permitir e-mail em HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Não permitir navegadores"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Não permitir e-mail do consumidor"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Não permitir compart. pela Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Exigir mensagens em SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Restringir o uso de Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Desautorizar aplicativos especificados"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permitir somente aplic. especificados"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Restringir datas de eventos na agenda"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Restringir datas dos e-mails"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Restringir o tamanho do e-mail em texto"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Restringir tamanho do e-mail em HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Exigir criptografia do cartão SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Não permitir anexos"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Restringir tamanho do anexo"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Permitir sinc. manual somente em roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Exigir criptografia do dispositivo"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automático"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Um dia"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Três dias"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 25b0649..59d1202 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -33,55 +33,53 @@
     <!-- outdated translation 5815426892327290362 -->     <string name="app_name" msgid="5316597712787122829">"E-mail"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Questa occurrenza è vegnida annullada: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Ils detagls da questa occurrenza èn vegnids modifitgads: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <!-- no translation found for policy_dont_allow_attachments (7924303012593832731) -->
+    <!-- no translation found for policy_dont_allow_storage_cards (2765447013574188473) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_storage_cards (5600453721690619515) -->
+    <!-- no translation found for policy_dont_allow_unsigned_apps (4896164334956001479) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_unsigned_apps (7391405270957498716) -->
+    <!-- no translation found for policy_dont_allow_unsigned_installers (1326544905185523540) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_unsigned_installers (8124763529572916905) -->
+    <!-- no translation found for policy_dont_allow_wifi (3109487776704143995) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_wifi (8972952227139360866) -->
+    <!-- no translation found for policy_dont_allow_text_messaging (7846141657345860427) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_text_messaging (2705534889421216691) -->
+    <!-- no translation found for policy_dont_allow_pop_imap (4702932192358698651) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_pop_imap (1563948038306495433) -->
+    <!-- no translation found for policy_dont_allow_irda (1848561629495912430) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_irda (2864744455266260846) -->
+    <!-- no translation found for policy_dont_allow_html (5888652525907651489) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_html (5004059292137838041) -->
+    <!-- no translation found for policy_dont_allow_browser (1018764395507493616) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_browser (1898383003253987916) -->
+    <!-- no translation found for policy_dont_allow_consumer_email (6958427300686692292) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_consumer_email (4208507021679199773) -->
+    <!-- no translation found for policy_dont_allow_internet_sharing (2370083814654927695) -->
     <skip />
-    <!-- no translation found for policy_dont_allow_internet_sharing (8866772202653485379) -->
+    <!-- no translation found for policy_require_smime (673557150920820590) -->
     <skip />
-    <!-- no translation found for policy_enable_password_recovery (3082147682445934504) -->
+    <!-- no translation found for policy_bluetooth_restricted (5248824127186039567) -->
     <skip />
-    <!-- no translation found for policy_require_smime (8044392674810605617) -->
+    <!-- no translation found for policy_app_blacklist (8169194058285873461) -->
     <skip />
-    <!-- no translation found for policy_require_manual_sync_roaming (7140792029820703854) -->
+    <!-- no translation found for policy_app_whitelist (3670572644342165306) -->
     <skip />
-    <!-- no translation found for policy_bluetooth_restricted (8992284721368381918) -->
+    <!-- no translation found for policy_max_calendar_age (3323514646413599036) -->
     <skip />
-    <!-- no translation found for policy_app_blacklist (5997243461425995435) -->
+    <!-- no translation found for policy_max_email_age (3845699096249945617) -->
     <skip />
-    <!-- no translation found for policy_app_whitelist (8401297908870017913) -->
+    <!-- no translation found for policy_text_truncation (1783448050735715818) -->
     <skip />
-    <!-- no translation found for policy_max_calendar_age (6394557044887221078) -->
+    <!-- no translation found for policy_html_truncation (102158408055486343) -->
     <skip />
-    <!-- no translation found for policy_max_email_age (3303242808829681352) -->
+    <!-- no translation found for policy_require_sd_encryption (366468398301273342) -->
     <skip />
-    <!-- no translation found for policy_text_truncation (5800480928209379255) -->
+    <!-- no translation found for policy_dont_allow_attachments (6250520458670348907) -->
     <skip />
-    <!-- no translation found for policy_html_truncation (629030762178870832) -->
+    <!-- no translation found for policy_max_attachment_size (4020279603050888661) -->
     <skip />
-    <!-- no translation found for policy_max_attachment_size (6191034264088052742) -->
+    <!-- no translation found for policy_require_manual_sync_roaming (6637416341015662148) -->
     <skip />
-    <!-- no translation found for policy_require_encryption (1488761894213160246) -->
-    <skip />
-    <!-- no translation found for policy_require_sd_encryption (2425281481414518903) -->
+    <!-- no translation found for policy_require_encryption (7984702283392885348) -->
     <skip />
     <!-- no translation found for account_setup_options_mail_window_auto (4188895354366183790) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0dd290e..6bde2e3 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Servicii Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Acest eveniment a fost anulat pentru: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Detaliile acestui eveniment au fost modificate pentru: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"nu permiteţi ataşamente"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"nu permiteţi carduri de stocare"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"nu permiteţi aplicaţii nesemnate"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"nu permiteţi instal. aplicaţii nesemnate"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"nu permiteţi Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"nu permiteţi mesagerie text"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"nu permiteţi conturi POP3 sau IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"nu permiteţi comunicaţii în infraroşu"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"nu permiteţi e-mail HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"nu permiteţi browsere"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"nu permiteţi e-mail consumator"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"nu permiteţi distribuirea prin internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"acceptaţi o parolă de recuperare"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"solicitaţi mesaje SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"permit. doar sincron. manuală în roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"limitaţi utilizarea fcţ. Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"nu permiteţi anumite aplicaţii"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"permiteţi doar anumite aplicaţii"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"limitaţi datele even. din calendar"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"limitaţi intervalul de date de e-mailuri"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"limitaţi dimensiunea e-mailului text"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"limitaţi dimensiunea e-mailului HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"limitaţi dimensiunea ataşamentului"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"necesită criptarea dispozitivului"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"necesită criptarea cardului SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Nu permiteţi carduri de stocare"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Nu permiteţi aplicaţii nesemnate"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Nu permiteţi instal. aplic. nesemnate"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Nu permiteţi Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Nu permiteţi mesagerie text"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Nu permiteţi conturi POP3 sau IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Nu permiteţi comunicaţiile în infraroşu"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Nu permiteţi e-mailuri HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Nu permiteţi browserele"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Nu permiteţi e-mailuri client"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Nu permiteţi distribuirea prin internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Solicitaţi mesaje SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Limitaţi util. funcţiilor Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Nu permiteţi anumite aplicaţii"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Permiteţi numai aplicaţii indicate"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Limitaţi date evenimente din calendar"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Limitaţi datele e-mailurilor"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Limitaţi dimensiunea e-mailurilor text"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Limitaţi dimensiunea e-mailurilor HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Necesită criptarea cardului SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Nu permiteţi ataşamente"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Limitaţi dimensiunea ataşamentului"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"În roaming permiteţi doar sincr. manuală"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Solicitaţi criptarea dispozitivului"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automat"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"O zi"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Trei zile"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 99cb5d9..9262601 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Службы Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Это мероприятие отменено: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Сведения об этом мероприятии были изменены: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"не загружать прикрепленные файлы"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"не использовать карты памяти"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"запрещать неподписанные приложения"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"запрещать неподписанные установщики"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"не использовать Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"не использовать SMS"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"не использовать аккаунты POP3 и IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"не использовать инфракрасный порт"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"не принимать письма в формате HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"не использовать браузеры"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"не принимать пользовательскую почту"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"не использовать общий доступ в Интернет"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"поддерживать восстановление пароля"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"принимать только письма в формате SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"только ручная синхронизация в роуминге"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ограничить использование Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"запрещать указанные приложения"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"разрешать только указанные приложения"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ограничивать мероприятия по датам"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ограничивать письма по дате"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ограничивать размер текстовых писем"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ограничивать размер писем в формате HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ограничивать размер прикрепленных файлов"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"обязательное шифрование устройства"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"обязательное шифрование SD-карты"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Не использовать карты памяти"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Запрещать неподписанные приложения"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Запрещать неподписанные установщики"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Не использовать Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Запрещать SMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Не использовать аккаунты POP3 и IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Не использовать инфракрасный порт"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Не принимать письма в формате HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Не использовать браузеры"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Не принимать пользовательскую почту"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Не использовать режим модема"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Принимать только письма в формате SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ограничить использование Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Запрещать указанные приложения"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Разрешать только указанные приложения"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Ограничивать мероприятия по дате"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ограничивать письма по дате"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ограничивать размер текстовых писем"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ограничивать размер писем в формате HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Всегда шифровать SD-карты"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Не загружать прикрепленные файлы"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ограничивать размер прикрепленных файлов"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"В роуминге только ручная синхронизация"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Всегда шифровать устройство"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Автоматически"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Один день"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Три дня"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 519725a..ffddb78 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Táto udalosť bola zrušená pre termín: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Došlo k zmene podrobností tejto udalosti pre termín: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"nepovoliť prílohy"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"nepovoliť pamäťové karty"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"nepovoliť nepodpísané aplikácie"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"nepovoliť inštalátory nepodpís. aplik."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"nepovoliť sieť Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"nepovoliť odosiel. a príjem text. správ"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"nepovoliť účty POP3 ani IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"nepovoliť komunik. cez infračer. port"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"nepovoliť e-mail v jazyku HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"nepovoliť prehliadače"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"nepovoliť e-maily od spotrebiteľov"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"nepovoliť zdieľanie na Internete"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"podporovať obnovenie hesla"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"vyžadovať správy SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"pri roamingu povoliť iba ručnú synchr."</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"obmedziť použív. technológie bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"nepovoliť určené aplikácie"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"povoliť iba určené aplikácie"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"obmedziť dátumy  udalostí kalendára"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"zakázať e-maily pred dátumom"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"obmedziť veľkosť textu e-mailu"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"obmedziť veľkosť e-mailu v HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"obmedziť veľkosť prílohy"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"vyžadovať šifrovanie zariadenia"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"vyžadovať šifrovanie kariet SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Nepovoliť karty s ukladacím priestorom"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Nepovoliť nepodpísané aplikácie"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Nepovoliť nepodpísané inštalátory aplikácií"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Nepovoliť siete Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Nepovoliť správy SMS a MMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Nepovoliť účty POP3 ani IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Nepovoliť infračervenú komunikáciu"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Nepovoliť e-mail vo formáte HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Nepovoliť prehliadače"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Nepovoliť marketingové e-maily"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Nepovoliť zdieľanie internetu"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Vyžadovať správy vo formáte SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Obmedziť použitie rozhrania Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Nepovoliť určené aplikácie"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Povoliť iba určené aplikácie"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Obmedziť dátumy udalostí kalendára"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Obmedziť e-maily pred dátumom"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Obmedziť veľkosť textového e-mailu"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Obmedziť veľkosť e-mailu vo formáte HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Vyžadovať šifrovanie kariet SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Nepovoliť prílohy"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Obmedziť veľkosť prílohy"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Povoliť ručnú synchr. len pri roamingu"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Vyžadovať šifrovanie zariadenia"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automaticky"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Jeden deň"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tri dni"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 3b8d919..1be6631 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Storitve Exchange Services"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Ta dogodek je bil preklican za: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Podrobnosti tega dogodka so bile spremenjene: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ne dovoli prilog"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ne dovoli pomnilniških kartic"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ne dovoli uporabe nepodpis. programov"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ne dovoli nepodpis. namestitvenih prog."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ne dovoli brezžične povezave"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ne dovoli SMS-ov"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ne dovoli računov POP3 ali IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ne dovoli IR-komunikacije"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ne dovoli e-pošte HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ne dovoli brskalnikov"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ne dovoli e-pošte potrošnikov"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ne dovoli skupne rabe interneta"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"podpora za obnovitev gesla"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"zahteva sporočila SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"dovoli samo ročno sinh. med gostovanjem"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"omeji uporabo Bluetootha"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"ne dovoli določenih programov"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"dovoli samo nekatere programe"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"omeji datume koledarskih dogodkov"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"omeji e-pošto glede na datume"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"omeji velikost besedila v e-pošti"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"omeji velikost e-pošte HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"omeji velikost prilog"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"zahtevano šifriranje naprave"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"zahtevano šifriranje kartice SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Ne dovoli pomnilniških kartic"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Ne dovoli nepodpisanih programov"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ne dovoli nepodpisanih namest. programov"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Ne dovoli povezave Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Ne dovoli sporočil SMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Ne dovoli računov POP3 ali IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Ne dovoli komunik. z infrardečo povezavo"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Ne dovoli e-poštnih sporočil HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Ne dovoli brskalnikov"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Ne dovoli potrošnišk. e-poštnih sporočil"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Ne dovoli skupne rabe interneta"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Zahtevaj sporočila v obliki zapisa SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Omeji uporabo Bluetootha"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Ne dovoli navedenih programov"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Dovoli samo navedene programe"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Omeji glede na datume dogod. v koledarju"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Omeji glede na datume e-poštnih sporočil"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Omeji besedilo v e-poštnem sporočilu"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Omeji velikost e-poštnih sporočil HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Zahtevaj šifriranje kartice SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Ne dovoli prilog"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Omeji velikost prilog"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Med gostovanjem dovoli samo ročno sinhr."</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Zahtevaj šifriranje naprave"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Samodejno"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"En dan"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tri dni"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 55ee847..85825e5 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange услуге"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Овај догађај је отказан за: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Детаљи овог догађаја су промењени за: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"не дозволи прилоге"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"не дозволи меморијске картице"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"не дозволи непотписане апликације"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"не дозволи непотпис. инстал. прогр. аплик."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"не дозволи Wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"не дозволи текстуалне поруке"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"не дозволи POP3 или IMAP налоге"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"не дозволи инфрацрвене комуникације"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"не дозволи HTML е-пошту"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"не дозволи прегледачe"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"не дозволи потрошачку е-пошту"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"не дозволи дељење интернет везе"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"подржавај лозинку за обнављање"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"захтевај SMIME поруке"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"дозволи само ручну синх. у ромингу"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ограничи коришћење Bluetooth-а"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"не дозволи наведене апликације"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"дозволи само одређене апликације"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ограничи датуме догађаја календара"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"ограничи датуме порука е-поште"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"ограничи величину текста порука е-поште"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"ограничи величину HTML е-поште"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ограничи величину прилога"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"захтевање шифровања уређаја"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"захтевање шифровања SD картице"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Не дозволи меморијске картице"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Не дозволи непотписане апликације"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Не дозволи непотписане инст. програме апликација"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Не дозволи Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Не дозволи размену текстуалних порука"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Не дозволи POP3 или IMAP налоге"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Не дозволи инфрацрвене комуникације"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Не дозволи HTML е-пошту"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Не дозволи прегледаче"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Не дозволи корисничку е-пошту"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Не дозволи дељење интернет везе"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Захтевај SMIME поруке"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Ограничи коришћење Bluetooth-а"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Онемогући наведене апликације"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Дозволи само наведене апликације"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Ограничи датуме догађаја календара"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Ограничи датуме порука е-поште"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Ограничи величину текста порука е-поште"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Ограничи величину HTML порука е-поште"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Захтевај шифровање SD картице"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Не дозволи прилоге"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ограничи величину прилога"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Дозволи само ручну синхрониз. у ромингу"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Захтевај шифровање уређаја"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Аутоматски"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Један дан"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Три дана"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 18f1079..5b57c4d 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange-tjänster"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Det här händelsen har ställts in för: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Den här händelsens information har ändrats för: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"tillåter inte bilagor"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"tillåter inte minneskort"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"tillåter inte osignerade appar"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"tillåter inte osignerade installationsprog."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"tillåter inte Wi-Fi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"tillåter inte SMS"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"tillåter inte POP3-eller IMAP-konton"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"tillåter inte infraröd kommunikation"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"tillåter inte HTML-e-post"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"tillåter inte webbläsare"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"tillåter inte e-post från konsument"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"tillåter inte Internetdelning"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"har stöd för återställningslösenord"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"kräver SMIME-meddelanden"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"tillåter endast manuell synk vid roaming"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"begränsar Bluetooth-användningen"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"tillåter inte vissa appar"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"tillåter endast vissa appar"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"begränsar datum för kalenderhändelser"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"begränsar datum för e-post"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"begränsar textstorleken i e-post"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"begränsar storleken på HTML-e-post"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"begränsar bilagans storlek"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"kräv enhetskryptering"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"kräv kryptering av SD-kort"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Tillåt inte minneskort"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Tillåt inte osignerade appar"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Tillåt inte installationsprogram för osignerade appar"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Tillåt inte Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Tillåt inte SMS"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Tillåt inte POP3- eller IMAP-konton"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Tillåt inte infraröd kommunikation"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Tillåt inte HTML-e-post"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Tillåt inte webbläsare"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Tillåt inte e-post från konsument"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Tillåt inte Internetdelning"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Kräv SMIME-meddelanden"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Begränsa Bluetooth-användning"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Tillåt inte specificerade appar"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Tillåt endast specificerade appar"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Begränsa datum för kalenderhändelser"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Begränsa datum för e-post"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Begränsa textstorleken i e-post"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Begränsa storleken på HTML-e-post"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Kräv kryptering av SD-kort"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Tillåt inte bilagor"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Begränsa bilagans storlek"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Tillåt endast manuell synk vid roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Kräv enhetskryptering"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatisk"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"En dag"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tre dagar"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d91ed0f..b4effeb 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Huduma za Ubadilishanaji"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Tukio hili limeghairiwa kwa: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Maelezo ya tukio hili yamebadilishwa kwa: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"usiruhusu viambatisho"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"usiruhusu kadi za kuhifadhi"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"usiruhusu programu ambazo hazijatiwa sahihi"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"usiruhusu visakinishi vya programu visivyo na sahihi"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"usiruhusu mitandao-hewa"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"usiruhusu utumaji ujumbe wa maandishi"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"usiruhusu akaunti za POP3 au IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"usiruhusu mawasiliano ya infraredi"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"usiruhusu barua pepe ya HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"usiruhusu vivinjari"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"usiruhusu barua pepe ya watumiaji"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"usiruhusu kushiriki kwa mtandao"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"wezesha urejeshaji wa nenosiri"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"fanya barua za SMIME ziwe sharti"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"ruhusu usawazishaji wa mkono wakati wa urandaji pekee"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"zuia matumizi ya bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"usiruhusu programu zilizobainishwa"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"ruhusu programu zilizobainishwa pekee"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"zuia tarehe za matukio ya kalenda"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"zuia tarehe za barua pepe"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"weka mipaka ya ukubwa wa barua pepe za maandishi"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"weka mipaka ya ukubwa wa barua pepe za HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"weka mipaka ya ukubwa wa viambatisho"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"inahitaji usimbaji fiche ya kifaa"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"inahitaji usimbaji fiche ya kadi ya sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"usiruhusu kadi za kuhifadhi"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Usiruhusu programu ambazo hazina saini"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Usiruhusu visakanishaji vya programu ambavyo havina saini"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Usiruhusu Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Usiruhusu utumaji ujumbe wa maandishi"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"usiruhusu akaunti za POP3 au IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"usiruhusu mawasiliano ya infraredi"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Usiruhusu barua pepe ya HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"usiruhusu vivinjari"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Usiruhusu barua pepe ya watumiaji"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Usiruhusu ushiriki kwenye mtandao"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Inahitaji ujumbe wa SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Zuia matumizi ya Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Usiruhusu programu zilizobainishwa"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Ruhusu programu zilizobainishwa pekee"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"zuia tarehe za matukio ya kalenda"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"zuia tarehe za barua pepe"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"weka mipaka ya ukubwa wa barua pepe ya maandishi"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"weka mipaka ya ukubwa wa barua pepe ya HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Inahitaji usimbaji fiche wa kadi ya SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Usiruhusu viambatisho"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"weka mipaka ya ukubwa wa viambatisho"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Ruhusu usawazishaji wa mkono wakati wa urandaji pekee"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Inahitaji usimbaji fiche wa kifaa"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Kiotomatiki"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Siku moja"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Siku tatu"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 0d7edaf..d097a9a 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"บริการแลกเปลี่ยน"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"กิจกรรมถูกยกเลิกแล้วในวันที่: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"วันที่ของกิจกรรมนี้ถูกเปลี่ยนเป็น: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ไม่อนุญาตให้มีเอกสารแนบ"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ไม่อนุญาตให้มีการ์ดบันทึกข้อมูล"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ไม่อนุญาตแอปพลิเคชันที่ไม่มีการลงชื่อ"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ไม่อนุญาตตัวติดตั้งแอปพลิเคชันที่ไม่มีการลงชื่อ"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ไม่อนุญาตให้ใช้ WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ไม่อนุญาตการรับส่งข้อความ"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ไม่อนุญาตให้ใช้บัญชี POP3 หรือ IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ไม่อนุญาตให้มีการสื่อสารอินฟราเรด"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ไม่อนุญาตให้รับอีเมลแบบ HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ไม่อนุญาตให้ใช้เบราว์เซอร์"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ไม่อนุญาตให้รับอีเมลลูกค้า"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ไม่อนุญาตการแบ่งปันอินเทอร์เน็ต"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"สนับสนุนรหัสผ่านสำรอง"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"ต้องมีข้อความรูปแบบ SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"อนุญาตการซิงค์ด้วยตนเองเฉพาะขณะโรมมิ่ง"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"จำกัดการใช้บลูทูธ"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"ไม่อนุญาตให้ใช้แอปพลิเคชันที่ระบุ"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"อนุญาตแอปพลิเคชันที่ระบุเท่านั้น"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"จำกัดวันที่กิจกรรมตามปฏิทิน"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"จำกัดวันที่อีเมล"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"จำกัดขนาดอีเมลแบบข้อความ"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"จำกัดขนาดอีเมลแบบ HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"จำกัดขนาดเอกสารแนบ"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"ต้องมีการเข้ารหัสอุปกรณ์"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"ต้องมีการเข้ารหัสการ์ด SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"ไม่อนุญาตให้มีการ์ดบันทึกข้อมูล"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"ไม่อนุญาตแอปพลิเคชันที่ไม่ได้ลงชื่อ"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"ไม่อนุญาตตัวติดตั้งแอปฯ ที่ไม่ได้ลงชื่อ"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"ไม่อนุญาตให้ใช้ WiFi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"ไม่อนุญาตการรับส่งข้อความ"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"ไม่อนุญาตให้ใช้บัญชี POP3 หรือ IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"ไม่อนุญาตให้มีการสื่อสารอินฟราเรด"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"ไม่อนุญาตให้รับอีเมลแบบ HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"ไม่อนุญาตให้ใช้เบราว์เซอร์"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"ไม่อนุญาตให้รับอีเมลลูกค้า"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"ไม่อนุญาตการแบ่งปันอินเทอร์เน็ต"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"ต้องมีข้อความรูปแบบ SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"จำกัดการใช้บลูทูธ"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"ไม่อนุญาตให้ใช้แอปพลิเคชันที่ระบุ"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"อนุญาตแอปพลิเคชันที่ระบุเท่านั้น"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"จำกัดวันที่กิจกรรมตามปฏิทิน"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"จำกัดวันที่อีเมล"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"จำกัดขนาดอีเมลแบบข้อความ"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"จำกัดขนาดอีเมลแบบ HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"ต้องมีการเข้ารหัสการ์ด SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"ไม่อนุญาตให้ดาวน์โหลดไฟล์แนบ"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"จำกัดขนาดไฟล์แนบ"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"อนุญาตเฉพาะการซิงค์ด้วยตนเองขณะโรมมิ่ง"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"ต้องมีการเข้ารหัสอุปกรณ์"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"อัตโนมัติ"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"หนึ่งวัน"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"3 วัน"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index e6ffa49..3ae0cfd 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Magpalitan ng Mga Serbisyo"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Kinansela ang kaganapang ito para sa: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Ang mga detalye ng kaganapang ito ay binago para sa: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"huwag payagan ang mga attachment"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"huwag payagan ang mga storage card"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"huwag payagan di-pirmadong application"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"huwag payagan di-pirmadong app installer"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"huwag payagan ang wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"huwag payagan pagpadala ng text message"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"huwag payagan mga POP3 o IMAP na account"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"huwag payagan infrared na komunikasyon"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"huwag payagan ang HTML na email"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"huwag payagan ang mga browser"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"huwag payagan ang mga email ng consumer"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"huwag payagan ang pagbahagi sa internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"suportahan ang isang password sa pagbawi"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"nangangailangan ng mga SMIME na mensahe"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"payagan manu-manong sync habang nag-roam"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"paghigpitan ang paggamit ng bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"huwag payagan tinutukoy na application"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"payagan lang tinutukoy na application"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"higpitan petsa kaganapan sa kalendaryo"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"paghigpitan ang mga petsa ng email"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"paghigpitan ang laki ng text email"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"paghigpitan ang laki ng HTML email"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"paghigpitan ang laki ng attachment"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"kinakailangan ng pag-encrypt ng device"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"kinakailangan ng pag-encrypt ng sd card"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Huwag payagan ang mga storage card"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Huwag payagan ang mga di-pirmadong app"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Huwag payagan di-pirmadong app installer"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Huwag payagan ang Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Huwag payagan pagpapadala text message"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Huwag payagan mga POP3 o IMAP na account"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Wag payagan mga komunikasyon sa infrared"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Huwag payagan ang HTML na email"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Huwag payagan ang mga browser"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Huwag payagan ang email ng consumer"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Huwag payagan pagbabahagi ng internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Hilingin ang mga SMIME na mensahe"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Paghigpitan ang paggamit ng Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Huwag payagan ang mga tinukoy na app"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Payagan lamang ang mga tinukoy na app"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Paghigpitan petsa ng event sa kalendaryo"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Paghigpitan ang mga petsa ng email"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Paghigpitan ang laki ng tekstong email"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Paghigpitan ang laki ng HTML na email"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Hilingin ang pag-encrypt ng SD card"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Huwag payagan ang mga attachment"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Paghigpitan ang laki ng attachment"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Payag lang manu-mano sync kapag roaming"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Hilingin ang pag-encrypt ng device"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Awtomatiko"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Isang araw"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tatlong araw"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 190bc0d..01537d4 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange Hizmetleri"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Bu olay şu tarih için iptal edildi: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Bu olayın ayrıntıları değiştirildi: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"eklere izin verme"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"depolama kartlarına izin verme"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"imzasız uygulamalara izin verme"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"imzasız uyglma yükleyicilere izin verme"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"kablosuza izin verme"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"kısa mesaja izin verme"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"POP3 veya IMAP hesaplarına izin verme"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"kızılötesi iletişime izin verme"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"HTML e-postaya izin verme"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"tarayıcılara izin verme"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"tüketici e-postasına izin verme"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"internet paylaşımına izin verme"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"ikincil şifreyi destekle"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"iletilerin SMIME olmasını gerektir"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"Dolaşımda sadece elle senkronzsyn"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"bluetooth kullanımını kısıtla"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"belirtilen uygulamalara izin verme"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"yalnızca belirtilen uyglmalara izin ver"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"takvim etkinliği tarihlerini kısıtla"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"e-posta tarihlerini kısıtla"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"metin e-posta boyutunu kısıtla"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"HTML e-posta boyutunu kısıtla"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ek boyutunu kısıtla"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"cihaz şifrelemesi gerektir"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"sd kart şifrelemesi gerektir"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Depolama kartlarına izin verme"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"İmzasız uygulamalara izin verme"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"İmzasız uygulama yükleyicilere izin verme"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Kablosuza izin verme"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Kısa mesaja izin verme"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3 veya IMAP hesaplarına izin verme"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Kızılötesi iletişime izin verme"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTML e-postaya izin verme"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Tarayıcılara izin verme"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Tüketici e-postasına izin verme"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"İnternet paylaşımına izin verme"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"İletilerin SMIME olmasını gerektir"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetooth kullanımını kısıtla"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Belirtilen uygulamalara izin verme"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Sadece belirtilen uygulamalara izin ver"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Takvim etkinliği tarihlerini kısıtla"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"E-posta tarihlerini kısıtla"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Metin e-posta boyutunu kısıtla"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"HTML e-posta boyutunu kısıtla"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SD kart şifrelemesi gerektir"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Eklere izin verme"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Ek boyutunu kısıtla"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Dolaşımda sadece elle senk. izin ver"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Cihaz şifrelemesi gerektir"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Otomatik"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Bir gün"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Üç gün"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 2bc342f..3e52671 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Служби Exchange"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Цю подію було скасовано для: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Деталі цієї події змінено на: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"не дозволяти вкладення"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"не дозволяти карти пам’яті"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"не дозволяти непідписані програми"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"не дозвол. встановлюв. непідпис. прогр."</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"не дозволяти WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"не дозволяти текстові повідомлення"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"не дозволяти облік. записи POP3 або IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"не дозволяти інфрачервоний зв’язок"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"не дозволяти листи у форматі HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"не дозволяти веб-переглядачі"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"не дозволяти абонентські електр. листи"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"не дозволяти обмін через Інтернет"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"підтримувати пароль для відновлення"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"вимагати повідомлення SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"дозвол. синхрон. вручну лише в роумінгу"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"обмежити використання Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"заборонити вказані програми"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"дозволяти лише вказані програми"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"обмежити дати подій календаря"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"обмежити дати електронних листів"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"обмежити розмір тексту листів"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"обмежити розмір листів у форматі HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"обмежити розмір вкладень"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"вимагати шифрування пристрою"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"вимагати шифрування карти SD"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Не дозволяти карти пам’яті"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Не дозволяти непідписані програми"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Не дозвол. встановлюв. непідпис. прогр."</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Не дозволяти Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Не дозволяти текстові повідомлення"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Не дозволяти облік. записи POP3 або IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Не дозволяти інфрачервоний зв’язок"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Не дозволяти листи у форматі HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Не дозволяти веб-переглядачі"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Не дозволяти поштові сервіси"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Не дозвол. надання доступу до Інтернету"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Вимагати повідомлення у форматі SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Обмежувати використання Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Забороняти вказані програми"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Дозволяти лише вказані програми"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Обмежувати дати подій календаря"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Обмежувати дати електронних листів"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Обмежувати розмір тексту листів"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Обмежувати розмір листів у форматі HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Вимагати шифрування карти SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Не дозволяти вкладені файли"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Обмежувати розмір вкладених файлів"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Дозвол. синхрон. вручну лише в роумінгу"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Вимагати шифрування пристрою"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Автоматично"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Один день"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Три дні"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 747d4ab..6beb747 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Dịch vụ hối đoái"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Sự kiện này đã bị hủy cho: <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Chi tiết về sự kiện này đã được thay đổi cho: <xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"không cho phép tệp đính kèm"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"không cho phép thẻ lưu trữ"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"không cho phép ứng dụng chưa được kiểm tra."</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"không cho phép trình cài đặt ứng dụng chưa được kiểm tra"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"không cho phép wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"không cho phép nhắn tin văn bản"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"không cho phép tài khoản POP3 hoặc IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"không cho phép giao tiếp hồng ngoại"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"không cho phép email HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"không cho phép trình duyệt"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"không cho phép email của người tiêu dùng"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"không cho phép chia sẻ kết nối Internet"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"hỗ trợ mật khẩu khôi phục"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"yêu cầu tin nhắn SMIME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"chỉ cho phép đồng bộ hóa thủ công khi chuyển vùng"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"hạn chế sử dụng bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"không cho phép ứng dụng được chỉ định"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"chỉ cho phép ứng dụng được chỉ định"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"hạn chế ngày của sự kiện lịch"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"hạn chế ngày email"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"hạn chế kích thước email văn bản"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"hạn chế kích thước email HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"hạn chế kích thước tệp đính kèm"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"yêu cầu mã hóa thiết bị"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"yêu cầu mã hóa thẻ sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Không cho phép thẻ lưu trữ"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Không cho phép ứng dụng chưa kiểm tra"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ko cho phép tr.cài đặt ứ.dụng chưa k.tra"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Không cho phép Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Không cho phép nhắn tin văn bản"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Không cho phép tài khoản POP3 hoặc IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Không cho phép giao tiếp bằng hồng ngoại"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Không cho phép email HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Không cho phép trình duyệt"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Không cho phép email của người dùng"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Không cho phép chia sẻ kết nối Internet"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"Yêu cầu tin nhắn  SMIME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Hạn chế sử dụng Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Ko cho phép các ứng dụng được chỉ định"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Chỉ cho phép các ứng dụng được chỉ định"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Hạn chế ngày của sự kiện lịch"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Hạn chế ngày của email"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Hạn chế kích thước email văn bản"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Hạn chế kích thước email HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Yêu cầu mã hóa thẻ SD"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Không cho phép tệp đính kèm"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Hạn chế kích thước của tệp đính kèm"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Chỉ được đ.bộ hóa thủ công khi ch.vùng"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"Yêu cầu mã hóa thiết bị"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Tự động"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Một ngày"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Ba ngày"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index edffe24..ce20685 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange 服务"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"定于以下日期的活动已取消：<xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"定于以下日期的活动的详细信息已更改：<xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"不允许下载附件"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"不允许使用存储卡"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"不允许安装未签名的应用程序"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"不允许使用未签名的安装程序安装应用程序"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"不允许 WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"不允许使用短信功能"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"不允许使用 POP3 或 IMAP 帐户"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"不允许红外通信"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"不允许接收 HTML 电子邮件"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"不允许浏览器用户"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"不允许接收消费者电子邮件"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"不允许共享互联网连接"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"支持恢复密码"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"电子邮件必须采用 SMIME 格式"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"只允许在漫游时手动同步"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"限制蓝牙功能"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"不允许使用指定的应用程序"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"只允许使用指定的应用程序"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"限制日历活动的日期"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"限制电子邮件日期"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"限制文本电子邮件的大小"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"限制 HTML 电子邮件的大小"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"限制附件的大小"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"要求设备加密"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"要求 SD 卡加密"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"不允许使用存储卡"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"不允许安装未签名的应用程序"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"不允许通过未签名的安装程序来安装应用程序"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"不允许使用 Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"不允许使用短信功能"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"不允许使用 POP3 或 IMAP 帐户"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"不允许红外通信"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"不允许接收 HTML 电子邮件"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"不允许使用浏览器"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"不允许接收消费者电子邮件"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"不允许共享互联网连接"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"电子邮件必须采用 SMIME 格式"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"限制蓝牙功能"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"不允许使用指定的应用程序"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"只允许使用指定的应用程序"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"限制日历活动的日期"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"限制电子邮件日期"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"限制文本电子邮件的大小"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"限制 HTML 电子邮件的大小"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"要求 SD 卡加密"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"不允许下载附件"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"限制附件的大小"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"只允许在漫游时手动同步"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"要求设备加密"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"自动"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"一天"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"三天"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 02a2c2b..110afb2 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Exchange 服務"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"已將 <xliff:g id="DATE">%s</xliff:g> 時的此活動取消"</string>
     <string name="exception_updated" msgid="3397583105901142050">"已變更此活動於 <xliff:g id="DATE">%s</xliff:g> 時的詳細資料"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"不允許附件"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"不允許儲存卡"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"不允許未簽署的應用程式"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"不允許未簽署的應用程式安裝程式"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"不允許 WiFi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"不允許發送簡訊"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"不允許 POP3 或 IMAP 帳戶"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"不允許紅外線通訊"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"不允許接收 HTML 電子郵件"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"不允許瀏覽器"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"不允許接收消費者電子郵件"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"不允許網際網路共用功能"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"支援復原密碼"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"需要 SMIME 郵件"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"漫遊時只允許手動同步"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"限制藍牙使用量"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"不允許指定的應用程式"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"只允許指定的應用程式"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"限制日曆活動日期"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"限制電子郵件日期"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"限制文字電郵件大小"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"限制 HTML 電子郵件大小"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"限制附件大小"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"需要裝置加密"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"需要 SD 卡加密"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"不允許儲存卡"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"不允許未簽署的應用程式"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"不允許未簽署的應用程式安裝程式"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"不允許 WiFi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"不允許傳送簡訊"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"不允許 POP3 或 IMAP 帳戶"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"不允許紅外線通訊"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"不允許接收 HTML 電子郵件"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"不允許瀏覽器"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"不允許接收消費者電子郵件"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"不允許網際網路共用功能"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"需要 SMIME 郵件"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"限制藍牙使用量"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"不允許指定的應用程式"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"只允許指定的應用程式"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"限制日曆活動日期"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"限制電子郵件日期"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"限制文字電子郵件大小"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"限制 HTML 電子郵件大小"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"需要 SD 卡加密"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"不允許附件"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"限制附件大小"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"漫遊時僅允許手動同步處理"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"需要裝置加密"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"自動"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"1 天"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"3 天"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 83f1eef..6f15688 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -31,31 +31,30 @@
     <string name="app_name" msgid="5316597712787122829">"Amasevisi Okushintshelana"</string>
     <string name="exception_cancel" msgid="6160117429428313805">"Lesi senzakalo sikhanselwe i-<xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="exception_updated" msgid="3397583105901142050">"Imininingwane yalesenzakalo ishintshelwe:<xliff:g id="DATE">%s</xliff:g>"</string>
-    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ungavumeli okunamathiselwa ku-imeyli"</string>
-    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ungavumeli amakhadi okulonda"</string>
-    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ungavumeli izinhlelo zokusebenza ezingasayiniwe"</string>
-    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ungavumeli izifaki ezingasayiniwe zezinhlelo zokusebenza"</string>
-    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ungavumeli i-wifi"</string>
-    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ungavumeli imilayezo yombhalo"</string>
-    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ungavumeli i-POP3 noma ama-akhawunti e-IMAP"</string>
-    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ungavumeli ukukhulumisana kwe-infrared"</string>
-    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ungavumeli i-imeyli ye-HTML"</string>
-    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ungavumeli isiphequluli"</string>
-    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ungavumeli i-imeyli yomthengi"</string>
-    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ungavumeli ukwabelana nge-inthanethi"</string>
-    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"sekela iphasiwedi yokuthola"</string>
-    <string name="policy_require_smime" msgid="8044392674810605617">"idinga imiyalezo ye-SMME"</string>
-    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"vumela ukuvumelanisa ngokwenziwa ngezandla kuphela uma uzulazula"</string>
-    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"Nciphisa ukusetshenziswa kwe-Bluetooth"</string>
-    <string name="policy_app_blacklist" msgid="5997243461425995435">"Ungavumeli izinhlelo ezibonisiwe"</string>
-    <string name="policy_app_whitelist" msgid="8401297908870017913">"vumela kuphela izinhlelo zokusebenza ezibonisiwe"</string>
-    <string name="policy_max_calendar_age" msgid="6394557044887221078">"Linganisela amadethi ezenzakalo kukhalenda"</string>
-    <string name="policy_max_email_age" msgid="3303242808829681352">"nciphisa amadethi e-imeyli"</string>
-    <string name="policy_text_truncation" msgid="5800480928209379255">"nciphisa usayizi wombhalo we-imeyli"</string>
-    <string name="policy_html_truncation" msgid="629030762178870832">"Nciphisa usayizi wama-imeyli e-HTML"</string>
-    <string name="policy_max_attachment_size" msgid="6191034264088052742">"nciphisa usayizi wokunamathiselwa ku-imeyli"</string>
-    <string name="policy_require_encryption" msgid="1488761894213160246">"idinga amakhodimfihlo edivayisi"</string>
-    <string name="policy_require_sd_encryption" msgid="2425281481414518903">"idinga ikhadimfihlo lekhadi le-sd"</string>
+    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"ungavumeli amakhadi okulonda"</string>
+    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Ungavumeli ama-apps angabhalisiwe"</string>
+    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Ungafumeli izifaki ze-app ezingangenanga"</string>
+    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Ungavumeli i-Wi-Fi"</string>
+    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"ungavumeli imilayezo yombhalo"</string>
+    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Ungavumeli i-POP3 noma ama-akhawunti e-IMAP"</string>
+    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"ungavumeli ukukhulumisana kwe-infrared"</string>
+    <string name="policy_dont_allow_html" msgid="5888652525907651489">"ungavumeli i-imeyli ye-HTML"</string>
+    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"ungavumeli isiphequluli"</string>
+    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"ungavumeli i-imeyli yomthengi"</string>
+    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Ungavumeli ukwabelana nge-inthanethi"</string>
+    <string name="policy_require_smime" msgid="673557150920820590">"idinga imiyalezo ye-SMME"</string>
+    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Nciphisa ukusetshenziswa kwe-Bluetooth"</string>
+    <string name="policy_app_blacklist" msgid="8169194058285873461">"Ungavumeli ama-apps angacacisiwe"</string>
+    <string name="policy_app_whitelist" msgid="3670572644342165306">"Vumela ama-apps avunyelwe"</string>
+    <string name="policy_max_calendar_age" msgid="3323514646413599036">"Linganisela amadethi ezenzakalo kukhalenda"</string>
+    <string name="policy_max_email_age" msgid="3845699096249945617">"Nciphisa amadethi e-imeyli"</string>
+    <string name="policy_text_truncation" msgid="1783448050735715818">"Nciphisa usayizi wombhalo we-imeyli"</string>
+    <string name="policy_html_truncation" msgid="102158408055486343">"Nciphisa usayizi wama-imeyli e-HTML"</string>
+    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Idinga ikhadimfihlo lekhadi le-sd"</string>
+    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"ungavumeli okunamathiselwa ku-imeyli"</string>
+    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Nciphisa usayizi wokunamathiselwa ku-imeyli"</string>
+    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"vumela ukuvumelanisa ngokwenziwa ngezandla kuphela uma uzulazula"</string>
+    <string name="policy_require_encryption" msgid="7984702283392885348">"idinga amakhodimfihlo edivayisi"</string>
     <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Okuzenzakalelayo"</string>
     <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Usuku olulodwa"</string>
     <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Izinsuku ezintathu"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9b28a82..804c926 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -120,66 +120,70 @@
 
     <!-- The following are a list of policies that the user's server might require, but that can't
         be enforced by our device.  We will list them separated by commas, as required -->
-    <!-- A policy in which attachments aren't allowed to be downloaded [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_attachments">don\'t allow attachments</string>
-    <!-- A policy in which the device may not have a storage card [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_storage_cards">don\'t allow storage cards</string>
+    <!-- A policy in which the device may not have a storage card [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_storage_cards">Don\'t allow storage cards</string>
     <!-- A policy in which the device may not have unsigned applications installed
-        [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_unsigned_apps">don\'t allow unsigned applications</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_unsigned_apps">Don\'t allow unsigned apps</string>
     <!-- A policy in which the device may not allow application installation via an unsigned
-        installer [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_unsigned_installers">don\'t allow unsigned application
+        installer [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_unsigned_installers">Don\'t allow unsigned app
         installers</string>
-    <!-- A policy in which the device may not allow wifi communications [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_wifi">don\'t allow wifi</string>
-    <!-- A policy in which the device may not allow text messaging [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_text_messaging">don\'t allow text messaging</string>
-    <!-- A policy in which the device may not allow POP3 or IMAP email accounts [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_pop_imap">don\'t allow POP3 or IMAP accounts</string>
-    <!-- A policy in which the device may allow infrared communications [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_irda">don\'t allow infrared communications</string>
-    <!-- A policy in which the device may allow HTML email to be received [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_html">don\'t allow HTML email</string>
-    <!-- A policy in which the device may not allow the user of web browsers [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_browser">don\'t allow browsers</string>
+    <!-- A policy in which the device may not allow wifi communications [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_wifi">Don\'t allow Wi-Fi</string>
+    <!-- A policy in which the device may not allow text messaging [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_text_messaging">Don\'t allow text messaging</string>
+    <!-- A policy in which the device may not allow POP3 or IMAP email accounts [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_pop_imap">Don\'t allow POP3 or IMAP accounts</string>
+    <!-- A policy in which the device may allow infrared communications [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_irda">Don\'t allow infrared communications</string>
+    <!-- A policy in which the device may allow HTML email to be received [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_html">Don\'t allow HTML email</string>
+    <!-- A policy in which the device may not allow the user of web browsers [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_browser">Don\'t allow browsers</string>
     <!-- A policy in which the device may not allow the receipt of consumer email
-        [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_consumer_email">don\'t allow consumer email</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_consumer_email">Don\'t allow consumer email</string>
     <!-- A policy in which the device may not allow internet connection sharing
-        [CHAR LIMIT=40] -->
-    <string name="policy_dont_allow_internet_sharing">don\'t allow internet sharing</string>
-    <!-- A policy in which the device can use a recovery password [CHAR LIMIT=40] -->
-    <string name="policy_enable_password_recovery">support a recovery password</string>
-    <!-- A policy in which messages must be in SMIME format [CHAR LIMIT=40] -->
-    <string name="policy_require_smime">require SMIME messages</string>
-    <!-- A policy in which the device may only sync manually while roaming [CHAR LIMIT=40] -->
-    <string name="policy_require_manual_sync_roaming">only allow manual sync while roaming</string>
-    <!-- A policy in which the device's bluetooth capabilities are restricted [CHAR LIMIT=40] -->
-    <string name="policy_bluetooth_restricted">restrict bluetooth usage</string>
-    <!-- A policy in which the device blocks specified applications [CHAR LIMIT=40]-->
-    <string name="policy_app_blacklist">disallow specified applications</string>
-    <!-- A policy in which the device allows only specified applications [CHAR LIMIT=40] -->
-    <string name="policy_app_whitelist">allow only specified applications</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_internet_sharing">Don\'t allow Internet sharing</string>
+    <!-- A policy in which messages must be in SMIME format [CHAR LIMIT=50] -->
+    <string name="policy_require_smime">Require SMIME messages</string>
+    <!-- A policy in which the device's bluetooth capabilities are restricted [CHAR LIMIT=50] -->
+    <string name="policy_bluetooth_restricted">Restrict Bluetooth usage</string>
+    <!-- A policy in which the device blocks specified applications [CHAR LIMIT=50]-->
+    <string name="policy_app_blacklist">Disallow specified apps</string>
+    <!-- A policy in which the device allows only specified applications [CHAR LIMIT=50] -->
+    <string name="policy_app_whitelist">Allow only specified apps</string>
     <!-- A policy in which the device allows only calendar items newer than a specified date
-        [CHAR LIMIT=40] -->
-    <string name="policy_max_calendar_age">restrict calendar event dates</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_max_calendar_age">Restrict calendar event dates</string>
     <!-- A policy in which the device allows only email items newer than a specified date
-        [CHAR LIMIT=40] -->
-    <string name="policy_max_email_age">restrict email dates</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_max_email_age">Restrict email dates</string>
     <!-- A policy in which the device limits the amount of text that can be displayed for a
-        given message [CHAR LIMIT=40] -->
-    <string name="policy_text_truncation">restrict text email size</string>
+        given message [CHAR LIMIT=50] -->
+    <string name="policy_text_truncation">Restrict text email size</string>
     <!-- A policy in which the device limits the amount of HTML text that can be displayed for a
-        given message [CHAR LIMIT=40] -->
-    <string name="policy_html_truncation">restrict HTML email size</string>
+        given message [CHAR LIMIT=50] -->
+    <string name="policy_html_truncation">Restrict HTML email size</string>
+    <!-- A policy in which the device requires device or sd card encryption [CHAR LIMIT=50] -->
+    <string name="policy_require_sd_encryption">Require SD card encryption</string>
+
+    <!-- The following are a list of policies that the user's server requires and that are
+         in force.  We will list them separated by commas, as required -->
+    <!-- A policy in which attachments aren't allowed to be downloaded [CHAR LIMIT=50] -->
+    <string name="policy_dont_allow_attachments">Don\'t allow attachments</string>
     <!-- A policy in which the device restricts the size of attachments that can be downloaded
-        [CHAR LIMIT=40] -->
-    <string name="policy_max_attachment_size">restrict attachment size</string>
-    <!-- A policy in which the device requires device or sd card encryption [CHAR LIMIT=40] -->
-    <string name="policy_require_encryption">require device encryption</string>
-    <!-- A policy in which the device requires device or sd card encryption [CHAR LIMIT=40] -->
-    <string name="policy_require_sd_encryption">require sd card encryption</string>
+        [CHAR LIMIT=50] -->
+    <string name="policy_max_attachment_size">Restrict attachment size</string>
+    <!-- A policy in which the device may only sync manually while roaming [CHAR LIMIT=50] -->
+    <string name="policy_require_manual_sync_roaming">Only allow manual sync while roaming</string>
+
+    <!-- The following is a policy that may or not be supported on a particular device -->
+    <!-- A policy in which the device requires device or sd card encryption [CHAR LIMIT=50] -->
+    <string name="policy_require_encryption">Require device encryption</string>
+
 
     <!--  The window length strings below MUST remain in sync with those in com.android.email -->
     <!-- In account setup options & account settings screens (exchange), sync window length; this
diff --git a/src/com/android/exchange/EasAccountService.java b/src/com/android/exchange/EasAccountService.java
new file mode 100644
index 0000000..4311626
--- /dev/null
+++ b/src/com/android/exchange/EasAccountService.java
@@ -0,0 +1,843 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.exchange;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.TrafficStats;
+import android.os.RemoteException;
+import android.os.SystemClock;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.emailcommon.TrafficFlags;
+import com.android.emailcommon.mail.MessagingException;
+import com.android.emailcommon.provider.Account;
+import com.android.emailcommon.provider.EmailContent.AccountColumns;
+import com.android.emailcommon.provider.EmailContent.MailboxColumns;
+import com.android.emailcommon.provider.HostAuth;
+import com.android.emailcommon.provider.Mailbox;
+import com.android.emailcommon.provider.Policy;
+import com.android.emailcommon.provider.ProviderUnavailableException;
+import com.android.emailcommon.service.EmailServiceStatus;
+import com.android.emailcommon.service.PolicyServiceProxy;
+import com.android.exchange.CommandStatusException.CommandStatus;
+import com.android.exchange.adapter.AccountSyncAdapter;
+import com.android.exchange.adapter.FolderSyncParser;
+import com.android.exchange.adapter.Parser.EasParserException;
+import com.android.exchange.adapter.PingParser;
+import com.android.exchange.adapter.Serializer;
+import com.android.exchange.adapter.Tags;
+import com.android.exchange.provider.MailboxUtilities;
+import com.google.common.annotations.VisibleForTesting;
+
+import org.apache.http.Header;
+import org.apache.http.HttpStatus;
+import org.apache.http.entity.ByteArrayEntity;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * AccountMailbox handles sync for the EAS "account mailbox"; this includes sync of the mailbox list
+ * as well as management of mailbox push (using the EAS "Ping" command
+ */
+public class EasAccountService extends EasSyncService {
+    private static final String WHERE_ACCOUNT_AND_SYNC_INTERVAL_PING =
+        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SYNC_INTERVAL +
+        '=' + Mailbox.CHECK_INTERVAL_PING;
+    private static final String AND_FREQUENCY_PING_PUSH_AND_NOT_ACCOUNT_MAILBOX = " AND " +
+        MailboxColumns.SYNC_INTERVAL + " IN (" + Mailbox.CHECK_INTERVAL_PING +
+        ',' + Mailbox.CHECK_INTERVAL_PUSH + ") AND " + MailboxColumns.TYPE + "!=\"" +
+        Mailbox.TYPE_EAS_ACCOUNT_MAILBOX + '\"';
+    private static final String WHERE_PUSH_HOLD_NOT_ACCOUNT_MAILBOX =
+        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SYNC_INTERVAL +
+        '=' + Mailbox.CHECK_INTERVAL_PUSH_HOLD;
+    private static final String WHERE_ACCOUNT_KEY_AND_SERVER_ID =
+        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SERVER_ID + "=?";
+
+    /**
+     * We start with an 8 minute timeout, and increase/decrease by 3 minutes at a time.  There's
+     * no point having a timeout shorter than 5 minutes, I think; at that point, we can just let
+     * the ping exception out.  The maximum I use is 17 minutes, which is really an empirical
+     * choice; too long and we risk silent connection loss and loss of push for that period.  Too
+     * short and we lose efficiency/battery life.
+     *
+     * If we ever have to drop the ping timeout, we'll never increase it again.  There's no point
+     * going into hysteresis; the NAT timeout isn't going to change without a change in connection,
+     * which will cause the sync service to be restarted at the starting heartbeat and going through
+     * the process again.
+     */
+    static private final int PING_MINUTES = 60; // in seconds
+    static private final int PING_FUDGE_LOW = 10;
+    static private final int PING_STARTING_HEARTBEAT = (8*PING_MINUTES)-PING_FUDGE_LOW;
+    static private final int PING_HEARTBEAT_INCREMENT = 3*PING_MINUTES;
+
+    static private final int PROTOCOL_PING_STATUS_COMPLETED = 1;
+
+    // Fallbacks (in minutes) for ping loop failures
+    static private final int MAX_PING_FAILURES = 1;
+    static private final int PING_FALLBACK_INBOX = 5;
+    static private final int PING_FALLBACK_PIM = 25;
+
+    // The amount of time the account mailbox will sleep if there are no pingable mailboxes
+    // This could happen if the sync time is set to "never"; we always want to check in from time
+    // to time, however, for folder list/policy changes
+    static private final int ACCOUNT_MAILBOX_SLEEP_TIME = 20*MINUTES;
+    static private final String ACCOUNT_MAILBOX_SLEEP_TEXT =
+        "Account mailbox sleeping for " + (ACCOUNT_MAILBOX_SLEEP_TIME / MINUTES) + "m";
+
+    // Our heartbeat when we are waiting for ping boxes to be ready
+    /*package*/ int mPingForceHeartbeat = 2*PING_MINUTES;
+    // The minimum heartbeat we will send
+    /*package*/ int mPingMinHeartbeat = (5*PING_MINUTES)-PING_FUDGE_LOW;
+    // The maximum heartbeat we will send
+    /*package*/ int mPingMaxHeartbeat = (17*PING_MINUTES)-PING_FUDGE_LOW;
+    // The ping time (in seconds)
+    /*package*/ int mPingHeartbeat = PING_STARTING_HEARTBEAT;
+    // The longest successful ping heartbeat
+    private int mPingHighWaterMark = 0;
+    // Whether we've ever lowered the heartbeat
+    /*package*/ boolean mPingHeartbeatDropped = false;
+
+    private final String[] mBindArguments = new String[2];
+    private ArrayList<String> mPingChangeList;
+
+    protected EasAccountService(Context _context, Mailbox _mailbox) {
+        super(_context, _mailbox);
+    }
+
+    @VisibleForTesting
+    protected EasAccountService() {
+    }
+
+    @Override
+    public void run() {
+        mExitStatus = EXIT_DONE;
+        try {
+            // Make sure account and mailbox are still valid
+            if (!setupService()) return;
+            // If we've been stopped, we're done
+            if (mStop) return;
+
+            try {
+                mDeviceId = ExchangeService.getDeviceId(mContext);
+                int trafficFlags = TrafficFlags.getSyncFlags(mContext, mAccount);
+                TrafficStats.setThreadStatsTag(trafficFlags | TrafficFlags.DATA_EMAIL);
+                if ((mMailbox == null) || (mAccount == null)) {
+                    return;
+                } else {
+                    sync();
+                }
+            } catch (EasAuthenticationException e) {
+                userLog("Caught authentication error");
+                mExitStatus = EXIT_LOGIN_FAILURE;
+            } catch (IOException e) {
+                String message = e.getMessage();
+                userLog("Caught IOException: ", (message == null) ? "No message" : message);
+                mExitStatus = EXIT_IO_ERROR;
+            } catch (Exception e) {
+                userLog("Uncaught exception in AccountMailboxService", e);
+            } finally {
+                ExchangeService.done(this);
+                if (!mStop) {
+                    userLog("Sync finished");
+                    switch (mExitStatus) {
+                        case EXIT_SECURITY_FAILURE:
+                            // Ask for a new folder list. This should wake up the account mailbox; a
+                            // security error in account mailbox should start provisioning
+                            ExchangeService.reloadFolderList(mContext, mAccount.mId, true);
+                            break;
+                        case EXIT_EXCEPTION:
+                            errorLog("Sync ended due to an exception.");
+                            break;
+                    }
+                } else {
+                    userLog("Stopped sync finished.");
+                }
+
+                // Make sure ExchangeService knows about this
+                ExchangeService.kick("sync finished");
+            }
+        } catch (ProviderUnavailableException e) {
+            Log.e(TAG, "EmailProvider unavailable; sync ended prematurely");
+        }
+    }
+
+    /**
+     * Performs FolderSync
+     *
+     * @throws IOException
+     * @throws EasParserException
+     */
+    public void sync() throws IOException, EasParserException {
+         // Check that the account's mailboxes are consistent
+        MailboxUtilities.checkMailboxConsistency(mContext, mAccount.mId);
+        // Initialize exit status to success
+        try {
+            try {
+                ExchangeService.callback()
+                    .syncMailboxListStatus(mAccount.mId, EmailServiceStatus.IN_PROGRESS, 0);
+            } catch (RemoteException e1) {
+                // Don't care if this fails
+            }
+
+            if (mAccount.mSyncKey == null) {
+                mAccount.mSyncKey = "0";
+                userLog("Account syncKey INIT to 0");
+                ContentValues cv = new ContentValues();
+                cv.put(AccountColumns.SYNC_KEY, mAccount.mSyncKey);
+                mAccount.update(mContext, cv);
+            }
+
+            boolean firstSync = mAccount.mSyncKey.equals("0");
+            if (firstSync) {
+                userLog("Initial FolderSync");
+            }
+
+            // When we first start up, change all mailboxes to push.
+            ContentValues cv = new ContentValues();
+            cv.put(Mailbox.SYNC_INTERVAL, Mailbox.CHECK_INTERVAL_PUSH);
+            if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
+                    WHERE_ACCOUNT_AND_SYNC_INTERVAL_PING,
+                    new String[] {Long.toString(mAccount.mId)}) > 0) {
+                ExchangeService.kick("change ping boxes to push");
+            }
+
+            // Determine our protocol version, if we haven't already and save it in the Account
+            // Also re-check protocol version at least once a day (in case of upgrade)
+            if (mAccount.mProtocolVersion == null || firstSync ||
+                   ((System.currentTimeMillis() - mMailbox.mSyncTime) > DAYS)) {
+                userLog("Determine EAS protocol version");
+                EasResponse resp = sendHttpClientOptions();
+                try {
+                    int code = resp.getStatus();
+                    userLog("OPTIONS response: ", code);
+                    if (code == HttpStatus.SC_OK) {
+                        Header header = resp.getHeader("MS-ASProtocolCommands");
+                        userLog(header.getValue());
+                        header = resp.getHeader("ms-asprotocolversions");
+                        try {
+                            setupProtocolVersion(this, header);
+                        } catch (MessagingException e) {
+                            // Since we've already validated, this can't really happen
+                            // But if it does, we'll rethrow this...
+                            throw new IOException(e);
+                        }
+                        // Save the protocol version
+                        cv.clear();
+                        // Save the protocol version in the account; if we're using 12.0 or greater,
+                        // set the flag for support of SmartForward
+                        cv.put(Account.PROTOCOL_VERSION, mProtocolVersion);
+                        if (mProtocolVersionDouble >= 12.0) {
+                            cv.put(Account.FLAGS,
+                                    mAccount.mFlags |
+                                    Account.FLAGS_SUPPORTS_SMART_FORWARD |
+                                    Account.FLAGS_SUPPORTS_SEARCH |
+                                    Account.FLAGS_SUPPORTS_GLOBAL_SEARCH);
+                        }
+                        mAccount.update(mContext, cv);
+                        cv.clear();
+                        // Save the sync time of the account mailbox to current time
+                        cv.put(Mailbox.SYNC_TIME, System.currentTimeMillis());
+                        mMailbox.update(mContext, cv);
+                     } else {
+                        errorLog("OPTIONS command failed; throwing IOException");
+                        throw new IOException();
+                    }
+                } finally {
+                    resp.close();
+                }
+            }
+
+            // Change all pushable boxes to push when we start the account mailbox
+            if (mAccount.mSyncInterval == Account.CHECK_INTERVAL_PUSH) {
+                cv.clear();
+                cv.put(Mailbox.SYNC_INTERVAL, Mailbox.CHECK_INTERVAL_PUSH);
+                if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
+                        ExchangeService.WHERE_IN_ACCOUNT_AND_PUSHABLE,
+                        new String[] {Long.toString(mAccount.mId)}) > 0) {
+                    userLog("Push account; set pushable boxes to push...");
+                }
+            }
+
+            while (!isStopped()) {
+                // If we're not allowed to sync (e.g. roaming policy), leave now
+                if (!ExchangeService.canAutoSync(mAccount)) return;
+                userLog("Sending Account syncKey: ", mAccount.mSyncKey);
+                Serializer s = new Serializer();
+                s.start(Tags.FOLDER_FOLDER_SYNC).start(Tags.FOLDER_SYNC_KEY)
+                    .text(mAccount.mSyncKey).end().end().done();
+                EasResponse resp = sendHttpClientPost("FolderSync", s.toByteArray());
+                try {
+                    if (isStopped()) break;
+                    int code = resp.getStatus();
+                    if (code == HttpStatus.SC_OK) {
+                        if (!resp.isEmpty()) {
+                            InputStream is = resp.getInputStream();
+                            // Returns true if we need to sync again
+                            if (new FolderSyncParser(is,
+                                    new AccountSyncAdapter(this)).parse()) {
+                                continue;
+                            }
+                        }
+                    } else if (EasResponse.isProvisionError(code)) {
+                        throw new CommandStatusException(CommandStatus.NEEDS_PROVISIONING);
+                    } else if (EasResponse.isAuthError(code)) {
+                        mExitStatus = EasSyncService.EXIT_LOGIN_FAILURE;
+                        return;
+                    } else if (code == AUTO_DISCOVER_REDIRECT_CODE) {
+                        Header header = resp.getHeader("X-MS-Location");
+                        if (header != null) {
+                            String hostAddress = autodiscoverUrlToHostAddress(header.getValue());
+                            if (hostAddress != null) {
+                                errorLog("Exchange server redirect to " + hostAddress);
+                                cv.clear();
+                                cv.put(HostAuth.ADDRESS, hostAddress);
+                                // Update the account's address
+                                mContentResolver.update(
+                                        ContentUris.withAppendedId(HostAuth.CONTENT_URI,
+                                                mAccount.mHostAuthKeyRecv), cv, null, null);
+                                // And return normally; the sync will restart
+                                mExitStatus = EXIT_DONE;
+                                return;
+                            } else {
+                                // Not sure it's possible, but log it if it happens
+                                errorLog("Exchange server redirect without valid new location: " +
+                                        header.getValue());
+                            }
+                        } else {
+                            // Server would have to be broken, but ...
+                            errorLog("Exchange server redirect without new location?");
+                        }
+                        return;
+                    } else {
+                        userLog("FolderSync response error: ", code);
+                    }
+                } finally {
+                    resp.close();
+                }
+
+                // Change all push/hold boxes to push
+                cv.clear();
+                cv.put(Mailbox.SYNC_INTERVAL, Account.CHECK_INTERVAL_PUSH);
+                if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
+                        WHERE_PUSH_HOLD_NOT_ACCOUNT_MAILBOX,
+                        new String[] {Long.toString(mAccount.mId)}) > 0) {
+                    userLog("Set push/hold boxes to push...");
+                }
+
+                try {
+                    ExchangeService.callback()
+                        .syncMailboxListStatus(mAccount.mId,
+                                exitStatusToServiceStatus(mExitStatus),
+                                0);
+                } catch (RemoteException e1) {
+                    // Don't care if this fails
+                }
+
+                // Before each run of the pingLoop, if this Account has a PolicySet, make sure it's
+                // active; otherwise, clear out the key/flag.  This should cause a provisioning
+                // error on the next POST, and start the security sequence over again
+                String key = mAccount.mSecuritySyncKey;
+                if (!TextUtils.isEmpty(key)) {
+                    Policy policy = Policy.restorePolicyWithId(mContext, mAccount.mPolicyKey);
+                    if ((policy != null) && !PolicyServiceProxy.isActive(mContext, policy)) {
+                        resetSecurityPolicies();
+                    }
+                }
+
+                // Wait for push notifications.
+                String threadName = Thread.currentThread().getName();
+                try {
+                    runPingLoop();
+                } catch (StaleFolderListException e) {
+                    // We break out if we get told about a stale folder list
+                    userLog("Ping interrupted; folder list requires sync...");
+                } catch (IllegalHeartbeatException e) {
+                    // If we're sending an illegal heartbeat, reset either the min or the max to
+                    // that heartbeat
+                    resetHeartbeats(e.mLegalHeartbeat);
+                } finally {
+                    Thread.currentThread().setName(threadName);
+                }
+            }
+        } catch (CommandStatusException e) {
+            // If the sync error is a provisioning failure (perhaps policies changed),
+            // let's try the provisioning procedure
+            // Provisioning must only be attempted for the account mailbox - trying to
+            // provision any other mailbox may result in race conditions and the
+            // creation of multiple policy keys.
+            int status = e.mStatus;
+            if (CommandStatus.isNeedsProvisioning(status)) {
+                if (!tryProvision(this)) {
+                    // Set the appropriate failure status
+                    mExitStatus = EasSyncService.EXIT_SECURITY_FAILURE;
+                    return;
+                }
+            } else if (CommandStatus.isDeniedAccess(status)) {
+                mExitStatus = EasSyncService.EXIT_ACCESS_DENIED;
+                try {
+                    ExchangeService.callback().syncMailboxListStatus(mAccount.mId,
+                            EmailServiceStatus.ACCESS_DENIED, 0);
+                } catch (RemoteException e1) {
+                    // Don't care if this fails
+                }
+                return;
+            } else {
+                userLog("Unexpected status: " + CommandStatus.toString(status));
+                mExitStatus = EasSyncService.EXIT_EXCEPTION;
+            }
+        } catch (IOException e) {
+            // We catch this here to send the folder sync status callback
+            // A folder sync failed callback will get sent from run()
+            try {
+                if (!isStopped()) {
+                    // NOTE: The correct status is CONNECTION_ERROR, but the UI displays this, and
+                    // it's not really appropriate for EAS as this is not unexpected for a ping and
+                    // connection errors are retried in any case
+                    ExchangeService.callback()
+                        .syncMailboxListStatus(mAccount.mId, EmailServiceStatus.SUCCESS, 0);
+                }
+            } catch (RemoteException e1) {
+                // Don't care if this fails
+            }
+            throw e;
+        }
+    }
+
+    /**
+     * Reset either our minimum or maximum ping heartbeat to a heartbeat known to be legal
+     * @param legalHeartbeat a known legal heartbeat (from the EAS server)
+     */
+    /*package*/ void resetHeartbeats(int legalHeartbeat) {
+        userLog("Resetting min/max heartbeat, legal = " + legalHeartbeat);
+        // We are here because the current heartbeat (mPingHeartbeat) is invalid.  Depending on
+        // whether the argument is above or below the current heartbeat, we can infer the need to
+        // change either the minimum or maximum heartbeat
+        if (legalHeartbeat > mPingHeartbeat) {
+            // The legal heartbeat is higher than the ping heartbeat; therefore, our minimum was
+            // too low.  We respond by raising either or both of the minimum heartbeat or the
+            // force heartbeat to the argument value
+            if (mPingMinHeartbeat < legalHeartbeat) {
+                mPingMinHeartbeat = legalHeartbeat;
+            }
+            if (mPingForceHeartbeat < legalHeartbeat) {
+                mPingForceHeartbeat = legalHeartbeat;
+            }
+            // If our minimum is now greater than the max, bring them together
+            if (mPingMinHeartbeat > mPingMaxHeartbeat) {
+                mPingMaxHeartbeat = legalHeartbeat;
+            }
+        } else if (legalHeartbeat < mPingHeartbeat) {
+            // The legal heartbeat is lower than the ping heartbeat; therefore, our maximum was
+            // too high.  We respond by lowering the maximum to the argument value
+            mPingMaxHeartbeat = legalHeartbeat;
+            // If our maximum is now less than the minimum, bring them together
+            if (mPingMaxHeartbeat < mPingMinHeartbeat) {
+                mPingMinHeartbeat = legalHeartbeat;
+            }
+        }
+        // Set current heartbeat to the legal heartbeat
+        mPingHeartbeat = legalHeartbeat;
+        // Allow the heartbeat logic to run
+        mPingHeartbeatDropped = false;
+    }
+
+    private void pushFallback(long mailboxId) {
+        Mailbox mailbox = Mailbox.restoreMailboxWithId(mContext, mailboxId);
+        if (mailbox == null) {
+            return;
+        }
+        ContentValues cv = new ContentValues();
+        int mins = PING_FALLBACK_PIM;
+        if (mailbox.mType == Mailbox.TYPE_INBOX) {
+            mins = PING_FALLBACK_INBOX;
+        }
+        cv.put(Mailbox.SYNC_INTERVAL, mins);
+        mContentResolver.update(ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId),
+                cv, null, null);
+        errorLog("*** PING ERROR LOOP: Set " + mailbox.mDisplayName + " to " + mins
+                + " min sync");
+        ExchangeService.kick("push fallback");
+    }
+
+    /**
+     * Simplistic attempt to determine a NAT timeout, based on experience with various carriers
+     * and networks.  The string "reset by peer" is very common in these situations, so we look for
+     * that specifically.  We may add additional tests here as more is learned.
+     * @param message
+     * @return whether this message is likely associated with a NAT failure
+     */
+    private boolean isLikelyNatFailure(String message) {
+        if (message == null) return false;
+        if (message.contains("reset by peer")) {
+            return true;
+        }
+        return false;
+    }
+
+    private void sleep(long ms, boolean runAsleep) {
+        if (runAsleep) {
+            ExchangeService.runAsleep(mMailboxId, ms+(5*SECONDS));
+        }
+        try {
+            Thread.sleep(ms);
+        } catch (InterruptedException e) {
+            // Doesn't matter whether we stop early; it's the thought that counts
+        } finally {
+            if (runAsleep) {
+                ExchangeService.runAwake(mMailboxId);
+            }
+        }
+    }
+
+    @Override
+    protected EasResponse sendPing(byte[] bytes, int heartbeat) throws IOException {
+       Thread.currentThread().setName(mAccount.mDisplayName + ": Ping");
+       if (Eas.USER_LOG) {
+           userLog("Send ping, timeout: " + heartbeat + "s, high: " + mPingHighWaterMark + 's');
+       }
+       return sendHttpClientPost(EasSyncService.PING_COMMAND, new ByteArrayEntity(bytes),
+               (heartbeat+5)*SECONDS);
+    }
+
+    private void runPingLoop() throws IOException, StaleFolderListException,
+            IllegalHeartbeatException, CommandStatusException {
+        int pingHeartbeat = mPingHeartbeat;
+        userLog("runPingLoop");
+        // Do push for all sync services here
+        long endTime = System.currentTimeMillis() + (30*MINUTES);
+        HashMap<String, Integer> pingErrorMap = new HashMap<String, Integer>();
+        ArrayList<String> readyMailboxes = new ArrayList<String>();
+        ArrayList<String> notReadyMailboxes = new ArrayList<String>();
+        int pingWaitCount = 0;
+        long inboxId = -1;
+
+        while ((System.currentTimeMillis() < endTime) && !isStopped()) {
+            // Count of pushable mailboxes
+            int pushCount = 0;
+            // Count of mailboxes that can be pushed right now
+            int canPushCount = 0;
+            // Count of uninitialized boxes
+            int uninitCount = 0;
+
+            Serializer s = new Serializer();
+            Cursor c = mContentResolver.query(Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION,
+                    MailboxColumns.ACCOUNT_KEY + '=' + mAccount.mId +
+                    AND_FREQUENCY_PING_PUSH_AND_NOT_ACCOUNT_MAILBOX, null, null);
+            if (c == null) throw new ProviderUnavailableException();
+            notReadyMailboxes.clear();
+            readyMailboxes.clear();
+            // Look for an inbox, and remember its id
+            if (inboxId == -1) {
+                inboxId = Mailbox.findMailboxOfType(mContext, mAccount.mId, Mailbox.TYPE_INBOX);
+            }
+            try {
+                // Loop through our pushed boxes seeing what is available to push
+                while (c.moveToNext()) {
+                    pushCount++;
+                    // Two requirements for push:
+                    // 1) ExchangeService tells us the mailbox is syncable (not running/not stopped)
+                    // 2) The syncKey isn't "0" (i.e. it's synced at least once)
+                    long mailboxId = c.getLong(Mailbox.CONTENT_ID_COLUMN);
+                    int pingStatus = ExchangeService.pingStatus(mailboxId);
+                    String mailboxName = c.getString(Mailbox.CONTENT_DISPLAY_NAME_COLUMN);
+                    if (pingStatus == ExchangeService.PING_STATUS_OK) {
+                        String syncKey = c.getString(Mailbox.CONTENT_SYNC_KEY_COLUMN);
+                        if ((syncKey == null) || syncKey.equals("0")) {
+                            // We can't push until the initial sync is done
+                            pushCount--;
+                            uninitCount++;
+                            continue;
+                        }
+
+                        if (canPushCount++ == 0) {
+                            // Initialize the Ping command
+                            s.start(Tags.PING_PING)
+                                .data(Tags.PING_HEARTBEAT_INTERVAL,
+                                        Integer.toString(pingHeartbeat))
+                                .start(Tags.PING_FOLDERS);
+                        }
+
+                        String folderClass = getTargetCollectionClassFromCursor(c);
+                        s.start(Tags.PING_FOLDER)
+                            .data(Tags.PING_ID, c.getString(Mailbox.CONTENT_SERVER_ID_COLUMN))
+                            .data(Tags.PING_CLASS, folderClass)
+                            .end();
+                        readyMailboxes.add(mailboxName);
+                    } else if ((pingStatus == ExchangeService.PING_STATUS_RUNNING) ||
+                            (pingStatus == ExchangeService.PING_STATUS_WAITING)) {
+                        notReadyMailboxes.add(mailboxName);
+                    } else if (pingStatus == ExchangeService.PING_STATUS_UNABLE) {
+                        pushCount--;
+                        userLog(mailboxName, " in error state; ignore");
+                        continue;
+                    }
+                }
+            } finally {
+                c.close();
+            }
+
+            if (Eas.USER_LOG) {
+                if (!notReadyMailboxes.isEmpty()) {
+                    userLog("Ping not ready for: " + notReadyMailboxes);
+                }
+                if (!readyMailboxes.isEmpty()) {
+                    userLog("Ping ready for: " + readyMailboxes);
+                }
+            }
+
+            // If we've waited 10 seconds or more, just ping with whatever boxes are ready
+            // But use a shorter than normal heartbeat
+            boolean forcePing = !notReadyMailboxes.isEmpty() && (pingWaitCount > 5);
+
+            if ((canPushCount > 0) && ((canPushCount == pushCount) || forcePing)) {
+                // If all pingable boxes are ready for push, send Ping to the server
+                s.end().end().done();
+                pingWaitCount = 0;
+                mPostAborted = false;
+                mPostReset = false;
+
+                // If we've been stopped, this is a good time to return
+                if (isStopped()) return;
+
+                long pingTime = SystemClock.elapsedRealtime();
+                try {
+                    // Send the ping, wrapped by appropriate timeout/alarm
+                    if (forcePing) {
+                        userLog("Forcing ping after waiting for all boxes to be ready");
+                    }
+                    EasResponse resp =
+                        sendPing(s.toByteArray(), forcePing ? mPingForceHeartbeat : pingHeartbeat);
+
+                    try {
+                        int code = resp.getStatus();
+                        userLog("Ping response: ", code);
+
+                        // If we're not allowed to sync (e.g. roaming policy), terminate gracefully
+                        // now; otherwise we might start a sync based on the response
+                        if (!ExchangeService.canAutoSync(mAccount)) {
+                            stop();
+                        }
+
+                        // Return immediately if we've been asked to stop during the ping
+                        if (isStopped()) {
+                            userLog("Stopping pingLoop");
+                            return;
+                        }
+
+                        if (code == HttpStatus.SC_OK) {
+                            // Make sure to clear out any pending sync errors
+                            ExchangeService.removeFromSyncErrorMap(mMailboxId);
+                            if (!resp.isEmpty()) {
+                                InputStream is = resp.getInputStream();
+                                int pingResult = parsePingResult(is, mContentResolver,
+                                        pingErrorMap);
+                                // If our ping completed (status = 1), and wasn't forced and we're
+                                // not at the maximum, try increasing timeout by two minutes
+                                if (pingResult == PROTOCOL_PING_STATUS_COMPLETED && !forcePing) {
+                                    if (pingHeartbeat > mPingHighWaterMark) {
+                                        mPingHighWaterMark = pingHeartbeat;
+                                        userLog("Setting high water mark at: ", mPingHighWaterMark);
+                                    }
+                                    if ((pingHeartbeat < mPingMaxHeartbeat) &&
+                                            !mPingHeartbeatDropped) {
+                                        pingHeartbeat += PING_HEARTBEAT_INCREMENT;
+                                        if (pingHeartbeat > mPingMaxHeartbeat) {
+                                            pingHeartbeat = mPingMaxHeartbeat;
+                                        }
+                                        userLog("Increase ping heartbeat to ", pingHeartbeat, "s");
+                                    }
+                                }
+                            } else {
+                                userLog("Ping returned empty result; throwing IOException");
+                                throw new IOException();
+                            }
+                        } else if (EasResponse.isAuthError(code)) {
+                            mExitStatus = EasSyncService.EXIT_LOGIN_FAILURE;
+                            userLog("Authorization error during Ping: ", code);
+                            throw new IOException();
+                        }
+                    } finally {
+                        resp.close();
+                    }
+                } catch (IOException e) {
+                    String message = e.getMessage();
+                    // If we get the exception that is indicative of a NAT timeout and if we
+                    // haven't yet "fixed" the timeout, back off by two minutes and "fix" it
+                    boolean hasMessage = message != null;
+                    userLog("IOException runPingLoop: " + (hasMessage ? message : "[no message]"));
+                    if (mPostReset) {
+                        // Nothing to do in this case; this is ExchangeService telling us to try
+                        // another ping.
+                    } else if (mPostAborted || isLikelyNatFailure(message)) {
+                        long pingLength = SystemClock.elapsedRealtime() - pingTime;
+                        if ((pingHeartbeat > mPingMinHeartbeat) &&
+                                (pingHeartbeat > mPingHighWaterMark)) {
+                            pingHeartbeat -= PING_HEARTBEAT_INCREMENT;
+                            mPingHeartbeatDropped = true;
+                            if (pingHeartbeat < mPingMinHeartbeat) {
+                                pingHeartbeat = mPingMinHeartbeat;
+                            }
+                            userLog("Decreased ping heartbeat to ", pingHeartbeat, "s");
+                        } else if (mPostAborted) {
+                            // There's no point in throwing here; this can happen in two cases
+                            // 1) An alarm, which indicates minutes without activity; no sense
+                            //    backing off
+                            // 2) ExchangeService abort, due to sync of mailbox.  Again, we want to
+                            //    keep on trying to ping
+                            userLog("Ping aborted; retry");
+                        } else if (pingLength < 2000) {
+                            userLog("Abort or NAT type return < 2 seconds; throwing IOException");
+                            throw e;
+                        } else {
+                            userLog("NAT type IOException");
+                        }
+                    } else if (hasMessage && message.contains("roken pipe")) {
+                        // The "broken pipe" error (uppercase or lowercase "b") seems to be an
+                        // internal error, so let's not throw an exception (which leads to delays)
+                        // but rather simply run through the loop again
+                    } else {
+                        throw e;
+                    }
+                }
+            } else if (forcePing) {
+                // In this case, there aren't any boxes that are pingable, but there are boxes
+                // waiting (for IOExceptions)
+                userLog("pingLoop waiting 60s for any pingable boxes");
+                sleep(60*SECONDS, true);
+            } else if (pushCount > 0) {
+                // If we want to Ping, but can't just yet, wait a little bit
+                // TODO Change sleep to wait and use notify from ExchangeService when a sync ends
+                sleep(2*SECONDS, false);
+                pingWaitCount++;
+                //userLog("pingLoop waited 2s for: ", (pushCount - canPushCount), " box(es)");
+            } else if (uninitCount > 0) {
+                // In this case, we're doing an initial sync of at least one mailbox.  Since this
+                // is typically a one-time case, I'm ok with trying again every 10 seconds until
+                // we're in one of the other possible states.
+                userLog("pingLoop waiting for initial sync of ", uninitCount, " box(es)");
+                sleep(10*SECONDS, true);
+            } else if (inboxId == -1) {
+                // In this case, we're still syncing mailboxes, so sleep for only a short time
+                sleep(45*SECONDS, true);
+            } else {
+                // We've got nothing to do, so we'll check again in 20 minutes at which time
+                // we'll update the folder list, check for policy changes and/or remote wipe, etc.
+                // Let the device sleep in the meantime...
+                userLog(ACCOUNT_MAILBOX_SLEEP_TEXT);
+                sleep(ACCOUNT_MAILBOX_SLEEP_TIME, true);
+            }
+        }
+
+        // Save away the current heartbeat
+        mPingHeartbeat = pingHeartbeat;
+    }
+
+    private int parsePingResult(InputStream is, ContentResolver cr,
+            HashMap<String, Integer> errorMap)
+            throws IOException, StaleFolderListException, IllegalHeartbeatException,
+                CommandStatusException {
+        PingParser pp = new PingParser(is, this);
+        if (pp.parse()) {
+            // True indicates some mailboxes need syncing...
+            // syncList has the serverId's of the mailboxes...
+            mBindArguments[0] = Long.toString(mAccount.mId);
+            mPingChangeList = pp.getSyncList();
+            for (String serverId: mPingChangeList) {
+                mBindArguments[1] = serverId;
+                Cursor c = cr.query(Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION,
+                        WHERE_ACCOUNT_KEY_AND_SERVER_ID, mBindArguments, null);
+                if (c == null) throw new ProviderUnavailableException();
+                try {
+                    if (c.moveToFirst()) {
+
+                        /**
+                         * Check the boxes reporting changes to see if there really were any...
+                         * We do this because bugs in various Exchange servers can put us into a
+                         * looping behavior by continually reporting changes in a mailbox, even when
+                         * there aren't any.
+                         *
+                         * This behavior is seemingly random, and therefore we must code defensively
+                         * by backing off of push behavior when it is detected.
+                         *
+                         * One known cause, on certain Exchange 2003 servers, is acknowledged by
+                         * Microsoft, and the server hotfix for this case can be found at
+                         * http://support.microsoft.com/kb/923282
+                         */
+
+                        // Check the status of the last sync
+                        String status = c.getString(Mailbox.CONTENT_SYNC_STATUS_COLUMN);
+                        int type = ExchangeService.getStatusType(status);
+                        // This check should always be true...
+                        if (type == ExchangeService.SYNC_PING) {
+                            int changeCount = ExchangeService.getStatusChangeCount(status);
+                            if (changeCount > 0) {
+                                errorMap.remove(serverId);
+                            } else if (changeCount == 0) {
+                                // This means that a ping reported changes in error; we keep a count
+                                // of consecutive errors of this kind
+                                String name = c.getString(Mailbox.CONTENT_DISPLAY_NAME_COLUMN);
+                                Integer failures = errorMap.get(serverId);
+                                if (failures == null) {
+                                    userLog("Last ping reported changes in error for: ", name);
+                                    errorMap.put(serverId, 1);
+                                } else if (failures > MAX_PING_FAILURES) {
+                                    // We'll back off of push for this box
+                                    pushFallback(c.getLong(Mailbox.CONTENT_ID_COLUMN));
+                                    continue;
+                                } else {
+                                    userLog("Last ping reported changes in error for: ", name);
+                                    errorMap.put(serverId, failures + 1);
+                                }
+                            }
+                        }
+
+                        // If there were no problems with previous sync, we'll start another one
+                        ExchangeService.startManualSync(c.getLong(Mailbox.CONTENT_ID_COLUMN),
+                                ExchangeService.SYNC_PING, null);
+                    }
+                } finally {
+                    c.close();
+                }
+            }
+        }
+        return pp.getSyncStatus();
+    }
+
+    /**
+     * Translate exit status code to service status code (used in callbacks)
+     * @param exitStatus the service's exit status
+     * @return the corresponding service status
+     */
+    private int exitStatusToServiceStatus(int exitStatus) {
+        switch(exitStatus) {
+            case EasSyncService.EXIT_SECURITY_FAILURE:
+                return EmailServiceStatus.SECURITY_FAILURE;
+            case EasSyncService.EXIT_LOGIN_FAILURE:
+                return EmailServiceStatus.LOGIN_FAILED;
+            default:
+                return EmailServiceStatus.SUCCESS;
+        }
+    }
+}
diff --git a/src/com/android/exchange/EasOutboxService.java b/src/com/android/exchange/EasOutboxService.java
index f2bc8ca..796f217 100644
--- a/src/com/android/exchange/EasOutboxService.java
+++ b/src/com/android/exchange/EasOutboxService.java
@@ -79,7 +79,7 @@
     // failure would probably generate an Exception before timing out anyway
     public static final int SEND_MAIL_TIMEOUT = 15*MINUTES;
 
-    public EasOutboxService(Context _context, Mailbox _mailbox) {
+    protected EasOutboxService(Context _context, Mailbox _mailbox) {
         super(_context, _mailbox);
     }
 
diff --git a/src/com/android/exchange/EasSyncService.java b/src/com/android/exchange/EasSyncService.java
index 13242bb..aec72ca 100644
--- a/src/com/android/exchange/EasSyncService.java
+++ b/src/com/android/exchange/EasSyncService.java
@@ -28,7 +28,6 @@
 import android.os.Build;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.os.SystemClock;
 import android.provider.CalendarContract.Attendees;
 import android.provider.CalendarContract.Events;
 import android.text.TextUtils;
@@ -43,7 +42,6 @@
 import com.android.emailcommon.mail.PackedString;
 import com.android.emailcommon.provider.Account;
 import com.android.emailcommon.provider.EmailContent.AccountColumns;
-import com.android.emailcommon.provider.EmailContent.MailboxColumns;
 import com.android.emailcommon.provider.EmailContent.Message;
 import com.android.emailcommon.provider.EmailContent.MessageColumns;
 import com.android.emailcommon.provider.EmailContent.SyncColumns;
@@ -54,6 +52,7 @@
 import com.android.emailcommon.service.EmailServiceConstants;
 import com.android.emailcommon.service.EmailServiceProxy;
 import com.android.emailcommon.service.EmailServiceStatus;
+import com.android.emailcommon.service.PolicyServiceProxy;
 import com.android.emailcommon.utility.EmailClientConnectionManager;
 import com.android.emailcommon.utility.Utility;
 import com.android.exchange.CommandStatusException.CommandStatus;
@@ -67,15 +66,12 @@
 import com.android.exchange.adapter.GalParser;
 import com.android.exchange.adapter.MeetingResponseParser;
 import com.android.exchange.adapter.MoveItemsParser;
-import com.android.exchange.adapter.Parser.EasParserException;
 import com.android.exchange.adapter.Parser.EmptyStreamException;
-import com.android.exchange.adapter.PingParser;
 import com.android.exchange.adapter.ProvisionParser;
 import com.android.exchange.adapter.Serializer;
 import com.android.exchange.adapter.SettingsParser;
 import com.android.exchange.adapter.Tags;
 import com.android.exchange.provider.GalResult;
-import com.android.exchange.provider.MailboxUtilities;
 import com.android.exchange.utility.CalendarUtilities;
 import com.google.common.annotations.VisibleForTesting;
 
@@ -104,27 +100,12 @@
 import java.lang.Thread.State;
 import java.net.URI;
 import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import java.util.HashMap;
 
 public class EasSyncService extends AbstractSyncService {
     // DO NOT CHECK IN SET TO TRUE
     public static final boolean DEBUG_GAL_SERVICE = false;
 
-    private static final String WHERE_ACCOUNT_KEY_AND_SERVER_ID =
-        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SERVER_ID + "=?";
-    private static final String WHERE_ACCOUNT_AND_SYNC_INTERVAL_PING =
-        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SYNC_INTERVAL +
-        '=' + Mailbox.CHECK_INTERVAL_PING;
-    private static final String AND_FREQUENCY_PING_PUSH_AND_NOT_ACCOUNT_MAILBOX = " AND " +
-        MailboxColumns.SYNC_INTERVAL + " IN (" + Mailbox.CHECK_INTERVAL_PING +
-        ',' + Mailbox.CHECK_INTERVAL_PUSH + ") AND " + MailboxColumns.TYPE + "!=\"" +
-        Mailbox.TYPE_EAS_ACCOUNT_MAILBOX + '\"';
-    private static final String WHERE_PUSH_HOLD_NOT_ACCOUNT_MAILBOX =
-        MailboxColumns.ACCOUNT_KEY + "=? and " + MailboxColumns.SYNC_INTERVAL +
-        '=' + Mailbox.CHECK_INTERVAL_PUSH_HOLD;
-
-    static private final String PING_COMMAND = "Ping";
+    protected static final String PING_COMMAND = "Ping";
     // Command timeout is the the time allowed for reading data from an open connection before an
     // IOException is thrown.  After a small added allowance, our watchdog alarm goes off (allowing
     // us to detect a silently dropped connection).  The allowance is defined below.
@@ -134,17 +115,10 @@
     // The extra time allowed beyond the COMMAND_TIMEOUT before which our watchdog alarm triggers
     static private final int WATCHDOG_TIMEOUT_ALLOWANCE = 30*SECONDS;
 
-    // The amount of time the account mailbox will sleep if there are no pingable mailboxes
-    // This could happen if the sync time is set to "never"; we always want to check in from time
-    // to time, however, for folder list/policy changes
-    static private final int ACCOUNT_MAILBOX_SLEEP_TIME = 20*MINUTES;
-    static private final String ACCOUNT_MAILBOX_SLEEP_TEXT =
-        "Account mailbox sleeping for " + (ACCOUNT_MAILBOX_SLEEP_TIME / MINUTES) + "m";
-
     static private final String AUTO_DISCOVER_SCHEMA_PREFIX =
         "http://schemas.microsoft.com/exchange/autodiscover/mobilesync/";
     static private final String AUTO_DISCOVER_PAGE = "/autodiscover/autodiscover.xml";
-    static private final int AUTO_DISCOVER_REDIRECT_CODE = 451;
+    static protected final int AUTO_DISCOVER_REDIRECT_CODE = 451;
 
     static public final int INTERNAL_SERVER_ERROR_CODE = 500;
 
@@ -152,47 +126,21 @@
     static public final String EAS_2_POLICY_TYPE = "MS-WAP-Provisioning-XML";
 
     static public final int MESSAGE_FLAG_MOVED_MESSAGE = 1 << Message.FLAG_SYNC_ADAPTER_SHIFT;
-
-    /**
-     * We start with an 8 minute timeout, and increase/decrease by 3 minutes at a time.  There's
-     * no point having a timeout shorter than 5 minutes, I think; at that point, we can just let
-     * the ping exception out.  The maximum I use is 17 minutes, which is really an empirical
-     * choice; too long and we risk silent connection loss and loss of push for that period.  Too
-     * short and we lose efficiency/battery life.
-     *
-     * If we ever have to drop the ping timeout, we'll never increase it again.  There's no point
-     * going into hysteresis; the NAT timeout isn't going to change without a change in connection,
-     * which will cause the sync service to be restarted at the starting heartbeat and going through
-     * the process again.
-     */
-    static private final int PING_MINUTES = 60; // in seconds
-    static private final int PING_FUDGE_LOW = 10;
-    static private final int PING_STARTING_HEARTBEAT = (8*PING_MINUTES)-PING_FUDGE_LOW;
-    static private final int PING_HEARTBEAT_INCREMENT = 3*PING_MINUTES;
-
-    // Maximum number of times we'll allow a sync to "loop" with MoreAvailable true before
-    // forcing it to stop.  This number has been determined empirically.
-    static private final int MAX_LOOPING_COUNT = 100;
-
-    static private final int PROTOCOL_PING_STATUS_COMPLETED = 1;
-
     // The amount of time we allow for a thread to release its post lock after receiving an alert
     static private final int POST_LOCK_TIMEOUT = 10*SECONDS;
 
-    // Fallbacks (in minutes) for ping loop failures
-    static private final int MAX_PING_FAILURES = 1;
-    static private final int PING_FALLBACK_INBOX = 5;
-    static private final int PING_FALLBACK_PIM = 25;
-
     // The EAS protocol Provision status for "we implement all of the policies"
     static private final String PROVISION_STATUS_OK = "1";
     // The EAS protocol Provision status meaning "we partially implement the policies"
     static private final String PROVISION_STATUS_PARTIAL = "2";
 
     static /*package*/ final String DEVICE_TYPE = "Android";
-    static private final String USER_AGENT = DEVICE_TYPE + '/' + Build.VERSION.RELEASE + '-' +
+    static final String USER_AGENT = DEVICE_TYPE + '/' + Build.VERSION.RELEASE + '-' +
         Eas.CLIENT_VERSION;
 
+    // Maximum number of times we'll allow a sync to "loop" with MoreAvailable true before
+    // forcing it to stop.  This number has been determined empirically.
+    static private final int MAX_LOOPING_COUNT = 100;
     // Reasonable default
     public String mProtocolVersion = Eas.DEFAULT_PROTOCOL_VERSION;
     public Double mProtocolVersionDouble;
@@ -207,39 +155,26 @@
     public String mUserName;
     public String mPassword;
 
+    // The HttpPost in progress
+    private volatile HttpPost mPendingPost = null;
+    // Whether a POST was aborted due to alarm (watchdog alarm)
+    protected boolean mPostAborted = false;
+    // Whether a POST was aborted due to reset
+    protected boolean mPostReset = false;
+
     // The parameters for the connection must be modified through setConnectionParameters
     private boolean mSsl = true;
     private boolean mTrustSsl = false;
     private String mClientCertAlias = null;
 
     public ContentResolver mContentResolver;
-    private final String[] mBindArguments = new String[2];
-    private ArrayList<String> mPingChangeList;
-    // The HttpPost in progress
-    private volatile HttpPost mPendingPost = null;
-    // Our heartbeat when we are waiting for ping boxes to be ready
-    /*package*/ int mPingForceHeartbeat = 2*PING_MINUTES;
-    // The minimum heartbeat we will send
-    /*package*/ int mPingMinHeartbeat = (5*PING_MINUTES)-PING_FUDGE_LOW;
-    // The maximum heartbeat we will send
-    /*package*/ int mPingMaxHeartbeat = (17*PING_MINUTES)-PING_FUDGE_LOW;
-    // The ping time (in seconds)
-    /*package*/ int mPingHeartbeat = PING_STARTING_HEARTBEAT;
-    // The longest successful ping heartbeat
-    private int mPingHighWaterMark = 0;
-    // Whether we've ever lowered the heartbeat
-    /*package*/ boolean mPingHeartbeatDropped = false;
-    // Whether a POST was aborted due to alarm (watchdog alarm)
-    private boolean mPostAborted = false;
-    // Whether a POST was aborted due to reset
-    private boolean mPostReset = false;
     // Whether or not the sync service is valid (usable)
     public boolean mIsValid = true;
 
     // Whether the most recent upsync failed (status 7)
     public boolean mUpsyncFailed = false;
 
-    public EasSyncService(Context _context, Mailbox _mailbox) {
+    protected EasSyncService(Context _context, Mailbox _mailbox) {
         super(_context, _mailbox);
         mContentResolver = _context.getContentResolver();
         if (mAccount == null) {
@@ -263,6 +198,17 @@
         this("EAS Validation");
     }
 
+    public static EasSyncService getServiceForMailbox(Context context, Mailbox m) {
+        switch(m.mType) {
+            case Mailbox.TYPE_EAS_ACCOUNT_MAILBOX:
+                return new EasAccountService(context, m);
+            case Mailbox.TYPE_OUTBOX:
+                return new EasOutboxService(context, m);
+            default:
+                return new EasSyncService(context, m);
+        }
+    }
+
     /**
      * Try to wake up a sync thread that is waiting on an HttpClient POST and has waited past its
      * socket timeout without having thrown an Exception
@@ -365,7 +311,7 @@
         super.addRequest(request);
     }
 
-    private void setupProtocolVersion(EasSyncService service, Header versionHeader)
+    void setupProtocolVersion(EasSyncService service, Header versionHeader)
             throws MessagingException {
         // The string is a comma separated list of EAS versions in ascending order
         // e.g. 1.0,2.0,2.5,12.0,12.1,14.0,14.1
@@ -559,7 +505,7 @@
                 int status = e.mStatus;
                 if (CommandStatus.isNeedsProvisioning(status)) {
                     // Get the policies and see if we are able to support them
-                    ProvisionParser pp = canProvision();
+                    ProvisionParser pp = canProvision(this);
                     if (pp != null && pp.hasSupportablePolicySet()) {
                         // Set the proper result code and save the PolicySet in our Bundle
                         resultCode = MessagingException.SECURITY_POLICIES_REQUIRED;
@@ -572,12 +518,12 @@
                                 resultCode = MessagingException.ACCESS_DENIED;
                             }
                         }
-                    } else
+                    } else {
                         // If not, set the proper code (the account will not be created)
                         resultCode = MessagingException.SECURITY_POLICIES_UNSUPPORTED;
-                        bundle.putStringArray(
-                                EmailServiceProxy.VALIDATE_BUNDLE_UNSUPPORTED_POLICIES,
-                                ((pp == null) ? null : pp.getUnsupportedPolicies()));
+                        bundle.putParcelable(EmailServiceProxy.VALIDATE_BUNDLE_POLICY_SET,
+                                pp.getPolicy());
+                    }
                 } else if (CommandStatus.isDeniedAccess(status)) {
                     userLog("Denied access: ", CommandStatus.toString(status));
                     resultCode = MessagingException.ACCESS_DENIED;
@@ -679,6 +625,17 @@
     }
 
     /**
+     * Convert an EAS server url to a HostAuth host address
+     * @param url a url, as provided by the Exchange server
+     * @return our equivalent host address
+     */
+    protected String autodiscoverUrlToHostAddress(String url) {
+        if (url == null) return null;
+        // We need to extract the server address from a url
+        return Uri.parse(url).getHost();
+    }
+
+    /**
      * Use the Exchange 2007 AutoDiscover feature to try to retrieve server information using
      * only an email address and the password
      *
@@ -828,14 +785,11 @@
                         mobileSync = true;
                     }
                 } else if (mobileSync && name.equals("Url")) {
-                    String url = parser.nextText().toLowerCase();
-                    // This will look like https://<server address>/Microsoft-Server-ActiveSync
-                    // We need to extract the <server address>
-                    if (url.startsWith("https://") &&
-                            url.endsWith("/microsoft-server-activesync")) {
-                        int lastSlash = url.lastIndexOf('/');
-                        hostAuth.mAddress = url.substring(8, lastSlash);
-                        userLog("Autodiscover, server: " + hostAuth.mAddress);
+                    String hostAddress =
+                        autodiscoverUrlToHostAddress(parser.nextText());
+                    if (hostAddress != null) {
+                        hostAuth.mAddress = hostAddress;
+                        userLog("Autodiscover, server: " + hostAddress);
                     }
                 }
             }
@@ -1266,9 +1220,6 @@
 
     protected EasResponse sendPing(byte[] bytes, int heartbeat) throws IOException {
        Thread.currentThread().setName(mAccount.mDisplayName + ": Ping");
-       if (Eas.USER_LOG) {
-           userLog("Send ping, timeout: " + heartbeat + "s, high: " + mPingHighWaterMark + 's');
-       }
        return sendHttpClientPost(PING_COMMAND, new ByteArrayEntity(bytes), (heartbeat+5)*SECONDS);
     }
 
@@ -1364,7 +1315,7 @@
         return EasResponse.fromHttpRequest(getClientConnectionManager(), client, method);
     }
 
-    private String getTargetCollectionClassFromCursor(Cursor c) {
+    String getTargetCollectionClassFromCursor(Cursor c) {
         int type = c.getInt(Mailbox.CONTENT_TYPE_COLUMN);
         if (type == Mailbox.TYPE_CONTACTS) {
             return "Contacts";
@@ -1384,88 +1335,77 @@
      * @return whether or not provisioning has been successful
      * @throws IOException
      */
-    private boolean tryProvision() throws IOException {
+    public static boolean tryProvision(EasSyncService svc) throws IOException {
         // First, see if provisioning is even possible, i.e. do we support the policies required
         // by the server
-        ProvisionParser pp = canProvision();
-        if (pp != null && pp.hasSupportablePolicySet()) {
-            // Get the policies from ProvisionParser
-            Policy policy = pp.getPolicy();
-            Policy oldPolicy = null;
-            // Grab the old policy (if any)
-            if (mAccount.mPolicyKey > 0) {
-                oldPolicy = Policy.restorePolicyWithId(mContext, mAccount.mPolicyKey);
+        ProvisionParser pp = canProvision(svc);
+        if (pp == null) return false;
+        Context context = svc.mContext;
+        Account account = svc.mAccount;
+        // Get the policies from ProvisionParser
+        Policy policy = pp.getPolicy();
+        Policy oldPolicy = null;
+        // Grab the old policy (if any)
+        if (svc.mAccount.mPolicyKey > 0) {
+            oldPolicy = Policy.restorePolicyWithId(context, account.mPolicyKey);
+        }
+        // Update the account with a null policyKey (the key we've gotten is
+        // temporary and cannot be used for syncing)
+        PolicyServiceProxy.setAccountPolicy(context, account.mId, policy, null);
+        // Make sure mAccount is current (with latest policy key)
+        account.refresh(context);
+        if (pp.getRemoteWipe()) {
+            // We've gotten a remote wipe command
+            ExchangeService.alwaysLog("!!! Remote wipe request received");
+            // Start by setting the account to security hold
+            PolicyServiceProxy.setAccountHoldFlag(context, account, true);
+            // Force a stop to any running syncs for this account (except this one)
+            ExchangeService.stopNonAccountMailboxSyncsForAccount(account.mId);
+
+            // First, we've got to acknowledge it, but wrap the wipe in try/catch so that
+            // we wipe the device regardless of any errors in acknowledgment
+            try {
+                ExchangeService.alwaysLog("!!! Acknowledging remote wipe to server");
+                acknowledgeRemoteWipe(svc, pp.getSecuritySyncKey());
+            } catch (Exception e) {
+                // Because remote wipe is such a high priority task, we don't want to
+                // circumvent it if there's an exception in acknowledgment
             }
-            // Update the account with a null policyKey (the key we've gotten is
-            // temporary and cannot be used for syncing)
-            Policy.setAccountPolicy(mContext, mAccount, policy, null);
-            // Make sure mAccount is current (with latest policy key)
-            mAccount.refresh(mContext);
-            // Make sure that SecurityPolicy is up-to-date
-            SecurityPolicyDelegate.policiesUpdated(mContext, mAccount.mId);
-            if (pp.getRemoteWipe()) {
-                // We've gotten a remote wipe command
-                ExchangeService.alwaysLog("!!! Remote wipe request received");
-                // Start by setting the account to security hold
-                SecurityPolicyDelegate.setAccountHoldFlag(mContext, mAccount, true);
-                // Force a stop to any running syncs for this account (except this one)
-                ExchangeService.stopNonAccountMailboxSyncsForAccount(mAccount.mId);
-
-                // If we're not the admin, we can't do the wipe, so just return
-                if (!SecurityPolicyDelegate.isActiveAdmin(mContext)) {
-                    ExchangeService.alwaysLog("!!! Not device admin; can't wipe");
-                    return false;
-                }
-
-                // First, we've got to acknowledge it, but wrap the wipe in try/catch so that
-                // we wipe the device regardless of any errors in acknowledgment
-                try {
-                    ExchangeService.alwaysLog("!!! Acknowledging remote wipe to server");
-                    acknowledgeRemoteWipe(pp.getSecuritySyncKey());
-                } catch (Exception e) {
-                    // Because remote wipe is such a high priority task, we don't want to
-                    // circumvent it if there's an exception in acknowledgment
-                }
-                // Then, tell SecurityPolicy to wipe the device
-                ExchangeService.alwaysLog("!!! Executing remote wipe");
-                SecurityPolicyDelegate.remoteWipe(mContext);
-                return false;
-            } else if (SecurityPolicyDelegate.isActive(mContext, policy)) {
-                // See if the required policies are in force; if they are, acknowledge the policies
-                // to the server and get the final policy key
-                // NOTE: For EAS 14.0, we already have the acknowledgment in the ProvisionParser
-                String securitySyncKey;
-                if (mProtocolVersionDouble == Eas.SUPPORTED_PROTOCOL_EX2010_DOUBLE) {
-                    securitySyncKey = pp.getSecuritySyncKey();
-                } else {
-                    securitySyncKey = acknowledgeProvision(pp.getSecuritySyncKey(),
-                            PROVISION_STATUS_OK);
-                }
-                if (securitySyncKey != null) {
-                    // If attachment policies have changed, fix up any affected attachment records
-                    if (oldPolicy != null) {
-                        if ((oldPolicy.mDontAllowAttachments != policy.mDontAllowAttachments) ||
-                                (oldPolicy.mMaxAttachmentSize != policy.mMaxAttachmentSize)) {
-                            Policy.setAttachmentFlagsForNewPolicy(mContext, mAccount, policy);
-                        }
-                    }
-                    // Write the final policy key to the Account and say we've been successful
-                    Policy.setAccountPolicy(mContext, mAccount, policy, securitySyncKey);
-                    // Release any mailboxes that might be in a security hold
-                    ExchangeService.releaseSecurityHold(mAccount);
-                    return true;
-                }
+            // Then, tell SecurityPolicy to wipe the device
+            ExchangeService.alwaysLog("!!! Executing remote wipe");
+            PolicyServiceProxy.remoteWipe(context);
+            return false;
+        } else if (pp.hasSupportablePolicySet() && PolicyServiceProxy.isActive(context, policy)) {
+            // See if the required policies are in force; if they are, acknowledge the policies
+            // to the server and get the final policy key
+            // NOTE: For EAS 14.0, we already have the acknowledgment in the ProvisionParser
+            String securitySyncKey;
+            if (svc.mProtocolVersionDouble == Eas.SUPPORTED_PROTOCOL_EX2010_DOUBLE) {
+                securitySyncKey = pp.getSecuritySyncKey();
             } else {
-                // Notify that we are blocked because of policies
-                // TODO: Indicate unsupported policies here?
-                SecurityPolicyDelegate.policiesRequired(mContext, mAccount.mId);
+                securitySyncKey = acknowledgeProvision(svc, pp.getSecuritySyncKey(),
+                        PROVISION_STATUS_OK);
+            }
+            if (securitySyncKey != null) {
+                // If attachment policies have changed, fix up any affected attachment records
+                if (oldPolicy != null) {
+                    if ((oldPolicy.mDontAllowAttachments != policy.mDontAllowAttachments) ||
+                            (oldPolicy.mMaxAttachmentSize != policy.mMaxAttachmentSize)) {
+                        Policy.setAttachmentFlagsForNewPolicy(context, account, policy);
+                    }
+                }
+                // Write the final policy key to the Account and say we've been successful
+                PolicyServiceProxy.setAccountPolicy(context, account.mId, policy, securitySyncKey);
+                // Release any mailboxes that might be in a security hold
+                ExchangeService.releaseSecurityHold(account);
+                return true;
             }
         }
         return false;
     }
 
-    private String getPolicyType() {
-        return (mProtocolVersionDouble >=
+    private static String getPolicyType(Double protocolVersion) {
+        return (protocolVersion >=
             Eas.SUPPORTED_PROTOCOL_EX2007_DOUBLE) ? EAS_12_POLICY_TYPE : EAS_2_POLICY_TYPE;
     }
 
@@ -1475,10 +1415,11 @@
      * @return the ProvisionParser (holds policies and key) if we receive policies; null otherwise
      * @throws IOException
      */
-    private ProvisionParser canProvision() throws IOException {
+    public static ProvisionParser canProvision(EasSyncService svc) throws IOException {
         Serializer s = new Serializer();
+        Double protocolVersion = svc.mProtocolVersionDouble;
         s.start(Tags.PROVISION_PROVISION);
-        if (mProtocolVersionDouble >= Eas.SUPPORTED_PROTOCOL_EX2010_SP1_DOUBLE) {
+        if (svc.mProtocolVersionDouble >= Eas.SUPPORTED_PROTOCOL_EX2010_SP1_DOUBLE) {
             // Send settings information in 14.1 and greater
             s.start(Tags.SETTINGS_DEVICE_INFORMATION).start(Tags.SETTINGS_SET);
             s.data(Tags.SETTINGS_MODEL, Build.MODEL);
@@ -1488,27 +1429,27 @@
             //s.data(Tags.SETTINGS_OS_LANGUAGE, "");
             //s.data(Tags.SETTINGS_PHONE_NUMBER, "");
             //s.data(Tags.SETTINGS_MOBILE_OPERATOR, "");
-            s.data(Tags.SETTINGS_USER_AGENT, USER_AGENT);
+            s.data(Tags.SETTINGS_USER_AGENT, EasSyncService.USER_AGENT);
             s.end().end();  // SETTINGS_SET, SETTINGS_DEVICE_INFORMATION
         }
         s.start(Tags.PROVISION_POLICIES);
-        s.start(Tags.PROVISION_POLICY).data(Tags.PROVISION_POLICY_TYPE, getPolicyType()).end();
-        s.end();  // PROVISION_POLICIES
-        s.end().done(); // PROVISION_PROVISION
-        EasResponse resp = sendHttpClientPost("Provision", s.toByteArray());
+        s.start(Tags.PROVISION_POLICY);
+        s.data(Tags.PROVISION_POLICY_TYPE, getPolicyType(protocolVersion));
+        s.end().end().end().done(); // PROVISION_POLICY, PROVISION_POLICIES, PROVISION_PROVISION
+        EasResponse resp = svc.sendHttpClientPost("Provision", s.toByteArray());
         try {
             int code = resp.getStatus();
             if (code == HttpStatus.SC_OK) {
                 InputStream is = resp.getInputStream();
-                ProvisionParser pp = new ProvisionParser(is, this);
+                ProvisionParser pp = new ProvisionParser(is, svc);
                 if (pp.parse()) {
                     // The PolicySet in the ProvisionParser will have the requirements for all KNOWN
                     // policies.  If others are required, hasSupportablePolicySet will be false
                     if (pp.hasSupportablePolicySet() &&
-                            mProtocolVersionDouble == Eas.SUPPORTED_PROTOCOL_EX2010_DOUBLE) {
+                            svc.mProtocolVersionDouble == Eas.SUPPORTED_PROTOCOL_EX2010_DOUBLE) {
                         // In EAS 14.0, we need the final security key in order to use the settings
                         // command
-                        String policyKey = acknowledgeProvision(pp.getSecuritySyncKey(),
+                        String policyKey = acknowledgeProvision(svc, pp.getSecuritySyncKey(),
                                 PROVISION_STATUS_OK);
                         if (policyKey != null) {
                             pp.setSecuritySyncKey(policyKey);
@@ -1518,11 +1459,11 @@
                         // accommodate the required policies).  The server will agree to this if the
                         // "allow non-provisionable devices" setting is enabled on the server
                         ExchangeService.log("PolicySet is NOT fully supportable");
-                        String policyKey = acknowledgeProvision(pp.getSecuritySyncKey(),
-                                PROVISION_STATUS_PARTIAL);
-                        // Return either the parser (success) or null (failure)
-                        if (policyKey != null) {
-                            pp.clearUnsupportedPolicies();
+                        if (acknowledgeProvision(svc, pp.getSecuritySyncKey(),
+                                PROVISION_STATUS_PARTIAL) != null) {
+                            // The server's ok with our inability to support policies, so we'll
+                            // clear them
+                            pp.clearUnsupportablePolicies();
                         }
                     }
                     return pp;
@@ -1543,22 +1484,24 @@
      * @return the final policy key, which can be used for syncing
      * @throws IOException
      */
-    private void acknowledgeRemoteWipe(String tempKey) throws IOException {
-        acknowledgeProvisionImpl(tempKey, PROVISION_STATUS_OK, true);
+    private static void acknowledgeRemoteWipe(EasSyncService svc, String tempKey)
+            throws IOException {
+        acknowledgeProvisionImpl(svc, tempKey, PROVISION_STATUS_OK, true);
     }
 
-    private String acknowledgeProvision(String tempKey, String result) throws IOException {
-        return acknowledgeProvisionImpl(tempKey, result, false);
+    private static String acknowledgeProvision(EasSyncService svc, String tempKey, String result)
+            throws IOException {
+        return acknowledgeProvisionImpl(svc, tempKey, result, false);
     }
 
-    private String acknowledgeProvisionImpl(String tempKey, String status,
-            boolean remoteWipe) throws IOException {
+    private static String acknowledgeProvisionImpl(EasSyncService svc, String tempKey,
+            String status, boolean remoteWipe) throws IOException {
         Serializer s = new Serializer();
         s.start(Tags.PROVISION_PROVISION).start(Tags.PROVISION_POLICIES);
         s.start(Tags.PROVISION_POLICY);
 
         // Use the proper policy type, depending on EAS version
-        s.data(Tags.PROVISION_POLICY_TYPE, getPolicyType());
+        s.data(Tags.PROVISION_POLICY_TYPE, getPolicyType(svc.mProtocolVersionDouble));
 
         s.data(Tags.PROVISION_POLICY_KEY, tempKey);
         s.data(Tags.PROVISION_STATUS, status);
@@ -1569,15 +1512,16 @@
             s.end();
         }
         s.end().done(); // PROVISION_PROVISION
-        EasResponse resp = sendHttpClientPost("Provision", s.toByteArray());
+        EasResponse resp = svc.sendHttpClientPost("Provision", s.toByteArray());
         try {
             int code = resp.getStatus();
             if (code == HttpStatus.SC_OK) {
                 InputStream is = resp.getInputStream();
-                ProvisionParser pp = new ProvisionParser(is, this);
+                ProvisionParser pp = new ProvisionParser(is, svc);
                 if (pp.parse()) {
                     // Return the final policy key from the ProvisionParser
-                    ExchangeService.log("Provision confirmation received for " +
+                    String result = (pp.getSecuritySyncKey() == null) ? "failed" : "confirmed";
+                    ExchangeService.log("Provision " + result + " for " +
                             (PROVISION_STATUS_PARTIAL.equals(status) ? "PART" : "FULL") + " set");
                     return pp.getSecuritySyncKey();
                 }
@@ -1586,7 +1530,7 @@
             resp.close();
         }
         // On failures, log issue and return null
-        ExchangeService.log("Provision confirmation failed for" +
+        ExchangeService.log("Provisioning failed for" +
                 (PROVISION_STATUS_PARTIAL.equals(status) ? "PART" : "FULL") + " set");
         return null;
     }
@@ -1614,638 +1558,7 @@
         return false;
     }
 
-    /**
-     * Translate exit status code to service status code (used in callbacks)
-     * @param exitStatus the service's exit status
-     * @return the corresponding service status
-     */
-    private int exitStatusToServiceStatus(int exitStatus) {
-        switch(exitStatus) {
-            case EXIT_SECURITY_FAILURE:
-                return EmailServiceStatus.SECURITY_FAILURE;
-            case EXIT_LOGIN_FAILURE:
-                return EmailServiceStatus.LOGIN_FAILED;
-            default:
-                return EmailServiceStatus.SUCCESS;
-        }
-    }
-
-    /**
-     * Performs FolderSync
-     *
-     * @throws IOException
-     * @throws EasParserException
-     */
-    public void runAccountMailbox() throws IOException, EasParserException {
-        // Check that the account's mailboxes are consistent
-        MailboxUtilities.checkMailboxConsistency(mContext, mAccount.mId);
-        // Initialize exit status to success
-        mExitStatus = EXIT_DONE;
-        try {
-            try {
-                ExchangeService.callback()
-                    .syncMailboxListStatus(mAccount.mId, EmailServiceStatus.IN_PROGRESS, 0);
-            } catch (RemoteException e1) {
-                // Don't care if this fails
-            }
-
-            if (mAccount.mSyncKey == null) {
-                mAccount.mSyncKey = "0";
-                userLog("Account syncKey INIT to 0");
-                ContentValues cv = new ContentValues();
-                cv.put(AccountColumns.SYNC_KEY, mAccount.mSyncKey);
-                mAccount.update(mContext, cv);
-            }
-
-            boolean firstSync = mAccount.mSyncKey.equals("0");
-            if (firstSync) {
-                userLog("Initial FolderSync");
-            }
-
-            // When we first start up, change all mailboxes to push.
-            ContentValues cv = new ContentValues();
-            cv.put(Mailbox.SYNC_INTERVAL, Mailbox.CHECK_INTERVAL_PUSH);
-            if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
-                    WHERE_ACCOUNT_AND_SYNC_INTERVAL_PING,
-                    new String[] {Long.toString(mAccount.mId)}) > 0) {
-                ExchangeService.kick("change ping boxes to push");
-            }
-
-            // Determine our protocol version, if we haven't already and save it in the Account
-            // Also re-check protocol version at least once a day (in case of upgrade)
-            if (mAccount.mProtocolVersion == null || firstSync ||
-                   ((System.currentTimeMillis() - mMailbox.mSyncTime) > DAYS)) {
-                userLog("Determine EAS protocol version");
-                EasResponse resp = sendHttpClientOptions();
-                try {
-                    int code = resp.getStatus();
-                    userLog("OPTIONS response: ", code);
-                    if (code == HttpStatus.SC_OK) {
-                        Header header = resp.getHeader("MS-ASProtocolCommands");
-                        userLog(header.getValue());
-                        header = resp.getHeader("ms-asprotocolversions");
-                        try {
-                            setupProtocolVersion(this, header);
-                        } catch (MessagingException e) {
-                            // Since we've already validated, this can't really happen
-                            // But if it does, we'll rethrow this...
-                            throw new IOException();
-                        }
-                        // Save the protocol version
-                        cv.clear();
-                        // Save the protocol version in the account; if we're using 12.0 or greater,
-                        // set the flag for support of SmartForward
-                        cv.put(Account.PROTOCOL_VERSION, mProtocolVersion);
-                        mAccount.update(mContext, cv);
-                        cv.clear();
-                        // Save the sync time of the account mailbox to current time
-                        cv.put(Mailbox.SYNC_TIME, System.currentTimeMillis());
-                        mMailbox.update(mContext, cv);
-                     } else {
-                        errorLog("OPTIONS command failed; throwing IOException");
-                        throw new IOException();
-                    }
-                } finally {
-                    resp.close();
-                }
-            }
-
-            // Make sure we've upgraded flags for ICS if we're using v12.0 or later
-            if (mProtocolVersionDouble >= 12.0 &&
-                    (mAccount.mFlags & Account.FLAGS_SUPPORTS_SEARCH) == 0) {
-                cv.clear();
-                mAccount.mFlags = mAccount.mFlags | Account.FLAGS_SUPPORTS_SMART_FORWARD |
-                        Account.FLAGS_SUPPORTS_SEARCH | Account.FLAGS_SUPPORTS_GLOBAL_SEARCH;
-                cv.put(AccountColumns.FLAGS, mAccount.mFlags);
-                mAccount.update(mContext, cv);
-            }
-
-            // Change all pushable boxes to push when we start the account mailbox
-            if (mAccount.mSyncInterval == Account.CHECK_INTERVAL_PUSH) {
-                cv.clear();
-                cv.put(Mailbox.SYNC_INTERVAL, Mailbox.CHECK_INTERVAL_PUSH);
-                if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
-                        ExchangeService.WHERE_IN_ACCOUNT_AND_PUSHABLE,
-                        new String[] {Long.toString(mAccount.mId)}) > 0) {
-                    userLog("Push account; set pushable boxes to push...");
-                }
-            }
-
-            while (!mStop) {
-                // If we're not allowed to sync (e.g. roaming policy), leave now
-                if (!ExchangeService.canAutoSync(mAccount)) return;
-                userLog("Sending Account syncKey: ", mAccount.mSyncKey);
-                Serializer s = new Serializer();
-                s.start(Tags.FOLDER_FOLDER_SYNC).start(Tags.FOLDER_SYNC_KEY)
-                    .text(mAccount.mSyncKey).end().end().done();
-                EasResponse resp = sendHttpClientPost("FolderSync", s.toByteArray());
-                try {
-                    if (mStop) break;
-                    int code = resp.getStatus();
-                    if (code == HttpStatus.SC_OK) {
-                        if (!resp.isEmpty()) {
-                            InputStream is = resp.getInputStream();
-                            // Returns true if we need to sync again
-                            if (new FolderSyncParser(is, new AccountSyncAdapter(this)).parse()) {
-                                continue;
-                            }
-                        }
-                    } else if (EasResponse.isProvisionError(code)) {
-                        userLog("FolderSync provisioning error: ", code);
-                        throw new CommandStatusException(CommandStatus.NEEDS_PROVISIONING);
-                    } else if (EasResponse.isAuthError(code)) {
-                        userLog("FolderSync auth error: ", code);
-                        mExitStatus = EXIT_LOGIN_FAILURE;
-                        return;
-                    } else {
-                        userLog("FolderSync response error: ", code);
-                    }
-                } finally {
-                    resp.close();
-                }
-
-                // Change all push/hold boxes to push
-                cv.clear();
-                cv.put(Mailbox.SYNC_INTERVAL, Account.CHECK_INTERVAL_PUSH);
-                if (mContentResolver.update(Mailbox.CONTENT_URI, cv,
-                        WHERE_PUSH_HOLD_NOT_ACCOUNT_MAILBOX,
-                        new String[] {Long.toString(mAccount.mId)}) > 0) {
-                    userLog("Set push/hold boxes to push...");
-                }
-
-                try {
-                    ExchangeService.callback()
-                        .syncMailboxListStatus(mAccount.mId, exitStatusToServiceStatus(mExitStatus),
-                                0);
-                } catch (RemoteException e1) {
-                    // Don't care if this fails
-                }
-
-                // Before each run of the pingLoop, if this Account has a PolicySet, make sure it's
-                // active; otherwise, clear out the key/flag.  This should cause a provisioning
-                // error on the next POST, and start the security sequence over again
-                String key = mAccount.mSecuritySyncKey;
-                if (!TextUtils.isEmpty(key)) {
-                    Policy policy = Policy.restorePolicyWithId(mContext, mAccount.mPolicyKey);
-                    if ((policy != null) && !SecurityPolicyDelegate.isActive(mContext, policy)) {
-                        resetSecurityPolicies();
-                    }
-                }
-
-                // Wait for push notifications.
-                String threadName = Thread.currentThread().getName();
-                try {
-                    runPingLoop();
-                } catch (StaleFolderListException e) {
-                    // We break out if we get told about a stale folder list
-                    userLog("Ping interrupted; folder list requires sync...");
-                } catch (IllegalHeartbeatException e) {
-                    // If we're sending an illegal heartbeat, reset either the min or the max to
-                    // that heartbeat
-                    resetHeartbeats(e.mLegalHeartbeat);
-                } finally {
-                    Thread.currentThread().setName(threadName);
-                }
-            }
-        } catch (CommandStatusException e) {
-            // If the sync error is a provisioning failure (perhaps policies changed),
-            // let's try the provisioning procedure
-            // Provisioning must only be attempted for the account mailbox - trying to
-            // provision any other mailbox may result in race conditions and the
-            // creation of multiple policy keys.
-            int status = e.mStatus;
-            if (CommandStatus.isNeedsProvisioning(status)) {
-                if (!tryProvision()) {
-                    // Set the appropriate failure status
-                    mExitStatus = EXIT_SECURITY_FAILURE;
-                    return;
-                }
-            } else if (CommandStatus.isDeniedAccess(status)) {
-                mExitStatus = EXIT_ACCESS_DENIED;
-                try {
-                    ExchangeService.callback().syncMailboxListStatus(mAccount.mId,
-                            EmailServiceStatus.ACCESS_DENIED, 0);
-                } catch (RemoteException e1) {
-                    // Don't care if this fails
-                }
-                return;
-            } else {
-                userLog("Unexpected status: " + CommandStatus.toString(status));
-                mExitStatus = EXIT_EXCEPTION;
-            }
-        } catch (IOException e) {
-            // We catch this here to send the folder sync status callback
-            // A folder sync failed callback will get sent from run()
-            try {
-                if (!mStop) {
-                    // NOTE: The correct status is CONNECTION_ERROR, but the UI displays this, and
-                    // it's not really appropriate for EAS as this is not unexpected for a ping and
-                    // connection errors are retried in any case
-                    ExchangeService.callback()
-                        .syncMailboxListStatus(mAccount.mId, EmailServiceStatus.SUCCESS, 0);
-                }
-            } catch (RemoteException e1) {
-                // Don't care if this fails
-            }
-            throw e;
-        }
-    }
-
-    /**
-     * Reset either our minimum or maximum ping heartbeat to a heartbeat known to be legal
-     * @param legalHeartbeat a known legal heartbeat (from the EAS server)
-     */
-    /*package*/ void resetHeartbeats(int legalHeartbeat) {
-        userLog("Resetting min/max heartbeat, legal = " + legalHeartbeat);
-        // We are here because the current heartbeat (mPingHeartbeat) is invalid.  Depending on
-        // whether the argument is above or below the current heartbeat, we can infer the need to
-        // change either the minimum or maximum heartbeat
-        if (legalHeartbeat > mPingHeartbeat) {
-            // The legal heartbeat is higher than the ping heartbeat; therefore, our minimum was
-            // too low.  We respond by raising either or both of the minimum heartbeat or the
-            // force heartbeat to the argument value
-            if (mPingMinHeartbeat < legalHeartbeat) {
-                mPingMinHeartbeat = legalHeartbeat;
-            }
-            if (mPingForceHeartbeat < legalHeartbeat) {
-                mPingForceHeartbeat = legalHeartbeat;
-            }
-            // If our minimum is now greater than the max, bring them together
-            if (mPingMinHeartbeat > mPingMaxHeartbeat) {
-                mPingMaxHeartbeat = legalHeartbeat;
-            }
-        } else if (legalHeartbeat < mPingHeartbeat) {
-            // The legal heartbeat is lower than the ping heartbeat; therefore, our maximum was
-            // too high.  We respond by lowering the maximum to the argument value
-            mPingMaxHeartbeat = legalHeartbeat;
-            // If our maximum is now less than the minimum, bring them together
-            if (mPingMaxHeartbeat < mPingMinHeartbeat) {
-                mPingMinHeartbeat = legalHeartbeat;
-            }
-        }
-        // Set current heartbeat to the legal heartbeat
-        mPingHeartbeat = legalHeartbeat;
-        // Allow the heartbeat logic to run
-        mPingHeartbeatDropped = false;
-    }
-
-    private void pushFallback(long mailboxId) {
-        Mailbox mailbox = Mailbox.restoreMailboxWithId(mContext, mailboxId);
-        if (mailbox == null) {
-            return;
-        }
-        ContentValues cv = new ContentValues();
-        int mins = PING_FALLBACK_PIM;
-        if (mailbox.mType == Mailbox.TYPE_INBOX) {
-            mins = PING_FALLBACK_INBOX;
-        }
-        cv.put(Mailbox.SYNC_INTERVAL, mins);
-        mContentResolver.update(ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId),
-                cv, null, null);
-        errorLog("*** PING ERROR LOOP: Set " + mailbox.mDisplayName + " to " + mins + " min sync");
-        ExchangeService.kick("push fallback");
-    }
-
-    /**
-     * Simplistic attempt to determine a NAT timeout, based on experience with various carriers
-     * and networks.  The string "reset by peer" is very common in these situations, so we look for
-     * that specifically.  We may add additional tests here as more is learned.
-     * @param message
-     * @return whether this message is likely associated with a NAT failure
-     */
-    private boolean isLikelyNatFailure(String message) {
-        if (message == null) return false;
-        if (message.contains("reset by peer")) {
-            return true;
-        }
-        return false;
-    }
-
-    private void runPingLoop() throws IOException, StaleFolderListException,
-            IllegalHeartbeatException, CommandStatusException {
-        int pingHeartbeat = mPingHeartbeat;
-        userLog("runPingLoop");
-        // Do push for all sync services here
-        long endTime = System.currentTimeMillis() + (30*MINUTES);
-        HashMap<String, Integer> pingErrorMap = new HashMap<String, Integer>();
-        ArrayList<String> readyMailboxes = new ArrayList<String>();
-        ArrayList<String> notReadyMailboxes = new ArrayList<String>();
-        int pingWaitCount = 0;
-        long inboxId = -1;
-
-        while ((System.currentTimeMillis() < endTime) && !mStop) {
-            // Count of pushable mailboxes
-            int pushCount = 0;
-            // Count of mailboxes that can be pushed right now
-            int canPushCount = 0;
-            // Count of uninitialized boxes
-            int uninitCount = 0;
-
-            Serializer s = new Serializer();
-            Cursor c = mContentResolver.query(Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION,
-                    MailboxColumns.ACCOUNT_KEY + '=' + mAccount.mId +
-                    AND_FREQUENCY_PING_PUSH_AND_NOT_ACCOUNT_MAILBOX, null, null);
-            if (c == null) throw new ProviderUnavailableException();
-            notReadyMailboxes.clear();
-            readyMailboxes.clear();
-            // Look for an inbox, and remember its id
-            if (inboxId == -1) {
-                inboxId = Mailbox.findMailboxOfType(mContext, mAccount.mId, Mailbox.TYPE_INBOX);
-            }
-            try {
-                // Loop through our pushed boxes seeing what is available to push
-                while (c.moveToNext()) {
-                    pushCount++;
-                    // Two requirements for push:
-                    // 1) ExchangeService tells us the mailbox is syncable (not running/not stopped)
-                    // 2) The syncKey isn't "0" (i.e. it's synced at least once)
-                    long mailboxId = c.getLong(Mailbox.CONTENT_ID_COLUMN);
-                    int pingStatus = ExchangeService.pingStatus(mailboxId);
-                    String mailboxName = c.getString(Mailbox.CONTENT_DISPLAY_NAME_COLUMN);
-                    if (pingStatus == ExchangeService.PING_STATUS_OK) {
-                        String syncKey = c.getString(Mailbox.CONTENT_SYNC_KEY_COLUMN);
-                        if ((syncKey == null) || syncKey.equals("0")) {
-                            // We can't push until the initial sync is done
-                            pushCount--;
-                            uninitCount++;
-                            continue;
-                        }
-
-                        if (canPushCount++ == 0) {
-                            // Initialize the Ping command
-                            s.start(Tags.PING_PING)
-                                .data(Tags.PING_HEARTBEAT_INTERVAL,
-                                        Integer.toString(pingHeartbeat))
-                                .start(Tags.PING_FOLDERS);
-                        }
-
-                        String folderClass = getTargetCollectionClassFromCursor(c);
-                        s.start(Tags.PING_FOLDER)
-                            .data(Tags.PING_ID, c.getString(Mailbox.CONTENT_SERVER_ID_COLUMN))
-                            .data(Tags.PING_CLASS, folderClass)
-                            .end();
-                        readyMailboxes.add(mailboxName);
-                    } else if ((pingStatus == ExchangeService.PING_STATUS_RUNNING) ||
-                            (pingStatus == ExchangeService.PING_STATUS_WAITING)) {
-                        notReadyMailboxes.add(mailboxName);
-                    } else if (pingStatus == ExchangeService.PING_STATUS_UNABLE) {
-                        pushCount--;
-                        userLog(mailboxName, " in error state; ignore");
-                        continue;
-                    }
-                }
-            } finally {
-                c.close();
-            }
-
-            if (Eas.USER_LOG) {
-                if (!notReadyMailboxes.isEmpty()) {
-                    userLog("Ping not ready for: " + notReadyMailboxes);
-                }
-                if (!readyMailboxes.isEmpty()) {
-                    userLog("Ping ready for: " + readyMailboxes);
-                }
-            }
-
-            // If we've waited 10 seconds or more, just ping with whatever boxes are ready
-            // But use a shorter than normal heartbeat
-            boolean forcePing = !notReadyMailboxes.isEmpty() && (pingWaitCount > 5);
-
-            if ((canPushCount > 0) && ((canPushCount == pushCount) || forcePing)) {
-                // If all pingable boxes are ready for push, send Ping to the server
-                s.end().end().done();
-                pingWaitCount = 0;
-                mPostReset = false;
-                mPostAborted = false;
-
-                // If we've been stopped, this is a good time to return
-                if (mStop) return;
-
-                long pingTime = SystemClock.elapsedRealtime();
-                try {
-                    // Send the ping, wrapped by appropriate timeout/alarm
-                    if (forcePing) {
-                        userLog("Forcing ping after waiting for all boxes to be ready");
-                    }
-                    EasResponse resp =
-                        sendPing(s.toByteArray(), forcePing ? mPingForceHeartbeat : pingHeartbeat);
-
-                    try {
-                        int code = resp.getStatus();
-                        userLog("Ping response: ", code);
-
-                        // If we're not allowed to sync (e.g. roaming policy), terminate gracefully
-                        // now; otherwise we might start a sync based on the response
-                        if (!ExchangeService.canAutoSync(mAccount)) {
-                            mStop = true;
-                        }
-
-                        // Return immediately if we've been asked to stop during the ping
-                        if (mStop) {
-                            userLog("Stopping pingLoop");
-                            return;
-                        }
-
-                        if (code == HttpStatus.SC_OK) {
-                            // Make sure to clear out any pending sync errors
-                            ExchangeService.removeFromSyncErrorMap(mMailboxId);
-                            if (!resp.isEmpty()) {
-                                InputStream is = resp.getInputStream();
-                                int pingResult = parsePingResult(is, mContentResolver,
-                                        pingErrorMap);
-                                // If our ping completed (status = 1), and wasn't forced and we're
-                                // not at the maximum, try increasing timeout by two minutes
-                                if (pingResult == PROTOCOL_PING_STATUS_COMPLETED && !forcePing) {
-                                    if (pingHeartbeat > mPingHighWaterMark) {
-                                        mPingHighWaterMark = pingHeartbeat;
-                                        userLog("Setting high water mark at: ", mPingHighWaterMark);
-                                    }
-                                    if ((pingHeartbeat < mPingMaxHeartbeat) &&
-                                            !mPingHeartbeatDropped) {
-                                        pingHeartbeat += PING_HEARTBEAT_INCREMENT;
-                                        if (pingHeartbeat > mPingMaxHeartbeat) {
-                                            pingHeartbeat = mPingMaxHeartbeat;
-                                        }
-                                        userLog("Increase ping heartbeat to ", pingHeartbeat, "s");
-                                    }
-                                }
-                            } else {
-                                userLog("Ping returned empty result; throwing IOException");
-                                throw new IOException();
-                            }
-                        } else if (EasResponse.isAuthError(code)) {
-                            mExitStatus = EXIT_LOGIN_FAILURE;
-                            userLog("Authorization error during Ping: ", code);
-                            throw new IOException();
-                        } else if (EasResponse.isProvisionError(code)) {
-                            userLog("Provisioning required during Ping: ", code);
-                            throw new CommandStatusException(CommandStatus.NEEDS_PROVISIONING);
-                        }
-                    } finally {
-                        resp.close();
-                    }
-                } catch (IOException e) {
-                    String message = e.getMessage();
-                    // If we get the exception that is indicative of a NAT timeout and if we
-                    // haven't yet "fixed" the timeout, back off by two minutes and "fix" it
-                    boolean hasMessage = message != null;
-                    userLog("IOException runPingLoop: " + (hasMessage ? message : "[no message]"));
-                    if (mPostReset) {
-                        // Nothing to do in this case; this is ExchangeService telling us to try
-                        // another ping.
-                    } else if (mPostAborted || isLikelyNatFailure(message)) {
-                        long pingLength = SystemClock.elapsedRealtime() - pingTime;
-                        if ((pingHeartbeat > mPingMinHeartbeat) &&
-                                (pingHeartbeat > mPingHighWaterMark)) {
-                            pingHeartbeat -= PING_HEARTBEAT_INCREMENT;
-                            mPingHeartbeatDropped = true;
-                            if (pingHeartbeat < mPingMinHeartbeat) {
-                                pingHeartbeat = mPingMinHeartbeat;
-                            }
-                            userLog("Decreased ping heartbeat to ", pingHeartbeat, "s");
-                        } else if (mPostAborted) {
-                            // There's no point in throwing here; this can happen in two cases
-                            // 1) An alarm, which indicates minutes without activity; no sense
-                            //    backing off
-                            // 2) ExchangeService abort, due to sync of mailbox.  Again, we want to
-                            //    keep on trying to ping
-                            userLog("Ping aborted; retry");
-                        } else if (pingLength < 2000) {
-                            userLog("Abort or NAT type return < 2 seconds; throwing IOException");
-                            throw e;
-                        } else {
-                            userLog("NAT type IOException");
-                        }
-                    } else if (hasMessage && message.contains("roken pipe")) {
-                        // The "broken pipe" error (uppercase or lowercase "b") seems to be an
-                        // internal error, so let's not throw an exception (which leads to delays)
-                        // but rather simply run through the loop again
-                    } else {
-                        throw e;
-                    }
-                }
-            } else if (forcePing) {
-                // In this case, there aren't any boxes that are pingable, but there are boxes
-                // waiting (for IOExceptions)
-                userLog("pingLoop waiting 60s for any pingable boxes");
-                sleep(60*SECONDS, true);
-            } else if (pushCount > 0) {
-                // If we want to Ping, but can't just yet, wait a little bit
-                // TODO Change sleep to wait and use notify from ExchangeService when a sync ends
-                sleep(2*SECONDS, false);
-                pingWaitCount++;
-                //userLog("pingLoop waited 2s for: ", (pushCount - canPushCount), " box(es)");
-            } else if (uninitCount > 0) {
-                // In this case, we're doing an initial sync of at least one mailbox.  Since this
-                // is typically a one-time case, I'm ok with trying again every 10 seconds until
-                // we're in one of the other possible states.
-                userLog("pingLoop waiting for initial sync of ", uninitCount, " box(es)");
-                sleep(10*SECONDS, true);
-            } else if (inboxId == -1) {
-                // In this case, we're still syncing mailboxes, so sleep for only a short time
-                sleep(45*SECONDS, true);
-            } else {
-                // We've got nothing to do, so we'll check again in 20 minutes at which time
-                // we'll update the folder list, check for policy changes and/or remote wipe, etc.
-                // Let the device sleep in the meantime...
-                userLog(ACCOUNT_MAILBOX_SLEEP_TEXT);
-                sleep(ACCOUNT_MAILBOX_SLEEP_TIME, true);
-            }
-        }
-
-        // Save away the current heartbeat
-        mPingHeartbeat = pingHeartbeat;
-    }
-
-    private void sleep(long ms, boolean runAsleep) {
-        if (runAsleep) {
-            ExchangeService.runAsleep(mMailboxId, ms+(5*SECONDS));
-        }
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException e) {
-            // Doesn't matter whether we stop early; it's the thought that counts
-        } finally {
-            if (runAsleep) {
-                ExchangeService.runAwake(mMailboxId);
-            }
-        }
-    }
-
-    private int parsePingResult(InputStream is, ContentResolver cr,
-            HashMap<String, Integer> errorMap)
-            throws IOException, StaleFolderListException, IllegalHeartbeatException,
-                CommandStatusException {
-        PingParser pp = new PingParser(is, this);
-        if (pp.parse()) {
-            // True indicates some mailboxes need syncing...
-            // syncList has the serverId's of the mailboxes...
-            mBindArguments[0] = Long.toString(mAccount.mId);
-            mPingChangeList = pp.getSyncList();
-            for (String serverId: mPingChangeList) {
-                mBindArguments[1] = serverId;
-                Cursor c = cr.query(Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION,
-                        WHERE_ACCOUNT_KEY_AND_SERVER_ID, mBindArguments, null);
-                if (c == null) throw new ProviderUnavailableException();
-                try {
-                    if (c.moveToFirst()) {
-
-                        /**
-                         * Check the boxes reporting changes to see if there really were any...
-                         * We do this because bugs in various Exchange servers can put us into a
-                         * looping behavior by continually reporting changes in a mailbox, even when
-                         * there aren't any.
-                         *
-                         * This behavior is seemingly random, and therefore we must code defensively
-                         * by backing off of push behavior when it is detected.
-                         *
-                         * One known cause, on certain Exchange 2003 servers, is acknowledged by
-                         * Microsoft, and the server hotfix for this case can be found at
-                         * http://support.microsoft.com/kb/923282
-                         */
-
-                        // Check the status of the last sync
-                        String status = c.getString(Mailbox.CONTENT_SYNC_STATUS_COLUMN);
-                        int type = ExchangeService.getStatusType(status);
-                        // This check should always be true...
-                        if (type == ExchangeService.SYNC_PING) {
-                            int changeCount = ExchangeService.getStatusChangeCount(status);
-                            if (changeCount > 0) {
-                                errorMap.remove(serverId);
-                            } else if (changeCount == 0) {
-                                // This means that a ping reported changes in error; we keep a count
-                                // of consecutive errors of this kind
-                                String name = c.getString(Mailbox.CONTENT_DISPLAY_NAME_COLUMN);
-                                Integer failures = errorMap.get(serverId);
-                                if (failures == null) {
-                                    userLog("Last ping reported changes in error for: ", name);
-                                    errorMap.put(serverId, 1);
-                                } else if (failures > MAX_PING_FAILURES) {
-                                    // We'll back off of push for this box
-                                    pushFallback(c.getLong(Mailbox.CONTENT_ID_COLUMN));
-                                    continue;
-                                } else {
-                                    userLog("Last ping reported changes in error for: ", name);
-                                    errorMap.put(serverId, failures + 1);
-                                }
-                            }
-                        }
-
-                        // If there were no problems with previous sync, we'll start another one
-                        ExchangeService.startManualSync(c.getLong(Mailbox.CONTENT_ID_COLUMN),
-                                ExchangeService.SYNC_PING, null);
-                    }
-                } finally {
-                    c.close();
-                }
-            }
-        }
-        return pp.getSyncStatus();
-    }
-
-    /**
-     * Common code to sync E+PIM data
-     *
+    /** Common code to sync E+PIM data
      * @param target an EasMailbox, EasContacts, or EasCalendar object
      */
     public void sync(AbstractSyncAdapter target) throws IOException {
@@ -2495,14 +1808,14 @@
      * Clears out the security policies associated with the account, forcing a provision error
      * and a re-sync of the policy information for the account.
      */
-    private void resetSecurityPolicies() {
+    @SuppressWarnings("deprecation")
+    void resetSecurityPolicies() {
         ContentValues cv = new ContentValues();
         cv.put(AccountColumns.SECURITY_FLAGS, 0);
         cv.putNull(AccountColumns.SECURITY_SYNC_KEY);
         long accountId = mAccount.mId;
         mContentResolver.update(ContentUris.withAppendedId(
                 Account.CONTENT_URI, accountId), cv, null, null);
-        SecurityPolicyDelegate.policiesRequired(mContext, accountId);
     }
 
     @Override
@@ -2519,9 +1832,6 @@
                 int trafficFlags = TrafficFlags.getSyncFlags(mContext, mAccount);
                 if ((mMailbox == null) || (mAccount == null)) {
                     return;
-                } else if (mMailbox.mType == Mailbox.TYPE_EAS_ACCOUNT_MAILBOX) {
-                    TrafficStats.setThreadStatsTag(trafficFlags | TrafficFlags.DATA_EMAIL);
-                    runAccountMailbox();
                 } else {
                     AbstractSyncAdapter target;
                     if (mMailbox.mType == Mailbox.TYPE_CONTACTS) {
diff --git a/src/com/android/exchange/ExchangeService.java b/src/com/android/exchange/ExchangeService.java
index 833e0c4..6201d07 100644
--- a/src/com/android/exchange/ExchangeService.java
+++ b/src/com/android/exchange/ExchangeService.java
@@ -283,6 +283,7 @@
             }
         }
 
+        @Override
         public void loadAttachmentStatus(final long messageId, final long attachmentId,
                 final int status, final int progress) {
             broadcastCallback(new ServiceCallbackWrapper() {
@@ -293,6 +294,7 @@
             });
         }
 
+        @Override
         public void sendMessageStatus(final long messageId, final String subject, final int status,
                 final int progress) {
             broadcastCallback(new ServiceCallbackWrapper() {
@@ -303,6 +305,7 @@
             });
         }
 
+        @Override
         public void syncMailboxListStatus(final long accountId, final int status,
                 final int progress) {
             broadcastCallback(new ServiceCallbackWrapper() {
@@ -313,6 +316,7 @@
             });
         }
 
+        @Override
         public void syncMailboxStatus(final long mailboxId, final int status,
                 final int progress) {
             broadcastCallback(new ServiceCallbackWrapper() {
@@ -329,19 +333,23 @@
      */
     private final IEmailService.Stub mBinder = new IEmailService.Stub() {
 
+        @Override
         public int getApiLevel() {
             return Api.LEVEL;
         }
 
+        @Override
         public Bundle validate(HostAuth hostAuth) throws RemoteException {
             return AbstractSyncService.validate(EasSyncService.class,
                     hostAuth, ExchangeService.this);
         }
 
+        @Override
         public Bundle autoDiscover(String userName, String password) throws RemoteException {
             return new EasSyncService().tryAutodiscover(userName, password);
         }
 
+        @Override
         public void startSync(long mailboxId, boolean userRequest) throws RemoteException {
             ExchangeService exchangeService = INSTANCE;
             if (exchangeService == null) return;
@@ -400,20 +408,24 @@
                 ExchangeService.SYNC_SERVICE_START_SYNC, null);
         }
 
+        @Override
         public void stopSync(long mailboxId) throws RemoteException {
             stopManualSync(mailboxId);
         }
 
+        @Override
         public void loadAttachment(long attachmentId, boolean background) throws RemoteException {
             Attachment att = Attachment.restoreAttachmentWithId(ExchangeService.this, attachmentId);
             log("loadAttachment " + attachmentId + ": " + att.mFileName);
             sendMessageRequest(new PartRequest(att, null, null));
         }
 
+        @Override
         public void updateFolderList(long accountId) throws RemoteException {
             reloadFolderList(ExchangeService.this, accountId, false);
         }
 
+        @Override
         public void hostChanged(long accountId) throws RemoteException {
             ExchangeService exchangeService = INSTANCE;
             if (exchangeService == null) return;
@@ -438,31 +450,38 @@
             kick("host changed");
         }
 
+        @Override
         public void setLogging(int flags) throws RemoteException {
             Eas.setUserDebug(flags);
         }
 
+        @Override
         public void sendMeetingResponse(long messageId, int response) throws RemoteException {
             sendMessageRequest(new MeetingResponseRequest(messageId, response));
         }
 
+        @Override
         public void loadMore(long messageId) throws RemoteException {
         }
 
         // The following three methods are not implemented in this version
+        @Override
         public boolean createFolder(long accountId, String name) throws RemoteException {
             return false;
         }
 
+        @Override
         public boolean deleteFolder(long accountId, String name) throws RemoteException {
             return false;
         }
 
+        @Override
         public boolean renameFolder(long accountId, String oldName, String newName)
                 throws RemoteException {
             return false;
         }
 
+        @Override
         public void setCallback(IEmailServiceCallback cb) throws RemoteException {
             mCallbackList.register(cb);
         }
@@ -473,13 +492,27 @@
          * @param accountId the account whose data should be deleted
          * @throws RemoteException
          */
+        @Override
         public void deleteAccountPIMData(long accountId) throws RemoteException {
+            ExchangeService exchangeService = INSTANCE;
+            if (exchangeService == null) return;
             // Stop any running syncs
             ExchangeService.stopAccountSyncs(accountId);
             // Delete the data
             ExchangeService.deleteAccountPIMData(accountId);
+            long accountMailboxId = Mailbox.findMailboxOfType(exchangeService, accountId,
+                    Mailbox.TYPE_EAS_ACCOUNT_MAILBOX);
+            if (accountMailboxId != Mailbox.NO_MAILBOX) {
+                // Make sure the account mailbox is held due to security
+                synchronized(sSyncLock) {
+                    mSyncErrorMap.put(accountMailboxId, exchangeService.new SyncError(
+                            AbstractSyncService.EXIT_SECURITY_FAILURE, false));
+
+                }
+            }
         }
 
+        @Override
         public int searchMessages(long accountId, SearchParams searchParams, long destMailboxId) {
             ExchangeService exchangeService = INSTANCE;
             if (exchangeService == null) return 0;
@@ -580,14 +613,14 @@
         Mailbox mailbox =
             Mailbox.restoreMailboxOfType(exchangeService, accountId, Mailbox.TYPE_CONTACTS);
         if (mailbox != null) {
-            EasSyncService service = new EasSyncService(exchangeService, mailbox);
+            EasSyncService service = EasSyncService.getServiceForMailbox(exchangeService, mailbox);
             ContactsSyncAdapter adapter = new ContactsSyncAdapter(service);
             adapter.wipe();
         }
         mailbox =
             Mailbox.restoreMailboxOfType(exchangeService, accountId, Mailbox.TYPE_CALENDAR);
         if (mailbox != null) {
-            EasSyncService service = new EasSyncService(exchangeService, mailbox);
+            EasSyncService service = EasSyncService.getServiceForMailbox(exchangeService, mailbox);
             CalendarSyncAdapter adapter = new CalendarSyncAdapter(service);
             adapter.wipe();
         }
@@ -634,17 +667,13 @@
                 public void run() {
                     synchronized (mAccountList) {
                         for (Account account : mAccountList) {
-                            if ((account.mFlags & Account.FLAGS_SECURITY_HOLD) != 0) {
+                            if (onSecurityHold(account)) {
                                 // If we're in a security hold, and our policies are active, release
-                                // the hold; otherwise, ping PolicyService that this account's
-                                // policies are required
+                                // the hold
                                 if (PolicyServiceProxy.isActive(ExchangeService.this, null)) {
                                     PolicyServiceProxy.setAccountHoldFlag(ExchangeService.this,
                                             account, false);
                                     log("isActive true; release hold for " + account.mDisplayName);
-                                } else {
-                                    PolicyServiceProxy.policiesRequired(ExchangeService.this,
-                                            account.mId);
                                 }
                             }
                         }
@@ -804,7 +833,8 @@
         @Override
         public void onChange(boolean selfChange) {
             new Thread(new Runnable() {
-               public void run() {
+               @Override
+            public void run() {
                    onAccountChanged();
                 }}, "Account Observer").start();
         }
@@ -906,6 +936,7 @@
             // See if the user has changed syncing of our calendar
             if (!selfChange) {
                 new Thread(new Runnable() {
+                    @Override
                     public void run() {
                         try {
                             Cursor c = mResolver.query(Calendars.CONTENT_URI,
@@ -932,7 +963,8 @@
                                             stopManualSync(mailbox.mId);
                                             // Set the syncKey to 0 (reset)
                                             EasSyncService service =
-                                                new EasSyncService(INSTANCE, mailbox);
+                                                EasSyncService.getServiceForMailbox(
+                                                        INSTANCE, mailbox);
                                             CalendarSyncAdapter adapter =
                                                 new CalendarSyncAdapter(service);
                                             try {
@@ -1210,6 +1242,7 @@
     }
 
     static public ConnPerRoute sConnPerRoute = new ConnPerRoute() {
+        @Override
         public int getMaxForRoute(HttpRoute route) {
             return 8;
         }
@@ -1497,7 +1530,8 @@
                     threadName += service.mMailbox.mDisplayName;
                 }
                 new Thread(new Runnable() {
-                   public void run() {
+                   @Override
+                public void run() {
                        Mailbox m = Mailbox.restoreMailboxWithId(exchangeService, id);
                        if (m != null) {
                            // We ignore drafts completely (doesn't sync).  Changes in Outbox are
@@ -1588,18 +1622,18 @@
      * @param service the service to start
      * @param m the Mailbox on which the service will operate
      */
-    private void startServiceThread(AbstractSyncService service, Mailbox m) {
-        if (m == null) return;
+    private void startServiceThread(AbstractSyncService service) {
         synchronized (sSyncLock) {
-            String mailboxName = m.mDisplayName;
+            Mailbox mailbox = service.mMailbox;
+            String mailboxName = mailbox.mDisplayName;
             String accountName = service.mAccount.mDisplayName;
             Thread thread = new Thread(service, mailboxName + "[" + accountName + "]");
             log("Starting thread for " + mailboxName + " in account " + accountName);
             thread.start();
-            mServiceMap.put(m.mId, service);
-            runAwake(m.mId);
-            if ((m.mServerId != null) && !m.mServerId.startsWith(Eas.ACCOUNT_MAILBOX_PREFIX)) {
-                stopPing(m.mAccountKey);
+            mServiceMap.put(mailbox.mId, service);
+            runAwake(mailbox.mId);
+            if (mailbox.mServerId != null && mailbox.mType != Mailbox.TYPE_EAS_ACCOUNT_MAILBOX) {
+                stopPing(mailbox.mAccountKey);
             }
         }
     }
@@ -1616,7 +1650,7 @@
                 if (m != null) {
                     String serverId = m.mServerId;
                     if (m.mAccountKey == accountId && serverId != null &&
-                            serverId.startsWith(Eas.ACCOUNT_MAILBOX_PREFIX)) {
+                          m.mType == Mailbox.TYPE_EAS_ACCOUNT_MAILBOX) {
                         // Here's our account mailbox; reset him (stopping pings)
                         AbstractSyncService svc = mServiceMap.get(mailboxId);
                         svc.reset();
@@ -1644,13 +1678,13 @@
                 // Always make sure there's not a running instance of this service
                 AbstractSyncService service = mServiceMap.get(m.mId);
                 if (service == null) {
-                    service = new EasSyncService(this, m);
+                    service = EasSyncService.getServiceForMailbox(this, m);
                     if (!((EasSyncService)service).mIsValid) return;
                     service.mSyncReason = reason;
                     if (req != null) {
                         service.addRequest(req);
                     }
-                    startServiceThread(service, m);
+                    startServiceThread(service);
                 }
             }
         }
@@ -1871,6 +1905,7 @@
         }
     }
 
+    @Override
     public void run() {
         sStop = false;
         alwaysLog("ExchangeService thread running");
@@ -2089,6 +2124,7 @@
             if (policy == null) {
                 policy = Policy.restorePolicyWithId(INSTANCE, policyKey);
                 account.mPolicy = policy;
+                if (!PolicyServiceProxy.isActive(exchangeService, policy)) return false;
             }
             if (policy != null && policy.mRequireManualSyncWhenRoaming && networkInfo.isRoaming()) {
                 return false;
@@ -2246,7 +2282,7 @@
                     } else if (mailboxType == Mailbox.TYPE_OUTBOX) {
                         if (hasSendableMessages(c)) {
                             Mailbox m = EmailContent.getContent(c, Mailbox.class);
-                            startServiceThread(new EasOutboxService(this, m), m);
+                            startServiceThread(EasSyncService.getServiceForMailbox(this, m));
                         }
                     } else if (syncInterval > 0 && syncInterval <= ONE_DAY_MINUTES) {
                         long lastSync = c.getLong(Mailbox.CONTENT_SYNC_TIME_COLUMN);
@@ -2353,7 +2389,6 @@
 
     static public void sendMessageRequest(Request req) {
         ExchangeService exchangeService = INSTANCE;
-        if (exchangeService == null) return;
         Message msg = Message.restoreMessageWithId(exchangeService, req.mMessageId);
         if (msg == null) {
             return;
diff --git a/src/com/android/exchange/SecurityPolicyDelegate.java b/src/com/android/exchange/SecurityPolicyDelegate.java
deleted file mode 100644
index 5025c8f..0000000
--- a/src/com/android/exchange/SecurityPolicyDelegate.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.exchange;
-
-import com.android.emailcommon.provider.Account;
-import com.android.emailcommon.provider.Policy;
-import com.android.emailcommon.service.PolicyServiceProxy;
-
-import android.content.Context;
-import android.os.RemoteException;
-
-public class SecurityPolicyDelegate {
-
-    public static boolean isActive(Context context, Policy policy) {
-        try {
-            return new PolicyServiceProxy(context).isActive(policy);
-        } catch (RemoteException e) {
-        }
-        return false;
-    }
-
-    public static void policiesRequired(Context context, long accountId) {
-        try {
-            new PolicyServiceProxy(context).policiesRequired(accountId);
-        } catch (RemoteException e) {
-            throw new IllegalStateException("PolicyService transaction failed");
-        }
-    }
-
-    public static void policiesUpdated(Context context, long accountId) {
-        try {
-            new PolicyServiceProxy(context).policiesUpdated(accountId);
-        } catch (RemoteException e) {
-            throw new IllegalStateException("PolicyService transaction failed");
-        }
-    }
-
-    public static void setAccountHoldFlag(Context context, Account account, boolean newState) {
-        try {
-            new PolicyServiceProxy(context).setAccountHoldFlag(account.mId, newState);
-        } catch (RemoteException e) {
-            throw new IllegalStateException("PolicyService transaction failed");
-        }
-    }
-
-    public static boolean isActiveAdmin(Context context) {
-        try {
-            return new PolicyServiceProxy(context).isActiveAdmin();
-        } catch (RemoteException e) {
-        }
-        return false;
-    }
-
-    public static void remoteWipe(Context context) {
-        try {
-            new PolicyServiceProxy(context).remoteWipe();
-        } catch (RemoteException e) {
-            throw new IllegalStateException("PolicyService transaction failed");
-        }
-    }
-
-    public static boolean isSupported(Context context, Policy policy) {
-        try {
-            return new PolicyServiceProxy(context).isSupported(policy);
-        } catch (RemoteException e) {
-        }
-        return false;
-     }
-
-    public static Policy clearUnsupportedPolicies(Context context, Policy policy) {
-        try {
-            return new PolicyServiceProxy(context).clearUnsupportedPolicies(policy);
-        } catch (RemoteException e) {
-        }
-        throw new IllegalStateException("PolicyService transaction failed");
-    }
-}
diff --git a/src/com/android/exchange/adapter/AbstractSyncAdapter.java b/src/com/android/exchange/adapter/AbstractSyncAdapter.java
index b4c3c78..52400c4 100644
--- a/src/com/android/exchange/adapter/AbstractSyncAdapter.java
+++ b/src/com/android/exchange/adapter/AbstractSyncAdapter.java
@@ -22,12 +22,21 @@
 import com.android.exchange.CommandStatusException;
 import com.android.exchange.Eas;
 import com.android.exchange.EasSyncService;
+import com.google.common.annotations.VisibleForTesting;
 
+import android.content.ContentProviderOperation;
+import android.content.ContentProviderResult;
 import android.content.ContentResolver;
+import android.content.ContentUris;
 import android.content.Context;
+import android.content.OperationApplicationException;
+import android.net.Uri;
+import android.os.RemoteException;
+import android.os.TransactionTooLargeException;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 
 /**
  * Parent class of all sync adapters (EasMailbox, EasCalendar, and EasContacts)
@@ -43,6 +52,8 @@
 
     protected static final String PIM_WINDOW_SIZE = "4";
 
+    private static final long SEPARATOR_ID = Long.MAX_VALUE;
+
     public Mailbox mMailbox;
     public EasSyncService mService;
     public Context mContext;
@@ -134,5 +145,205 @@
     public void setSyncKey(String syncKey, boolean inCommands) throws IOException {
         mMailbox.mSyncKey = syncKey;
     }
+
+    /**
+     * Operation is our binder-safe ContentProviderOperation (CPO) construct; an Operation can
+     * be created from a CPO, a CPO Builder, or a CPO Builder with a "back reference" column name
+     * and offset (that might be used in Builder.withValueBackReference).  The CPO is not actually
+     * built until it is ready to be executed (with applyBatch); this allows us to recalculate
+     * back reference offsets if we are required to re-send a large batch in smaller chunks.
+     *
+     * NOTE: A failed binder transaction is something of an emergency case, and shouldn't happen
+     * with any frequency.  When it does, and we are forced to re-send the data to the content
+     * provider in smaller chunks, we DO lose the sync-window atomicity, and thereby add another
+     * small risk to the data.  Of course, this is far, far better than dropping the data on the
+     * floor, as was done before the framework implemented TransactionTooLargeException
+     */
+    protected static class Operation {
+        final ContentProviderOperation mOp;
+        final ContentProviderOperation.Builder mBuilder;
+        final String mColumnName;
+        final int mOffset;
+        // Is this Operation a separator? (a good place to break up a large transaction)
+        boolean mSeparator = false;
+
+        // For toString()
+        final String[] TYPES = new String[] {"???", "Ins", "Upd", "Del", "Assert"};
+
+        Operation(ContentProviderOperation.Builder builder, String columnName, int offset) {
+            mOp = null;
+            mBuilder = builder;
+            mColumnName = columnName;
+            mOffset = offset;
+        }
+
+        Operation(ContentProviderOperation.Builder builder) {
+            mOp = null;
+            mBuilder = builder;
+            mColumnName = null;
+            mOffset = 0;
+        }
+
+        Operation(ContentProviderOperation op) {
+            mOp = op;
+            mBuilder = null;
+            mColumnName = null;
+            mOffset = 0;
+        }
+
+        public String toString() {
+            StringBuilder sb = new StringBuilder("Op: ");
+            ContentProviderOperation op = operationToContentProviderOperation(this, 0);
+            int type = 0;
+            //DO NOT SHIP WITH THE FOLLOWING LINE (the API is hidden!)
+            //type = op.getType();
+            sb.append(TYPES[type]);
+            Uri uri = op.getUri();
+            sb.append(' ');
+            sb.append(uri.getPath());
+            if (mColumnName != null) {
+                sb.append(" Back value of " + mColumnName + ": " + mOffset);
+            }
+            return sb.toString();
+        }
+    }
+
+    /**
+     * We apply the batch of CPO's here.  We synchronize on the service to avoid thread-nasties,
+     * and we just return quickly if the service has already been stopped.
+     */
+    private ContentProviderResult[] execute(String authority,
+            ArrayList<ContentProviderOperation> ops)
+            throws RemoteException, OperationApplicationException {
+        synchronized (mService.getSynchronizer()) {
+            if (!mService.isStopped()) {
+                if (!ops.isEmpty()) {
+                    ContentProviderResult[] result = mContentResolver.applyBatch(authority, ops);
+                    mService.userLog("Results: " + result.length);
+                    return result;
+                }
+            }
+        }
+        return new ContentProviderResult[0];
+    }
+
+    /**
+     * Convert an Operation to a CPO; if the Operation has a back reference, apply it with the
+     * passed-in offset
+     */
+    @VisibleForTesting
+    static ContentProviderOperation operationToContentProviderOperation(Operation op, int offset) {
+        if (op.mOp != null) {
+            return op.mOp;
+        } else if (op.mBuilder == null) {
+            throw new IllegalArgumentException("Operation must have CPO.Builder");
+        }
+        ContentProviderOperation.Builder builder = op.mBuilder;
+        if (op.mColumnName != null) {
+            builder.withValueBackReference(op.mColumnName, op.mOffset - offset);
+        }
+        return builder.build();
+    }
+
+    /**
+     * Create a list of CPOs from a list of Operations, and then apply them in a batch
+     */
+    private ContentProviderResult[] applyBatch(String authority, ArrayList<Operation> ops,
+            int offset) throws RemoteException, OperationApplicationException {
+        // Handle the empty case
+        if (ops.isEmpty()) {
+            return new ContentProviderResult[0];
+        }
+        ArrayList<ContentProviderOperation> cpos = new ArrayList<ContentProviderOperation>();
+        for (Operation op: ops) {
+            cpos.add(operationToContentProviderOperation(op, offset));
+        }
+        return execute(authority, cpos);
+    }
+
+    /**
+     * Apply the list of CPO's in the provider and copy the "mini" result into our full result array
+     */
+    private void applyAndCopyResults(String authority, ArrayList<Operation> mini,
+            ContentProviderResult[] result, int offset) throws RemoteException {
+        // Empty lists are ok; we just ignore them
+        if (mini.isEmpty()) return;
+        try {
+            ContentProviderResult[] miniResult = applyBatch(authority, mini, offset);
+            // Copy the results from this mini-batch into our results array
+            System.arraycopy(miniResult, 0, result, offset, miniResult.length);
+        } catch (OperationApplicationException e) {
+            // Not possible since we're building the ops ourselves
+        }
+    }
+
+    /**
+     * Called by a sync adapter to execute a list of Operations in the ContentProvider handling
+     * the passed-in authority.  If the attempt to apply the batch fails due to a too-large
+     * binder transaction, we split the Operations as directed by separators.  If any of the
+     * "mini" batches fails due to a too-large transaction, we're screwed, but this would be
+     * vanishingly rare.  Other, possibly transient, errors are handled by throwing a
+     * RemoteException, which the caller will likely re-throw as an IOException so that the sync
+     * can be attempted again.
+     *
+     * Callers MAY leave a dangling separator at the end of the list; note that the separators
+     * themselves are only markers and are not sent to the provider.
+     */
+    protected ContentProviderResult[] safeExecute(String authority, ArrayList<Operation> ops)
+            throws RemoteException {
+        mService.userLog("Try to execute ", ops.size(), " CPO's for " + authority);
+        ContentProviderResult[] result = null;
+        try {
+            // Try to execute the whole thing
+            return applyBatch(authority, ops, 0);
+        } catch (TransactionTooLargeException e) {
+            // Nope; split into smaller chunks, demarcated by the separator operation
+            mService.userLog("Transaction too large; spliting!");
+            ArrayList<Operation> mini = new ArrayList<Operation>();
+            // Build a result array with the total size we're sending
+            result = new ContentProviderResult[ops.size()];
+            int count = 0;
+            int offset = 0;
+            for (Operation op: ops) {
+                if (op.mSeparator) {
+                    try {
+                        mService.userLog("Try mini-batch of ", mini.size(), " CPO's");
+                        applyAndCopyResults(authority, mini, result, offset);
+                        mini.clear();
+                        // Save away the offset here; this will need to be subtracted out of the
+                        // value originally set by the adapter
+                        offset = count + 1; // Remember to add 1 for the separator!
+                    } catch (TransactionTooLargeException e1) {
+                        throw new RuntimeException("Can't send transaction; sync stopped.");
+                    } catch (RemoteException e1) {
+                        throw e1;
+                    }
+                } else {
+                    mini.add(op);
+                }
+                count++;
+            }
+            // Check out what's left; if it's more than just a separator, apply the batch
+            int miniSize = mini.size();
+            if ((miniSize > 0) && !(miniSize == 1 && mini.get(0).mSeparator)) {
+                applyAndCopyResults(authority, mini, result, offset);
+            }
+        } catch (RemoteException e) {
+            throw e;
+        } catch (OperationApplicationException e) {
+            // Not possible since we're building the ops ourselves
+        }
+        return result;
+    }
+
+    /**
+     * Called by a sync adapter to indicate a relatively safe place to split a batch of CPO's
+     */
+    protected void addSeparatorOperation(ArrayList<Operation> ops, Uri uri) {
+        Operation op = new Operation(
+                ContentProviderOperation.newDelete(ContentUris.withAppendedId(uri, SEPARATOR_ID)));
+        op.mSeparator = true;
+        ops.add(op);
+    }
 }
 
diff --git a/src/com/android/exchange/adapter/CalendarSyncAdapter.java b/src/com/android/exchange/adapter/CalendarSyncAdapter.java
index b467eb7..c899640 100644
--- a/src/com/android/exchange/adapter/CalendarSyncAdapter.java
+++ b/src/com/android/exchange/adapter/CalendarSyncAdapter.java
@@ -26,7 +26,6 @@
 import android.content.Entity;
 import android.content.Entity.NamedContentValues;
 import android.content.EntityIterator;
-import android.content.OperationApplicationException;
 import android.database.Cursor;
 import android.database.DatabaseUtils;
 import android.net.Uri;
@@ -131,8 +130,8 @@
     // Used to indicate that upsyncs aren't allowed (we catch this in sendLocalChanges)
     private static final String EXTENDED_PROPERTY_UPSYNC_PROHIBITED = "upsyncProhibited";
 
-    private static final ContentProviderOperation PLACEHOLDER_OPERATION =
-        ContentProviderOperation.newInsert(Uri.EMPTY).build();
+    private static final Operation PLACEHOLDER_OPERATION =
+        new Operation(ContentProviderOperation.newInsert(Uri.EMPTY));
 
     private static final Object sSyncKeyLock = new Object();
 
@@ -164,9 +163,25 @@
     private ArrayList<Long> mSendCancelIdList = new ArrayList<Long>();
     private ArrayList<Message> mOutgoingMailList = new ArrayList<Message>();
 
+    private final Uri mAsSyncAdapterAttendees;
+    private final Uri mAsSyncAdapterEvents;
+    private final Uri mAsSyncAdapterReminders;
+    private final Uri mAsSyncAdapterExtendedProperties;
+
     public CalendarSyncAdapter(EasSyncService service) {
         super(service);
         mEmailAddress = mAccount.mEmailAddress;
+
+        String amType = Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE;
+        mAsSyncAdapterAttendees =
+                asSyncAdapter(Attendees.CONTENT_URI, mEmailAddress, amType);
+        mAsSyncAdapterEvents =
+                asSyncAdapter(Events.CONTENT_URI, mEmailAddress, amType);
+        mAsSyncAdapterReminders =
+                asSyncAdapter(Reminders.CONTENT_URI, mEmailAddress, amType);
+        mAsSyncAdapterExtendedProperties =
+                asSyncAdapter(ExtendedProperties.CONTENT_URI, mEmailAddress, amType);
+
         Cursor c = mService.mContentResolver.query(Calendars.CONTENT_URI,
                 new String[] {Calendars._ID}, CALENDAR_SELECTION,
                 new String[] {mEmailAddress, Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE}, null);
@@ -182,7 +197,7 @@
         } finally {
             c.close();
         }
-    }
+        }
 
     @Override
     public String getCollectionName() {
@@ -445,12 +460,9 @@
                             // This is an attendees-only update; just
                             // delete/re-add attendees
                             mBindArgument[0] = Long.toString(id);
-                            ops.add(ContentProviderOperation
-                                    .newDelete(
-                                            asSyncAdapter(Attendees.CONTENT_URI, mEmailAddress,
-                                                    Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
-                                    .withSelection(ATTENDEES_EXCEPT_ORGANIZER, mBindArgument)
-                                    .build());
+                            ops.add(new Operation(ContentProviderOperation
+                                    .newDelete(mAsSyncAdapterAttendees)
+                                    .withSelection(ATTENDEES_EXCEPT_ORGANIZER, mBindArgument)));
                             eventId = id;
                         } else {
                             // Otherwise, delete the original event and recreate it
@@ -692,11 +704,8 @@
 
                 if (isValidEventValues(cv)) {
                     ops.set(eventOffset,
-                            ContentProviderOperation
-                                    .newInsert(
-                                            asSyncAdapter(Events.CONTENT_URI, mEmailAddress,
-                                                    Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
-                                    .withValues(cv).build());
+                            new Operation(ContentProviderOperation
+                                    .newInsert(mAsSyncAdapterEvents).withValues(cv)));
                 } else {
                     // If we can't add this event (it's invalid), remove all of the inserts
                     // we've built for it
@@ -718,6 +727,8 @@
                     }
                 }
             }
+            // Mark the end of the event
+            addSeparatorOperation(ops, Events.CONTENT_URI);
         }
 
         private void logEventColumns(ContentValues cv, String reason) {
@@ -1187,11 +1198,11 @@
         public void commit() throws IOException {
             userLog("Calendar SyncKey saved as: ", mMailbox.mSyncKey);
             // Save the syncKey here, using the Helper provider by Calendar provider
-            mOps.add(SyncStateContract.Helpers.newSetOperation(
+            mOps.add(new Operation(SyncStateContract.Helpers.newSetOperation(
                     asSyncAdapter(SyncState.CONTENT_URI, mEmailAddress,
                             Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE),
                     mAccountManagerAccount,
-                    mMailbox.mSyncKey.getBytes()));
+                    mMailbox.mSyncKey.getBytes())));
 
             // We need to send cancellations now, because the Event won't exist after the commit
             for (long eventId: mSendCancelIdList) {
@@ -1209,8 +1220,12 @@
                 }
             }
 
-            // Execute these all at once...
-            mOps.execute();
+            // Execute our CPO's safely
+            try {
+                mOps.mResults = safeExecute(CalendarContract.AUTHORITY, mOps);
+            } catch (RemoteException e) {
+                throw new IOException("Remote exception caught; will retry");
+            }
 
             if (mOps.mResults != null) {
                 // Clear dirty and mark flags for updates sent to server
@@ -1280,12 +1295,9 @@
                     cv.put(Events.SYNC_DATA2, clientId);
                     long id = c.getLong(0);
                     // Write the serverId into the Event
-                    mOps.add(ContentProviderOperation
-                            .newUpdate(
-                                    asSyncAdapter(
-                                            ContentUris.withAppendedId(Events.CONTENT_URI, id),
-                                            mEmailAddress, Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
-                            .withValues(cv).build());
+                    mOps.add(new Operation(ContentProviderOperation
+                            .newUpdate(ContentUris.withAppendedId(mAsSyncAdapterEvents, id))
+                            .withValues(cv)));
                     userLog("New event " + clientId + " was given serverId: " + serverId);
                 }
             } finally {
@@ -1328,20 +1340,20 @@
         }
     }
 
-    protected class CalendarOperations extends ArrayList<ContentProviderOperation> {
+    protected class CalendarOperations extends ArrayList<Operation> {
         private static final long serialVersionUID = 1L;
         public int mCount = 0;
         private ContentProviderResult[] mResults = null;
         private int mEventStart = 0;
 
         @Override
-        public boolean add(ContentProviderOperation op) {
+        public boolean add(Operation op) {
             super.add(op);
             mCount++;
             return true;
         }
 
-        public int newEvent(ContentProviderOperation op) {
+        public int newEvent(Operation op) {
             mEventStart = mCount;
             add(op);
             return mEventStart;
@@ -1358,31 +1370,29 @@
         }
 
         public void newAttendee(ContentValues cv, int eventStart) {
-            add(ContentProviderOperation
-                    .newInsert(asSyncAdapter(Attendees.CONTENT_URI, mEmailAddress,
-                            Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE)).withValues(cv)
-                    .withValueBackReference(Attendees.EVENT_ID, eventStart).build());
+            add(new Operation(ContentProviderOperation.newInsert(mAsSyncAdapterAttendees)
+                    .withValues(cv),
+                    Attendees.EVENT_ID,
+                    eventStart));
         }
 
         public void updatedAttendee(ContentValues cv, long id) {
             cv.put(Attendees.EVENT_ID, id);
-            add(ContentProviderOperation.newInsert(asSyncAdapter(Attendees.CONTENT_URI,
-                    mEmailAddress, Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE)).withValues(cv).build());
+            add(new Operation(ContentProviderOperation.newInsert(mAsSyncAdapterAttendees)
+                    .withValues(cv)));
         }
 
         public void newException(ContentValues cv) {
-            add(ContentProviderOperation.newInsert(
-                    asSyncAdapter(Events.CONTENT_URI, mEmailAddress,
-                            Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE)).withValues(cv).build());
+            add(new Operation(ContentProviderOperation.newInsert(mAsSyncAdapterEvents)
+                    .withValues(cv)));
         }
 
         public void newExtendedProperty(String name, String value) {
-            add(ContentProviderOperation
-                    .newInsert(asSyncAdapter(ExtendedProperties.CONTENT_URI, mEmailAddress,
-                            Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
+            add(new Operation(ContentProviderOperation.newInsert(mAsSyncAdapterExtendedProperties)
                     .withValue(ExtendedProperties.NAME, name)
-                    .withValue(ExtendedProperties.VALUE, value)
-                    .withValueBackReference(ExtendedProperties.EVENT_ID, mEventStart).build());
+                    .withValue(ExtendedProperties.VALUE, value),
+                    ExtendedProperties.EVENT_ID,
+                    mEventStart));
         }
 
         public void updatedExtendedProperty(String name, String value, long id) {
@@ -1404,25 +1414,22 @@
             // Either do an update or an insert, depending on whether one
             // already exists
             if (extendedPropertyId >= 0) {
-                add(ContentProviderOperation
+                add(new Operation(ContentProviderOperation
                         .newUpdate(
-                                ContentUris.withAppendedId(
-                                        asSyncAdapter(ExtendedProperties.CONTENT_URI,
-                                                mEmailAddress, Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE),
+                                ContentUris.withAppendedId(mAsSyncAdapterExtendedProperties,
                                         extendedPropertyId))
-                        .withValue(ExtendedProperties.VALUE, value).build());
+                        .withValue(ExtendedProperties.VALUE, value)));
             } else {
                 newExtendedProperty(name, value);
             }
         }
 
         public void newReminder(int mins, int eventStart) {
-            add(ContentProviderOperation
-                    .newInsert(asSyncAdapter(Reminders.CONTENT_URI, mEmailAddress,
-                            Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
+            add(new Operation(ContentProviderOperation.newInsert(mAsSyncAdapterReminders)
                     .withValue(Reminders.MINUTES, mins)
-                    .withValue(Reminders.METHOD, Reminders.METHOD_ALERT)
-                    .withValueBackReference(ExtendedProperties.EVENT_ID, eventStart).build());
+                    .withValue(Reminders.METHOD, Reminders.METHOD_ALERT),
+                    ExtendedProperties.EVENT_ID,
+                    eventStart));
         }
 
         public void newReminder(int mins) {
@@ -1430,35 +1437,12 @@
         }
 
         public void delete(long id, String syncId) {
-            add(ContentProviderOperation.newDelete(
-                    asSyncAdapter(ContentUris.withAppendedId(Events.CONTENT_URI, id),
-                            mEmailAddress, Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE)).build());
-            // Delete the exceptions for this Event (CalendarProvider doesn't do
-            // this)
-            add(ContentProviderOperation
-                    .newDelete(asSyncAdapter(Events.CONTENT_URI, mEmailAddress,
-                            Eas.EXCHANGE_ACCOUNT_MANAGER_TYPE))
-                    .withSelection(Events.ORIGINAL_SYNC_ID + "=?", new String[] {syncId}).build());
-        }
-
-        public void execute() {
-            synchronized (mService.getSynchronizer()) {
-                if (!mService.isStopped()) {
-                    try {
-                        if (!isEmpty()) {
-                            mService.userLog("Executing ", size(), " CPO's");
-                            mResults = mContext.getContentResolver().applyBatch(
-                                    CalendarContract.AUTHORITY, this);
-                        }
-                    } catch (RemoteException e) {
-                        // There is nothing sensible to be done here
-                        Log.e(TAG, "problem inserting event during server update", e);
-                    } catch (OperationApplicationException e) {
-                        // There is nothing sensible to be done here
-                        Log.e(TAG, "problem inserting event during server update", e);
-                    }
-                }
-            }
+            add(new Operation(ContentProviderOperation.newDelete(
+                    ContentUris.withAppendedId(mAsSyncAdapterEvents, id))));
+            // Delete the exceptions for this Event (CalendarProvider doesn't do this)
+            add(new Operation(ContentProviderOperation
+                    .newDelete(mAsSyncAdapterEvents)
+                    .withSelection(Events.ORIGINAL_SYNC_ID + "=?", new String[] {syncId})));
         }
     }
 
diff --git a/src/com/android/exchange/adapter/ProvisionParser.java b/src/com/android/exchange/adapter/ProvisionParser.java
index 05a864c..e65fbe7 100644
--- a/src/com/android/exchange/adapter/ProvisionParser.java
+++ b/src/com/android/exchange/adapter/ProvisionParser.java
@@ -15,14 +15,13 @@
 
 package com.android.exchange.adapter;
 
+import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.res.Resources;
 
 import com.android.emailcommon.provider.Policy;
 import com.android.exchange.EasSyncService;
-import com.android.exchange.ExchangeService;
 import com.android.exchange.R;
-import com.android.exchange.SecurityPolicyDelegate;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -35,22 +34,20 @@
 
 /**
  * Parse the result of the Provision command
- *
- * Assuming a successful parse, we store the PolicySet and the policy key
  */
 public class ProvisionParser extends Parser {
     private final EasSyncService mService;
-    Policy mPolicy = null;
-    String mSecuritySyncKey = null;
-    boolean mRemoteWipe = false;
-    boolean mIsSupportable = true;
-    // An array of string resource id's describing policies that are unsupported by the device/app
-    String[] mUnsupportedPolicies;
-    boolean smimeRequired = false;
+    private Policy mPolicy = null;
+    private String mSecuritySyncKey = null;
+    private boolean mRemoteWipe = false;
+    private boolean mIsSupportable = true;
+    private boolean smimeRequired = false;
+    private final Resources mResources;
 
     public ProvisionParser(InputStream in, EasSyncService service) throws IOException {
         super(in);
         mService = service;
+        mResources = service.mContext.getResources();
     }
 
     public Policy getPolicy() {
@@ -73,18 +70,32 @@
         return (mPolicy != null) && mIsSupportable;
     }
 
-    public void clearUnsupportedPolicies() {
-        mPolicy = SecurityPolicyDelegate.clearUnsupportedPolicies(mService.mContext, mPolicy);
+    public void clearUnsupportablePolicies() {
         mIsSupportable = true;
-        mUnsupportedPolicies = null;
+        mPolicy.mProtocolPoliciesUnsupported = null;
     }
 
-    public String[] getUnsupportedPolicies() {
-        return mUnsupportedPolicies;
+    private void addPolicyString(StringBuilder sb, int res) {
+        sb.append(mResources.getString(res));
+        sb.append(Policy.POLICY_STRING_DELIMITER);
     }
 
+    /**
+     * Complete setup of a Policy; we normalize it first (removing inconsistencies, etc.) and then
+     * generate the tokenized "protocol policies enforced" string.  Note that unsupported policies
+     * must have been added prior to calling this method (this is only a possibility with wbxml
+     * policy documents, as all versions of the OS support the policies in xml documents).
+     */
     private void setPolicy(Policy policy) {
         policy.normalize();
+        StringBuilder sb = new StringBuilder();
+        if (policy.mDontAllowAttachments) {
+            addPolicyString(sb, R.string.policy_dont_allow_attachments);
+        }
+        if (policy.mRequireManualSyncWhenRoaming) {
+            addPolicyString(sb, R.string.policy_require_manual_sync_roaming);
+        }
+        policy.mProtocolPoliciesEnforced = sb.toString();
         mPolicy = policy;
     }
 
@@ -203,7 +214,15 @@
                 // below with the call to SecurityPolicy.isSupported()
                 case Tags.PROVISION_REQUIRE_DEVICE_ENCRYPTION:
                     if (getValueInt() == 1) {
-                        policy.mRequireEncryption = true;
+                        DevicePolicyManager dpm = (DevicePolicyManager)
+                             mService.mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+                        int status = dpm.getStorageEncryptionStatus();
+                        if (status == DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
+                            tagIsSupported = false;
+                            unsupportedList.add(R.string.policy_require_encryption);
+                        } else {
+                            policy.mRequireEncryption = true;
+                        }
                     }
                     break;
                 // Note this policy; we enforce it in ExchangeService
@@ -217,8 +236,8 @@
                     // Read, but ignore, value
                     policy.mPasswordRecoveryEnabled = getValueInt() == 1;
                     break;
-                // Note that DEVICE_ENCRYPTION_ENABLED refers to SD card encryption, which we do
-                // not yet support.
+                // Note that DEVICE_ENCRYPTION_ENABLED refers to SD card encryption, which the OS
+                // does not yet support.
                 case Tags.PROVISION_DEVICE_ENCRYPTION_ENABLED:
                     if (getValueInt() == 1) {
                         tagIsSupported = false;
@@ -315,26 +334,16 @@
         if (!passwordEnabled) {
             policy.mPasswordMode = Policy.PASSWORD_MODE_NONE;
         }
-        setPolicy(policy);
-
-        // We can only determine whether encryption is supported on device by using isSupported here
-        if (!SecurityPolicyDelegate.isSupported(mService.mContext, policy)) {
-            log("SecurityPolicy reports PolicySet not supported.");
-            mIsSupportable = false;
-            unsupportedList.add(R.string.policy_require_encryption);
-        }
 
         if (!unsupportedList.isEmpty()) {
-            mUnsupportedPolicies = new String[unsupportedList.size()];
-            int i = 0;
-            Context context = ExchangeService.getContext();
-            if (context != null) {
-                Resources resources = context.getResources();
-                for (int res: unsupportedList) {
-                    mUnsupportedPolicies[i++] = resources.getString(res);
-                }
+            StringBuilder sb = new StringBuilder();
+            for (int res: unsupportedList) {
+                addPolicyString(sb, res);
             }
+            policy.mProtocolPoliciesUnsupported = sb.toString();
         }
+
+        setPolicy(policy);
     }
 
     /**
diff --git a/tests/src/com/android/exchange/EasAccountServiceTests.java b/tests/src/com/android/exchange/EasAccountServiceTests.java
new file mode 100644
index 0000000..eafd0f9
--- /dev/null
+++ b/tests/src/com/android/exchange/EasAccountServiceTests.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.exchange;
+
+import android.content.Context;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+/**
+ * You can run this entire test case with:
+ *   runtest -c com.android.exchange.EasAccountServiceTests exchange
+ */
+@SmallTest
+public class EasAccountServiceTests extends AndroidTestCase {
+
+    Context mMockContext;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        mMockContext = getContext();
+    }
+
+    public void testResetHeartbeats() {
+        EasAccountService svc = new EasAccountService();
+        // Test case in which the minimum and force heartbeats need to come up
+        svc.mPingMaxHeartbeat = 1000;
+        svc.mPingMinHeartbeat = 200;
+        svc.mPingHeartbeat = 300;
+        svc.mPingForceHeartbeat = 100;
+        svc.mPingHeartbeatDropped = true;
+        svc.resetHeartbeats(400);
+        assertEquals(400, svc.mPingMinHeartbeat);
+        assertEquals(1000, svc.mPingMaxHeartbeat);
+        assertEquals(400, svc.mPingHeartbeat);
+        assertEquals(400, svc.mPingForceHeartbeat);
+        assertFalse(svc.mPingHeartbeatDropped);
+
+        // Test case in which the force heartbeat needs to come up
+        svc.mPingMaxHeartbeat = 1000;
+        svc.mPingMinHeartbeat = 200;
+        svc.mPingHeartbeat = 100;
+        svc.mPingForceHeartbeat = 100;
+        svc.mPingHeartbeatDropped = true;
+        svc.resetHeartbeats(150);
+        assertEquals(200, svc.mPingMinHeartbeat);
+        assertEquals(1000, svc.mPingMaxHeartbeat);
+        assertEquals(150, svc.mPingHeartbeat);
+        assertEquals(150, svc.mPingForceHeartbeat);
+        assertFalse(svc.mPingHeartbeatDropped);
+
+        // Test case in which the maximum needs to come down
+        svc.mPingMaxHeartbeat = 1000;
+        svc.mPingMinHeartbeat = 200;
+        svc.mPingHeartbeat = 800;
+        svc.mPingForceHeartbeat = 100;
+        svc.mPingHeartbeatDropped = true;
+        svc.resetHeartbeats(600);
+        assertEquals(200, svc.mPingMinHeartbeat);
+        assertEquals(600, svc.mPingMaxHeartbeat);
+        assertEquals(600, svc.mPingHeartbeat);
+        assertEquals(100, svc.mPingForceHeartbeat);
+        assertFalse(svc.mPingHeartbeatDropped);
+    }
+}
diff --git a/tests/src/com/android/exchange/EasSyncServiceTests.java b/tests/src/com/android/exchange/EasSyncServiceTests.java
index 54d76b3..150b1f1 100644
--- a/tests/src/com/android/exchange/EasSyncServiceTests.java
+++ b/tests/src/com/android/exchange/EasSyncServiceTests.java
@@ -128,46 +128,4 @@
         assertEquals("https://" + HOST + "/Microsoft-Server-ActiveSync?Cmd=Sync" +
                 svc.mUserString, uriString);
     }
-
-    public void testResetHeartbeats() {
-        EasSyncService svc = new EasSyncService();
-        // Test case in which the minimum and force heartbeats need to come up
-        svc.mPingMaxHeartbeat = 1000;
-        svc.mPingMinHeartbeat = 200;
-        svc.mPingHeartbeat = 300;
-        svc.mPingForceHeartbeat = 100;
-        svc.mPingHeartbeatDropped = true;
-        svc.resetHeartbeats(400);
-        assertEquals(400, svc.mPingMinHeartbeat);
-        assertEquals(1000, svc.mPingMaxHeartbeat);
-        assertEquals(400, svc.mPingHeartbeat);
-        assertEquals(400, svc.mPingForceHeartbeat);
-        assertFalse(svc.mPingHeartbeatDropped);
-
-        // Test case in which the force heartbeat needs to come up
-        svc.mPingMaxHeartbeat = 1000;
-        svc.mPingMinHeartbeat = 200;
-        svc.mPingHeartbeat = 100;
-        svc.mPingForceHeartbeat = 100;
-        svc.mPingHeartbeatDropped = true;
-        svc.resetHeartbeats(150);
-        assertEquals(200, svc.mPingMinHeartbeat);
-        assertEquals(1000, svc.mPingMaxHeartbeat);
-        assertEquals(150, svc.mPingHeartbeat);
-        assertEquals(150, svc.mPingForceHeartbeat);
-        assertFalse(svc.mPingHeartbeatDropped);
-
-        // Test case in which the maximum needs to come down
-        svc.mPingMaxHeartbeat = 1000;
-        svc.mPingMinHeartbeat = 200;
-        svc.mPingHeartbeat = 800;
-        svc.mPingForceHeartbeat = 100;
-        svc.mPingHeartbeatDropped = true;
-        svc.resetHeartbeats(600);
-        assertEquals(200, svc.mPingMinHeartbeat);
-        assertEquals(600, svc.mPingMaxHeartbeat);
-        assertEquals(600, svc.mPingHeartbeat);
-        assertEquals(100, svc.mPingForceHeartbeat);
-        assertFalse(svc.mPingHeartbeatDropped);
-    }
 }
diff --git a/tests/src/com/android/exchange/adapter/CalendarSyncAdapterTests.java b/tests/src/com/android/exchange/adapter/CalendarSyncAdapterTests.java
index 4bb93f6..2e2f553 100644
--- a/tests/src/com/android/exchange/adapter/CalendarSyncAdapterTests.java
+++ b/tests/src/com/android/exchange/adapter/CalendarSyncAdapterTests.java
@@ -16,6 +16,7 @@
 
 package com.android.exchange.adapter;
 
+import com.android.exchange.adapter.AbstractSyncAdapter.Operation;
 import com.android.exchange.adapter.CalendarSyncAdapter.CalendarOperations;
 import com.android.exchange.adapter.CalendarSyncAdapter.EasCalendarSyncParser;
 import com.android.exchange.provider.MockProvider;
@@ -38,6 +39,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.GregorianCalendar;
 import java.util.List;
 import java.util.TimeZone;
@@ -266,10 +268,12 @@
 
     private int countInsertOperationsForTable(CalendarOperations ops, String tableName) {
         int cnt = 0;
-        for (ContentProviderOperation op: ops) {
-            List<String> segments = op.getUri().getPathSegments();
+        for (Operation op: ops) {
+            ContentProviderOperation cpo =
+                    AbstractSyncAdapter.operationToContentProviderOperation(op, 0);
+            List<String> segments = cpo.getUri().getPathSegments();
             if (segments.get(0).equalsIgnoreCase(tableName) &&
-                    op.getType() == ContentProviderOperation.TYPE_INSERT) {
+                    cpo.getType() == ContentProviderOperation.TYPE_INSERT) {
                 cnt++;
             }
         }
@@ -420,7 +424,11 @@
         EasCalendarSyncParser p = event.getParser();
         p.addEvent(p.mOps, "1:1", update);
         // Send the CPO's to the mock provider
-        mMockResolver.applyBatch(MockProvider.AUTHORITY, p.mOps);
+        ArrayList<ContentProviderOperation> cpos = new ArrayList<ContentProviderOperation>();
+        for (Operation op: p.mOps) {
+            cpos.add(AbstractSyncAdapter.operationToContentProviderOperation(op, 0));
+        }
+        mMockResolver.applyBatch(MockProvider.AUTHORITY, cpos);
         return mMockResolver.query(MockProvider.uri(Attendees.CONTENT_URI), ATTENDEE_PROJECTION,
                 null, null, null);
     }
