library/src/main/java/com/liulishuo/filedownloader/FileDownloadLine.java
public void startForeground(final int id, final Notification notification) {
        if (FileDownloader.getImpl().isServiceConnected()) {
            FileDownloader.getImpl().startForeground(id, notification);
            return;
        }

        final ConnectSubscriber subscriber = new ConnectSubscriber() {
            @Override
            public void connected() {
                FileDownloader.getImpl().startForeground(id, notification);
            }

            @Override
            public Object getValue() {
                return null;
            }
        };

        wait(subscriber);
    }
public void startForeground(final int id, final Notification notification) {
        if (FileDownloader.getImpl().isServiceConnected()) {
            FileDownloader.getImpl().startForeground(id, notification);
            return;
        }

        final ConnectSubscriber subscriber = new ConnectSubscriber() {
            @Override
            public void connected() {
                FileDownloader.getImpl().startForeground(id, notification);
            }

            @Override
            public Object getValue() {
                return null;
            }
        };

        wait(subscriber);
    }
The {@link FileDownloader#startForeground(int, Notification)} request.