Merge "Fix Exchange directory lookup for phone queries." into jb-ub-mail-ur10
diff --git a/Android.mk b/Android.mk
index 2cbb478..7a3de44 100644
--- a/Android.mk
+++ b/Android.mk
@@ -40,7 +40,7 @@
LOCAL_OVERRIDES_PACKAGES := Exchange
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-LOCAL_SDK_VERSION := 18
+LOCAL_SDK_VERSION := 19
LOCAL_EMMA_COVERAGE_FILTER += +com.android.exchange.*
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c057dae..0f9392c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -62,7 +62,7 @@
<uses-permission
android:name="com.android.email.permission.ACCESS_PROVIDER"/>
- <uses-sdk android:targetSdkVersion="18" android:minSdkVersion="14" />
+ <uses-sdk android:targetSdkVersion="19" android:minSdkVersion="14" />
<!-- additional uses -->
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 154cff1..7c8f3a9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -27,28 +27,28 @@
<string name="meeting_recurring" msgid="3134262212606714023">"الموعد: <xliff:g id="EVENTDATE">%s</xliff:g> (متكرر)"</string>
<string name="meeting_allday" msgid="6696389765484663513">"الموعد: <xliff:g id="EVENTDATE">%s</xliff:g> (اليوم كله)"</string>
<string name="meeting_allday_recurring" msgid="2320264182781062684">"الموعد: <xliff:g id="EVENTDATE">%s</xliff:g> (اليوم كله، بشكل متكرر)"</string>
- <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"تمت إضافة تقويم Exchange"</string>
- <string name="app_name" msgid="5316597712787122829">"خدمات Exchange"</string>
+ <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"تمت إضافة تقويم Exchange"</string>
+ <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_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_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_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_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_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_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_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>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 7c764e1..8a7007d 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -27,28 +27,28 @@
<string name="meeting_recurring" msgid="3134262212606714023">"زمان: <xliff:g id="EVENTDATE">%s</xliff:g> (تکرار)"</string>
<string name="meeting_allday" msgid="6696389765484663513">"زمان: <xliff:g id="EVENTDATE">%s</xliff:g> (در تمام طول روز)"</string>
<string name="meeting_allday_recurring" msgid="2320264182781062684">"زمان: <xliff:g id="EVENTDATE">%s</xliff:g> (در تمام طول روز، بهصورت تکراری)"</string>
- <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"تقویم Exchange اضافه شد"</string>
- <string name="app_name" msgid="5316597712787122829">"سرویسهای Exchange"</string>
+ <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"تقویم Exchange اضافه شد"</string>
+ <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_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_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_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_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_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_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_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>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 0e23d63..af3b0cd 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -32,8 +32,8 @@
<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_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_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>
@@ -44,8 +44,8 @@
<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_app_blacklist" msgid="8169194058285873461">"निर्दिष्ट ऐप्स की अनुमति न दें"</string>
+ <string name="policy_app_whitelist" msgid="3670572644342165306">"केवल निर्दिष्ट ऐप्स की अनुमति दें"</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>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 556a455..01cc60f 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -27,28 +27,28 @@
<string name="meeting_recurring" msgid="3134262212606714023">"מתי: <xliff:g id="EVENTDATE">%s</xliff:g> (אירוע חוזר)"</string>
<string name="meeting_allday" msgid="6696389765484663513">"מתי: <xliff:g id="EVENTDATE">%s</xliff:g> (כל יום)"</string>
<string name="meeting_allday_recurring" msgid="2320264182781062684">"מתי: <xliff:g id="EVENTDATE">%s</xliff:g> (כל היום, חוזר)"</string>
- <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"נוסף יומן של Exchange"</string>
- <string name="app_name" msgid="5316597712787122829">"שירותי Exchange"</string>
+ <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"נוסף יומן של Exchange"</string>
+ <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_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_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_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_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_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_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_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>
diff --git a/src/com/android/exchange/adapter/ProvisionParser.java b/src/com/android/exchange/adapter/ProvisionParser.java
index d7be0d8..436a0a4 100644
--- a/src/com/android/exchange/adapter/ProvisionParser.java
+++ b/src/com/android/exchange/adapter/ProvisionParser.java
@@ -18,7 +18,8 @@
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.res.Resources;
-import android.os.storage.StorageManager;
+import android.os.Environment;
+import android.support.v4.content.ContextCompat;
import com.android.emailcommon.provider.Policy;
import com.android.exchange.Eas;
@@ -31,10 +32,9 @@
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.ByteArrayInputStream;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.ArrayList;
/**
@@ -616,31 +616,8 @@
* TODO: Rewrite this when an appropriate API is available from the framework
*/
private boolean hasRemovableStorage() {
- try {
- StorageManager sm = (StorageManager)mContext.getSystemService(Context.STORAGE_SERVICE);
- Class<?> svClass = Class.forName("android.os.storage.StorageVolume");
- Class<?> svManager = Class.forName("android.os.storage.StorageManager");
- Method gvl = svManager.getDeclaredMethod("getVolumeList");
- Object[] volumeList = (Object[]) gvl.invoke(sm);
- for (Object volume: volumeList) {
- Method isRemovable = svClass.getDeclaredMethod("isRemovable");
- Method getDescription = svClass.getDeclaredMethod("getDescription");
- String desc = (String)getDescription.invoke(volume);
- if ((Boolean)isRemovable.invoke(volume)) {
- log("Removable: " + desc);
- return true;
- } else {
- log("Not Removable: " + desc);
- }
- }
- return false;
- } catch (ClassNotFoundException e) {
- } catch (NoSuchMethodException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- // To be safe, we'll always indicate that there IS removable storage
- return true;
+ final File[] cacheDirs = ContextCompat.getExternalCacheDirs(mContext);
+ return Environment.isExternalStorageRemovable()
+ || (cacheDirs != null && cacheDirs.length > 1);
}
}
diff --git a/src/com/android/exchange/utility/CalendarUtilities.java b/src/com/android/exchange/utility/CalendarUtilities.java
index 8739b80..2251e22 100644
--- a/src/com/android/exchange/utility/CalendarUtilities.java
+++ b/src/com/android/exchange/utility/CalendarUtilities.java
@@ -1520,7 +1520,7 @@
int attendeeStatus;
switch (responseType) {
case RESPONSE_TYPE_NOT_RESPONDED:
- attendeeStatus = Attendees.ATTENDEE_STATUS_NONE;
+ attendeeStatus = Attendees.ATTENDEE_STATUS_INVITED;
break;
case RESPONSE_TYPE_ACCEPTED:
attendeeStatus = Attendees.ATTENDEE_STATUS_ACCEPTED;