title: TelephonyManager.CALL_STATE_RINGING calls twice while one call ringing
body: <p>I use descendant - class of PhoneStateListener:</p>
  
  <pre><code> class CallStateListener extends PhoneStateListener {
  @Override
  public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                if (incomingNumber!=null)
                {
                  // code for incoming call handling
                }
  
  
            break;           
  
        }
        super.onCallStateChanged(state, incomingNumber);
    }
  </code></pre>
  
  <p>this is my BroadcastReceiver: </p>
  
  <pre><code>class ServiceReceiver extends BroadcastReceiver {
       CallStateListener phoneListener;
      @Override
      public void onReceive(final Context context, Intent intent) {
  
          if (phoneListener == null) {
              phoneListener = CallStateListener.getCallStateInstance(context);
  
  
              TelephonyManagerSingletone.getInstance().getTelephonyManager().listen(CallStateListener.getCallStateInstance(context),
                      android.telephony.PhoneStateListener.LISTEN_CALL_STATE);
  
  
          }   
  }
  </code></pre>
  
  <p>manifest: </p>
  
  <pre><code>  &lt;receiver android:name="com.library.ServiceReceiver" &gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.PHONE_STATE" /&gt;
              &lt;action android:name="android.intent.action.NEW_OUTGOING_CALL"/&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  </code></pre>
  
  <p>but when I use it like this, I receive duplicate call in my CallStateListener. How can I fix this? </p>