/* * Copyright (C) 2014 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 com.android.internal.telephony; import android.app.PendingIntent; import android.telephony.SubInfoRecord; interface ISub { /** * Get the SubInfoRecord according to an index * @param subId The unique SubInfoRecord index in database * @return SubInfoRecord, maybe null */ SubInfoRecord getSubInfoForSubscriber(long subId); /** * Get the SubInfoRecord according to an IccId * @param iccId the IccId of SIM card * @return SubInfoRecord, maybe null */ List<SubInfoRecord> getSubInfoUsingIccId(String iccId); /** * Get the SubInfoRecord according to slotId * @param slotId the slot which the SIM is inserted * @return SubInfoRecord, maybe null */ List<SubInfoRecord> getSubInfoUsingSlotId(int slotId); /** * Get all the SubInfoRecord(s) in subinfo database * @return Array list of all SubInfoRecords in database, include thsoe that were inserted before */ List<SubInfoRecord> getAllSubInfoList(); /** * Get the SubInfoRecord(s) of the currently inserted SIM(s) * @return Array list of currently inserted SubInfoRecord(s) */ List<SubInfoRecord> getActiveSubInfoList(); /** * Get the SUB count of all SUB(s) in subinfo database * @return all SIM count in database, include what was inserted before */ int getAllSubInfoCount(); /** * Get the count of active SUB(s) * @return active SIM count */ int getActiveSubInfoCount(); /** * Add a new SubInfoRecord to subinfo database if needed * @param iccId the IccId of the SIM card * @param slotId the slot which the SIM is inserted * @return the URL of the newly created row or the updated row */ int addSubInfoRecord(String iccId, int slotId); /** * Set SIM color by simInfo index * @param color the color of the SIM * @param subId the unique SubInfoRecord index in database * @return the number of records updated */ int setColor(int color, long subId); /** * Set display name by simInfo index * @param displayName the display name of SIM card * @param subId the unique SubInfoRecord index in database * @return the number of records updated */ int setDisplayName(String displayName, long subId); /** * Set display name by simInfo index with name source * @param displayName the display name of SIM card * @param subId the unique SubInfoRecord index in database * @param nameSource, 0: DEFAULT_SOURCE, 1: SIM_SOURCE, 2: USER_INPUT * @return the number of records updated */ int setDisplayNameUsingSrc(String displayName, long subId, long nameSource); /** * Set phone number by subId * @param number the phone number of the SIM * @param subId the unique SubInfoRecord index in database * @return the number of records updated */ int setDisplayNumber(String number, long subId); /** * Set number display format. 0: none, 1: the first four digits, 2: the last four digits * @param format the display format of phone number * @param subId the unique SubInfoRecord index in database * @return the number of records updated */ int setDisplayNumberFormat(int format, long subId); /** * Set data roaming by simInfo index * @param roaming 0:Don't allow data when roaming, 1:Allow data when roaming * @param subId the unique SubInfoRecord index in database * @return the number of records updated */ int setDataRoaming(int roaming, long subId); int getSlotId(long subId); long[] getSubId(int slotId); long getDefaultSubId(); int clearSubInfo(); int getPhoneId(long subId); /** * Get the default data subscription * @return Id of the data subscription */ long getDefaultDataSubId(); void setDefaultDataSubId(long subId); long getDefaultVoiceSubId(); void setDefaultVoiceSubId(long subId); long getDefaultSmsSubId(); void setDefaultSmsSubId(long subId); void clearDefaultsForInactiveSubIds(); long[] getActiveSubIdList(); }