// Path: app/src/main/java/mk/petrovski/weathergurumvp/injection/component/ActivityFragmentComponent.java
// @ActivityScope
// @Component(dependencies = ApplicationComponent.class, modules = ActivityFragmentModule.class)
// public interface ActivityFragmentComponent {
// 
//   void inject(MainActivity mainActivity);
// 
//   void inject(DayFragment dayFragment);
// 
//   void inject(DayDetailActivity dayDetailActivity);
// 
//   void inject(ManageCityActivity manageCityActivity);
// 
//   void inject(WelcomeActivity welcomeActivity);
// }


import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.app.Fragment;
import butterknife.Unbinder;
import mk.petrovski.weathergurumvp.injection.component.ActivityFragmentComponent;

  @Override public void onError(@StringRes int resId) {
    if (baseActivity != null) {
      baseActivity.onError(resId);
    }
  }

  @Override public void onError(String message) {
    if (baseActivity != null) {
      baseActivity.onError(message);
    }
  }

  @Override public boolean isNetworkConnected() {
    return baseActivity != null && baseActivity.isNetworkConnected();
  }

  @Override public void onDetach() {
    baseActivity = null;
    super.onDetach();
  }

  @Override public void hideKeyboard() {
    if (baseActivity != null) {
      baseActivity.hideKeyboard();
    }
  }

  protected abstract void init();

// Path: app/src/main/java/mk/petrovski/weathergurumvp/injection/component/ActivityFragmentComponent.java
// @ActivityScope
// @Component(dependencies = ApplicationComponent.class, modules = ActivityFragmentModule.class)
// public interface ActivityFragmentComponent {
// 
//   void inject(MainActivity mainActivity);
// 
//   void inject(DayFragment dayFragment);
// 
//   void inject(DayDetailActivity dayDetailActivity);
// 
//   void inject(ManageCityActivity manageCityActivity);
// 
//   void inject(WelcomeActivity welcomeActivity);
// }


// Path: app/src/main/java/mk/petrovski/weathergurumvp/ui/base/BaseFragment.java
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.app.Fragment;
import butterknife.Unbinder;
import mk.petrovski.weathergurumvp.injection.component.ActivityFragmentComponent;


  @Override public void onError(@StringRes int resId) {
    if (baseActivity != null) {
      baseActivity.onError(resId);
    }
  }

  @Override public void onError(String message) {
    if (baseActivity != null) {
      baseActivity.onError(message);
    }
  }

  @Override public boolean isNetworkConnected() {
    return baseActivity != null && baseActivity.isNetworkConnected();
  }

  @Override public void onDetach() {
    baseActivity = null;
    super.onDetach();
  }

  @Override public void hideKeyboard() {
    if (baseActivity != null) {
      baseActivity.hideKeyboard();
    }
  }

  protected abstract void init();

  public ActivityFragmentComponent getActivityFragmentComponent() {