Skip to content

Instantly share code, notes, and snippets.

@trinhlbk1991
Created May 28, 2021 03:56
Show Gist options
  • Select an option

  • Save trinhlbk1991/3f841c9a16daadc220104834abc4e5a5 to your computer and use it in GitHub Desktop.

Select an option

Save trinhlbk1991/3f841c9a16daadc220104834abc4e5a5 to your computer and use it in GitHub Desktop.
blog-hilt-Hilt_HiltSampleApp.java
public abstract class Hilt_HiltSampleApp extends Application implements GeneratedComponentManagerHolder {
private final ApplicationComponentManager componentManager = new ApplicationComponentManager(new ComponentSupplier() {
@Override
public Object get() {
return DaggerHiltSampleApp_HiltComponents_SingletonC.builder()
.applicationContextModule(new ApplicationContextModule(Hilt_HiltSampleApp.this))
.build();
}
});
@Override
public final ApplicationComponentManager componentManager() {
return componentManager;
}
@Override
public final Object generatedComponent() {
return this.componentManager().generatedComponent();
}
@CallSuper
@Override
public void onCreate() {
// This is a known unsafe cast, but is safe in the only correct use case:
// HiltSampleApp extends Hilt_HiltSampleApp
((HiltSampleApp_GeneratedInjector) generatedComponent()).injectHiltSampleApp(UnsafeCasts.<HiltSampleApp>unsafeCast(this));
super.onCreate();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment