/** * Returns subscription that were set via {@link #setActiveSubscriptionInfoList} if it can find * one with the specified id or null if none found. */ @Implementation(minSdk = LOLLIPOP_MR1) protected SubscriptionInfo getActiveSubscriptionInfo(int subId) { if (subscriptionList == null) { return null; } for (SubscriptionInfo info : subscriptionList) { if (info.getSubscriptionId() == subId) { return info; } } return null; }
/** Returns subscription Ids that were set via {@link #setActiveSubscriptionInfoList}. */ @Implementation(minSdk = LOLLIPOP_MR1) @HiddenApi protected int[] getActiveSubscriptionIdList() { final List<SubscriptionInfo> infos = getActiveSubscriptionInfoList(); if (infos == null) { return new int[0]; } int[] ids = new int[infos.size()]; for (int i = 0; i < infos.size(); i++) { ids[i] = infos.get(i).getSubscriptionId(); } return ids; }
/** * Returns subscription that were set via {@link #setActiveSubscriptionInfoList} if it can find * one with the specified id or null if none found. */ @Implementation(minSdk = LOLLIPOP_MR1) protected SubscriptionInfo getActiveSubscriptionInfo(int subId) { if (subscriptionList == null) { return null; } for (SubscriptionInfo info : subscriptionList) { if (info.getSubscriptionId() == subId) { return info; } } return null; }
/** Returns subscription Ids that were set via {@link #setActiveSubscriptionInfoList}. */ @Implementation(minSdk = LOLLIPOP_MR1) @HiddenApi protected int[] getActiveSubscriptionIdList() { final List<SubscriptionInfo> infos = getActiveSubscriptionInfoList(); if (infos == null) { return new int[0]; } int[] ids = new int[infos.size()]; for (int i = 0; i < infos.size(); i++) { ids[i] = infos.get(i).getSubscriptionId(); } return ids; }
.append(si.getSimSlotIndex() + 1) .append('/') .append(si.getSubscriptionId()) .append(' ') .append(si.getCountryIso()) .append(' ') .append(si.getCarrierName()) .append(si.getSubscriptionId() == dataid ? " D" : "") .append(si.getSubscriptionId() == voiceid ? " V" : "") .append(si.getDataRoaming() == SubscriptionManager.DATA_ROAMING_ENABLE ? " R" : "") .append("\r\n");
@TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) private void fillDualSimList(PreferenceScreen preferenceScreen) { PreferenceCategory category = (PreferenceCategory) preferenceScreen.findPreference("sms_category"); ListPreference preference = (ListPreference) category.findPreference(Preferences.DUALSIM_SIM); List<String> simIds = new ArrayList<>(); List<String> simNames = new ArrayList<>(); simIds.add(String.valueOf(Preferences.VALUE_DEFAULT_SIM)); simNames.add(getString(R.string.sim_default)); SubscriptionManager subscriptionManager = SubscriptionManager.from(getActivity()); for (SubscriptionInfo subscriptionInfo : subscriptionManager.getActiveSubscriptionInfoList()) { simIds.add(String.valueOf(subscriptionInfo.getSubscriptionId())); simNames.add(getString(R.string.sim_name, subscriptionInfo.getSimSlotIndex() + 1, subscriptionInfo .getDisplayName())); } preference.setEntries(simNames.toArray(new String[simNames.size()])); preference.setEntryValues(simIds.toArray(new String[simIds.size()])); preference.setDefaultValue(String.valueOf(Preferences.VALUE_DEFAULT_SIM)); preference.setSummary(preference.getEntry()); }
@Override public void register() { if (telephonyManager != null) { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1 && subscriptionManager != null) { if (networkListener == null) { int index = 0; for (SubscriptionInfo info : subscriptionManager.getActiveSubscriptionInfoList()) { if (info.getSimSlotIndex() > index) { networkListener = new NetworkListener(info.getSubscriptionId()); index = info.getSimSlotIndex(); } } } } if (networkListener != null) telephonyManager.listen(networkListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); } } isRegistered = true; }
int subId = sub.getSubscriptionId(); newConfigMap.put(subId, new MmsConfig(subContext, subId));
if (subInfoRecords.size() == 1) { adapter.add(new AdapterEntry(getString(R.string.import_from_sim), R.string.import_from_sim, subInfoRecords.get(0).getSubscriptionId())); } else { for (SubscriptionInfo record : subInfoRecords) { adapter.add(new AdapterEntry(getSubDescription(record), R.string.import_from_sim, record.getSubscriptionId()));