diff --git a/core/java/android/provider/EABContract.java b/core/java/android/provider/EABContract.java new file mode 100644 index 0000000000000..e22b4ef7f6a91 --- /dev/null +++ b/core/java/android/provider/EABContract.java @@ -0,0 +1,242 @@ +/* + * Copyright (C) 2006 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.provider; + +import android.net.Uri; +import android.provider.BaseColumns; + +/** + *
+ * The contract between the EAB provider and applications. Contains + * definitions for the supported URIs and data columns. + *
+ *+ * EABContract defines the data model of EAB related information. + * This data is stored in a table EABPresence. + *
+ * + * @hide + * + */ +public final class EABContract { + /** + * This authority is used for writing to or querying from the EAB provider. + */ + public static final String AUTHORITY = "com.android.rcs.eab"; + + /** + * The content:// style URL for the top-level EAB authority + */ + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY); + + /** + * Class for EABProviderItem + */ + public static class EABColumns implements BaseColumns { + public static final String TABLE_NAME = "EABPresence"; + public static final String GROUPITEMS_NAME = "EABGroupDetails"; + + /** + * CONTENT_URI + *+ * "content://com.motorola.vt.eab/EABPresence" + *
+ */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(EABContract.CONTENT_URI, + TABLE_NAME); + + public static final String CONTENT_TYPE = + "vnd.android.cursor.dir/vnd.motorola.rcs.eab.provider.eabprovider"; + + public static final String CONTENT_ITEM_TYPE = + "vnd.android.cursor.item/vnd.motorola.rcs.eab.provider.eabprovider"; + + /** + * Key defining the contact number. + *+ * Type: TEXT + *
+ */ + public static final String CONTACT_NUMBER = "contact_number"; + + /** + * Key defining the contact name. + *+ * Type: TEXT + *
+ */ + public static final String CONTACT_NAME = "contact_name"; + + /** + * Key defining the reference to ContactContract raw_contact_id of the number. + *+ * Type: TEXT + *
+ */ + public static final String RAW_CONTACT_ID = "raw_contact_id"; + + /** + * Key defining the reference to ContactContract contact_id of the number. + *+ * Type: TEXT + *
+ */ + public static final String CONTACT_ID = "contact_id"; + + /** + * Key defining the reference to ContactContract data_id of the number. + *+ * Type: TEXT + *
+ */ + public static final String DATA_ID = "data_id"; + + /** + * Key defining the account type. + *+ * Type: TEXT + *
+ */ + public static final String ACCOUNT_TYPE = "account_type"; + + /** + * Key defining the VoLTE call service contact address. + *+ * Type: TEXT + *
+ */ + public static final String VOLTE_CALL_SERVICE_CONTACT_ADDRESS = "volte_contact_address"; + + /** + * Key defining the VoLTE call capability. + *+ * Type: TEXT + *
+ */ + public static final String VOLTE_CALL_CAPABILITY = "volte_call_capability"; + + /** + * Key defining the VoLTE call capability timestamp. + *+ * Type: TEXT + *
+ */ + public static final String VOLTE_CALL_CAPABILITY_TIMESTAMP = "volte_capability_timestamp"; + + /** + * Key defining the VoLTE call availability. + *+ * Type: LONG + *
+ */ + public static final String VOLTE_CALL_AVAILABILITY = "volte_call_avalibility"; + + /** + * Key defining the VoLTE call availability timestamp. + *+ * Type: TEXT + *
+ */ + public static final String VOLTE_CALL_AVAILABILITY_TIMESTAMP = + "volte_availability_timestamp"; + + /** + * Key defining the Video call service contact address. + *+ * Type: LONG + *
+ */ + public static final String VIDEO_CALL_SERVICE_CONTACT_ADDRESS = "video_contact_address"; + + /** + * Key defining the Video call capability. + *+ * Type: TEXT + *
+ */ + public static final String VIDEO_CALL_CAPABILITY = "video_call_capability"; + + /** + * Key defining the Video call capability timestamp. + *+ * Type: TEXT + *
+ */ + public static final String VIDEO_CALL_CAPABILITY_TIMESTAMP = "video_capability_timestamp"; + + /** + * Key defining the Video call availability. + *+ * Type: LONG + *
+ */ + public static final String VIDEO_CALL_AVAILABILITY = "video_call_availability"; + + /** + * Key defining the Video call availability timestamp. + *+ * Type: TEXT + *
+ */ + public static final String VIDEO_CALL_AVAILABILITY_TIMESTAMP = + "video_availability_timestamp"; + + /** + * Key defining the Video call availability timestamp. + *+ * Type: LONG + *
+ */ + public static final String CONTACT_LAST_UPDATED_TIMESTAMP = + "contact_last_updated_timestamp"; + + /** + * Key defining the volte status. + *+ * Type: INT + *
+ */ + public static final String VOLTE_STATUS = "volte_status"; + + /** + * @hide + */ + public static final String[] PROJECTION = new String[] { + _ID, + CONTACT_NAME, + CONTACT_NUMBER, + RAW_CONTACT_ID, + CONTACT_ID, + DATA_ID, + ACCOUNT_TYPE, + VOLTE_CALL_SERVICE_CONTACT_ADDRESS, + VOLTE_CALL_CAPABILITY, + VOLTE_CALL_AVAILABILITY_TIMESTAMP, + VOLTE_CALL_AVAILABILITY, + VOLTE_CALL_CAPABILITY_TIMESTAMP, + VIDEO_CALL_SERVICE_CONTACT_ADDRESS, + VIDEO_CALL_CAPABILITY, + VIDEO_CALL_CAPABILITY_TIMESTAMP, + VIDEO_CALL_AVAILABILITY, + VIDEO_CALL_AVAILABILITY_TIMESTAMP, + CONTACT_LAST_UPDATED_TIMESTAMP, + VOLTE_STATUS + }; + } +} +