Skip to content

Commit d3d35dd

Browse files
committed
add composition of click event stream observables into MainActivity for test
1 parent 375d52a commit d3d35dd

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ dependencies {
4444
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
4545
implementation "org.jetbrains.anko:anko:$anko_version"
4646

47+
// Lombok
48+
compileOnly 'org.projectlombok:lombok:1.18.0'
49+
annotationProcessor 'org.projectlombok:lombok:1.18.0'
50+
4751
testImplementation 'junit:junit:4.12'
4852
androidTestImplementation 'com.android.support.test:runner:1.0.2'
4953
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

app/src/main/java/com/buzzbil/rxandroidsample/activity/RxViewActivity.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,28 @@
1111
import com.jakewharton.rxbinding2.widget.RxCompoundButton;
1212

1313
import io.reactivex.Observable;
14+
import io.reactivex.disposables.CompositeDisposable;
1415
import io.reactivex.disposables.Disposable;
1516
import io.reactivex.functions.BiFunction;
1617
import io.reactivex.functions.Consumer;
1718
import io.reactivex.functions.Predicate;
1819

1920
public class RxViewActivity extends AppCompatActivity {
2021

22+
CompositeDisposable compositeDisposable = new CompositeDisposable();
23+
2124
@Override
2225
protected void onCreate(Bundle savedInstanceState) {
2326
super.onCreate(savedInstanceState);
2427
setContentView(R.layout.activity_rx_view);
2528

2629
Button button = findViewById(R.id.rx_view_btn);
2730
Observable<Object> clickObs = RxView.clicks(button);
28-
29-
3031
CheckBox checkBox = findViewById(R.id.rx_view_checkbox);
3132
Observable<Boolean> checkedTrueObs = RxCompoundButton.checkedChanges(checkBox)
3233
.skipInitialValue();
3334

34-
Disposable subscribe = clickObs
35+
Disposable disposable = clickObs
3536
// 클릭 스트림에 체크 스트림의 마지막 값을 조합해서 새로운 스트림을 만든다.
3637
.withLatestFrom(checkedTrueObs, new BiFunction<Object, Boolean, Boolean>() {
3738
@Override
@@ -54,5 +55,13 @@ public void accept(Object o) throws Exception {
5455
Toast.makeText(RxViewActivity.this, "result : " + o, Toast.LENGTH_SHORT).show();
5556
}
5657
});
58+
59+
compositeDisposable.add(disposable);
60+
}
61+
62+
@Override
63+
protected void onDestroy() {
64+
super.onDestroy();
65+
compositeDisposable.clear();
5766
}
5867
}

app/src/main/java/com/buzzbil/rxandroidsample/activity/RxViewKtActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class RxViewKtActivity : AppCompatActivity() {
1717
setContentView(R.layout.activity_rx_view)
1818

1919
val clicks = RxView.clicks(find(R.id.rx_view_btn))
20+
2021
val checkedChanges = RxCompoundButton.checkedChanges(find(R.id.rx_view_checkbox))
2122

2223
clicks

0 commit comments

Comments
 (0)