Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ActivityScope
- public class MainPresenter
- //extends BasePresenter<MainPresenter.ViewContract>
- implements Bundleable, Dispatcher {
- //public interface ViewContract
- // extends Presenter.ViewContract {
- //}
- //@Override
- //protected void initializeView(ViewContract view) {
- // // doesn't need to do a thing
- //}
- @Inject
- public MainPresenter() {
- }
- private BehaviorRelay<MainState> state = BehaviorRelay.createDefault(MainState.create());
- public Observable<MainState> state() {
- return state.distinctUntilChanged();
- }
- public void setTitle(int title) {
- state.accept(state.getValue().toBuilder().setTitle(title).build());
- }
- public boolean onBackPressed() {
- if(state.getValue().isDrawerOpen()) {
- closeDrawer();
- return true;
- }
- return false;
- }
- public void openDrawer() {
- state.accept(state.getValue().toBuilder().setIsDrawerOpen(true).build());
- }
- public void closeDrawer() {
- state.accept(state.getValue().toBuilder().setIsDrawerOpen(false).build());
- }
- public void toggleDrawer() {
- if(state.getValue().isDrawerOpen()) {
- closeDrawer();
- } else {
- openDrawer();
- }
- }
- // ...
- private void enableLeftDrawer() {
- state.accept(state.getValue().toBuilder().setLeftDrawerEnabled(true).build());
- }
- private void disableLeftDrawer() {
- state.accept(state.getValue().toBuilder().setLeftDrawerEnabled(false).build());
- }
- // ...
- @Override
- public Bundle toBundle() {
- Bundle bundle = BundleFactory.create();
- bundle.putParcelable("state", state.getValue());
- return bundle;
- }
- @Override
- public void fromBundle(@Nullable Bundle bundle) {
- if(bundle != null) {
- state.accept(bundle.getParcelable("state"));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement