Merge 24Q4 (ab/12406339) into aosp-main-future

Bug: 370570306
Merged-In: I4c21309c0898a52332be8e9f9483c92b59cc08c5
Change-Id: I2fe0c8c058bb49e22f3b61177918fd66195e71dd
diff --git a/Android.bp b/Android.bp
index c2872ca..fe33720 100644
--- a/Android.bp
+++ b/Android.bp
@@ -27,9 +27,6 @@
         "telephony-common",
         "app-compat-annotations",
     ],
-    static_libs: [
-        "telephony_flags_core_java_lib",
-    ],
     srcs: [
         "src/**/*.java",
         ":statslog-ons-java-gen",
diff --git a/src/com/android/ons/ONSProfileSelector.java b/src/com/android/ons/ONSProfileSelector.java
index d9e5d07..ba2c877 100644
--- a/src/com/android/ons/ONSProfileSelector.java
+++ b/src/com/android/ons/ONSProfileSelector.java
@@ -323,7 +323,13 @@
         return null;
     }
 
-    public boolean isOpprotunisticSub(int subId) {
+    /**
+     * Return whether the subId is for an opportunistic subscription.
+     *
+     * @param subId the subId of the subscription.
+     * @return true if the subscription is opportunistic
+     */
+    public boolean isOpportunisticSub(int subId) {
         if ((mOppSubscriptionInfos == null) || (mOppSubscriptionInfos.size() == 0)) {
             return false;
         }
@@ -344,7 +350,7 @@
         }
 
         for (AvailableNetworkInfo availableNetworkInfo : availableNetworks) {
-            if (!isOpprotunisticSub(availableNetworkInfo.getSubId())) {
+            if (!isOpportunisticSub(availableNetworkInfo.getSubId())) {
                 return false;
             }
         }
@@ -840,7 +846,7 @@
     public void selectProfileForData(int subId, boolean needValidation,
             ISetOpportunisticDataCallback callbackStub) {
         if ((subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID)
-                || (isOpprotunisticSub(subId) && mSubscriptionManager.isActiveSubId(subId))) {
+                || (isOpportunisticSub(subId) && mSubscriptionManager.isActiveSubId(subId))) {
             try {
                 mSubscriptionManager.setPreferredDataSubscriptionId(subId, needValidation,
                         mHandler::post, result -> sendSetOpptCallbackHelper(callbackStub, result));
@@ -862,7 +868,7 @@
             log("Inactive sub passed for preferred data " + subId);
             if (Compatibility.isChangeEnabled(
                     OpportunisticNetworkService.CALLBACK_ON_MORE_ERROR_CODE_CHANGE)) {
-                if (isOpprotunisticSub(subId)) {
+                if (isOpportunisticSub(subId)) {
                     sendSetOpptCallbackHelper(callbackStub,
                             TelephonyManager.SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION);
                 } else {
@@ -877,7 +883,10 @@
     }
 
     public int getPreferredDataSubscriptionId() {
-        return mSubscriptionManager.getPreferredDataSubscriptionId();
+        final int preferredDataSubId = mSubscriptionManager.getPreferredDataSubscriptionId();
+        return isOpportunisticSub(preferredDataSubId)
+            ? preferredDataSubId
+            : SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
     }
 
     /**