// Path: app/src/main/java/com/lucilu/rxdynamicsearch/SearchApplication.java
// public final class SearchApplication extends Application {
// 
//     @Inject
//     Timber.Tree mTimberTree;
// 
//     @Nullable
//     private AppComponent mComponent;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
// 
//         onInject();
//         initializeLogging();
//     }
// 
//     private void onInject() {
//         mComponent = AppComponent.Initializer.init(this);
//         mComponent.inject(this);
//     }
// 
//     private void initializeLogging() {
//         Timber.plant(mTimberTree);
//     }
// 
//     @NonNull
//     public AppComponent getAppComponent() {
//         return get(mComponent);
//     }
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/activities/base/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity implements IInjectable {
// 
//     @Override
//     protected void onCreate(@Nullable final Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
// 
//         onInject();
//     }
// 
//     protected abstract void onBind(@NonNull final CompositeSubscription subscription);
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/dagger/component/MainActivityComponent.java
// @ActivityScope
// @Subcomponent(modules = {ActivityModule.class, RepositoryModule.class})
// public interface MainActivityComponent {
// 
//     void inject(MainActivity activity);
// 
//     CountryListComponent plusSearchFragment(SearchFragmentModule module);
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/dagger/module/ActivityModule.java
// @Module
// public final class ActivityModule {
// 
//     @NonNull
//     private final Activity mActivity;
// 
//     public ActivityModule(@NonNull final Activity activity) {
//         mActivity = get(activity);
//     }
// 
//     @ActivityScope
//     @Provides
//     Activity providesActivity() {
//         return mActivity;
//     }
// 
//     @ActivityScope
//     @ForActivity
//     @Provides
//     Context providesActivityContext() {
//         return mActivity;
//     }
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/utils/Preconditions.java
// @NonNull
// public static <T> T get(@Nullable final T reference) {
//     if (reference == null) {
//         throw new NullPointerException("Assertion for a nonnull object failed.");
//     }
//     return reference;
// }


import com.lucilu.rxdynamicsearch.R;
import com.lucilu.rxdynamicsearch.SearchApplication;
import com.lucilu.rxdynamicsearch.activities.base.BaseActivity;
import com.lucilu.rxdynamicsearch.dagger.component.MainActivityComponent;
import com.lucilu.rxdynamicsearch.dagger.module.ActivityModule;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import rx.subscriptions.CompositeSubscription;
import static com.lucilu.rxdynamicsearch.utils.Preconditions.get;
package com.lucilu.rxdynamicsearch.activities;





public final class MainActivity extends BaseActivity {

    @Nullable
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/SearchApplication.java
// public final class SearchApplication extends Application {
// 
//     @Inject
//     Timber.Tree mTimberTree;
// 
//     @Nullable
//     private AppComponent mComponent;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
// 
//         onInject();
//         initializeLogging();
//     }
// 
//     private void onInject() {
//         mComponent = AppComponent.Initializer.init(this);
//         mComponent.inject(this);
//     }
// 
//     private void initializeLogging() {
//         Timber.plant(mTimberTree);
//     }
// 
//     @NonNull
//     public AppComponent getAppComponent() {
//         return get(mComponent);
//     }
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/activities/base/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity implements IInjectable {
// 
//     @Override
//     protected void onCreate(@Nullable final Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
// 
//         onInject();
//     }
// 
//     protected abstract void onBind(@NonNull final CompositeSubscription subscription);
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/dagger/component/MainActivityComponent.java
// @ActivityScope
// @Subcomponent(modules = {ActivityModule.class, RepositoryModule.class})
// public interface MainActivityComponent {
// 
//     void inject(MainActivity activity);
// 
//     CountryListComponent plusSearchFragment(SearchFragmentModule module);
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/dagger/module/ActivityModule.java
// @Module
// public final class ActivityModule {
// 
//     @NonNull
//     private final Activity mActivity;
// 
//     public ActivityModule(@NonNull final Activity activity) {
//         mActivity = get(activity);
//     }
// 
//     @ActivityScope
//     @Provides
//     Activity providesActivity() {
//         return mActivity;
//     }
// 
//     @ActivityScope
//     @ForActivity
//     @Provides
//     Context providesActivityContext() {
//         return mActivity;
//     }
// }
// 
// Path: app/src/main/java/com/lucilu/rxdynamicsearch/utils/Preconditions.java
// @NonNull
// public static <T> T get(@Nullable final T reference) {
//     if (reference == null) {
//         throw new NullPointerException("Assertion for a nonnull object failed.");
//     }
//     return reference;
// }


// Path: app/src/main/java/com/lucilu/rxdynamicsearch/activities/MainActivity.java
import com.lucilu.rxdynamicsearch.R;
import com.lucilu.rxdynamicsearch.SearchApplication;
import com.lucilu.rxdynamicsearch.activities.base.BaseActivity;
import com.lucilu.rxdynamicsearch.dagger.component.MainActivityComponent;
import com.lucilu.rxdynamicsearch.dagger.module.ActivityModule;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import rx.subscriptions.CompositeSubscription;
import static com.lucilu.rxdynamicsearch.utils.Preconditions.get;

package com.lucilu.rxdynamicsearch.activities;





public final class MainActivity extends BaseActivity {

    @Nullable
    private MainActivityComponent mComponent;