code: public void peerConnectionDidOpenDataChannel(DataChannel newDataChannel) {
          if (null != dataChannel) {
              // Replacing the previous connection, so disable observer messages from the old instance
              dataChannel.unregisterObserver();
          } else {
              new Handler(Looper.getMainLooper()).post(new Runnable() {
                  public void run() {
                      if (null != listenerReference) {
                          Listener listener = listenerReference.get();
                          if (null != listener) {
                              listener.onStart(RespokeDirectConnection.this);
                          }
                      }
                  }
              });
          }
  
          dataChannel = newDataChannel;
          newDataChannel.registerObserver(this);
      }
docs: Notify the direct connection instance that the peer connection has opened the specified data channel
  
  @param newDataChannel    The DataChannel that has opened