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
+}