package starter.kit.rx.app.feature.auth; import android.os.Bundle; import icepick.State; import rx.Observable; import starter.kit.feature.rx.RxNetworkPresenter; import starter.kit.rx.app.model.entity.User; import starter.kit.rx.app.network.ApiService; import starter.kit.rx.app.network.service.AuthService; import starter.kit.util.RxUtils; /** * Created by YuGang Yang on 06 29, 2016. * Copyright 2015-2016 qiji.tech. All rights reserved. */ public class AuthPresenter extends RxNetworkPresenter<User, LoginActivity> { private AuthService mAuthService; @State String username; @State String password; @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); mAuthService = ApiService.createAuthService(); } @Override public Observable<User> request() { return mAuthService.login(username, password); } @Override public void showHud() { RxUtils.showHud(getView(), "Login...", () -> stop()); } @Override protected void onDestroy() { super.onDestroy(); mAuthService = null; } void requestItem(String username, String password) { this.username = username; this.password = password; start(); } }