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

Commit 810d32c6 authored by kaiyiz's avatar kaiyiz Committed by Gerrit - the friendly Code Review server
Browse files

Dialer: Add null check for subId when get PhoneStateListener

NullPointerException occured when get element from null array.

Add null check for subId when get PhoneStateListener.

CRs-Fixed: 778276

Change-Id: Idfa780279905af794b97148232d42e856c2bb7a9
parent 96541246
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -2005,21 +2005,29 @@ public class DialpadFragment extends AnalyticsFragment

    private void listen() {
        for (int i = 0; i < mNumPhones; i++) {
            if (mPhoneStateListener[i] != null) {
                getTelephonyManager().listen(mPhoneStateListener[i],
                        PhoneStateListener.LISTEN_CALL_STATE);
            }
        }
    }

    private void stopListen() {
        for (int i = 0; i < mNumPhones; i++) {
            if (mPhoneStateListener[i] != null) {
                getTelephonyManager().listen(mPhoneStateListener[i],
                        PhoneStateListener.LISTEN_NONE);
            }
        }
    }

    private PhoneStateListener getPhoneStateListener(int phoneId) {
        long[] subId = SubscriptionManager.getSubId(phoneId);

        if (subId == null) {
            return null;
        }

        PhoneStateListener phoneStateListener = new PhoneStateListener(subId[0]) {
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {