/******************************************************************************* * Copyright (c) 2010 Denis Solonenko. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v2.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * Denis Solonenko - initial API and implementation ******************************************************************************/ package ru.orangesoftware.financisto2.utils; import android.content.Context; import android.database.Cursor; import android.widget.ListAdapter; import android.widget.SimpleCursorAdapter; import java.util.List; import ru.orangesoftware.financisto2.adapter.CategoryListAdapter; import ru.orangesoftware.financisto2.adapter.MyEntityAdapter; import ru.orangesoftware.financisto2.db.DatabaseAdapter; import ru.orangesoftware.financisto2.db.DatabaseHelper.AccountColumns; import ru.orangesoftware.financisto2.model.Account; import ru.orangesoftware.financisto2.model.Category; import ru.orangesoftware.financisto2.model.Currency; import ru.orangesoftware.financisto2.model.Payee; import ru.orangesoftware.financisto2.model.Project; public class TransactionUtils { public static ListAdapter createAccountAdapter(Context context, Cursor accountCursor) { return new SimpleCursorAdapter(context, android.R.layout.simple_spinner_dropdown_item, accountCursor, new String[]{"e_"+AccountColumns.TITLE}, new int[]{android.R.id.text1}); } public static ListAdapter createAccountAdapter(Context context, List<Account> accounts) { return new MyEntityAdapter<Account>(context, android.R.layout.simple_spinner_dropdown_item, android.R.id.text1, accounts); } public static ListAdapter createAccountMultiChoiceAdapter(Context context, Cursor accountCursor) { return new SimpleCursorAdapter(context, android.R.layout.simple_list_item_multiple_choice, accountCursor, new String[]{"e_"+AccountColumns.TITLE}, new int[]{android.R.id.text1}); } public static SimpleCursorAdapter createCurrencyAdapter(Context context, Cursor currencyCursor) { return new SimpleCursorAdapter(context, android.R.layout.simple_spinner_dropdown_item, currencyCursor, new String[]{"e_name"}, new int[]{android.R.id.text1}); } public static ListAdapter createCategoryAdapter(DatabaseAdapter db, Context context, List<Category> categories) { return new CategoryListAdapter(db, context, android.R.layout.simple_spinner_dropdown_item, categories); } public static ListAdapter createCategoryMultiChoiceAdapter(DatabaseAdapter db, Context context, List<Category> categories) { return new CategoryListAdapter(db, context, android.R.layout.simple_list_item_multiple_choice, categories); } public static ListAdapter createProjectAdapter(Context context, List<Project> projects) { return new MyEntityAdapter<Project>(context, android.R.layout.simple_spinner_dropdown_item, android.R.id.text1, projects); } public static ListAdapter createPayeeAdapter(Context context, List<Payee> payees) { return new MyEntityAdapter<Payee>(context, android.R.layout.simple_spinner_dropdown_item, android.R.id.text1, payees); } public static ListAdapter createCurrencyAdapter(Context context, List<Currency> currencies) { return new MyEntityAdapter<Currency>(context, android.R.layout.simple_spinner_dropdown_item, android.R.id.text1, currencies); } public static SimpleCursorAdapter createPayeeAdapter(Context context, final DatabaseAdapter db) { return new SimpleCursorAdapter(context, android.R.layout.simple_dropdown_item_1line, null, new String[]{"e_title"}, new int[]{android.R.id.text1}){ @Override public CharSequence convertToString(Cursor cursor) { return cursor.getString(cursor.getColumnIndex("e_title")); } @Override public Cursor runQueryOnBackgroundThread(CharSequence constraint) { if (constraint == null) { return db.getAllPayees(); } else { return db.getAllPayeesLike(constraint); } } }; } }