package hk.reality.stock; import hk.reality.stock.model.Index; import hk.reality.stock.model.Portfolio; import hk.reality.stock.model.Stock; import hk.reality.stock.service.FilePortfolioService; import hk.reality.stock.service.PortfolioService; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.app.Application; import android.util.Log; public class StockApplication extends Application { private static final String TAG = "StockApplication"; private static PortfolioService portfolioService; private static Portfolio currentPortfolio; private static ExecutorService executor; @Override public void onCreate() { super.onCreate(); portfolioService = new FilePortfolioService(this.getFilesDir()); executor = Executors.newFixedThreadPool(SettingsActivity.getConcurrent(this)); List<Portfolio> allPortfolios = portfolioService.list(); if (allPortfolios.size() > 0) { Log.i(TAG, "selected first portfolio"); currentPortfolio = allPortfolios.get(0); } else { Log.i(TAG, "created new portfolio"); Portfolio p = new Portfolio(); p.setName(getResources().getString(R.string.new_portfolio_label)); List<Stock> stocks = new ArrayList<Stock>(); p.setStocks(stocks); portfolioService.create(p); currentPortfolio = p; } } @Override public void onTerminate() { super.onTerminate(); } public static PortfolioService getPortfolioService() { return portfolioService; } public static Portfolio getCurrentPortfolio() { return currentPortfolio; } public static void setCurrentPortfolio(Portfolio currentPortfolio) { StockApplication.currentPortfolio = currentPortfolio; } /** * @return the executor */ public static ExecutorService getExecutor() { return executor; } }