[automerger] RESTRICT AUTOMERGE: Messaging ignores file URIs shared via intent am: 0ee4c0e33b am: a04af950ce am: b40c396122 skipped: 520012db02 am: f53801c86c am: 4fc4f4e215 am: 7ad8e75fdb am: 4ef3ac9534 skipped: 69535177c6

Change-Id: I176da39a08831aba3f188951f9b63c81a88efa1c
diff --git a/Android.mk b/Android.mk
index e2ed18b..06ac9e6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -64,11 +64,11 @@
     LOCAL_REQUIRED_MODULES:= libframesequence libgiftranscode
 endif
 
-LOCAL_PROGUARD_FLAGS := -ignorewarnings -include build/core/proguard_basic_keeps.flags
+LOCAL_PROGUARD_FLAGS := -ignorewarnings
 
 LOCAL_PROGUARD_ENABLED := nosystem
 
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+LOCAL_PROGUARD_FLAG_FILES := ../../../build/core/proguard_basic_keeps.flags proguard.flags
 ifeq (eng,$(TARGET_BUILD_VARIANT))
     LOCAL_PROGUARD_FLAG_FILES += proguard-test.flags
 else
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 22459c4..8b4ef03 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -474,7 +474,7 @@
 
         <receiver android:name=".receiver.DefaultSmsSubscriptionChangeReceiver">
             <intent-filter>
-                <action android:name="android.intent.action.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED"/>
+                <action android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED"/>
             </intent-filter>
         </receiver>
 
diff --git a/jni/Android.mk b/jni/Android.mk
index cd89b8f..dbc0674 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -29,7 +29,7 @@
 
 LOCAL_CFLAGS += -Wall -Wno-unused-parameter -Wno-switch
 
-LOCAL_SDK_VERSION := 8
+LOCAL_SDK_VERSION := 19
 LOCAL_NDK_STL_VARIANT := c++_static # LLVM libc++
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/jni/GifTranscoder.cpp b/jni/GifTranscoder.cpp
index 112feca..9169f1b 100644
--- a/jni/GifTranscoder.cpp
+++ b/jni/GifTranscoder.cpp
@@ -24,7 +24,7 @@
 
 #include "GifTranscoder.h"
 
-#define SQUARE(a) (a)*(a)
+#define SQUARE(a) ((a)*(a))
 
 // GIF does not support partial transparency, so our alpha channels are always 0x0 or 0xff.
 static const ColorARGB TRANSPARENT = 0x0;
@@ -37,7 +37,7 @@
 #define MAKE_COLOR_ARGB(a, r, g, b) \
     ((a) << 24 | (r) << 16 | (g) << 8 | (b))
 
-#define MAX_COLOR_DISTANCE 255 * 255 * 255
+#define MAX_COLOR_DISTANCE (255 * 255 * 255)
 
 #define TAG "GifTranscoder.cpp"
 #define LOGD_ENABLED 0
diff --git a/proguard.flags b/proguard.flags
index 76b033c..759f2d4 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -23,7 +23,7 @@
 }
 
 # Keep methods that have the @VisibleForAnimation annotation
--keep interface com.android.messaging.annotation.VisibleForAnimation
+-keep @interface com.android.messaging.annotation.VisibleForAnimation
 -keepclassmembers class * {
   @com.android.messaging.annotation.VisibleForAnimation *;
 }
