am 1019e5a6: Reconcile with ics-mr1-release
* commit '1019e5a6af66a55346977e34f958fd241973eecb':
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);
}