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

Commit e55ef9e6 authored by Makoto Onuki's avatar Makoto Onuki
Browse files

Fix potential issue in I3d791ce1f536680a9ca0db2c387f3aad36eda17f

Bug 7164046

Change-Id: I5948d40c1da68c985cc4b7539c24b883b75d216d
parent 0da25efc
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -546,15 +546,27 @@ public class CallLogFragment extends ListFragment
     * Register a phone call filter to reset the call type when a phone call is place.
     */
    private void registerPhoneCallReceiver() {
        if (mPhoneStateListener != null) {
            return; // Already registered.
        }
        mTelephonyManager = (TelephonyManager) getActivity().getSystemService(
                Context.TELEPHONY_SERVICE);
        mPhoneStateListener = new PhoneStateListener() {
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                if (state == TelephonyManager.CALL_STATE_OFFHOOK ||
                        state == TelephonyManager.CALL_STATE_RINGING) {
                if (state != TelephonyManager.CALL_STATE_OFFHOOK &&
                        state != TelephonyManager.CALL_STATE_RINGING) {
                    return;
                }
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (getActivity() == null || getActivity().isFinishing()) {
                            return;
                        }
                        updateFilterTypeAndHeader(CallLogQueryHandler.CALL_TYPE_ALL);
                    }
                 });
            }
        };
        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
@@ -566,6 +578,7 @@ public class CallLogFragment extends ListFragment
    private void unregisterPhoneCallReceiver() {
        if (mPhoneStateListener != null) {
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
            mPhoneStateListener = null;
        }
    }
}