package com.fastaccess.ui.modules.main; import android.support.annotation.IntDef; import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.widget.DrawerLayout; import com.fastaccess.ui.base.mvp.BaseMvp; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import it.sephiroth.android.library.bottomnavigation.BottomNavigation; /** * Created by Kosh on 09 Nov 2016, 7:51 PM */ interface MainMvp { int FEEDS = 0; int ISSUES = 1; int PULL_REQUESTS = 2; int PROFILE = 3; @IntDef({ FEEDS, ISSUES, PULL_REQUESTS, PROFILE }) @Retention(RetentionPolicy.SOURCE) @interface NavigationType {} interface View extends BaseMvp.FAView { void onNavigationChanged(@NavigationType int navType); void onUpdateDrawerMenuHeader(); } interface Presenter extends BaseMvp.FAPresenter, BottomNavigation.OnMenuItemSelectionListener { boolean canBackPress(@NonNull DrawerLayout drawerLayout); void onModuleChanged(@NonNull FragmentManager fragmentManager, @NavigationType int type); void onShowHideFragment(@NonNull FragmentManager fragmentManager, @NonNull Fragment toShow, @NonNull Fragment toHide); void onAddAndHide(@NonNull FragmentManager fragmentManager, @NonNull Fragment toAdd, @NonNull Fragment toHide); } }