Merge "Disable Reset app preference during the call." into main
diff --git a/src/com/android/settings/applications/manageapplications/ResetAppPrefPreferenceController.java b/src/com/android/settings/applications/manageapplications/ResetAppPrefPreferenceController.java
index 6ef4593..e7bf62f 100644
--- a/src/com/android/settings/applications/manageapplications/ResetAppPrefPreferenceController.java
+++ b/src/com/android/settings/applications/manageapplications/ResetAppPrefPreferenceController.java
@@ -18,9 +18,11 @@
 
 import android.content.Context;
 import android.os.Bundle;
+import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -70,4 +72,19 @@
     public void onSaveInstanceState(Bundle outState) {
         mResetAppsHelper.onSaveInstanceState(outState);
     }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference != null) {
+            preference.setEnabled(!isInCallState());
+        }
+    }
+
+    boolean isInCallState() {
+        TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
+        return telephonyManager.getCallState(telephonyManager.getSubscriptionId())
+                != TelephonyManager.CALL_STATE_IDLE;
+    }
 }