Merge "Merge tag 'AU_LINUX_ANDROID_LA.BF64.1.2.1_RB2.05.00.02.081.002' into HEAD"
diff --git a/src/com/android/contacts/common/MoreContactUtils.java b/src/com/android/contacts/common/MoreContactUtils.java
index 4d284ab..bb6ed53 100644
--- a/src/com/android/contacts/common/MoreContactUtils.java
+++ b/src/com/android/contacts/common/MoreContactUtils.java
@@ -338,7 +338,7 @@
public static int getAnrCount(int slot) {
int anrCount = 0;
- long[] subId = SubscriptionManager.getSubId(slot);
+ int[] subId = SubscriptionManager.getSubId(slot);
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
@@ -360,7 +360,7 @@
public static int getSpareAnrCount(int slot) {
int anrCount = 0;
- long[] subId = SubscriptionManager.getSubId(slot);
+ int[] subId = SubscriptionManager.getSubId(slot);
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
@@ -382,7 +382,7 @@
public static int getAdnCount(int slot) {
int adnCount = 0;
- long[] subId = SubscriptionManager.getSubId(slot);
+ int[] subId = SubscriptionManager.getSubId(slot);
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
@@ -404,7 +404,7 @@
public static int getEmailCount(int slot) {
int emailCount = 0;
- long[] subId = SubscriptionManager.getSubId(slot);
+ int[] subId = SubscriptionManager.getSubId(slot);
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
@@ -426,7 +426,7 @@
public static int getSpareEmailCount(int slot) {
int emailCount = 0;
- long[] subId = SubscriptionManager.getSubId(slot);
+ int[] subId = SubscriptionManager.getSubId(slot);
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
diff --git a/src/com/android/contacts/common/SimContactsConstants.java b/src/com/android/contacts/common/SimContactsConstants.java
index 759dcd9..5928b1e 100644
--- a/src/com/android/contacts/common/SimContactsConstants.java
+++ b/src/com/android/contacts/common/SimContactsConstants.java
@@ -70,7 +70,7 @@
"com.android.contacts.action.MULTI_PICK_SIM";
public static final int SUB_1 = PhoneConstants.SUB1;
public static final int SUB_2 = PhoneConstants.SUB2;
- public static final int SUB_INVALID = SubscriptionManager.INVALID_SLOT_ID;
+ public static final int SUB_INVALID = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
}
diff --git a/src/com/android/contacts/common/SimContactsOperation.java b/src/com/android/contacts/common/SimContactsOperation.java
index 55c7b79..ef34fcc 100644
--- a/src/com/android/contacts/common/SimContactsOperation.java
+++ b/src/com/android/contacts/common/SimContactsOperation.java
@@ -165,7 +165,7 @@
private Uri getContentUri(int subscription) {
Uri uri = null;
- long[] subId = SubscriptionManager.getSubId(subscription);
+ int[] subId = SubscriptionManager.getSubId(subscription);
if (subId != null && TelephonyManager.getDefault().isMultiSimEnabled()) {
uri = Uri.parse(SimContactsConstants.SIM_SUB_URI + subId[0]);
diff --git a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
index 6b1433d..e6e46a3 100644
--- a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
@@ -444,7 +444,7 @@
// call query first, otherwise insert will fail if this insert is called
// without any query before
try{
- long[] subId = SubscriptionManager.getSubId(subscription);
+ int[] subId = SubscriptionManager.getSubId(subscription);
if (subId != null
&& TelephonyManager.getDefault().isMultiSimEnabled()) {
cr = mPeople.getContentResolver().query(
diff --git a/src/com/android/contacts/common/model/ContactLoader.java b/src/com/android/contacts/common/model/ContactLoader.java
index eba825b..bea7210 100644
--- a/src/com/android/contacts/common/model/ContactLoader.java
+++ b/src/com/android/contacts/common/model/ContactLoader.java
@@ -316,7 +316,7 @@
resultIsCached = true;
} else {
if (uriCurrentFormat.getLastPathSegment().equals(Constants.LOOKUP_URI_ENCODED)) {
- result = loadEncodedContactEntity(uriCurrentFormat);
+ result = loadEncodedContactEntity(uriCurrentFormat, mLookupUri);
} else {
result = loadContactEntity(resolver, uriCurrentFormat);
}
@@ -349,7 +349,22 @@
}
}
- private Contact loadEncodedContactEntity(Uri uri) throws JSONException {
+ /**
+ * Parses a {@link Contact} stored as a JSON string in a lookup URI.
+ *
+ * @param lookupUri The contact information to parse .
+ * @return The parsed {@code Contact} information.
+ * @throws JSONException
+ */
+ public static Contact parseEncodedContactEntity(Uri lookupUri) {
+ try {
+ return loadEncodedContactEntity(lookupUri, lookupUri);
+ } catch (JSONException je) {
+ return null;
+ }
+ }
+
+ private static Contact loadEncodedContactEntity(Uri uri, Uri lookupUri) throws JSONException {
final String jsonString = uri.getEncodedFragment();
final JSONObject json = new JSONObject(jsonString);
@@ -363,7 +378,7 @@
final String photoUri = json.optString(Contacts.PHOTO_URI, null);
final Contact contact = new Contact(
uri, uri,
- mLookupUri,
+ lookupUri,
directoryId,
null /* lookupKey */,
-1 /* id */,
@@ -423,7 +438,7 @@
return contact;
}
- private void processOneRecord(RawContact rawContact, JSONObject item, String mimetype)
+ private static void processOneRecord(RawContact rawContact, JSONObject item, String mimetype)
throws JSONException {
final ContentValues itemValues = new ContentValues();
itemValues.put(Data.MIMETYPE, mimetype);
diff --git a/src/com/android/contacts/common/util/MaterialColorMapUtils.java b/src/com/android/contacts/common/util/MaterialColorMapUtils.java
index 9c8862c..7827ae3 100644
--- a/src/com/android/contacts/common/util/MaterialColorMapUtils.java
+++ b/src/com/android/contacts/common/util/MaterialColorMapUtils.java
@@ -20,6 +20,8 @@
import android.content.res.Resources;
import android.content.res.TypedArray;
+import android.os.Parcel;
+import android.os.Parcelable;
import android.os.Trace;
public class MaterialColorMapUtils {
@@ -34,13 +36,71 @@
com.android.contacts.common.R.array.letter_tile_colors_dark);
}
- public static class MaterialPalette {
+ public static class MaterialPalette implements Parcelable {
public MaterialPalette(int primaryColor, int secondaryColor) {
mPrimaryColor = primaryColor;
mSecondaryColor = secondaryColor;
}
public final int mPrimaryColor;
public final int mSecondaryColor;
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ MaterialPalette other = (MaterialPalette) obj;
+ if (mPrimaryColor != other.mPrimaryColor) {
+ return false;
+ }
+ if (mSecondaryColor != other.mSecondaryColor) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + mPrimaryColor;
+ result = prime * result + mSecondaryColor;
+ return result;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(mPrimaryColor);
+ dest.writeInt(mSecondaryColor);
+ }
+
+ private MaterialPalette(Parcel in) {
+ mPrimaryColor = in.readInt();
+ mSecondaryColor = in.readInt();
+ }
+
+ public static final Creator<MaterialPalette> CREATOR = new Creator<MaterialPalette>() {
+ @Override
+ public MaterialPalette createFromParcel(Parcel in) {
+ return new MaterialPalette(in);
+ }
+
+ @Override
+ public MaterialPalette[] newArray(int size) {
+ return new MaterialPalette[size];
+ }
+ };
}
/**