diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt
index 3a21049..606e46f 100644
--- a/src/com/android/settings/network/SimOnboardingActivity.kt
+++ b/src/com/android/settings/network/SimOnboardingActivity.kt
@@ -499,14 +499,13 @@
         SettingsAlertDialogWithIcon(
             onDismissRequest = cancelAction,
             confirmButton = AlertDialogButton(
-                getString(R.string.sim_onboarding_setup),
-                nextAction
+                text = getString(R.string.sim_onboarding_setup),
+                onClick = nextAction,
             ),
-            dismissButton =
-                AlertDialogButton(
-                    getString(R.string.sim_onboarding_close),
-                    cancelAction
-                ),
+            dismissButton = AlertDialogButton(
+                text = getString(R.string.sim_onboarding_close),
+                onClick = cancelAction,
+            ),
             title = stringResource(R.string.sim_onboarding_dialog_starting_title),
             icon = {
                 Icon(
diff --git a/src/com/android/settings/spa/app/ResetAppPreferences.kt b/src/com/android/settings/spa/app/ResetAppPreferences.kt
index 34c4145..2ce154c 100644
--- a/src/com/android/settings/spa/app/ResetAppPreferences.kt
+++ b/src/com/android/settings/spa/app/ResetAppPreferences.kt
@@ -19,11 +19,14 @@
 import android.os.UserManager
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.manageapplications.ResetAppsHelper
+import com.android.settings.network.telephony.CallStateRepository
 import com.android.settingslib.spa.widget.dialog.AlertDialogButton
 import com.android.settingslib.spa.widget.dialog.AlertDialogPresenter
 import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
@@ -35,9 +38,7 @@
 fun MoreOptionsScope.ResetAppPreferences(onClick: () -> Unit) {
     RestrictedMenuItem(
         text = stringResource(R.string.reset_app_preferences),
-        restrictions = remember {
-            Restrictions(keys = listOf(UserManager.DISALLOW_APPS_CONTROL))
-        },
+        restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_APPS_CONTROL)),
         onClick = onClick,
     )
 }
@@ -45,8 +46,15 @@
 @Composable
 fun rememberResetAppDialogPresenter(): AlertDialogPresenter {
     val context = LocalContext.current
+    // Reset app preference will dismiss all the notification, disable "Reset app preference" during
+    // call so in call notification not get dismissed.
+    val isInCall by remember { CallStateRepository(context).isInCallFlow() }
+        .collectAsStateWithLifecycle(initialValue = false)
     return rememberAlertDialogPresenter(
-        confirmButton = AlertDialogButton(stringResource(R.string.reset_app_preferences_button)) {
+        confirmButton = AlertDialogButton(
+            text = stringResource(R.string.reset_app_preferences_button),
+            enabled = !isInCall,
+        ) {
             ResetAppsHelper(context).resetApps()
         },
         dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
