AndroidButtonProgress icon indicating copy to clipboard operation
AndroidButtonProgress copied to clipboard

Any Example of actual file download from URL?

Open tusharkshirsagar2021 opened this issue 4 years ago • 2 comments

If anyone implemented this?

tusharkshirsagar2021 avatar Jul 26 '21 05:07 tusharkshirsagar2021

public class DownloadFileTask implements Runnable {
    private Handler handler;
    private DownloadButtonProgress btnProgress;
    private int progress = 0;
    public DownloadFileTask(Handler handler, DownloadButtonProgress btnProgress)
    {
        this.handler = handler;
        this.btnProgress = btnProgress;
    }
    @Override
    public void run() {
        try {
            setBtnIndeterminate();
            Thread.sleep(2000);
            setBtnDeterminate();
            while (progress <= 100) {
                Thread.sleep(30);
                progress++;
                setBtnProgress();
            }
            setBtnFinish();
        } catch ( InterruptedException e) {
            e.printStackTrace();
        }
    }
    private void setBtnIndeterminate() {

        handler.post(new Runnable() {
            @Override
            public void run () {
                // make operation on the UI - for example
                // on a progress bar.
                btnProgress.setIndeterminate();
            }
        });
    }

    private void setBtnDeterminate() {

        handler.post(new Runnable() {
            @Override
            public void run () {
                // make operation on the UI - for example
                // on a progress bar.
                btnProgress.setDeterminate();
            }
        });

    }

    private void setBtnProgress() {


        handler.post(new Runnable() {
            @Override
            public void run () {
                // make operation on the UI - for example
                // on a progress bar.
                btnProgress.setCurrentProgress(progress);
            }
        });
    }

    private void setBtnFinish() {
        handler.post(new Runnable() {
            @Override
            public void run () {
                // make operation on the UI - for example
                // on a progress bar.
                btnProgress.setFinish();
            }
        });

    }
}

Java version of sample.kt if anyone looking for

tusharkshirsagar2021 avatar Jul 26 '21 10:07 tusharkshirsagar2021

Call it like new Thread(new DownloadFileTask(handler, playpauseview).start();

tusharkshirsagar2021 avatar Jul 26 '21 10:07 tusharkshirsagar2021