public void start()

in sdk/communication/azure-communication-chat/src/main/java/com/azure/android/communication/chat/implementation/notifications/signaling/CommunicationSignalingClient.java [106:148]


    public void start(Context context, Consumer<Throwable> errorHandler) {
        ISkypetokenProvider skypetokenProvider = new ISkypetokenProvider() {
            @Override
            public String getSkypetoken(boolean forceRefresh) {
                if (forceRefresh) {
                    tokenFetchRetries += 1;
                    if (tokenFetchRetries > NotificationUtils.MAX_TOKEN_FETCH_RETRY_COUNT) {
                        stop();
                        Throwable throwable =
                            new Throwable("Access token is expired and failed to fetch a valid one after "
                                + NotificationUtils.MAX_TOKEN_FETCH_RETRY_COUNT + " retries.");
                        logger.logThrowableAsError(throwable);
                        errorHandler.accept(throwable);
                        return null;
                    }
                } else {
                    tokenFetchRetries = 0;
                }

                String skypeUserToken = null;
                try {
                    skypeUserToken = communicationTokenCredential.getToken().get().getToken();
                } catch (InterruptedException | ExecutionException e) {
                    logger.error("Get skype user token failed for realtime notification: " + e.getMessage());
                    // Return a empty but not null skype user token to trigger retry
                    skypeUserToken = "";
                }

                return skypeUserToken;
            }
        };

        String skypeUserToken = null;
        try {
            skypeUserToken = communicationTokenCredential.getToken().get().getToken();
        } catch (InterruptedException | ExecutionException e) {
            logger.error("Get skype user token failed for realtime notification: " + e.getMessage());
            errorHandler.accept(e);
            return;
        }

        start(context, skypetokenProvider, skypeUserToken);
    }