title: Why I implement a Factory in this code with Dagger2 not working?
body: <p>I excuse a simple code about dagger in kotlin but it not working in runtime. What is wrong and how to update this code?</p>
  
  <p>I have a Notification class and I want to execute 'runNotification'.</p>
  
  <pre>
  
      interface Notifications {
  
          fun runNotification()
      }
  
      class NotificationsImpl @Inject constructor(
          private val context: Application
      ) : Notifications {
  
          override fun runNotification() {
              Log.e("Notifications", "runNotification")
          }
      }
  
  </pre>
  
  <p>NotificationModule.kt</p>
  
  <pre>
  
          @Module
      class NotificationModule {
              @Provides
              @Singleton
              fun providerNotifications(notificationsImpl: NotificationsImpl): Notifications = notificationsImpl
          }
  
  </pre>
  
  <p>ApplicationComponent.kt</p>
  
  <pre>
  
      @Singleton
      @Component(modules = [NotificationModule::class])
      interface ApplicationComponent {
  
          @Component.Builder
          interface Builder {
              @BindsInstance
              fun application(application: Application): Builder
  
              @BindsInstance
              fun notificationModule(notificationModule: NotificationModule): Builder
  
              fun build(): ApplicationComponent
          }
  
          fun inject(application: Application)
      }
  
  </pre>
  
  <p>Code in Application</p>
  
  <pre>
  
      DaggerApplicationComponent.builder()
                  .application(this)
                  .notificationModule(NotificationModule())
                  .build()
                  .inject(this)
  
  </pre>
  
  <p>Code Test(this code 'notifications' return is NULL):</p>
  
  <pre>
  
  class MainActivity : AppCompatActivity() {
  
      @Inject
      lateinit var notifications: Notifications
  
      override fun onCreate(savedInstanceState: Bundle?) {
          super.onCreate(savedInstanceState)
          setContentView(R.layout.activity_main)
  
          notifications.updateNotification()
      }
  }
  
  </pre>
  
  <p>Gradle:</p>
  
  <pre>
  
      implementation "com.google.dagger:dagger:2.17"
      kapt "com.google.dagger:dagger-compiler:2.17"
  
      implementation "com.google.dagger:dagger-android:2.17"
      kapt "com.google.dagger:dagger-android-processor:2.17"
  
      kapt "com.google.dagger:dagger-android-support:2.17"
  
  </pre>