[Smart Forward] Avoid performing forwarding for CBRS subscription
Enable the support for CBRS subscription.
Bug: b/135607763
Test: Manual. Check if CBRS SIM not allowed to enable smart forward.
Change-Id: I800bf465ddac61881486afac980270b5de3663cc
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
index 0846be1..f4cd95d 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
@@ -8,7 +8,6 @@
import android.graphics.drawable.Icon;
import android.net.sip.SipManager;
import android.os.Bundle;
-import android.os.PersistableBundle;
import android.os.UserManager;
import android.preference.ListPreference;
import android.preference.Preference;
@@ -39,6 +38,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
public class PhoneAccountSettingsFragment extends PreferenceFragment
implements Preference.OnPreferenceChangeListener,
@@ -558,12 +558,17 @@
List<SubscriptionInfo> subscriptions =
mSubscriptionManager.getActiveSubscriptionInfoList();
- if ((subscriptions == null) || (subscriptions.size() <= 1)) {
+ if (subscriptions == null) {
+ return null;
+ }
+ Stream<SubscriptionInfo> effectiveSubscriptions = subscriptions
+ .stream()
+ .filter(subInfo -> !subInfo.isOpportunistic());
+ if (effectiveSubscriptions.count() < 2) {
return null;
}
- List<String> componentNames = subscriptions
- .stream()
+ List<String> componentNames = effectiveSubscriptions
.map(subInfo -> configManager.getConfigForSubId(subInfo.getSubscriptionId()))
.filter(bundle -> (bundle != null))
.map(bundle -> bundle.getString(