Merge "Add getter methods in SubInfoRecord for UI. Adapt PhoneAccount." into lmp-sprout-dev
diff --git a/api/current.txt b/api/current.txt
index 305ae57..d66867b 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -28486,6 +28486,9 @@
ctor public SubInfoRecord();
ctor public SubInfoRecord(long, java.lang.String, int, java.lang.String, int, int, java.lang.String, int, int, int[], int, int);
method public int describeContents();
+ method public int getColor();
+ method public android.graphics.drawable.BitmapDrawable getIconDrawable();
+ method public java.lang.String getLabel();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator CREATOR;
field public int color;
diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java
index 1d6d8bc..67b6328 100644
--- a/telecomm/java/android/telecom/PhoneAccount.java
+++ b/telecomm/java/android/telecom/PhoneAccount.java
@@ -108,11 +108,17 @@
*/
public static final String SCHEME_SIP = "sip";
+ /**
+ * Indicating no color is set.
+ */
+ public static final int NO_COLOR = -1;
+
private final PhoneAccountHandle mAccountHandle;
private final Uri mAddress;
private final Uri mSubscriptionAddress;
private final int mCapabilities;
private final int mIconResId;
+ private final int mColor;
private final CharSequence mLabel;
private final CharSequence mShortDescription;
private final List<String> mSupportedUriSchemes;
@@ -123,6 +129,7 @@
private Uri mSubscriptionAddress;
private int mCapabilities;
private int mIconResId;
+ private int mColor = NO_COLOR;
private CharSequence mLabel;
private CharSequence mShortDescription;
private List<String> mSupportedUriSchemes = new ArrayList<String>();
@@ -144,6 +151,7 @@
mSubscriptionAddress = phoneAccount.getSubscriptionAddress();
mCapabilities = phoneAccount.getCapabilities();
mIconResId = phoneAccount.getIconResId();
+ mColor = phoneAccount.getColor();
mLabel = phoneAccount.getLabel();
mShortDescription = phoneAccount.getShortDescription();
mSupportedUriSchemes.addAll(phoneAccount.getSupportedUriSchemes());
@@ -169,6 +177,11 @@
return this;
}
+ public Builder setColor(int value) {
+ this.mColor = value;
+ return this;
+ }
+
public Builder setShortDescription(CharSequence value) {
this.mShortDescription = value;
return this;
@@ -222,6 +235,7 @@
mSubscriptionAddress,
mCapabilities,
mIconResId,
+ mColor,
mLabel,
mShortDescription,
mSupportedUriSchemes);
@@ -234,6 +248,7 @@
Uri subscriptionAddress,
int capabilities,
int iconResId,
+ int color,
CharSequence label,
CharSequence shortDescription,
List<String> supportedUriSchemes) {
@@ -242,6 +257,7 @@
mSubscriptionAddress = subscriptionAddress;
mCapabilities = capabilities;
mIconResId = iconResId;
+ mColor = color;
mLabel = label;
mShortDescription = shortDescription;
mSupportedUriSchemes = Collections.unmodifiableList(supportedUriSchemes);
@@ -371,6 +387,15 @@
}
/**
+ * A highlight color to use in displaying information about this {@code PhoneAccount}.
+ *
+ * @return A hexadecimal color value.
+ */
+ public int getColor() {
+ return mColor;
+ }
+
+ /**
* An icon to represent this {@code PhoneAccount} in a user interface.
*
* @return An icon for this {@code PhoneAccount}.
@@ -413,6 +438,7 @@
out.writeParcelable(mSubscriptionAddress, 0);
out.writeInt(mCapabilities);
out.writeInt(mIconResId);
+ out.writeInt(mColor);
out.writeCharSequence(mLabel);
out.writeCharSequence(mShortDescription);
out.writeList(mSupportedUriSchemes);
@@ -439,6 +465,7 @@
mSubscriptionAddress = in.readParcelable(getClass().getClassLoader());
mCapabilities = in.readInt();
mIconResId = in.readInt();
+ mColor = in.readInt();
mLabel = in.readCharSequence();
mShortDescription = in.readCharSequence();
diff --git a/telephony/java/android/telephony/SubInfoRecord.java b/telephony/java/android/telephony/SubInfoRecord.java
index b9de871..f2df079 100644
--- a/telephony/java/android/telephony/SubInfoRecord.java
+++ b/telephony/java/android/telephony/SubInfoRecord.java
@@ -16,6 +16,7 @@
package android.telephony;
+import android.graphics.drawable.BitmapDrawable;
import android.os.Parcel;
import android.os.Parcelable;
@@ -107,6 +108,31 @@
this.mnc = mnc;
}
+ /**
+ * Returns the string displayed to the user that identifies this subscription
+ */
+ public String getLabel() {
+ return this.displayName;
+ }
+
+ /**
+ * Return the icon used to identify this SIM.
+ * TODO: return the correct drawable.
+ */
+ public BitmapDrawable getIconDrawable() {
+ return new BitmapDrawable();
+ }
+
+ /**
+ * Return the color to be used for when displaying to the user. This is the value of the color.
+ * ex: 0x00ff00
+ */
+ public int getColor() {
+ // Note: This color is currently an index into a list of drawables, but this is soon to
+ // change.
+ return this.color;
+ }
+
public static final Parcelable.Creator<SubInfoRecord> CREATOR = new Parcelable.Creator<SubInfoRecord>() {
@Override
public SubInfoRecord createFromParcel(Parcel source) {