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

Commit 0f471475 authored by Bonian Chen's avatar Bonian Chen
Browse files

[Settings] To avoid from crash when callback

Callback from SubscriptionManager and PhoneStateListner may comes in
under the case of Preference not available.

Bug: 141833767
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=Enhanced4gBasePreferenceControllerTest
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=VideoCallingPreferenceControllerTest
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Change-Id: I50b83b4488d272f6482bde5f09b57d59e6fc27a3
parent 90cce123
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -133,6 +133,9 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        if (preference == null) {
            return;
        }
        final SwitchPreference switchPreference = (SwitchPreference) preference;

        final VolteQueryImsState queryState = queryImsState(mSubId);
+2 −1
Original line number Diff line number Diff line
@@ -91,7 +91,8 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC
    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        if (mCallState == null) {
        if ((mCallState == null) || (preference == null)) {
            Log.d(TAG, "Skip update under mCallState=" + mCallState);
            return;
        }
        final SwitchPreference switchPreference = (SwitchPreference) preference;
+3 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.telephony.PhoneStateListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.ims.ImsMmTelManager;
import android.util.Log;

import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -98,7 +99,8 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont
    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        if (mCallState == null) {
        if ((mCallState == null) || (preference == null)) {
            Log.d(TAG, "Skip update under mCallState=" + mCallState);
            return;
        }
        CharSequence summaryText = null;