ISub.aidl revision fb40dd4d00bd3361b2535bc866e6c21eadc52558
1fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville/*
2fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* Copyright (C) 2011-2014 MediaTek Inc.
3fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville*
4fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* Licensed under the Apache License, Version 2.0 (the "License");
5fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* you may not use this file except in compliance with the License.
6fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* You may obtain a copy of the License at
7fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville*
8fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville*      http://www.apache.org/licenses/LICENSE-2.0
9fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville*
10fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* Unless required by applicable law or agreed to in writing, software
11fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* distributed under the License is distributed on an "AS IS" BASIS,
12fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* See the License for the specific language governing permissions and
14fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville* limitations under the License.
15fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville*/
16fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
17fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savillepackage com.android.internal.telephony;
18fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
19fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.app.PendingIntent;
20fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.SubInfoRecord;
21fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
22fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleinterface ISub {
23fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
24fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the SubInfoRecord according to an index
25fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
26fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId The unique SubInfoRecord index in database
27fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return SubInfoRecord, maybe null
28fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
29fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    SubInfoRecord getSubInfoUsingSubId(long subId);
30fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
31fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
32fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the SubInfoRecord according to an IccId
33fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
34fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param iccId the IccId of SIM card
35fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return SubInfoRecord, maybe null
36fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
37fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    List<SubInfoRecord> getSubInfoUsingIccId(String iccId);
38fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
39fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
40fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the SubInfoRecord according to slotId
41fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
42fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param slotId the slot which the SIM is inserted
43fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return SubInfoRecord, maybe null
44fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
45fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    List<SubInfoRecord> getSubInfoUsingSlotId(int slotId);
46fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
47fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
48fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get all the SubInfoRecord(s) in subinfo database
49fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
50fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return Array list of all SubInfoRecords in database, include thsoe that were inserted before
51fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
52fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    List<SubInfoRecord> getAllSubInfoList();
53fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
54fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
55fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the SubInfoRecord(s) of the currently inserted SIM(s)
56fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
57fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return Array list of currently inserted SubInfoRecord(s)
58fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
59fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    List<SubInfoRecord> getActivatedSubInfoList();
60fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
61fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
62fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the SUB count of all SUB(s) in subinfo database
63fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
64fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return all SIM count in database, include what was inserted before
65fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
66fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int getAllSubInfoCount();
67fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
68fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
69fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Add a new SubInfoRecord to subinfo database if needed
70fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
71fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param iccId the IccId of the SIM card
72fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param slotId the slot which the SIM is inserted
73fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the URL of the newly created row or the updated row
74fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
75fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int addSubInfoRecord(String iccId, int slotId);
76fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
77fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
78fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set SIM color by simInfo index
79fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
80fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param color the color of the SIM
81fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
82fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
83fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
84fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setColor(int color, long subId);
85fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
86fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
87fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set display name by simInfo index
88fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
89fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param displayName the display name of SIM card
90fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
91fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
92fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
93fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setDisplayName(String displayName, long subId);
94fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
95fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
96fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set display name by simInfo index with name source
97fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
98fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param displayName the display name of SIM card
99fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
100fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param nameSource, 0: DEFAULT_SOURCE, 1: SIM_SOURCE, 2: USER_INPUT
101fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
102fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
103fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setDisplayNameUsingSrc(String displayName, long subId, long nameSource);
104fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
105fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
106fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set phone number by subId
107fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
108fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param number the phone number of the SIM
109fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
110fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
111fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
112fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setDispalyNumber(String number, long subId);
113fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
114fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
115fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set number display format. 0: none, 1: the first four digits, 2: the last four digits
116fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
117fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param format the display format of phone number
118fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
119fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
120fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
121fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setDisplayNumberFormat(int format, long subId);
122fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
123fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
124fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Set data roaming by simInfo index
125fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param context Context provided by caller
126fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param roaming 0:Don't allow data when roaming, 1:Allow data when roaming
127fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @param subId the unique SubInfoRecord index in database
128fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return the number of records updated
129fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
130fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int setDataRoaming(int roaming, long subId);
131fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int getSlotId(long subId);
133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
134fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    long[] getSubId(int slotId);
135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
136fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    long getDefaultSubId();
137fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
138fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int clearSubInfo();
139fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
140fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    int getPhoneId(long subId);
141fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
142fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    /**
143fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * Get the default data subscription
144fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     * @return Id of the data subscription
145fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville     */
146fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    long getDefaultDataSubId();
147fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
148fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    void setDefaultDataSubId(long subId);
149fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
150fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    long getDefaultVoiceSubId();
151fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville
152fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville    void setDefaultVoiceSubId(long subId);
153fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville}
154