Skip to content

Commit db9a006

Browse files
committed
Bugfix.
1 parent 0d8a692 commit db9a006

File tree

5 files changed

+16
-11
lines changed

5 files changed

+16
-11
lines changed

.idea/misc.xml

+4-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/io/phoenix/demo/rxauthdemo/AuthManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class AuthManager {
1919
private static final String TAG = "AuthManager";
2020
private SignUpResult result;
2121
private Observable<SignUpResult> observable = Observable.fromCallable(() -> result)
22-
.delay(5000, TimeUnit.MILLISECONDS);
22+
.delay(2000, TimeUnit.MILLISECONDS);
2323

2424
public Observable<AuthResult.SignUpResult> signUp(SignUpAction action) {
2525
//检查用户名是否合法

app/src/main/java/io/phoenix/demo/rxauthdemo/RxLoginActivity.java

+2
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ protected void onStart() {
7070
Observable<SignUpEvent> click = RxView.clicks(mEmailSignInButton)
7171
.map(ignore -> new SignUpEvent(mEmailView.getText()
7272
.toString(), mPasswordView.getText().toString()));
73+
74+
7375
disposables.add(click.compose(translator.signUp)
7476
.observeOn(AndroidSchedulers.mainThread())
7577
.subscribe(authUiModel -> {

app/src/main/java/io/phoenix/demo/rxauthdemo/translator/AuthTranslator.java

+9-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import io.phoenix.demo.rxauthdemo.result.AuthResult.SignUpResult;
99
import io.reactivex.Observable;
1010
import io.reactivex.ObservableTransformer;
11-
import io.reactivex.subjects.BehaviorSubject;
11+
import io.reactivex.subjects.PublishSubject;
1212
import io.reactivex.subjects.Subject;
1313

1414

@@ -18,9 +18,9 @@
1818

1919
public class AuthTranslator {
2020
private AuthManager authManager;
21-
private Subject<SignUpEvent> middle = BehaviorSubject.create();
22-
private Observable<AuthUiModel> authUiModelObservable
23-
= middle.map(event -> new SignUpAction(event.getUsername(), event.getPassword()))
21+
private Subject<SignUpEvent> middle = PublishSubject.create();
22+
private Observable<AuthUiModel> authUiModelObservable = middle
23+
.map(event -> new SignUpAction(event.getUsername(), event.getPassword()))
2424
//使用FlatMap转向,进行注册
2525
.flatMap(action -> authManager.signUp(action)
2626
//扫描结果
@@ -36,12 +36,14 @@ public class AuthTranslator {
3636
}
3737
//TODO Handle error
3838
throw new IllegalArgumentException("Unknown Result");
39-
}).replay(1).autoConnect()
39+
})
4040
//设置初始状态为loading。
4141
.startWith(AuthUiModel.inProcess())
4242
//设置错误状态为error,防止触发onError() 造成断流
43-
.onErrorReturn(error -> AuthUiModel.fail(true, true, error.getMessage())));
44-
;
43+
.onErrorReturn(error -> AuthUiModel.fail(true, true, error.getMessage())))
44+
.replay(1)
45+
.autoConnect();
46+
4547
public final ObservableTransformer<SignUpEvent, AuthUiModel> signUp
4648
//上游是UiEvent,封装成对应的Action
4749
= observable -> {

0 commit comments

Comments
 (0)