[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(