package com.liato.bankdroid.banking;
import com.liato.bankdroid.banking.banks.AkeliusInvest;
import com.liato.bankdroid.banking.banks.AkeliusSpar;
import com.liato.bankdroid.banking.banks.americanexpress.AmericanExpress;
import com.liato.bankdroid.banking.banks.AppeakPoker;
import com.liato.bankdroid.banking.banks.BetterGlobe;
import com.liato.bankdroid.banking.banks.Bioklubben;
import com.liato.bankdroid.banking.banks.BlekingeTrafiken;
import com.liato.bankdroid.banking.banks.Bredband2VoIP;
import com.liato.bankdroid.banking.banks.BrummerKF;
import com.liato.bankdroid.banking.banks.CSN;
import com.liato.bankdroid.banking.banks.Chalmrest;
import com.liato.bankdroid.banking.banks.DanskeBank;
import com.liato.bankdroid.banking.banks.Everydaycard;
import com.liato.bankdroid.banking.banks.FirstCard;
import com.liato.bankdroid.banking.banks.Hemkop;
import com.liato.bankdroid.banking.banks.Hors;
import com.liato.bankdroid.banking.banks.IKEA;
import com.liato.bankdroid.banking.banks.IkanoBank;
import com.liato.bankdroid.banking.banks.Jojo;
import com.liato.bankdroid.banking.banks.McDonalds;
import com.liato.bankdroid.banking.banks.Meniga;
import com.liato.bankdroid.banking.banks.MinPension;
import com.liato.bankdroid.banking.banks.Nordnet;
import com.liato.bankdroid.banking.banks.OKQ8;
import com.liato.bankdroid.banking.banks.Ostgotatrafiken;
import com.liato.bankdroid.banking.banks.Osuuspankki;
import com.liato.bankdroid.banking.banks.Payson;
import com.liato.bankdroid.banking.banks.PlusGirot;
import com.liato.bankdroid.banking.banks.SevenDay;
import com.liato.bankdroid.banking.banks.SveaDirekt;
import com.liato.bankdroid.banking.banks.SvenskaSpel;
import com.liato.bankdroid.banking.banks.TestBank;
import com.liato.bankdroid.banking.banks.TicketRikskortet;
import com.liato.bankdroid.banking.banks.Vasttrafik;
import com.liato.bankdroid.banking.banks.Zidisha;
import com.liato.bankdroid.banking.banks.bitcoin.Bitcoin;
import com.liato.bankdroid.banking.banks.coop.Coop;
import com.liato.bankdroid.banking.banks.ica.ICA;
import com.liato.bankdroid.banking.banks.lansforsakringar.Lansforsakringar;
import com.liato.bankdroid.banking.banks.nordea.Nordea;
import com.liato.bankdroid.banking.banks.rikslunchen.Rikslunchen;
import com.liato.bankdroid.banking.exceptions.BankException;
import com.liato.bankdroid.provider.IBankTypes;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import java.util.ArrayList;
import java.util.List;
public class LegacyBankFactory {
public static Bank fromBanktypeId(int id, Context context) throws BankException {
switch (id) {
case IBankTypes.TESTBANK:
return new TestBank(context);
case IBankTypes.AKELIUSINVEST:
return new AkeliusInvest(context);
case IBankTypes.AKELIUSSPAR:
return new AkeliusSpar(context);
case IBankTypes.NORDEA:
return new Nordea(context);
case IBankTypes.LANSFORSAKRINGAR:
return new Lansforsakringar(context);
case IBankTypes.COOP:
return new Coop(context);
case IBankTypes.ICA:
return new ICA(context);
case IBankTypes.OKQ8:
return new OKQ8(context);
case IBankTypes.FIRSTCARD:
return new FirstCard(context);
case IBankTypes.PAYSON:
return new Payson(context);
case IBankTypes.JOJO:
return new Jojo(context);
case IBankTypes.IKANOBANK:
return new IkanoBank(context);
case IBankTypes.RIKSLUNCHEN:
return new Rikslunchen(context);
case IBankTypes.HEMKOP:
return new Hemkop(context);
case IBankTypes.NORDNET:
return new Nordnet(context);
case IBankTypes.SEVENDAY:
return new SevenDay(context);
case IBankTypes.OSUUSPANKKI:
return new Osuuspankki(context);
case IBankTypes.CSN:
return new CSN(context);
case IBankTypes.AMERICANEXPRESS:
return new AmericanExpress(context);
case IBankTypes.MCDONALDS:
return new McDonalds(context);
case IBankTypes.PLUSGIROT:
return new PlusGirot(context);
case IBankTypes.IKEA:
return new IKEA(context);
case IBankTypes.DANSKEBANK:
return new DanskeBank(context);
case IBankTypes.VASTTRAFIK:
return new Vasttrafik(context);
case IBankTypes.EVERYDAYCARD:
return new Everydaycard(context);
case IBankTypes.MENIGA:
return new Meniga(context);
case IBankTypes.RIKSKORTET:
return new TicketRikskortet(context);
case IBankTypes.BIOKLUBBEN:
return new Bioklubben(context);
case IBankTypes.CHALMREST:
return new Chalmrest(context);
case IBankTypes.SVENSKASPEL:
return new SvenskaSpel(context);
case IBankTypes.APPEAKPOKER:
return new AppeakPoker(context);
case IBankTypes.BRUMMER_KF:
return new BrummerKF(context);
case IBankTypes.ZIDISHA:
return new Zidisha(context);
case IBankTypes.BETTERGLOBE:
return new BetterGlobe(context);
case IBankTypes.BITCOIN:
return new Bitcoin(context);
case IBankTypes.SVEADIREKT:
return new SveaDirekt(context);
case IBankTypes.BLEKINGETRAFIKEN:
return new BlekingeTrafiken(context);
case IBankTypes.OSTGOTATRAFIKEN:
return new Ostgotatrafiken(context);
case IBankTypes.BREDBAND2VOIP:
return new Bredband2VoIP(context);
case IBankTypes.MINPENSION:
return new MinPension(context);
case IBankTypes.HORS:
return new Hors(context);
default:
throw new BankException("BankType id not found: " + id);
}
}
public static List<Bank> listBanks(Context context) {
List<Bank> banks = new ArrayList<>();
banks.add(new AkeliusInvest(context));
banks.add(new AkeliusSpar(context));
banks.add(new BrummerKF(context));
banks.add(new Nordea(context));
banks.add(new Lansforsakringar(context));
banks.add(new Coop(context));
banks.add(new ICA(context));
banks.add(new OKQ8(context));
banks.add(new FirstCard(context));
banks.add(new Payson(context));
banks.add(new Jojo(context));
banks.add(new IkanoBank(context));
banks.add(new Rikslunchen(context));
banks.add(new Hemkop(context));
banks.add(new Nordnet(context));
banks.add(new SevenDay(context));
banks.add(new Osuuspankki(context));
banks.add(new CSN(context));
banks.add(new McDonalds(context));
banks.add(new AmericanExpress(context));
banks.add(new PlusGirot(context));
banks.add(new IKEA(context));
banks.add(new Vasttrafik(context));
banks.add(new Everydaycard(context));
banks.add(new Meniga(context));
banks.add(new TicketRikskortet(context));
banks.add(new Bioklubben(context));
banks.add(new Chalmrest(context));
banks.add(new SvenskaSpel(context));
banks.add(new AppeakPoker(context));
banks.add(new Zidisha(context));
banks.add(new BetterGlobe(context));
banks.add(new Bitcoin(context));
banks.add(new SveaDirekt(context));
banks.add(new BlekingeTrafiken(context));
banks.add(new Ostgotatrafiken(context));
banks.add(new Bredband2VoIP(context));
banks.add(new MinPension(context));
banks.add(new Hors(context));
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean("debug_mode", false)) {
banks.add(new TestBank(context));
}
return banks;
}
}