• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2015, Motorola Mobility LLC
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *     - Redistributions of source code must retain the above copyright
8  *       notice, this list of conditions and the following disclaimer.
9  *     - Redistributions in binary form must reproduce the above copyright
10  *       notice, this list of conditions and the following disclaimer in the
11  *       documentation and/or other materials provided with the distribution.
12  *     - Neither the name of Motorola Mobility nor the
13  *       names of its contributors may be used to endorse or promote products
14  *       derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MOTOROLA MOBILITY LLC BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
26  * DAMAGE.
27  */
28 
29 package com.android.ims.internal;
30 
31 import android.net.Uri;
32 import android.provider.BaseColumns;
33 
34 /**
35  * <p>
36  * The contract between the EAB provider and applications. Contains
37  * definitions for the supported URIs and data columns.
38  * </p>
39  * <h3>Overview</h3>
40  * <p>
41  * EABContract defines the data model of EAB related information.
42  * This data is stored in a table EABPresence.
43  * </p>
44  *
45  * @hide
46  *
47  */
48 public final class EABContract {
49     /**
50      * This authority is used for writing to or querying from the EAB provider.
51      */
52     public static final String AUTHORITY = "com.android.rcs.eab";
53 
54     /**
55      * The content:// style URL for the top-level EAB authority
56      */
57     public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY);
58 
59     /**
60      *  Class for EABProviderItem
61      */
62     public static class EABColumns implements BaseColumns {
63         public static final String TABLE_NAME = "EABPresence";
64         public static final String GROUPITEMS_NAME = "EABGroupDetails";
65 
66         /**
67          * CONTENT_URI
68          * <P>
69          * "content://com.android.vt.eab/EABPresence"
70          * </P>
71          */
72         public static final Uri CONTENT_URI = Uri.withAppendedPath(EABContract.CONTENT_URI,
73                 TABLE_NAME);
74 
75         public static final String CONTENT_TYPE =
76                 "vnd.android.cursor.dir/vnd.android.rcs.eab.provider.eabprovider";
77 
78         public static final String CONTENT_ITEM_TYPE =
79                 "vnd.android.cursor.item/vnd.android.rcs.eab.provider.eabprovider";
80 
81         /**
82          * Key defining the contact number.
83          * <P>
84          * Type: TEXT
85          * </P>
86          */
87         public static final String CONTACT_NUMBER = "contact_number";
88 
89         /**
90          * Key defining the contact name.
91          * <P>
92          * Type: TEXT
93          * </P>
94          */
95         public static final String CONTACT_NAME = "contact_name";
96 
97         /**
98          * Key defining the reference to ContactContract raw_contact_id of the number.
99          * <P>
100          * Type: TEXT
101          * </P>
102          */
103         public static final String RAW_CONTACT_ID = "raw_contact_id";
104 
105         /**
106          * Key defining the reference to ContactContract contact_id of the number.
107          * <P>
108          * Type: TEXT
109          * </P>
110          */
111         public static final String CONTACT_ID = "contact_id";
112 
113         /**
114          * Key defining the reference to ContactContract data_id of the number.
115          * <P>
116          * Type: TEXT
117          * </P>
118          */
119         public static final String DATA_ID = "data_id";
120 
121         /**
122          * Key defining the account type.
123          * <P>
124          * Type: TEXT
125          * </P>
126          */
127         public static final String ACCOUNT_TYPE = "account_type";
128 
129         /**
130          * Key defining the VoLTE call service contact address.
131          * <P>
132          * Type: TEXT
133          * </P>
134          */
135         public static final String VOLTE_CALL_SERVICE_CONTACT_ADDRESS = "volte_contact_address";
136 
137         /**
138          * Key defining the VoLTE call capability.
139          * <P>
140          * Type: TEXT
141          * </P>
142          */
143         public static final String VOLTE_CALL_CAPABILITY = "volte_call_capability";
144 
145         /**
146          * Key defining the VoLTE call capability timestamp.
147          * <P>
148          * Type: TEXT
149          * </P>
150          */
151         public static final String VOLTE_CALL_CAPABILITY_TIMESTAMP = "volte_capability_timestamp";
152 
153         /**
154          * Key defining the VoLTE call availability.
155          * <P>
156          * Type: LONG
157          * </P>
158          */
159         public static final String VOLTE_CALL_AVAILABILITY = "volte_call_avalibility";
160 
161         /**
162          * Key defining the VoLTE call availability timestamp.
163          * <P>
164          * Type: TEXT
165          * </P>
166          */
167         public static final String VOLTE_CALL_AVAILABILITY_TIMESTAMP =
168                 "volte_availability_timestamp";
169 
170         /**
171          * Key defining the Video call service contact address.
172          * <P>
173          * Type: LONG
174          * </P>
175          */
176         public static final String VIDEO_CALL_SERVICE_CONTACT_ADDRESS = "video_contact_address";
177 
178         /**
179          * Key defining the Video call capability.
180          * <P>
181          * Type: TEXT
182          * </P>
183          */
184         public static final String VIDEO_CALL_CAPABILITY = "video_call_capability";
185 
186         /**
187          * Key defining the Video call capability timestamp.
188          * <P>
189          * Type: TEXT
190          * </P>
191          */
192         public static final String VIDEO_CALL_CAPABILITY_TIMESTAMP = "video_capability_timestamp";
193 
194         /**
195          * Key defining the Video call availability.
196          * <P>
197          * Type: LONG
198          * </P>
199          */
200         public static final String VIDEO_CALL_AVAILABILITY = "video_call_availability";
201 
202         /**
203          * Key defining the Video call availability timestamp.
204          * <P>
205          * Type: TEXT
206          * </P>
207          */
208         public static final String VIDEO_CALL_AVAILABILITY_TIMESTAMP =
209                 "video_availability_timestamp";
210 
211         /**
212          * Key defining the Video call availability timestamp.
213          * <P>
214          * Type: LONG
215          * </P>
216          */
217         public static final String CONTACT_LAST_UPDATED_TIMESTAMP =
218                 "contact_last_updated_timestamp";
219 
220         /**
221          * Key defining the volte status.
222          * <p>
223          * Type: INT
224          * </p>
225          */
226         public static final String VOLTE_STATUS = "volte_status";
227 
228         /**
229          * Key defining the formatted number.
230          * <p>
231          * Type: TEXT
232          * </p>
233          */
234         public static final String FORMATTED_NUMBER = "formatted_number";
235 
236         /**
237          * @hide
238          */
239         public static final String[] PROJECTION = new String[] {
240             _ID,
241             CONTACT_NAME,
242             CONTACT_NUMBER,
243             RAW_CONTACT_ID,
244             CONTACT_ID,
245             DATA_ID,
246             ACCOUNT_TYPE,
247             VOLTE_CALL_SERVICE_CONTACT_ADDRESS,
248             VOLTE_CALL_CAPABILITY,
249             VOLTE_CALL_AVAILABILITY_TIMESTAMP,
250             VOLTE_CALL_AVAILABILITY,
251             VOLTE_CALL_CAPABILITY_TIMESTAMP,
252             VIDEO_CALL_SERVICE_CONTACT_ADDRESS,
253             VIDEO_CALL_CAPABILITY,
254             VIDEO_CALL_CAPABILITY_TIMESTAMP,
255             VIDEO_CALL_AVAILABILITY,
256             VIDEO_CALL_AVAILABILITY_TIMESTAMP,
257             CONTACT_LAST_UPDATED_TIMESTAMP,
258             VOLTE_STATUS
259         };
260     }
261 }
262 
263