summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMindy Pereira <mindyp@google.com>2011-06-09 11:52:48 -0700
committerMindy Pereira <mindyp@google.com>2011-06-09 13:48:41 -0700
commit7a424984849627457aa27ac19c0d23cbe0887c85 (patch)
treec79e876c46be485f21894b39b82f0cf66f710440
parent83e4ae382ffbec673b16c85c35e3cfe19ada98dc (diff)
downloadandroid_frameworks_ex-7a424984849627457aa27ac19c0d23cbe0887c85.tar.gz
android_frameworks_ex-7a424984849627457aa27ac19c0d23cbe0887c85.tar.bz2
android_frameworks_ex-7a424984849627457aa27ac19c0d23cbe0887c85.zip
Small changes to make this more easily integrated into apps.
1) created interface for old adapter and new adapter to implement so they can be used interchangeable 2) did null checks for chips when getting data/ contacdt ids Change-Id: I7f47230c5cf35426b73b477f374641b271455411
-rw-r--r--chips/src/com/android/ex/chips/AccountSpecificAdapter.java12
-rw-r--r--chips/src/com/android/ex/chips/BaseRecipientAdapter.java3
-rw-r--r--chips/src/com/android/ex/chips/RecipientEditTextView.java14
3 files changed, 23 insertions, 6 deletions
diff --git a/chips/src/com/android/ex/chips/AccountSpecificAdapter.java b/chips/src/com/android/ex/chips/AccountSpecificAdapter.java
new file mode 100644
index 0000000..b0d0e40
--- /dev/null
+++ b/chips/src/com/android/ex/chips/AccountSpecificAdapter.java
@@ -0,0 +1,12 @@
+package com.android.ex.chips;
+
+import android.accounts.Account;
+
+/**
+ * The AccountSpecificAdapter interface describes an Adapter
+ * that can take an account to retrieve information tied to
+ * a specific account.
+ */
+public interface AccountSpecificAdapter {
+ public void setAccount(Account account);
+}
diff --git a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
index 811c120..dc96075 100644
--- a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
+++ b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
@@ -58,7 +58,8 @@ import java.util.Set;
/**
* Adapter for showing a recipient list.
*/
-public abstract class BaseRecipientAdapter extends BaseAdapter implements Filterable {
+public abstract class BaseRecipientAdapter extends BaseAdapter implements Filterable,
+ AccountSpecificAdapter {
private static final String TAG = "BaseRecipientAdapter";
private static final boolean DEBUG = false;
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index 5a0049f..e20e843 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -603,9 +603,11 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView
/** Returns a collection of contact Id for each chip inside this View. */
/* package */ Collection<Long> getContactIds() {
final Set<Long> result = new HashSet<Long>();
- RecipientChip [] chips = getRecipients();
- for (RecipientChip chip : chips) {
- result.add(chip.getContactId());
+ RecipientChip[] chips = getRecipients();
+ if (chips != null) {
+ for (RecipientChip chip : chips) {
+ result.add(chip.getContactId());
+ }
}
return result;
}
@@ -618,8 +620,10 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView
/* package */ Collection<Long> getDataIds() {
final Set<Long> result = new HashSet<Long>();
RecipientChip [] chips = getRecipients();
- for (RecipientChip chip : chips) {
- result.add(chip.getDataId());
+ if (chips != null) {
+ for (RecipientChip chip : chips) {
+ result.add(chip.getDataId());
+ }
}
return result;
}