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

Commit 588611ee authored by Wink Saville's avatar Wink Saville Committed by Android (Google) Code Review
Browse files

Merge "Update SubscriptionManager API as per API council." into lmp-mr1-dev

parents ceceb2ab ca756612
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;

@@ -372,9 +372,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();