[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());
}
};