New System API to launch SIM Preference in Setting

Bug: b/381319469
Test: Manual
FLAG: com.android.internal.telephony.flags.action_sim_preference_settings
Change-Id: I91815464a2462820de4f3db1bd59e6987910089d
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7d335c3..527e0dd 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -852,10 +852,15 @@
         </activity>
 
         <activity android:name=".network.SimOnboardingActivity"
-            android:exported="false"
+            android:exported="true"
             android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize"
             android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
-            android:theme="@style/Theme.SpaLib.BottomSheetDialog"/>
+            android:theme="@style/Theme.SpaLib.BottomSheetDialog">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.SIM_PREFERENCE_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+      </activity>
 
         <activity android:name=".network.telephony.ToggleSubscriptionDialogActivity"
                   android:exported="false"
diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt
index 8f9cc8f..023726a 100644
--- a/src/com/android/settings/network/SimOnboardingActivity.kt
+++ b/src/com/android/settings/network/SimOnboardingActivity.kt
@@ -106,6 +106,12 @@
         }
 
         var targetSubId = intent.getIntExtra(SUB_ID,SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        if (targetSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            targetSubId = intent.getIntExtra(
+              Settings.EXTRA_SUB_ID,
+              SubscriptionManager.INVALID_SUBSCRIPTION_ID
+            )
+        }
         initServiceData(this, targetSubId, callbackListener)
         if (!onboardingService.isUsableTargetSubscriptionId) {
             Log.e(TAG, "The subscription id is not usable.")
@@ -611,4 +617,4 @@
             CALLBACK_FINISH(5)
         }
     }
-}
\ No newline at end of file
+}