package com.jakewharton.u2020.ui; import com.jakewharton.u2020.IsInstrumentationTest; import com.jakewharton.u2020.ui.debug.DebugView; import com.jakewharton.u2020.ui.debug.DebugViewContainer; import com.jakewharton.u2020.ui.debug.SocketActivityHierarchyServer; import dagger.Module; import dagger.Provides; import javax.inject.Singleton; @Module( injects = { DebugViewContainer.class, DebugView.class, }, complete = false, library = true, overrides = true ) public class DebugUiModule { @Provides @Singleton ViewContainer provideViewContainer(DebugViewContainer debugViewContainer, @IsInstrumentationTest boolean isInstrumentationTest) { // Do not add the debug controls for when we are running inside of an instrumentation test. return isInstrumentationTest ? ViewContainer.DEFAULT : debugViewContainer; } @Provides @Singleton ActivityHierarchyServer provideActivityHierarchyServer() { return new SocketActivityHierarchyServer(); } }