From 7a424984849627457aa27ac19c0d23cbe0887c85 Mon Sep 17 00:00:00 2001 From: Mindy Pereira Date: Thu, 9 Jun 2011 11:52:48 -0700 Subject: 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 --- chips/src/com/android/ex/chips/AccountSpecificAdapter.java | 12 ++++++++++++ chips/src/com/android/ex/chips/BaseRecipientAdapter.java | 3 ++- chips/src/com/android/ex/chips/RecipientEditTextView.java | 14 +++++++++----- 3 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 chips/src/com/android/ex/chips/AccountSpecificAdapter.java (limited to 'chips/src') 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 getContactIds() { final Set result = new HashSet(); - 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 getDataIds() { final Set result = new HashSet(); RecipientChip [] chips = getRecipients(); - for (RecipientChip chip : chips) { - result.add(chip.getDataId()); + if (chips != null) { + for (RecipientChip chip : chips) { + result.add(chip.getDataId()); + } } return result; } -- cgit v1.2.3