// Path: presentation/src/main/java/eu/rampsoftware/er/view/currencies/CurrencyDetailsActivity.java
// public class CurrencyDetailsActivity extends BaseActivity<CurrencyDetailsActivitySubComponent> {
// 
//     private static final String INTENT_EXTRA_PARAM_CURRENCY_CODE = "INTENT_EXTRA_PARAM_CURRENCY_CODE";
//     @Inject
//     CurrencyDetailsViewModel mViewModel;
// 
//     public static Intent getCallingIntent(final Context context, final String currencyCode) {
//         Intent callingIntent = new Intent(context, CurrencyDetailsActivity.class);
//         callingIntent.putExtra(INTENT_EXTRA_PARAM_CURRENCY_CODE, currencyCode);
//         return callingIntent;
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ViewDataBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_currency_details);
//         binding.setVariable(BR.model, mViewModel);
//         if (!isRetained(savedInstanceState)) {
//             final String currencyCode = getIntent().getStringExtra(INTENT_EXTRA_PARAM_CURRENCY_CODE);
//             Bundle bundle = new Bundle();
//             bundle.putString(CurrencyDetailsViewModel.KEY_CURRENCY_CODE, currencyCode);
//             mViewModel.onLoad(bundle);
//         }
//     }
// 
//     @Override
//     protected void onDestroy() {
//         if(!isChangingConfigurations()) {
//             mViewModel.dispose();
//         }
//         super.onDestroy();
//     }
// 
//     @Override
//     protected void injectDependencies(final CurrencyDetailsActivitySubComponent activityComponent) {
//         activityComponent.inject(this);
//     }
// 
//     protected CurrencyDetailsActivitySubComponent newComponent() {
//         return ((ExchangeRatesApplication) getApplication())
//                 .getApplicationComponent()
//                 .newCurrencyDetailsActivitySubComponent(new CurrencyDetailsActivityModule(this));
//     }
// }


import dagger.Subcomponent;
import eu.rampsoftware.er.view.currencies.CurrencyDetailsActivity;
package eu.rampsoftware.er.di;


/**
 * Subcomponent of the dependency graph.
 * Subcomponents have their own life-cycle and can be garbage collected when all references to the subcomponent are gone.
 */
@CurrencyDetailsActivityScope
@Subcomponent(modules = {CurrencyDetailsActivityModule.class})
public interface CurrencyDetailsActivitySubComponent {

// Path: presentation/src/main/java/eu/rampsoftware/er/view/currencies/CurrencyDetailsActivity.java
// public class CurrencyDetailsActivity extends BaseActivity<CurrencyDetailsActivitySubComponent> {
// 
//     private static final String INTENT_EXTRA_PARAM_CURRENCY_CODE = "INTENT_EXTRA_PARAM_CURRENCY_CODE";
//     @Inject
//     CurrencyDetailsViewModel mViewModel;
// 
//     public static Intent getCallingIntent(final Context context, final String currencyCode) {
//         Intent callingIntent = new Intent(context, CurrencyDetailsActivity.class);
//         callingIntent.putExtra(INTENT_EXTRA_PARAM_CURRENCY_CODE, currencyCode);
//         return callingIntent;
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         ViewDataBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_currency_details);
//         binding.setVariable(BR.model, mViewModel);
//         if (!isRetained(savedInstanceState)) {
//             final String currencyCode = getIntent().getStringExtra(INTENT_EXTRA_PARAM_CURRENCY_CODE);
//             Bundle bundle = new Bundle();
//             bundle.putString(CurrencyDetailsViewModel.KEY_CURRENCY_CODE, currencyCode);
//             mViewModel.onLoad(bundle);
//         }
//     }
// 
//     @Override
//     protected void onDestroy() {
//         if(!isChangingConfigurations()) {
//             mViewModel.dispose();
//         }
//         super.onDestroy();
//     }
// 
//     @Override
//     protected void injectDependencies(final CurrencyDetailsActivitySubComponent activityComponent) {
//         activityComponent.inject(this);
//     }
// 
//     protected CurrencyDetailsActivitySubComponent newComponent() {
//         return ((ExchangeRatesApplication) getApplication())
//                 .getApplicationComponent()
//                 .newCurrencyDetailsActivitySubComponent(new CurrencyDetailsActivityModule(this));
//     }
// }


// Path: presentation/src/main/java/eu/rampsoftware/er/di/CurrencyDetailsActivitySubComponent.java
import dagger.Subcomponent;
import eu.rampsoftware.er.view.currencies.CurrencyDetailsActivity;

package eu.rampsoftware.er.di;


/**
 * Subcomponent of the dependency graph.
 * Subcomponents have their own life-cycle and can be garbage collected when all references to the subcomponent are gone.
 */
@CurrencyDetailsActivityScope
@Subcomponent(modules = {CurrencyDetailsActivityModule.class})
public interface CurrencyDetailsActivitySubComponent {

    void inject(CurrencyDetailsActivity activity);