Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41bb05c7 authored by Fan Wu's avatar Fan Wu
Browse files

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
parent 7ee0e07a
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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;
    }
}