Disable Reset app preference during the call.

Bug: 395750645
Test: manual
Flag: EXEMPT Bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c6544f991faf8dd1abb0855dd5dcacb08f028e04)
Merged-In: If64b6c878b2f793c6852d000d9d90dda18ef2420
Change-Id: If64b6c878b2f793c6852d000d9d90dda18ef2420
This commit is contained in:
Fan Wu
2025-02-16 19:02:22 -08:00
parent 7ee0e07a50
commit 41bb05c7e9

View File

@@ -18,9 +18,11 @@ package com.android.settings.applications.manageapplications;
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 class ResetAppPrefPreferenceController extends AbstractPreferenceControll
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;
}
}