Skip to content
This repository was archived by the owner on Aug 17, 2020. It is now read-only.

Commit ac27420

Browse files
Alec StrongAlec Strong
authored andcommitted
Merge pull request #51 from square/jw/latest-rx
Latest RxJava, RxAndroid, and add RxBinding to replace old RxAndroid things.
2 parents 31c198c + 28f5e43 commit ac27420

File tree

5 files changed

+23
-31
lines changed

5 files changed

+23
-31
lines changed

build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ ext {
2929
timber = 'com.jakewharton.timber:timber:2.7.1'
3030
autoParcel = 'com.github.frankiesardo:auto-parcel:0.3'
3131
autoParcelProcessor = 'com.github.frankiesardo:auto-parcel-processor:0.3'
32-
rxJava = 'io.reactivex:rxjava:1.0.13'
33-
rxAndroid = 'io.reactivex:rxandroid:0.25.0'
32+
rxJava = 'io.reactivex:rxjava:1.0.14'
33+
rxAndroid = 'io.reactivex:rxandroid:1.0.1'
34+
rxBinding = 'com.jakewharton.rxbinding:rxbinding:0.2.0'
3435
truth = 'com.google.truth:truth:0.27'
3536
findbugsJsr305 = 'com.google.code.findbugs:jsr305:3.0.0'
3637
findbugsAnnotations = 'com.google.code.findbugs:annotations:3.0.0'

sqlbrite-sample/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ dependencies {
2121
// Third-party dependencies.
2222
compile rootProject.ext.butterKnife
2323
compile rootProject.ext.timber
24+
compile rootProject.ext.rxJava
2425
compile rootProject.ext.rxAndroid
26+
compile rootProject.ext.rxBinding
2527
compile rootProject.ext.autoParcel
2628
apt rootProject.ext.autoParcelProcessor
2729

@@ -54,7 +56,7 @@ android {
5456
}
5557

5658
defaultConfig {
57-
minSdkVersion 9
59+
minSdkVersion 14
5860
targetSdkVersion 23
5961
applicationId 'com.example.sqlbrite.todo'
6062

sqlbrite-sample/src/main/java/com/example/sqlbrite/todo/ui/ItemsFragment.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@
3535
import com.example.sqlbrite.todo.db.Db;
3636
import com.example.sqlbrite.todo.db.TodoItem;
3737
import com.example.sqlbrite.todo.db.TodoList;
38+
import com.jakewharton.rxbinding.widget.AdapterViewItemClickEvent;
39+
import com.jakewharton.rxbinding.widget.RxAdapterView;
3840
import com.squareup.sqlbrite.BriteDatabase;
3941
import javax.inject.Inject;
4042
import rx.Observable;
4143
import rx.android.schedulers.AndroidSchedulers;
42-
import rx.android.widget.OnItemClickEvent;
43-
import rx.android.widget.WidgetObservable;
4444
import rx.functions.Action1;
4545
import rx.functions.Func1;
4646
import rx.functions.Func2;
@@ -136,11 +136,10 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
136136
listView.setEmptyView(emptyView);
137137
listView.setAdapter(adapter);
138138

139-
WidgetObservable.itemClicks(listView) //
140-
.subscribeOn(AndroidSchedulers.mainThread())
139+
RxAdapterView.itemClickEvents(listView) //
141140
.observeOn(Schedulers.io())
142-
.subscribe(new Action1<OnItemClickEvent>() {
143-
@Override public void call(OnItemClickEvent event) {
141+
.subscribe(new Action1<AdapterViewItemClickEvent>() {
142+
@Override public void call(AdapterViewItemClickEvent event) {
144143
boolean newValue = !adapter.getItem(event.position()).complete();
145144
db.update(TodoItem.TABLE, new TodoItem.Builder().complete(newValue).build(),
146145
TodoItem.ID + " = ?", String.valueOf(event.id()));

sqlbrite-sample/src/main/java/com/example/sqlbrite/todo/ui/NewItemFragment.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@
2929
import com.example.sqlbrite.todo.R;
3030
import com.example.sqlbrite.todo.TodoApp;
3131
import com.example.sqlbrite.todo.db.TodoItem;
32+
import com.jakewharton.rxbinding.widget.RxTextView;
3233
import com.squareup.sqlbrite.BriteDatabase;
3334
import javax.inject.Inject;
3435
import rx.Observable;
35-
import rx.android.schedulers.AndroidSchedulers;
36-
import rx.android.widget.OnTextChangeEvent;
37-
import rx.android.widget.WidgetObservable;
3836
import rx.functions.Action1;
3937
import rx.functions.Func2;
4038
import rx.schedulers.Schedulers;
@@ -72,15 +70,12 @@ private long getListId() {
7270
View view = LayoutInflater.from(context).inflate(R.layout.new_item, null);
7371

7472
EditText name = findById(view, android.R.id.input);
75-
Observable<OnTextChangeEvent> nameText = WidgetObservable.text(name);
76-
77-
Observable.combineLatest(createClicked, nameText,
78-
new Func2<String, OnTextChangeEvent, String>() {
79-
@Override public String call(String ignored, OnTextChangeEvent event) {
80-
return event.text().toString();
73+
Observable.combineLatest(createClicked, RxTextView.textChanges(name),
74+
new Func2<String, CharSequence, String>() {
75+
@Override public String call(String ignored, CharSequence text) {
76+
return text.toString();
8177
}
8278
}) //
83-
.subscribeOn(AndroidSchedulers.mainThread())
8479
.observeOn(Schedulers.io())
8580
.subscribe(new Action1<String>() {
8681
@Override public void call(String description) {
@@ -98,7 +93,7 @@ private long getListId() {
9893
}
9994
})
10095
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
101-
@Override public void onClick(DialogInterface dialog, int which) {
96+
@Override public void onClick(@NonNull DialogInterface dialog, int which) {
10297
}
10398
})
10499
.create();

sqlbrite-sample/src/main/java/com/example/sqlbrite/todo/ui/NewListFragment.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@
2929
import com.example.sqlbrite.todo.R;
3030
import com.example.sqlbrite.todo.TodoApp;
3131
import com.example.sqlbrite.todo.db.TodoList;
32+
import com.jakewharton.rxbinding.widget.RxTextView;
3233
import com.squareup.sqlbrite.BriteDatabase;
3334
import javax.inject.Inject;
3435
import rx.Observable;
35-
import rx.android.schedulers.AndroidSchedulers;
36-
import rx.android.widget.OnTextChangeEvent;
37-
import rx.android.widget.WidgetObservable;
3836
import rx.functions.Action1;
3937
import rx.functions.Func2;
4038
import rx.schedulers.Schedulers;
@@ -61,15 +59,12 @@ public static NewListFragment newInstance() {
6159
View view = LayoutInflater.from(context).inflate(R.layout.new_list, null);
6260

6361
EditText name = findById(view, android.R.id.input);
64-
Observable<OnTextChangeEvent> nameText = WidgetObservable.text(name);
65-
66-
Observable.combineLatest(createClicked, nameText,
67-
new Func2<String, OnTextChangeEvent, String>() {
68-
@Override public String call(String ignored, OnTextChangeEvent event) {
69-
return event.text().toString();
62+
Observable.combineLatest(createClicked, RxTextView.textChanges(name),
63+
new Func2<String, CharSequence, String>() {
64+
@Override public String call(String ignored, CharSequence text) {
65+
return text.toString();
7066
}
7167
}) //
72-
.subscribeOn(AndroidSchedulers.mainThread())
7368
.observeOn(Schedulers.io())
7469
.subscribe(new Action1<String>() {
7570
@Override public void call(String name) {
@@ -86,7 +81,7 @@ public static NewListFragment newInstance() {
8681
}
8782
})
8883
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
89-
@Override public void onClick(DialogInterface dialog, int which) {
84+
@Override public void onClick(@NonNull DialogInterface dialog, int which) {
9085
}
9186
})
9287
.create();

0 commit comments

Comments
 (0)