Migrated search for SubInfoRecord to Utils.

Bug: 18293625
Bug: 18293168
Bug: 18291246
Change-Id: Iad01a01d9b60ca010943447b00c1394471e93d5a
This commit is contained in:
PauloftheWest
2014-11-06 15:02:58 -08:00
parent cc0a2c554a
commit 0a0dacaf17
2 changed files with 46 additions and 43 deletions

View File

@@ -60,6 +60,8 @@ import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Profile;
import android.provider.ContactsContract.RawContacts;
import android.service.persistentdata.PersistentDataBlockManager;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
@@ -981,4 +983,42 @@ public final class Utils {
}
return sb.toString();
}
/**
* finds a record with subId.
* Since the number of SIMs are few, an array is fine.
*/
public static SubInfoRecord findRecordBySubId(final int subId) {
final List<SubInfoRecord> subInfoList = SubscriptionManager.getActiveSubInfoList();
final int subInfoLength = subInfoList.size();
for (int i = 0; i < subInfoLength; ++i) {
final SubInfoRecord sir = subInfoList.get(i);
if (sir != null && sir.getSubscriptionId() == subId) {
return sir;
}
}
return null;
}
/**
* finds a record with slotId.
* Since the number of SIMs are few, an array is fine.
*/
public static SubInfoRecord findRecordBySlotId(final int slotId) {
final List<SubInfoRecord> subInfoList = SubscriptionManager.getActiveSubInfoList();
final int subInfoLength = subInfoList.size();
for (int i = 0; i < subInfoLength; ++i) {
final SubInfoRecord sir = subInfoList.get(i);
if (sir.getSimSlotIndex() == slotId) {
//Right now we take the first subscription on a SIM.
return sir;
}
}
return null;
}
}