Merge "Target Contacts to N SDK." into nyc-dev
diff --git a/src/com/android/contacts/editor/CompactContactEditorFragment.java b/src/com/android/contacts/editor/CompactContactEditorFragment.java
index e441264..4a731db 100644
--- a/src/com/android/contacts/editor/CompactContactEditorFragment.java
+++ b/src/com/android/contacts/editor/CompactContactEditorFragment.java
@@ -261,6 +261,25 @@
} else {
photo.primary = false;
}
+ updateContentDescription(photo);
+ }
+ }
+
+ private void updateContentDescription(CompactPhotoSelectionFragment.Photo photo) {
+ if (!TextUtils.isEmpty(photo.accountType)) {
+ photo.contentDescription = getResources().getString(photo.primary ?
+ R.string.photo_view_description_checked :
+ R.string.photo_view_description_not_checked,
+ photo.accountType, photo.accountName);
+ photo.contentDescriptionChecked = getResources().getString(
+ R.string.photo_view_description_checked,
+ photo.accountType, photo.accountName);
+ } else {
+ photo.contentDescription = getResources().getString(photo.primary ?
+ R.string.photo_view_description_checked_no_info :
+ R.string.photo_view_description_not_checked_no_info);
+ photo.contentDescriptionChecked = getResources().getString(
+ R.string.photo_view_description_checked_no_info);
}
}
diff --git a/src/com/android/contacts/editor/CompactPhotoSelectionFragment.java b/src/com/android/contacts/editor/CompactPhotoSelectionFragment.java
index 3f157a4..0a8894f 100644
--- a/src/com/android/contacts/editor/CompactPhotoSelectionFragment.java
+++ b/src/com/android/contacts/editor/CompactPhotoSelectionFragment.java
@@ -95,6 +95,8 @@
public String contentDescription;
public String contentDescriptionChecked; // Talkback announcement when the photo is checked
+ public String accountType;
+ public String accountName;
public ValuesDelta valuesDelta;
diff --git a/src/com/android/contacts/editor/CompactRawContactsEditorView.java b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
index 72f1c66..ece3829 100644
--- a/src/com/android/contacts/editor/CompactRawContactsEditorView.java
+++ b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
@@ -554,27 +554,10 @@
kindSectionData.getRawContactDelta().getRawContactId()));
}
- // set content descriptions of the photo
- final CharSequence accountTypeText = accountType.getDisplayLabel(getContext());
- if (accountTypeText != null) {
- final String accountNameText =
- kindSectionData.getRawContactDelta().getAccountName();
- photo.contentDescription = getResources().getString(photo.primary ?
- R.string.photo_view_description_checked :
- R.string.photo_view_description_not_checked,
- accountTypeText,
- accountNameText == null ? "" : accountNameText);
- photo.contentDescriptionChecked = getResources().getString(
- R.string.photo_view_description_checked,
- accountTypeText,
- accountNameText == null ? "" : accountNameText);
- } else {
- photo.contentDescription = getResources().getString(photo.primary ?
- R.string.photo_view_description_checked_no_info :
- R.string.photo_view_description_not_checked_no_info);
- photo.contentDescriptionChecked = getResources().getString(
- R.string.photo_view_description_checked_no_info);
- }
+ final CharSequence accountTypeLabel = accountType.getDisplayLabel(getContext());
+ photo.accountType = accountTypeLabel == null ? "" : accountTypeLabel.toString();
+ final String accountName = kindSectionData.getRawContactDelta().getAccountName();
+ photo.accountName = accountName == null ? "" : accountName;
photos.add(photo);
}
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index 4096b19..f705819 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -23,8 +23,10 @@
import android.provider.ContactsContract;
import android.text.Editable;
import android.text.InputType;
+import android.text.Spannable;
import android.text.TextUtils;
import android.text.TextWatcher;
+import android.text.style.TtsSpan;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
@@ -270,6 +272,16 @@
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE.equals(
+ getKind().mimeType) || !(s instanceof Spannable)) {
+ return;
+ }
+ final Spannable spannable = (Spannable) s;
+ final TtsSpan[] spans = spannable.getSpans(0, s.length(), TtsSpan.class);
+ for (int i = 0; i < spans.length; i++) {
+ spannable.removeSpan(spans[i]);
+ }
+ PhoneNumberUtilsCompat.addTtsSpan(spannable, 0, s.length());
}
});