package ru.ltst.u2020mvp.ui;
import android.app.Activity;
import dagger.Module;
import dagger.Provides;
import ru.ltst.u2020mvp.ApplicationScope;
import ru.ltst.u2020mvp.base.navigation.activity.ActivityScreenSwitcher;
import ru.ltst.u2020mvp.ui.annotation.ActivityScreenSwitcherServer;
@Module
public class UiModule {
@Provides
@ApplicationScope
ActivityScreenSwitcher provideActivityScreenSwitcher() {
return new ActivityScreenSwitcher();
}
@Provides
@ApplicationScope
@ActivityScreenSwitcherServer
ActivityHierarchyServer provideActivityScreenSwitcherServer(final ActivityScreenSwitcher screenSwitcher) {
return new ActivityHierarchyServer.Empty() {
@Override
public void onActivityStarted(Activity activity) {
screenSwitcher.attach(activity);
}
@Override
public void onActivityStopped(Activity activity) {
screenSwitcher.detach();
}
};
}
}