Prevent NPE in chips

Bug 8733626

Change-Id: Id74ed7de4f16f9a7e716b4e9f2152dded97a91e9
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index 62a60b0..d2e5806 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -417,6 +417,7 @@
         return sExcessTopPadding;
     }
 
+    @Override
     public <T extends ListAdapter & Filterable> void setAdapter(T adapter) {
         super.setAdapter(adapter);
         ((BaseRecipientAdapter) adapter)
@@ -1459,6 +1460,7 @@
                 return createAlternatesAdapter(currentChip);
             }
 
+            @Override
             protected void onPostExecute(final ListAdapter result) {
                 int line = getLayout().getLineForOffset(getChipStart(currentChip));
                 int bottom;
@@ -2490,10 +2492,12 @@
                     addresses.add(createAddressText(chip.getEntry()));
                 }
             }
+            final BaseRecipientAdapter adapter = (BaseRecipientAdapter) getAdapter();
+            if (adapter == null) {
+                return null;
+            }
             RecipientAlternatesAdapter.getMatchingRecipients(getContext(), addresses,
-                    ((BaseRecipientAdapter) getAdapter()).getAccount(),
-                    new RecipientMatchCallback() {
-
+                    adapter.getAccount(), new RecipientMatchCallback() {
                         @Override
                         public void matchesFound(Map<String, RecipientEntry> entries) {
                             final ArrayList<DrawableRecipientChip> replacements =