Skip to content

Instantly share code, notes, and snippets.

@seyedjafariy
seyedjafariy / CoreComponentExtension
Created May 6, 2019 23:46
extensions file to ease the usages of Dagger dependencies
fun Context.coreComponent(): CoreComponent =
if (applicationContext is CoreComponentProvider) {
(applicationContext as CoreComponentProvider).core()
} else {
throw IllegalArgumentException("app class must implement CoreComponentProvider")
}
fun View.coreComponent(): CoreComponent =
context.coreComponent()
@seyedjafariy
seyedjafariy / DaggerCoreComponent
Created May 3, 2019 06:49
creating a CoreComponent in core module
import android.app.Application
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import dagger.Component
import dagger.Module
import javax.inject.Singleton
//these live in core module
@Module
object CoreModule {
@seyedjafariy
seyedjafariy / NormalDaggerSetup
Created May 3, 2019 06:34
A simple dagger setup in a single module
import android.app.Application
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import dagger.Component
import dagger.Module
import javax.inject.Singleton
@Module
object AppModule{
@seyedjafariy
seyedjafariy / ObservableThrottleTimeExample.java
Created March 18, 2018 06:17
Reactive Operators Example-4
Observable.create(searchEvents)
.throttle(10, TimeUnit.SECONDS)
.subscribe(new Consumer<events>() {
@Override
public void accept(Events events) throws Exception {
}
});
@seyedjafariy
seyedjafariy / ObservableBufferExample.java
Created March 18, 2018 06:16
Reactive Operators Example-3
Observable.range(0, 50)
.buffer(10)
.subscribe(integers -> {
Log.d("tag", "list size recevied after buffering: "+integers.size());
});
@seyedjafariy
seyedjafariy / ObservableDistinctExample.java
Created March 18, 2018 06:15
Reactive Operators Example-2
List<Integer> ints = Arrays.asList(1, 4, 7, 5, 1, 5, 4, 5, 1, 7);
Observable.fromIterable(ints)
.distinct()
.filter(integer-> integer % 2 == 0)
.subscribe();
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
for (int i = 0; i > 10; i++) {
@seyedjafariy
seyedjafariy / ObservableSchedulerExample.java
Created March 18, 2018 06:13
Reactive Operators Example-1
Observable.just("Schedulers Test")
.subscribeOn(Schedulers.computation())
.subscribeOn(Schedulers.io())
.subscribeOn(Schedulers.single())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
@seyedjafariy
seyedjafariy / ObservableBufferExample.java
Last active March 12, 2018 20:48
Reactive Extensions Persuasion part_1
Observable.range(0, 50)
.buffer(10)
.subscribe(integers -> {
Log.d("tag", "list size recevied after buffering: "+integers.size());
});