Skip to content

Commit 3fd2dfb

Browse files
further changes
1 parent 8a2fcc5 commit 3fd2dfb

33 files changed

+139
-115
lines changed

app/build.gradle

+10-15
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@ buildscript {
44
jcenter()
55
}
66
dependencies {
7-
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
8-
// can be removed with android-gradle plugin is upgraded to 2.2
9-
// https://twitter.com/JakeWharton/status/760836175586267136
10-
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2'
7+
classpath 'me.tatarka:gradle-retrolambda:3.6.0'
118
}
129

1310
// Exclude the lombok version that the android plugin depends on.
@@ -19,10 +16,11 @@ apply plugin: 'me.tatarka.retrolambda'
1916
apply plugin: 'com.f2prateek.javafmt'
2017

2118
ext {
22-
okhttpVersion = "3.0.1"
23-
retrofitVersion = "2.0.0"
24-
sdkVersion = 24
25-
supportLibVersion = "25.2.0"
19+
okhttpVersion = '3.6.0'
20+
retrofitVersion = "2.2.0"
21+
sdkVersion = 25
22+
supportLibVersion = '25.3.0'
23+
leakCanaryVersion = '1.5'
2624
butterKnifeVersion = '8.5.1'
2725
}
2826

@@ -34,7 +32,7 @@ dependencies {
3432
compile 'com.github.kaushikgopal:CoreTextUtils:c703fa12b6'
3533
compile "com.jakewharton:butterknife:$butterKnifeVersion"
3634
annotationProcessor "com.jakewharton:butterknife-compiler:$butterKnifeVersion"
37-
compile 'com.jakewharton.timber:timber:2.4.2'
35+
compile 'com.jakewharton.timber:timber:4.5.1'
3836
compile "com.squareup.retrofit2:retrofit:${retrofitVersion}"
3937
compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}"
4038
compile "com.squareup.okhttp3:okhttp:${okhttpVersion}"
@@ -44,18 +42,15 @@ dependencies {
4442
// ----------------------------------
4543
// Rx dependencies
4644

47-
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
45+
compile 'io.reactivex.rxjava2:rxjava:2.0.7'
4846

4947
// Because RxAndroid releases are few and far between, it is recommended you also
5048
// explicitly depend on RxJava's latest version for bug fixes and new features.
5149
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
5250

53-
// libs like rxbinding + rxjava-math haven't been ported to RxJava 2.x yet, so this helps
54-
compile "com.github.akarnokd:rxjava2-interop:0.6.1"
55-
56-
compile 'io.reactivex:rxjava-math:1.0.0'
51+
compile "com.github.akarnokd:rxjava2-extensions:0.16.0"
5752
compile 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
58-
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
53+
compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
5954
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
6055

6156
// ----------------------------------

app/src/main/java/com/morihacky/android/rxjava/MainActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import android.os.Bundle;
44
import android.support.v4.app.Fragment;
5-
import android.support.v4.app.FragmentActivity;
5+
import android.support.v7.app.AppCompatActivity;
66
import com.morihacky.android.rxjava.fragments.MainFragment;
77
import com.morihacky.android.rxjava.fragments.RotationPersist1WorkerFragment;
88
import com.morihacky.android.rxjava.fragments.RotationPersist2WorkerFragment;
99
import com.morihacky.android.rxjava.rxbus.RxBus;
1010

11-
public class MainActivity extends FragmentActivity {
11+
public class MainActivity extends AppCompatActivity {
1212

1313
private RxBus _rxBus = null;
1414

app/src/main/java/com/morihacky/android/rxjava/MyApp.java

+6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ public static RefWatcher getRefWatcher() {
2323
public void onCreate() {
2424
super.onCreate();
2525

26+
if (LeakCanary.isInAnalyzerProcess(this)) {
27+
// This process is dedicated to LeakCanary for heap analysis.
28+
// You should not init your app in this process.
29+
return;
30+
}
31+
2632
_instance = (MyApp) getApplicationContext();
2733
_refWatcher = LeakCanary.install(this);
2834

app/src/main/java/com/morihacky/android/rxjava/fragments/BufferDemoFragment.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import android.widget.Button;
1111
import android.widget.ListView;
1212

13-
import com.jakewharton.rxbinding.view.RxView;
13+
import com.jakewharton.rxbinding2.view.RxView;
1414
import com.morihacky.android.rxjava.R;
1515
import com.morihacky.android.rxjava.wiring.LogAdapter;
1616

@@ -20,7 +20,6 @@
2020

2121
import butterknife.BindView;
2222
import butterknife.ButterKnife;
23-
import hu.akarnokd.rxjava.interop.RxJavaInterop;
2423
import butterknife.Unbinder;
2524
import io.reactivex.android.schedulers.AndroidSchedulers;
2625
import io.reactivex.disposables.Disposable;
@@ -91,7 +90,7 @@ public void onDestroyView() {
9190
// Main Rx entities
9291

9392
private Disposable _getBufferedDisposable() {
94-
return RxJavaInterop.toV2Observable(RxView.clickEvents(_tapBtn))
93+
return RxView.clicks(_tapBtn)
9594
.map(
9695
onClickEvent -> {
9796
Timber.d("--------- GOT A TAP");

app/src/main/java/com/morihacky/android/rxjava/fragments/DebounceSearchEmitterFragment.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import android.widget.EditText;
1313
import android.widget.ListView;
1414

15-
import com.jakewharton.rxbinding.widget.RxTextView;
16-
import com.jakewharton.rxbinding.widget.TextViewTextChangeEvent;
15+
import com.jakewharton.rxbinding2.widget.RxTextView;
16+
import com.jakewharton.rxbinding2.widget.TextViewTextChangeEvent;
1717
import com.morihacky.android.rxjava.R;
1818

1919
import java.util.ArrayList;
@@ -23,7 +23,6 @@
2323
import butterknife.BindView;
2424
import butterknife.ButterKnife;
2525
import butterknife.OnClick;
26-
import hu.akarnokd.rxjava.interop.RxJavaInterop;
2726
import butterknife.Unbinder;
2827
import io.reactivex.android.schedulers.AndroidSchedulers;
2928
import io.reactivex.disposables.Disposable;
@@ -75,7 +74,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
7574
_setupLogger();
7675

7776
_disposable =
78-
RxJavaInterop.toV2Observable(RxTextView.textChangeEvents(_inputSearchText))
77+
RxTextView.textChangeEvents(_inputSearchText)
7978
.debounce(400, TimeUnit.MILLISECONDS) // default Scheduler is Computation
8079
.filter(changes -> isNotNullOrEmpty(changes.text().toString()))
8180
.observeOn(AndroidSchedulers.mainThread())

app/src/main/java/com/morihacky/android/rxjava/fragments/ExponentialBackoffFragment.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
import butterknife.OnClick;
1414
import com.morihacky.android.rxjava.R;
1515
import com.morihacky.android.rxjava.wiring.LogAdapter;
16-
import hu.akarnokd.rxjava.interop.RxJavaInterop;
1716

1817
import butterknife.Unbinder;
18+
import hu.akarnokd.rxjava2.math.MathFlowable;
1919
import io.reactivex.Flowable;
2020
import io.reactivex.disposables.CompositeDisposable;
2121
import io.reactivex.functions.Function;
@@ -24,7 +24,6 @@
2424
import java.util.List;
2525
import java.util.concurrent.TimeUnit;
2626
import org.reactivestreams.Publisher;
27-
import rx.observables.MathObservable;
2827
import timber.log.Timber;
2928

3029
import static android.os.Looper.getMainLooper;
@@ -131,8 +130,7 @@ public void onComplete() {
131130
.delay(
132131
integer -> {
133132
// Rx-y way of doing the Fibonnaci :P
134-
return RxJavaInterop.toV2Flowable(
135-
MathObservable.sumInteger(rx.Observable.range(1, integer)))
133+
return MathFlowable.sumInt(Flowable.range(1, integer))
136134
.flatMap(
137135
targetSecondDelay ->
138136
Flowable.just(integer).delay(targetSecondDelay, TimeUnit.SECONDS));

app/src/main/java/com/morihacky/android/rxjava/fragments/FormValidationCombineLatestFragment.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
import android.widget.TextView;
1010
import butterknife.BindView;
1111
import butterknife.ButterKnife;
12-
import com.jakewharton.rxbinding.widget.RxTextView;
12+
13+
import com.jakewharton.rxbinding2.widget.RxTextView;
1314
import com.morihacky.android.rxjava.R;
1415

1516
import butterknife.Unbinder;
16-
import hu.akarnokd.rxjava.interop.RxJavaInterop;
17+
import io.reactivex.BackpressureStrategy;
1718
import io.reactivex.Flowable;
1819
import io.reactivex.subscribers.DisposableSubscriber;
1920
import timber.log.Timber;
@@ -47,10 +48,9 @@ public View onCreateView(
4748
View layout = inflater.inflate(R.layout.fragment_form_validation_comb_latest, container, false);
4849
unbinder = ButterKnife.bind(this, layout);
4950

50-
_emailChangeObservable = RxJavaInterop.toV2Flowable(RxTextView.textChanges(_email).skip(1));
51-
_passwordChangeObservable =
52-
RxJavaInterop.toV2Flowable(RxTextView.textChanges(_password).skip(1));
53-
_numberChangeObservable = RxJavaInterop.toV2Flowable(RxTextView.textChanges(_number).skip(1));
51+
_emailChangeObservable = RxTextView.textChanges(_email).skip(1).toFlowable(BackpressureStrategy.LATEST);
52+
_passwordChangeObservable = RxTextView.textChanges(_password).skip(1).toFlowable(BackpressureStrategy.LATEST);
53+
_numberChangeObservable = RxTextView.textChanges(_number).skip(1).toFlowable(BackpressureStrategy.LATEST);
5454

5555
_combineLatestEvents();
5656

app/src/main/java/com/morihacky/android/rxjava/fragments/RetrofitFragment.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ public void onError(Throwable e) {
158158
}
159159

160160
@Override
161-
public void onNext(Pair pair) {
162-
User user = ((Pair<User, Contributor>) pair).first;
163-
Contributor contributor = ((Pair<User, Contributor>) pair).second;
161+
public void onNext(Pair<User, Contributor> pair) {
162+
User user = pair.first;
163+
Contributor contributor = pair.second;
164164

165165
_adapter.add(
166166
format(

app/src/main/res/layout/fragment_buffer.xml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -21,8 +20,8 @@
2120
android:layout_width="match_parent"
2221
android:layout_marginLeft="90dp"
2322
android:layout_marginRight="90dp"
24-
android:textSize="16dp"
25-
android:text="tap me"
23+
android:textSize="16sp"
24+
android:text="@string/tap_me"
2625
/>
2726

2827
<ListView

app/src/main/res/layout/fragment_concurrency_schedulers.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -27,7 +26,7 @@
2726
android:layout_width="wrap_content"
2827
android:layout_marginLeft="20dp"
2928
android:textSize="16sp"
30-
android:text="Start long operation"
29+
android:text="@string/start_long_operation"
3130
/>
3231

3332
<ProgressBar

app/src/main/res/layout/fragment_debounce.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -27,7 +26,7 @@
2726
android:layout_height="match_parent"
2827
android:layout_width="0dp"
2928
android:textSize="16sp"
30-
android:hint="Enter some search text"
29+
android:hint="@string/enter_some_search_text"
3130
android:inputType="textNoSuggestions"
3231
/>
3332

app/src/main/res/layout/fragment_demo_timing.xml

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -38,15 +37,15 @@
3837
android:layout_weight="1"
3938
android:layout_height="wrap_content"
4039
android:layout_width="wrap_content"
41-
android:text="BTN 1"
40+
android:text="@string/btn_1"
4241
/>
4342

4443
<Button
4544
android:id="@+id/btn_demo_timing_2"
4645
android:layout_weight="1"
4746
android:layout_height="wrap_content"
4847
android:layout_width="wrap_content"
49-
android:text="BTN 2"
48+
android:text="@string/btn_2"
5049
/>
5150
</TableRow>
5251

@@ -60,15 +59,15 @@
6059
android:layout_weight="1"
6160
android:layout_height="wrap_content"
6261
android:layout_width="wrap_content"
63-
android:text="BTN 3"
62+
android:text="@string/btn_3"
6463
/>
6564

6665
<Button
6766
android:id="@+id/btn_demo_timing_4"
6867
android:layout_weight="1"
6968
android:layout_height="wrap_content"
7069
android:layout_width="wrap_content"
71-
android:text="BTN 4"
70+
android:text="@string/btn_4"
7271
/>
7372
</TableRow>
7473

@@ -82,7 +81,7 @@
8281
android:layout_weight="1"
8382
android:layout_height="wrap_content"
8483
android:layout_width="wrap_content"
85-
android:text="BTN 5"
84+
android:text="@string/btn_5"
8685
/>
8786

8887
<Button
@@ -91,7 +90,7 @@
9190
android:layout_weight="1"
9291
android:layout_height="wrap_content"
9392
android:layout_width="wrap_content"
94-
android:text="CLEAR LOG"
93+
android:text="@string/clear_log"
9594
/>
9695
</TableRow>
9796
</TableLayout>

app/src/main/res/layout/fragment_double_binding_textview.xml

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -27,7 +26,7 @@
2726
android:layout_height="50dp"
2827
android:layout_width="0dp"
2928
android:gravity="center"
30-
android:text="100"
29+
android:text="@string/one_hundred"
3130
android:inputType="numberDecimal"
3231
/>
3332

@@ -36,7 +35,7 @@
3635
android:layout_height="50dp"
3736
android:layout_width="0dp"
3837
android:gravity="center"
39-
android:text="+"
38+
android:text="@string/plus"
4039
/>
4140

4241
<EditText
@@ -45,7 +44,7 @@
4544
android:layout_height="50dp"
4645
android:layout_width="0dp"
4746
android:gravity="center"
48-
android:text="8"
47+
android:text="@string/eight"
4948
android:inputType="numberDecimal"
5049
/>
5150
</LinearLayout>
@@ -57,7 +56,7 @@
5756
android:layout_marginTop="10dp"
5857
android:gravity="center"
5958
android:textSize="45sp"
60-
android:text="0"
59+
android:text="@string/zero"
6160
/>
6261

6362
</LinearLayout>

app/src/main/res/layout/fragment_exponential_backoff.xml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
32
<LinearLayout
43
android:orientation="vertical"
54
android:layout_height="match_parent"
@@ -27,15 +26,15 @@
2726
android:layout_weight="1"
2827
android:layout_height="wrap_content"
2928
android:layout_width="wrap_content"
30-
android:text="Retry"
29+
android:text="@string/retry"
3130
/>
3231

3332
<Button
3433
android:id="@+id/btn_eb_delay"
3534
android:layout_weight="1"
3635
android:layout_height="wrap_content"
3736
android:layout_width="wrap_content"
38-
android:text="Delay"
37+
android:text="@string/delay"
3938
/>
4039
</LinearLayout>
4140

0 commit comments

Comments
 (0)