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

Commit 0ce64e26 authored by Stuart Scott's avatar Stuart Scott Committed by Android (Google) Code Review
Browse files

Merge "Correct the way settings deals with subscriptions."

parents e5112fe7 f51d0063
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ public class ApnSettings extends SettingsPreferenceFragment implements
            setHasOptionsMenu(true);
        }

        mSubscriptionInfo = Utils.findRecordBySubId(activity, subId);
        mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId);
    }

    @Override
+8 −24
Original line number Diff line number Diff line
@@ -717,9 +717,9 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable

        int simCount = mTelephonyManager.getSimCount();

        for (int i = 0; i < simCount; i++) {
            final SubscriptionInfo sir = Utils.findRecordBySlotId(context, i);
            if (sir != null) {
        List<SubscriptionInfo> sirs = mSubscriptionManager.getActiveSubscriptionInfoList();
        if (sirs != null) {
            for (SubscriptionInfo sir : sirs) {
                addMobileTab(context, sir, (simCount > 1));
            }
        }
@@ -880,8 +880,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
        if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
            final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
                    mCurrentTab.length()));
            final SubscriptionInfo sir = com.android.settings.Utils.findRecordBySlotId(context,
                    slotId);
            final SubscriptionInfo sir = mSubscriptionManager
                    .getActiveSubscriptionInfoForSimSlotIndex(slotId);

            if (sir != null) {
                seriesColor = sir.getIconTint();
@@ -1245,8 +1245,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
            return;
        }

        final SubscriptionInfo nextSir = mSubscriptionManager.getActiveSubscriptionInfo(
                mSubscriptionManager.getDefaultDataSubId());
        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();

        // If the device is single SIM or is enabling data on the active data SIM then forgo
        // the pop-up.
@@ -2784,22 +2783,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
            return -1;
        }

        //SUB SELECT
        private boolean isMobileDataAvailable(long subId) {
            int[] subIds = SubscriptionManager.getSubId(PhoneConstants.SUB1);
            if (subIds != null && subIds[0] == subId) {
                return true;
            }

            subIds = SubscriptionManager.getSubId(PhoneConstants.SUB2);
            if (subIds != null && subIds[0] == subId) {
                return true;
            }

            subIds = SubscriptionManager.getSubId(PhoneConstants.SUB3);
            if (subIds != null && subIds[0] == subId) {
                return true;
            }
            return false;
        private boolean isMobileDataAvailable(int subId) {
            return mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
        }
}
+5 −3
Original line number Diff line number Diff line
@@ -212,14 +212,15 @@ public class IccLockSettings extends InstrumentedPreferenceActivity
            mTabHost.setOnTabChangedListener(mTabListener);
            mTabHost.clearAllTabs();

            SubscriptionManager sm = SubscriptionManager.from(this);
            for (int i = 0; i < numSims; ++i) {
                final SubscriptionInfo subInfo = Utils.findRecordBySlotId(this, i);
                final SubscriptionInfo subInfo = sm.getActiveSubscriptionInfoForSimSlotIndex(i);
                mTabHost.addTab(buildTabSpec(String.valueOf(i),
                        String.valueOf(subInfo == null
                            ? context.getString(R.string.sim_editor_title, i + 1)
                            : subInfo.getDisplayName())));
            }
            final SubscriptionInfo sir = Utils.findRecordBySlotId(getBaseContext(), 0);
            final SubscriptionInfo sir = sm.getActiveSubscriptionInfoForSimSlotIndex(0);

            mPhone = (sir == null) ? null
                : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
@@ -476,7 +477,8 @@ public class IccLockSettings extends InstrumentedPreferenceActivity
        @Override
        public void onTabChanged(String tabId) {
            final int slotId = Integer.parseInt(tabId);
            final SubscriptionInfo sir = Utils.findRecordBySlotId(getBaseContext(), slotId);
            final SubscriptionInfo sir = SubscriptionManager.from(getBaseContext())
                    .getActiveSubscriptionInfoForSimSlotIndex(slotId);

            mPhone = (sir == null) ? null
                : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
+0 −43
Original line number Diff line number Diff line
@@ -1028,49 +1028,6 @@ 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 SubscriptionInfo findRecordBySubId(Context context, final int subId) {
        final List<SubscriptionInfo> subInfoList =
                SubscriptionManager.from(context).getActiveSubscriptionInfoList();
        if (subInfoList != null) {
            final int subInfoLength = subInfoList.size();

            for (int i = 0; i < subInfoLength; ++i) {
                final SubscriptionInfo 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 SubscriptionInfo findRecordBySlotId(Context context, final int slotId) {
        final List<SubscriptionInfo> subInfoList =
                SubscriptionManager.from(context).getActiveSubscriptionInfoList();
        if (subInfoList != null) {
            final int subInfoLength = subInfoList.size();

            for (int i = 0; i < subInfoLength; ++i) {
                final SubscriptionInfo sir = subInfoList.get(i);
                if (sir.getSimSlotIndex() == slotId) {
                    //Right now we take the first subscription on a SIM.
                    return sir;
                }
            }
        }

        return null;
    }

    /**
     * Queries for the UserInfo of a user. Returns null if the user doesn't exist (was removed).
     * @param userManager Instance of UserManager
+2 −4
Original line number Diff line number Diff line
@@ -89,10 +89,8 @@ public class ImeiInformation extends InstrumentedPreferenceActivity {
                    removePreferenceFromScreen(KEY_ICC_ID);
                }
            } else {
                setSummaryText(KEY_IMEI, phone.getDeviceId());
                setSummaryText(KEY_IMEI_SV,
                        ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
                        .getDeviceSoftwareVersion(phoneId));
                setSummaryText(KEY_IMEI, phone.getImei());
                setSummaryText(KEY_IMEI_SV, phone.getDeviceSvn());
                // device is not CDMA, do not display CDMA features
                // check Null in case no specified preference in overlay xml
                removePreferenceFromScreen(KEY_PRL_VERSION);
Loading