Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca756612 authored by Wink Saville's avatar Wink Saville
Browse files

Update SubscriptionManager API as per API council.

bug: 17575308
Change-Id: Ib39a60e4f75981a466e9d606ec627756efad018d
parent 64cb79bb
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.Preference;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -267,7 +267,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
    private MenuItem mMenuSimCards;
    private MenuItem mMenuCellularNetworks;

    private List<SubInfoRecord> mSubInfoList;
    private List<SubscriptionInfo> mSubInfoList;
    private Map<Integer,String> mMobileTagMap;

    /** Flag used to ignore listeners during binding. */
@@ -1130,8 +1130,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
    };

    private void handleMultiSimDataDialog() {
        final SubInfoRecord currentSir = getCurrentTabSubInfo(getActivity());
        final SubInfoRecord nextSir = SubscriptionManager.getSubInfoForSubscriber(
        final SubscriptionInfo currentSir = getCurrentTabSubInfo(getActivity());
        final SubscriptionInfo nextSir = SubscriptionManager.getSubscriptionInfoForSubscriber(
                SubscriptionManager.getDefaultDataSubId());

        if (currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
@@ -2339,14 +2339,14 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
        final ConnectivityManager conn = ConnectivityManager.from(context);
        final TelephonyManager tele = TelephonyManager.from(context);

        final List<SubInfoRecord> subInfoList = SubscriptionManager.getActiveSubInfoList();
        final List<SubscriptionInfo> subInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
        // No activated Subscription
        if (subInfoList == null) {
            return false;
        }
        // require both supported network and ready SIM
        boolean isReady = true;
        for (SubInfoRecord subInfo : subInfoList) {
        for (SubscriptionInfo subInfo : subInfoList) {
            isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
        }
        return conn.isNetworkSupported(TYPE_MOBILE) && isReady;
@@ -2585,9 +2585,9 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
            }
        };

        private void addMobileTab(Context context, List<SubInfoRecord> subInfoList) {
        private void addMobileTab(Context context, List<SubscriptionInfo> subInfoList) {
            if (subInfoList != null) {
                for (SubInfoRecord subInfo : mSubInfoList) {
                for (SubscriptionInfo subInfo : mSubInfoList) {
                    if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
                        mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
                                subInfo.getDisplayName()));
@@ -2596,11 +2596,11 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
            }
        }

        private SubInfoRecord getCurrentTabSubInfo(Context context) {
        private SubscriptionInfo getCurrentTabSubInfo(Context context) {
            if (mSubInfoList != null && mTabHost != null) {
                final int currentTagIndex = mTabHost.getCurrentTab();
                int i = 0;
                for (SubInfoRecord subInfo : mSubInfoList) {
                for (SubscriptionInfo subInfo : mSubInfoList) {
                    if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
                        if (i++ == currentTagIndex) {
                            return subInfo;
@@ -2616,12 +2616,12 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
         * @param subInfoList The subscription Info List
         * @return The map or null if no activated subscription
         */
        private Map<Integer, String> initMobileTabTag(List<SubInfoRecord> subInfoList) {
        private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) {
            Map<Integer, String> map = null;
            if (subInfoList != null) {
                String mobileTag;
                map = new HashMap<Integer, String>();
                for (SubInfoRecord subInfo : subInfoList) {
                for (SubscriptionInfo subInfo : subInfoList) {
                    mobileTag = TAB_MOBILE + String.valueOf(subInfo.getSubscriptionId());
                    map.put(subInfo.getSubscriptionId(), mobileTag);
                }
+3 −3
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ import android.security.KeyStore;
import android.service.trust.TrustAgentService;
import android.telephony.TelephonyManager;
import android.telephony.SubscriptionManager;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionInfo;
import android.text.TextUtils;
import android.util.Log;

@@ -371,9 +371,9 @@ public class SecuritySettings extends SettingsPreferenceFragment
     */
    private static boolean isSimReady() {
        int simState = TelephonyManager.SIM_STATE_UNKNOWN;
        final List<SubInfoRecord> subInfoList = SubscriptionManager.getActiveSubInfoList();
        final List<SubscriptionInfo> subInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
        if (subInfoList != null) {
            for (SubInfoRecord subInfo : subInfoList) {
            for (SubscriptionInfo subInfo : subInfoList) {
                simState = TelephonyManager.getDefault().getSimState(subInfo.getSimSlotIndex());
                if((simState != TelephonyManager.SIM_STATE_ABSENT) &&
                            (simState != TelephonyManager.SIM_STATE_UNKNOWN)){
+9 −7
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ 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.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -988,12 +988,13 @@ public final class Utils {
     * 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();
    public static SubscriptionInfo findRecordBySubId(final int subId) {
        final List<SubscriptionInfo> subInfoList =
                SubscriptionManager.getActiveSubscriptionInfoList();
        final int subInfoLength = subInfoList.size();

        for (int i = 0; i < subInfoLength; ++i) {
            final SubInfoRecord sir = subInfoList.get(i);
            final SubscriptionInfo sir = subInfoList.get(i);
            if (sir != null && sir.getSubscriptionId() == subId) {
                return sir;
            }
@@ -1006,12 +1007,13 @@ public final class Utils {
     * 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();
    public static SubscriptionInfo findRecordBySlotId(final int slotId) {
        final List<SubscriptionInfo> subInfoList =
                SubscriptionManager.getActiveSubscriptionInfoList();
        final int subInfoLength = subInfoList.size();

        for (int i = 0; i < subInfoLength; ++i) {
            final SubInfoRecord sir = subInfoList.get(i);
            final SubscriptionInfo sir = subInfoList.get(i);
            if (sir.getSimSlotIndex() == slotId) {
                //Right now we take the first subscription on a SIM.
                return sir;
+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -101,7 +101,7 @@ public class ImeiInformation extends PreferenceActivity {
    }

    private Phone getPhoneFromSlotId(int slotId) {
        final List<SubInfoRecord> subInfos = SubscriptionManager.getSubInfoUsingSlotId(slotId);
        final List<SubscriptionInfo> subInfos = SubscriptionManager.getSubscriptionInfoUsingSlotId(slotId);

        if (subInfos == null || subInfos.size() < 1) {
            return null;
+27 −27
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
import android.provider.SearchIndexableResource;
import android.provider.Telephony;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.PhoneNumberUtils;
@@ -104,13 +104,13 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
     * mSubInfoList is the list of all SubInfos.
     * mSelectableSubInfos is the list of SubInfos that a user can select for data, calls, and SMS.
     */
    private List<SubInfoRecord> mAvailableSubInfos = null;
    private List<SubInfoRecord> mSubInfoList = null;
    private List<SubInfoRecord> mSelectableSubInfos = null;
    private List<SubscriptionInfo> mAvailableSubInfos = null;
    private List<SubscriptionInfo> mSubInfoList = null;
    private List<SubscriptionInfo> mSelectableSubInfos = null;

    private SubInfoRecord mCellularData = null;
    private SubInfoRecord mCalls = null;
    private SubInfoRecord mSMS = null;
    private SubscriptionInfo mCellularData = null;
    private SubscriptionInfo mCalls = null;
    private SubscriptionInfo mSMS = null;

    private PreferenceCategory mSimCards = null;

@@ -125,7 +125,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
        super.onCreate(bundle);

        if (mSubInfoList == null) {
            mSubInfoList = SubscriptionManager.getActiveSubInfoList();
            mSubInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
        }

        createPreferences();
@@ -141,11 +141,11 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
        mSimCards = (PreferenceCategory)findPreference(SIM_CARD_CATEGORY);

        final int numSlots = tm.getSimCount();
        mAvailableSubInfos = new ArrayList<SubInfoRecord>(numSlots);
        mSelectableSubInfos = new ArrayList<SubInfoRecord>();
        mAvailableSubInfos = new ArrayList<SubscriptionInfo>(numSlots);
        mSelectableSubInfos = new ArrayList<SubscriptionInfo>();
        mNumSims = 0;
        for (int i = 0; i < numSlots; ++i) {
            final SubInfoRecord sir = Utils.findRecordBySlotId(i);
            final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
            mSimCards.addPreference(new SimPreference(getActivity(), sir, i));
            mAvailableSubInfos.add(sir);
            if (sir != null) {
@@ -163,9 +163,9 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
        final int numSlots = tm.getSimCount();

        mNumSims = 0;
        mAvailableSubInfos = new ArrayList<SubInfoRecord>(numSlots);
        mAvailableSubInfos = new ArrayList<SubscriptionInfo>(numSlots);
        for (int i = 0; i < numSlots; ++i) {
            final SubInfoRecord sir = Utils.findRecordBySlotId(i);
            final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
            mAvailableSubInfos.add(sir);
            if (sir != null) {
                mNumSims++;
@@ -179,7 +179,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
    }

    private void updateSimSlotValues() {
        SubscriptionManager.getAllSubInfoList();
        SubscriptionManager.getAllSubscriptionInfoList();

        final int prefSize = mSimCards.getPreferenceCount();
        for (int i = 0; i < prefSize; ++i) {
@@ -198,7 +198,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable

    private void updateSmsValues() {
        final Preference simPref = findPreference(KEY_SMS);
        final SubInfoRecord sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultSmsSubId());
        final SubscriptionInfo sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultSmsSubId());
        simPref.setTitle(R.string.sms_messages_title);
        if (mSubInfoList.size() == 1) {
            simPref.setSummary(mSubInfoList.get(0).getDisplayName());
@@ -212,7 +212,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable

    private void updateCellularDataValues() {
        final Preference simPref = findPreference(KEY_CELLULAR_DATA);
        final SubInfoRecord sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultDataSubId());
        final SubscriptionInfo sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultDataSubId());
        simPref.setTitle(R.string.cellular_data_title);
        if (mSubInfoList.size() == 1) {
            simPref.setSummary(mSubInfoList.get(0).getDisplayName());
@@ -240,7 +240,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
    public void onResume() {
        super.onResume();

        mSubInfoList = SubscriptionManager.getActiveSubInfoList();
        mSubInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
        updateAvailableSubInfos();
        updateAllOptions();
    }
@@ -271,7 +271,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
                    @Override
                    public void onClick(DialogInterface dialog, int value) {

                        final SubInfoRecord sir;
                        final SubscriptionInfo sir;

                        if (id == DATA_PICK) {
                            sir = mSelectableSubInfos.get(value);
@@ -305,7 +305,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
            }
        } else {
            for (int i = 0; i < selectableSubInfoLength; ++i) {
                final SubInfoRecord sir = mSelectableSubInfos.get(i);
                final SubscriptionInfo sir = mSelectableSubInfos.get(i);
                CharSequence displayName = sir.getDisplayName();
                if (displayName == null) {
                    displayName = "";
@@ -379,7 +379,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
        }
    }

    private void setActivity(Preference preference, SubInfoRecord sir) {
    private void setActivity(Preference preference, SubscriptionInfo sir) {
        final String key = preference.getKey();

        if (key.equals(KEY_CELLULAR_DATA)) {
@@ -394,11 +394,11 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
    }

    private class SimPreference extends Preference{
        private SubInfoRecord mSubInfoRecord;
        private SubscriptionInfo mSubInfoRecord;
        private int mSlotId;
        private int[] tintArr;

        public SimPreference(Context context, SubInfoRecord subInfoRecord, int slotId) {
        public SimPreference(Context context, SubscriptionInfo subInfoRecord, int slotId) {
            super(context);

            mSubInfoRecord = subInfoRecord;
@@ -438,7 +438,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
            }
        }

        public SubInfoRecord getSubInfoRecord() {
        public SubscriptionInfo getSubInfoRecord() {
            return mSubInfoRecord;
        }

@@ -528,13 +528,13 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
     * @param context The Context
     * @return Sorted Subscription List or NULL if no activated Subscription
     */
    public static List<SubInfoRecord> getSortedSubInfoList(Context context) {
        List<SubInfoRecord> infoList = SubscriptionManager.getActiveSubInfoList();
    public static List<SubscriptionInfo> getSortedSubInfoList(Context context) {
        List<SubscriptionInfo> infoList = SubscriptionManager.getActiveSubscriptionInfoList();
        if (infoList != null) {
            Collections.sort(infoList, new Comparator<SubInfoRecord>() {
            Collections.sort(infoList, new Comparator<SubscriptionInfo>() {

                @Override
                public int compare(SubInfoRecord arg0, SubInfoRecord arg1) {
                public int compare(SubscriptionInfo arg0, SubscriptionInfo arg1) {
                    int flag = arg0.getSimSlotIndex() - arg1.getSimSlotIndex();
                    if (flag == 0) {
                        return arg0.getSubscriptionId() - arg1.getSubscriptionId();