diff --git a/res/values-az-rAZ/arrays.xml b/res/values-az/arrays.xml
similarity index 100%
rename from res/values-az-rAZ/arrays.xml
rename to res/values-az/arrays.xml
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az/strings.xml
similarity index 100%
rename from res/values-az-rAZ/strings.xml
rename to res/values-az/strings.xml
diff --git a/res/values-bn-rBD/arrays.xml b/res/values-bn/arrays.xml
similarity index 100%
rename from res/values-bn-rBD/arrays.xml
rename to res/values-bn/arrays.xml
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn/strings.xml
similarity index 100%
rename from res/values-bn-rBD/strings.xml
rename to res/values-bn/strings.xml
diff --git a/res/values-et-rEE/arrays.xml b/res/values-et/arrays.xml
similarity index 100%
rename from res/values-et-rEE/arrays.xml
rename to res/values-et/arrays.xml
diff --git a/res/values-et-rEE/strings.xml b/res/values-et/strings.xml
similarity index 100%
rename from res/values-et-rEE/strings.xml
rename to res/values-et/strings.xml
diff --git a/res/values-eu-rES/arrays.xml b/res/values-eu/arrays.xml
similarity index 100%
rename from res/values-eu-rES/arrays.xml
rename to res/values-eu/arrays.xml
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu/strings.xml
similarity index 100%
rename from res/values-eu-rES/strings.xml
rename to res/values-eu/strings.xml
diff --git a/res/values-gl-rES/arrays.xml b/res/values-gl/arrays.xml
similarity index 100%
rename from res/values-gl-rES/arrays.xml
rename to res/values-gl/arrays.xml
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl/strings.xml
similarity index 100%
rename from res/values-gl-rES/strings.xml
rename to res/values-gl/strings.xml
diff --git a/res/values-gu-rIN/arrays.xml b/res/values-gu/arrays.xml
similarity index 100%
rename from res/values-gu-rIN/arrays.xml
rename to res/values-gu/arrays.xml
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu/strings.xml
similarity index 100%
rename from res/values-gu-rIN/strings.xml
rename to res/values-gu/strings.xml
diff --git a/res/values-hy-rAM/arrays.xml b/res/values-hy/arrays.xml
similarity index 100%
rename from res/values-hy-rAM/arrays.xml
rename to res/values-hy/arrays.xml
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy/strings.xml
similarity index 100%
rename from res/values-hy-rAM/strings.xml
rename to res/values-hy/strings.xml
diff --git a/res/values-is-rIS/arrays.xml b/res/values-is/arrays.xml
similarity index 100%
rename from res/values-is-rIS/arrays.xml
rename to res/values-is/arrays.xml
diff --git a/res/values-is-rIS/strings.xml b/res/values-is/strings.xml
similarity index 100%
rename from res/values-is-rIS/strings.xml
rename to res/values-is/strings.xml
diff --git a/res/values-ka-rGE/arrays.xml b/res/values-ka/arrays.xml
similarity index 100%
rename from res/values-ka-rGE/arrays.xml
rename to res/values-ka/arrays.xml
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka/strings.xml
similarity index 100%
rename from res/values-ka-rGE/strings.xml
rename to res/values-ka/strings.xml
diff --git a/res/values-kk-rKZ/arrays.xml b/res/values-kk/arrays.xml
similarity index 100%
rename from res/values-kk-rKZ/arrays.xml
rename to res/values-kk/arrays.xml
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk/strings.xml
similarity index 100%
rename from res/values-kk-rKZ/strings.xml
rename to res/values-kk/strings.xml
diff --git a/res/values-km-rKH/arrays.xml b/res/values-km/arrays.xml
similarity index 100%
rename from res/values-km-rKH/arrays.xml
rename to res/values-km/arrays.xml
diff --git a/res/values-km-rKH/strings.xml b/res/values-km/strings.xml
similarity index 100%
rename from res/values-km-rKH/strings.xml
rename to res/values-km/strings.xml
diff --git a/res/values-kn-rIN/arrays.xml b/res/values-kn/arrays.xml
similarity index 100%
rename from res/values-kn-rIN/arrays.xml
rename to res/values-kn/arrays.xml
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn/strings.xml
similarity index 100%
rename from res/values-kn-rIN/strings.xml
rename to res/values-kn/strings.xml
diff --git a/res/values-ky-rKG/arrays.xml b/res/values-ky/arrays.xml
similarity index 100%
rename from res/values-ky-rKG/arrays.xml
rename to res/values-ky/arrays.xml
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky/strings.xml
similarity index 100%
rename from res/values-ky-rKG/strings.xml
rename to res/values-ky/strings.xml
diff --git a/res/values-lo-rLA/arrays.xml b/res/values-lo/arrays.xml
similarity index 100%
rename from res/values-lo-rLA/arrays.xml
rename to res/values-lo/arrays.xml
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo/strings.xml
similarity index 100%
rename from res/values-lo-rLA/strings.xml
rename to res/values-lo/strings.xml
diff --git a/res/values-mk-rMK/arrays.xml b/res/values-mk/arrays.xml
similarity index 100%
rename from res/values-mk-rMK/arrays.xml
rename to res/values-mk/arrays.xml
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk/strings.xml
similarity index 100%
rename from res/values-mk-rMK/strings.xml
rename to res/values-mk/strings.xml
diff --git a/res/values-ml-rIN/arrays.xml b/res/values-ml/arrays.xml
similarity index 100%
rename from res/values-ml-rIN/arrays.xml
rename to res/values-ml/arrays.xml
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml/strings.xml
similarity index 100%
rename from res/values-ml-rIN/strings.xml
rename to res/values-ml/strings.xml
diff --git a/res/values-mn-rMN/arrays.xml b/res/values-mn/arrays.xml
similarity index 100%
rename from res/values-mn-rMN/arrays.xml
rename to res/values-mn/arrays.xml
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn/strings.xml
similarity index 100%
rename from res/values-mn-rMN/strings.xml
rename to res/values-mn/strings.xml
diff --git a/res/values-mr-rIN/arrays.xml b/res/values-mr/arrays.xml
similarity index 100%
rename from res/values-mr-rIN/arrays.xml
rename to res/values-mr/arrays.xml
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr/strings.xml
similarity index 100%
rename from res/values-mr-rIN/strings.xml
rename to res/values-mr/strings.xml
diff --git a/res/values-ms-rMY/arrays.xml b/res/values-ms/arrays.xml
similarity index 100%
rename from res/values-ms-rMY/arrays.xml
rename to res/values-ms/arrays.xml
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms/strings.xml
similarity index 100%
rename from res/values-ms-rMY/strings.xml
rename to res/values-ms/strings.xml
diff --git a/res/values-my-rMM/arrays.xml b/res/values-my/arrays.xml
similarity index 100%
rename from res/values-my-rMM/arrays.xml
rename to res/values-my/arrays.xml
diff --git a/res/values-my-rMM/strings.xml b/res/values-my/strings.xml
similarity index 100%
rename from res/values-my-rMM/strings.xml
rename to res/values-my/strings.xml
diff --git a/res/values-ne-rNP/arrays.xml b/res/values-ne/arrays.xml
similarity index 100%
rename from res/values-ne-rNP/arrays.xml
rename to res/values-ne/arrays.xml
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne/strings.xml
similarity index 100%
rename from res/values-ne-rNP/strings.xml
rename to res/values-ne/strings.xml
diff --git a/res/values-pa-rIN/arrays.xml b/res/values-pa/arrays.xml
similarity index 100%
rename from res/values-pa-rIN/arrays.xml
rename to res/values-pa/arrays.xml
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa/strings.xml
similarity index 100%
rename from res/values-pa-rIN/strings.xml
rename to res/values-pa/strings.xml
diff --git a/res/values-si-rLK/arrays.xml b/res/values-si/arrays.xml
similarity index 100%
rename from res/values-si-rLK/arrays.xml
rename to res/values-si/arrays.xml
diff --git a/res/values-si-rLK/strings.xml b/res/values-si/strings.xml
similarity index 100%
rename from res/values-si-rLK/strings.xml
rename to res/values-si/strings.xml
diff --git a/res/values-sq-rAL/arrays.xml b/res/values-sq/arrays.xml
similarity index 100%
rename from res/values-sq-rAL/arrays.xml
rename to res/values-sq/arrays.xml
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq/strings.xml
similarity index 100%
rename from res/values-sq-rAL/strings.xml
rename to res/values-sq/strings.xml
diff --git a/res/values-ta-rIN/arrays.xml b/res/values-ta/arrays.xml
similarity index 100%
rename from res/values-ta-rIN/arrays.xml
rename to res/values-ta/arrays.xml
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta/strings.xml
similarity index 100%
rename from res/values-ta-rIN/strings.xml
rename to res/values-ta/strings.xml
diff --git a/res/values-te-rIN/arrays.xml b/res/values-te/arrays.xml
similarity index 100%
rename from res/values-te-rIN/arrays.xml
rename to res/values-te/arrays.xml
diff --git a/res/values-te-rIN/strings.xml b/res/values-te/strings.xml
similarity index 100%
rename from res/values-te-rIN/strings.xml
rename to res/values-te/strings.xml
diff --git a/res/values-ur-rPK/arrays.xml b/res/values-ur/arrays.xml
similarity index 100%
rename from res/values-ur-rPK/arrays.xml
rename to res/values-ur/arrays.xml
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur/strings.xml
similarity index 100%
rename from res/values-ur-rPK/strings.xml
rename to res/values-ur/strings.xml
diff --git a/res/values-uz-rUZ/arrays.xml b/res/values-uz/arrays.xml
similarity index 100%
rename from res/values-uz-rUZ/arrays.xml
rename to res/values-uz/arrays.xml
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz/strings.xml
similarity index 100%
rename from res/values-uz-rUZ/strings.xml
rename to res/values-uz/strings.xml
diff --git a/src/android/support/v7/mms/MmsHttpClient.java b/src/android/support/v7/mms/MmsHttpClient.java
index 8ca34da..6c1c35e 100644
--- a/src/android/support/v7/mms/MmsHttpClient.java
+++ b/src/android/support/v7/mms/MmsHttpClient.java
@@ -466,19 +466,19 @@
     }
 
     /**
-     * Invoke hidden SubscriptionManager.getSlotId(int)
+     * Invoke hidden SubscriptionManager.getSlotIndex(int)
      *
      * @param subId the subId
      * @return the SIM slot ID
      */
     private static int getSlotId(final int subId) {
         try {
-            final Method method = SubscriptionManager.class.getMethod("getSlotId", Integer.TYPE);
+            final Method method = SubscriptionManager.class.getMethod("getSlotIndex", Integer.TYPE);
             if (method != null) {
                 return (Integer) method.invoke(null, subId);
             }
         } catch (Exception e) {
-            Log.w(MmsService.TAG, "SubscriptionManager.getSlotId failed " + e);
+            Log.w(MmsService.TAG, "SubscriptionManager.getSlotIndex failed " + e);
         }
         return -1;
     }
