rx3-timer

This is a simple rxjava2/rxjava3/kotlin-flow timer.

License

License

GroupId

GroupId

com.github.thepacific
ArtifactId

ArtifactId

rx3-timer
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

aar
Description

Description

rx3-timer
This is a simple rxjava2/rxjava3/kotlin-flow timer.
Project URL

Project URL

https://github.com/thepacific/timer
Source Code Management

Source Code Management

https://github.com/thepacific/timer

Download rx3-timer

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.thepacific/rx3-timer/ -->
<dependency>
    <groupId>com.github.thepacific</groupId>
    <artifactId>rx3-timer</artifactId>
    <version>1.0.0</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.thepacific/rx3-timer/
implementation 'com.github.thepacific:rx3-timer:1.0.0'
// https://jarcasting.com/artifacts/com.github.thepacific/rx3-timer/
implementation ("com.github.thepacific:rx3-timer:1.0.0")
'com.github.thepacific:rx3-timer:aar:1.0.0'
<dependency org="com.github.thepacific" name="rx3-timer" rev="1.0.0">
  <artifact name="rx3-timer" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.github.thepacific', module='rx3-timer', version='1.0.0')
)
libraryDependencies += "com.github.thepacific" % "rx3-timer" % "1.0.0"
[com.github.thepacific/rx3-timer "1.0.0"]

Dependencies

runtime (2)

Group / Artifact Type Version
io.reactivex.rxjava3 : rxandroid jar 3.0.0
io.reactivex.rxjava3 : rxjava jar 3.0.5

Project Modules

There are no modules declared in this project.

This is a simple rxjava2/rxjava3/kotlin-flow timer. I copy this class into all the little apps I make. I'm tired of doing it. Now it's a library

Download

Usage

timer = Rx2Timer.builder()
                .initialDelay(0) //default is 0
                .period(1) //default is 1
                .take(30) //default is 60
                .unit(TimeUnit.SECONDS) // default is TimeUnit.SECONDS
                .onEmit(count -> {
                    if (count < 10) {
                        binding.text.setText("0" + count + " s");
                    } else {
                        binding.text.setText(count + " s");
                    }
                })
                .onError(e -> binding.text.setText(R.string.count))
                .onComplete(() -> binding.text.setText(R.string.count))
                .build();

timer.start();
timer.stop();
timer.restart();
timer.pause();
timer.resume();
                

Gradle

// rxjava2
implementation 'com.github.thepacific:rx2-timer:1.0.0'
// rxjava3
implementation 'com.github.thepacific:rx3-timer:1.0.0'

License

The MIT License

com.github.thepacific

thepacific

Thepacific Corp

Versions

Version
1.0.0