Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c43fffc authored by David Brown's avatar David Brown Committed by Android Git Automerger
Browse files

am 747c6153: ContactsContract: update SipAddress to be multi-valued

Merge commit '747c6153' into gingerbread-plus-aosp

* commit '747c6153':
  ContactsContract: update SipAddress to be multi-valued
parents f434dd16 747c6153
Loading
Loading
Loading
Loading
+77 −1
Original line number Diff line number Diff line
@@ -138576,7 +138576,7 @@
 visibility="public"
>
</field>
<field name="TYPE_MAINDEN_NAME"
<field name="TYPE_MAIDEN_NAME"
 type="int"
 transient="false"
 volatile="false"
@@ -138587,6 +138587,17 @@
 visibility="public"
>
</field>
<field name="TYPE_MAINDEN_NAME"
 type="int"
 transient="false"
 volatile="false"
 value="3"
 static="true"
 final="true"
 deprecated="deprecated"
 visibility="public"
>
</field>
<field name="TYPE_OTHER_NAME"
 type="int"
 transient="false"
@@ -139342,8 +139353,40 @@
 deprecated="not deprecated"
 visibility="public"
>
<implements name="android.provider.ContactsContract.CommonDataKinds.CommonColumns">
</implements>
<implements name="android.provider.ContactsContract.DataColumnsWithJoins">
</implements>
<method name="getTypeLabel"
 return="java.lang.CharSequence"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
<parameter name="type" type="int">
</parameter>
<parameter name="label" type="java.lang.CharSequence">
</parameter>
</method>
<method name="getTypeLabelResource"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="type" type="int">
</parameter>
</method>
<field name="CONTENT_ITEM_TYPE"
 type="java.lang.String"
 transient="false"
@@ -139366,6 +139409,39 @@
 visibility="public"
>
</field>
<field name="TYPE_HOME"
 type="int"
 transient="false"
 volatile="false"
 value="1"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="TYPE_OTHER"
 type="int"
 transient="false"
 volatile="false"
 value="3"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="TYPE_WORK"
 type="int"
 transient="false"
 volatile="false"
 value="2"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
</class>
<class name="ContactsContract.CommonDataKinds.StructuredName"
 extends="java.lang.Object"
+59 −10
Original line number Diff line number Diff line
@@ -3552,7 +3552,7 @@ public final class ContactsContract {
         * <li>{@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.</li>
         * <li>{@link #TYPE_DEFAULT}</li>
         * <li>{@link #TYPE_OTHER_NAME}</li>
         * <li>{@link #TYPE_MAINDEN_NAME}</li>
         * <li>{@link #TYPE_MAIDEN_NAME}</li>
         * <li>{@link #TYPE_SHORT_NAME}</li>
         * <li>{@link #TYPE_INITIALS}</li>
         * </ul>
@@ -3578,6 +3578,9 @@ public final class ContactsContract {

            public static final int TYPE_DEFAULT = 1;
            public static final int TYPE_OTHER_NAME = 2;
            public static final int TYPE_MAIDEN_NAME = 3;
            /** @deprecated Use TYPE_MAIDEN_NAME instead. */
            @Deprecated
            public static final int TYPE_MAINDEN_NAME = 3;
            public static final int TYPE_SHORT_NAME = 4;
            public static final int TYPE_INITIALS = 5;
@@ -4882,17 +4885,30 @@ public final class ContactsContract {
         * <td>{@link #DATA1}</td>
         * <td></td>
         * </tr>
         * <tr>
         * <td>int</td>
         * <td>{@link #TYPE}</td>
         * <td>{@link #DATA2}</td>
         * <td>Allowed values are:
         * <p>
         * <ul>
         * <li>{@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.</li>
         * <li>{@link #TYPE_HOME}</li>
         * <li>{@link #TYPE_WORK}</li>
         * <li>{@link #TYPE_OTHER}</li>
         * </ul>
         * </p>
         * </td>
         * </tr>
         * <tr>
         * <td>String</td>
         * <td>{@link #LABEL}</td>
         * <td>{@link #DATA3}</td>
         * <td></td>
         * </tr>
         * </table>
         */
        public static final class SipAddress implements DataColumnsWithJoins {
            // TODO: Ultimately this class will probably implement
            // CommonColumns too (in addition to DataColumnsWithJoins)
            // since it may make sense to have multiple SIP addresses with
            // different types+labels, just like with phone numbers.
            //
            // But that can be extended in the future without breaking any
            // public API, so let's keep this class ultra-simple for now.

        public static final class SipAddress implements DataColumnsWithJoins, CommonColumns {
            /**
             * This utility class cannot be instantiated
             */
@@ -4901,11 +4917,44 @@ public final class ContactsContract {
            /** MIME type used when storing this in data table. */
            public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sip_address";

            public static final int TYPE_HOME = 1;
            public static final int TYPE_WORK = 2;
            public static final int TYPE_OTHER = 3;

            /**
             * The SIP address.
             * <P>Type: TEXT</P>
             */
            public static final String SIP_ADDRESS = DATA1;
            // ...and TYPE and LABEL come from the CommonColumns interface.

            /**
             * Return the string resource that best describes the given
             * {@link #TYPE}. Will always return a valid resource.
             */
            public static final int getTypeLabelResource(int type) {
                switch (type) {
                    case TYPE_HOME: return com.android.internal.R.string.sipAddressTypeHome;
                    case TYPE_WORK: return com.android.internal.R.string.sipAddressTypeWork;
                    case TYPE_OTHER: return com.android.internal.R.string.sipAddressTypeOther;
                    default: return com.android.internal.R.string.sipAddressTypeCustom;
                }
            }

            /**
             * Return a {@link CharSequence} that best describes the given type,
             * possibly substituting the given {@link #LABEL} value
             * for {@link #TYPE_CUSTOM}.
             */
            public static final CharSequence getTypeLabel(Resources res, int type,
                    CharSequence label) {
                if (type == TYPE_CUSTOM && !TextUtils.isEmpty(label)) {
                    return label;
                } else {
                    final int labelRes = getTypeLabelResource(type);
                    return res.getText(labelRes);
                }
            }
        }
    }

+10 −1
Original line number Diff line number Diff line
@@ -1379,7 +1379,7 @@
    <!-- Other IM address type -->
    <string name="imTypeOther">Other</string>

    <!-- Custom IM address type -->
    <!-- Custom IM protocol type -->
    <string name="imProtocolCustom">Custom</string>
    <!-- AIM IM protocol type -->
    <string name="imProtocolAim">AIM</string>
@@ -1407,6 +1407,15 @@
    <!-- Custom organization type -->
    <string name="orgTypeCustom">Custom</string>

    <!-- Custom SIP address type -->
    <string name="sipAddressTypeCustom">Custom</string>
    <!-- Home SIP address type -->
    <string name="sipAddressTypeHome">Home</string>
    <!-- Work SIP address type -->
    <string name="sipAddressTypeWork">Work</string>
    <!-- Other SIP address type -->
    <string name="sipAddressTypeOther">Other</string>

    <!-- Attbution of a contact status update, when the time of update is unknown -->
    <string name="contact_status_update_attribution">via <xliff:g id="source" example="Google Talk">%1$s</xliff:g></string>