/**
 * Copyright (C) 2015 android10.org. All rights reserved.
 * @author Fernando Cejas (the android10 coder)
 */
package com.fernandocejas.android10.sample.presentation.internal.di.modules;

import android.app.Application;
import android.content.Context;
import android.view.LayoutInflater;
import com.fernandocejas.android10.sample.data.executor.JobExecutor;
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
import com.fernandocejas.android10.sample.presentation.UIThread;
import com.fernandocejas.android10.sample.presentation.internal.di.components.ForApplication;
import dagger.Module;
import dagger.Provides;
import javax.inject.Singleton;

/**
 * Dagger module that provides objects which will live during the application lifecycle.
 */
@Module
public final class ApplicationModule {

  private final Application application;

  public ApplicationModule(Application application) {
    this.application = application;
  }

  @Provides @Singleton @ForApplication Context provideApplicationContext() {
    return this.application;
  }

  @Provides @Singleton LayoutInflater provideLayoutInflater() {
    return LayoutInflater.from(this.application);
  }

  @Provides @Singleton ThreadExecutor provideThreadExecutor(JobExecutor jobExecutor) {
    return jobExecutor;
  }

  @Provides @Singleton PostExecutionThread providePostExecutionThread(UIThread uiThread) {
    return uiThread;
  }
}

@@ -189,40 +189,8 @@
 s;%0A%0A
-import android.app.Application;%0A
 impo
@@ -530,24 +530,34 @@
 ntation.
-UIThread
+AndroidApplication
 ;%0Aimport
@@ -609,45 +609,16 @@
 ion.
-internal.di.components.ForApplication
+UIThread
 ;%0Aim
@@ -805,22 +805,16 @@
 %0Apublic 
-final 
 class Ap
@@ -831,17 +831,16 @@
 odule %7B%0A
-%0A
   privat
@@ -847,16 +847,23 @@
 e final 
+Android
 Applicat
@@ -907,16 +907,23 @@
 nModule(
+Android
 Applicat
@@ -1009,24 +1009,8 @@
 ton 
-@ForApplication 
 Cont

Fix Application module removing wrong type.