/* * Copyright (C) 2012-2016 The Android Money Manager Ex Project Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.money.manager.ex.core.ioc; import com.money.manager.ex.MmxContentProvider; import com.money.manager.ex.budget.BudgetAdapter; import com.money.manager.ex.common.CalculatorActivity; import com.money.manager.ex.core.Core; import com.money.manager.ex.core.FormatUtilities; import com.money.manager.ex.core.Passcode; import com.money.manager.ex.core.UIHelper; import com.money.manager.ex.currency.CurrencyService; import com.money.manager.ex.currency.list.CurrencyListFragment; import com.money.manager.ex.datalayer.StockHistoryRepositorySql; import com.money.manager.ex.datalayer.StockRepositorySql; import com.money.manager.ex.domainmodel.Stock; import com.money.manager.ex.home.HomeFragment; import com.money.manager.ex.home.MainActivity; import com.money.manager.ex.home.SelectDatabaseActivity; import com.money.manager.ex.investment.EditPriceDialog; import com.money.manager.ex.investment.ISecurityPriceUpdater; import com.money.manager.ex.investment.InvestmentTransactionEditActivity; import com.money.manager.ex.investment.morningstar.MorningstarPriceUpdater; import com.money.manager.ex.recurring.transactions.RecurringTransactionEditActivity; import com.money.manager.ex.recurring.transactions.RecurringTransactionListFragment; import com.money.manager.ex.reports.BaseReportFragment; import com.money.manager.ex.search.SearchParametersFragment; import com.money.manager.ex.servicelayer.InfoService; import com.money.manager.ex.settings.AppSettings; import com.money.manager.ex.settings.DatabaseSettingsFragment; import com.money.manager.ex.settings.SettingsActivity; import com.money.manager.ex.sync.SyncManager; import com.money.manager.ex.sync.SyncPreferenceFragment; import com.money.manager.ex.sync.SyncService; import com.money.manager.ex.sync.SyncServiceMessageHandler; import com.money.manager.ex.transactions.CheckingTransactionEditActivity; import com.money.manager.ex.transactions.EditTransactionCommonFunctions; import com.money.manager.ex.utils.MmxDatabaseUtils; import javax.inject.Singleton; import dagger.Component; /** * Main Dagger 2 Component. Represents the link between the Modules and Injections. * Component consumes functionality. */ @Singleton @Component(modules = MmxModule.class) public interface MmxComponent { // Example on how to expose a provision method. // MmxOpenHelper getHelper(); // Activities void inject(CalculatorActivity activity); void inject(CheckingTransactionEditActivity activity); void inject(InvestmentTransactionEditActivity activity); void inject(MainActivity activity); void inject(RecurringTransactionEditActivity activity); void inject(SelectDatabaseActivity activity); void inject(SettingsActivity activity); // Fragments void inject(BaseReportFragment fragment); void inject(CurrencyListFragment fragment); void inject(DatabaseSettingsFragment fragment); void inject(HomeFragment fragment); void inject(RecurringTransactionListFragment fragment); void inject(SearchParametersFragment fragment); void inject(SyncPreferenceFragment fragment); // Dialogs void inject(EditPriceDialog dialog); // Custom objects void inject(ISecurityPriceUpdater updater); void inject(MorningstarPriceUpdater updater); void inject(AppSettings settings); void inject(Core core); void inject(MmxContentProvider provider); void inject(MmxDatabaseUtils utils); void inject(SyncManager sync); void inject(SyncServiceMessageHandler handler); void inject(Passcode object); void inject(EditTransactionCommonFunctions object); // Helpers void inject(UIHelper helper); void inject(FormatUtilities utils); // Business Services void inject(CurrencyService service); void inject(InfoService service); // Intent Services void inject(SyncService service); // Repositories void inject(StockRepositorySql repository); void inject(StockHistoryRepositorySql repository); // Adapters void inject(BudgetAdapter adapter); }