Merge "Modify Select Account Dialog to align with UI mocks." into lmp-mr1-dev
diff --git a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
index c6483cc..41bf304 100644
--- a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
@@ -120,11 +120,11 @@
             final List<SubInfoRecord> subInfoRecords = getAllSubInfoList();
             if (subInfoRecords.size() == 1) {
                 adapter.add(new AdapterEntry(getString(R.string.import_from_sim),
-                        R.string.import_from_sim, subInfoRecords.get(0).subId));
+                        R.string.import_from_sim, subInfoRecords.get(0).getSubscriptionId()));
             } else {
                 for (SubInfoRecord record : subInfoRecords) {
                     adapter.add(new AdapterEntry(getSubDescription(record),
-                            R.string.import_from_sim, record.subId));
+                            R.string.import_from_sim, record.getSubscriptionId()));
                 }
             }
         }
@@ -294,11 +294,12 @@
     }
 
     private String getSubDescription(SubInfoRecord record) {
-        if (TextUtils.isEmpty(record.number)) {
+        CharSequence name = record.getDisplayName();
+        if (TextUtils.isEmpty(record.getNumber())) {
             // Don't include the phone number in the description, since we don't know the number.
-            return getString(R.string.import_from_sim_summary_no_number, record.displayName);
+            return getString(R.string.import_from_sim_summary_no_number, name);
         }
-        return getString(R.string.import_from_sim_summary, record.displayName, record.number);
+        return getString(R.string.import_from_sim_summary, name, record.getNumber());
     }
 
     private static class AdapterEntry {
diff --git a/src/com/android/contacts/common/location/UpdateCountryService.java b/src/com/android/contacts/common/location/UpdateCountryService.java
index e339306..9403187 100644
--- a/src/com/android/contacts/common/location/UpdateCountryService.java
+++ b/src/com/android/contacts/common/location/UpdateCountryService.java
@@ -38,6 +38,10 @@
 
     @Override
     protected void onHandleIntent(Intent intent) {
+        if (intent == null) {
+            Log.d(TAG, "onHandleIntent: could not handle null intent");
+            return;
+        }
         if (ACTION_UPDATE_COUNTRY.equals(intent.getAction())) {
             final Location location = (Location) intent.getParcelableExtra(KEY_INTENT_LOCATION);
             final String country = getCountryFromLocation(getApplicationContext(), location);
diff --git a/src/com/android/contacts/common/util/ContactDisplayUtils.java b/src/com/android/contacts/common/util/ContactDisplayUtils.java
index 24bb6ef..bb91b53 100644
--- a/src/com/android/contacts/common/util/ContactDisplayUtils.java
+++ b/src/com/android/contacts/common/util/ContactDisplayUtils.java
@@ -210,6 +210,9 @@
      * the entire length of the given phone number.
      */
     public static Spannable getTelephoneTtsSpannable(String phoneNumber) {
+        if (phoneNumber == null) {
+            return null;
+        }
         final Spannable spannable = new SpannableString(phoneNumber);
         final TtsSpan ttsSpan = getTelephoneTtsSpan(phoneNumber);
         spannable.setSpan(ttsSpan, 0, phoneNumber.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -221,8 +224,11 @@
      * the given phone number text wherever it is found within the message.
      */
     public static Spannable getTelephoneTtsSpannable(String message, String phoneNumber) {
+        if (message == null) {
+            return null;
+        }
         final Spannable spannable = new SpannableString(message);
-        int start = message.indexOf(phoneNumber);
+        int start = phoneNumber == null ? -1 : message.indexOf(phoneNumber);
         while (start >= 0) {
             final int end = start + phoneNumber.length();
             final TtsSpan ttsSpan = getTelephoneTtsSpan(phoneNumber);
diff --git a/src/com/android/contacts/common/vcard/ExportVCardActivity.java b/src/com/android/contacts/common/vcard/ExportVCardActivity.java
index 008beb6..b86845e 100644
--- a/src/com/android/contacts/common/vcard/ExportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/ExportVCardActivity.java
@@ -216,6 +216,9 @@
      * appearance in bidirectional text.
      */
     private String getTargetFileForDisplay() {
+        if (mTargetFileName == null) {
+            return null;
+        }
         return mBidiFormatter.unicodeWrap(mTargetFileName, TextDirectionHeuristics.LTR);
     }