diff --git a/src/com/android/messaging/datamodel/data/ConversationParticipantsData.java b/src/com/android/messaging/datamodel/data/ConversationParticipantsData.java
index 0b5ef51..2ab1793 100644
--- a/src/com/android/messaging/datamodel/data/ConversationParticipantsData.java
+++ b/src/com/android/messaging/datamodel/data/ConversationParticipantsData.java
@@ -19,9 +19,9 @@
 import android.database.Cursor;
 import android.support.v4.util.SimpleArrayMap;
 
-import com.google.common.annotations.VisibleForTesting;
+import com.android.messaging.util.Assert;
 
-import junit.framework.Assert;
+import com.google.common.annotations.VisibleForTesting;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -84,7 +84,7 @@
                     return participant;
                 }
             }
-            Assert.fail();
+            Assert.fail("Could not find other participant");
         }
         return null;
     }
diff --git a/src/com/android/messaging/mmslib/pdu/PduPersister.java b/src/com/android/messaging/mmslib/pdu/PduPersister.java
index ceb6a85..5c54e7b 100644
--- a/src/com/android/messaging/mmslib/pdu/PduPersister.java
+++ b/src/com/android/messaging/mmslib/pdu/PduPersister.java
@@ -918,7 +918,7 @@
                 }
                 if (data == null) {
                     dataUri = part.getDataUri();
-                    if ((dataUri == null) || (dataUri == uri)) {
+                    if ((dataUri == null) || (dataUri.equals(uri))) {
                         Log.w(TAG, "Can't find data for this part.");
                         return;
                     }
@@ -1202,7 +1202,7 @@
         // 1. New binary data supplied or
         // 2. The Uri of the part is different from the current one.
         if ((part.getData() != null)
-                || (uri != part.getDataUri())) {
+                || (!uri.equals(part.getDataUri()))) {
             persistData(part, uri, contentType, preOpenedFiles);
         }
     }
@@ -1248,7 +1248,8 @@
             for (int i = 0; i < partsNum; i++) {
                 final PduPart part = body.getPart(i);
                 final Uri partUri = part.getDataUri();
-                if ((partUri == null) || !partUri.getAuthority().startsWith("mms")) {
+                if ((partUri == null) || TextUtils.isEmpty(partUri.getAuthority())
+                        || !partUri.getAuthority().startsWith("mms")) {
                     toBeCreated.add(part);
                 } else {
                     toBeUpdated.put(partUri, part);
diff --git a/src/com/android/messaging/ui/BugleActionBarActivity.java b/src/com/android/messaging/ui/BugleActionBarActivity.java
index 80dabb8..5d9c63a 100644
--- a/src/com/android/messaging/ui/BugleActionBarActivity.java
+++ b/src/com/android/messaging/ui/BugleActionBarActivity.java
@@ -19,7 +19,7 @@
 import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
 import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -40,7 +40,7 @@
  * needs that will be common for all activities.  We can break out the common code if/when we need
  * a version that doesn't use an actionbar.
  */
-public class BugleActionBarActivity extends ActionBarActivity implements ImeUtil.ImeStateHost {
+public class BugleActionBarActivity extends AppCompatActivity implements ImeUtil.ImeStateHost {
     // Tracks the list of observers opting in for IME state change.
     private final Set<ImeUtil.ImeStateObserver> mImeStateObservers = new HashSet<>();
 
diff --git a/src/com/android/messaging/util/UiUtils.java b/src/com/android/messaging/util/UiUtils.java
index 84fe353..e446c73 100644
--- a/src/com/android/messaging/util/UiUtils.java
+++ b/src/com/android/messaging/util/UiUtils.java
@@ -27,7 +27,7 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.text.Html;
 import android.text.Spanned;
 import android.text.TextPaint;
@@ -370,7 +370,7 @@
         return result.toString();
     }
 
-    public static void setActionBarShadowVisibility(final ActionBarActivity activity, final boolean visible) {
+    public static void setActionBarShadowVisibility(final AppCompatActivity activity, final boolean visible) {
         final ActionBar actionBar = activity.getSupportActionBar();
         actionBar.setElevation(visible ?
                 activity.getResources().getDimensionPixelSize(R.dimen.action_bar_elevation) :
diff --git a/tests/Android.mk b/tests/Android.mk
index 3bfdb9a..a8c13cd 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -30,7 +30,8 @@
 LOCAL_CERTIFICATE := platform
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
-    mockito-target
+    mockito-target \
+    legacy-android-test
 
 include $(BUILD_PACKAGE)
 
diff --git a/tests/src/com/android/messaging/ui/attachmentchooser/AttachmentChooserFragmentTest.java b/tests/src/com/android/messaging/ui/attachmentchooser/AttachmentChooserFragmentTest.java
index 30c711b..5ec5ab5 100644
--- a/tests/src/com/android/messaging/ui/attachmentchooser/AttachmentChooserFragmentTest.java
+++ b/tests/src/com/android/messaging/ui/attachmentchooser/AttachmentChooserFragmentTest.java
@@ -36,10 +36,10 @@
 import com.android.messaging.ui.attachmentchooser.AttachmentChooserFragment.AttachmentChooserFragmentHost;
 import com.android.messaging.ui.conversationlist.ConversationListFragment;
 
-import org.mockito.ArgumentMatcher;
 import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
+import org.mockito.compat.ArgumentMatcher;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -69,7 +69,7 @@
         }
 
         @Override
-        public boolean matches(final Object set) {
+        public boolean matchesObject(final Object set) {
             @SuppressWarnings("unchecked")
             final Set<MessagePartData> actualSet = (Set<MessagePartData>) set;
             if (actualSet.size() != mGivenParts.size()) {
diff --git a/tests/src/com/android/messaging/ui/conversation/ComposeMessageViewTest.java b/tests/src/com/android/messaging/ui/conversation/ComposeMessageViewTest.java
index 2dd2a89..8c372f2 100644
--- a/tests/src/com/android/messaging/ui/conversation/ComposeMessageViewTest.java
+++ b/tests/src/com/android/messaging/ui/conversation/ComposeMessageViewTest.java
@@ -39,10 +39,10 @@
 import com.android.messaging.util.FakeMediaUtil;
 import com.android.messaging.util.ImeUtil;
 
-import org.mockito.ArgumentMatcher;
 import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
+import org.mockito.compat.ArgumentMatcher;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
@@ -138,7 +138,7 @@
         Mockito.verify(mockIComposeMessageViewHost).sendMessage(
                 Mockito.argThat(new ArgumentMatcher<MessageData>() {
                     @Override
-                    public boolean matches(final Object o) {
+                    public boolean matchesObject(final Object o) {
                         assertEquals(message.getMessageText(), ((MessageData) o).getMessageText());
                         return true;
                     }
diff --git a/tests/src/com/android/messaging/ui/conversationlist/ConversationListItemViewTest.java b/tests/src/com/android/messaging/ui/conversationlist/ConversationListItemViewTest.java
index be054a8..1fbba1f 100644
--- a/tests/src/com/android/messaging/ui/conversationlist/ConversationListItemViewTest.java
+++ b/tests/src/com/android/messaging/ui/conversationlist/ConversationListItemViewTest.java
@@ -35,9 +35,9 @@
 import com.android.messaging.ui.conversationlist.ConversationListItemView;
 import com.android.messaging.util.Dates;
 
-import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
 import org.mockito.Mockito;
+import org.mockito.compat.ArgumentMatcher;
 
 @MediumTest
 public class ConversationListItemViewTest extends ViewTest<ConversationListItemView> {
@@ -62,7 +62,7 @@
         final ArgumentMatcher<ConversationListItemData> itemDataIdMatcher =
                 new ArgumentMatcher<ConversationListItemData>() {
             @Override
-            public boolean matches(final Object arg) {
+            public boolean matchesObject(final Object arg) {
                 return TextUtils.equals(id, ((ConversationListItemData) arg).getConversationId());
             }
         };