package com.code44.finance.ui.tags; import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.support.v4.content.CursorLoader; import android.view.Menu; import android.view.View; import com.code44.finance.R; import com.code44.finance.data.db.Tables; import com.code44.finance.data.model.Model; import com.code44.finance.data.model.Tag; import com.code44.finance.data.providers.TagsProvider; import com.code44.finance.ui.common.BaseModelsAdapter; import com.code44.finance.ui.common.ModelListActivity; import com.code44.finance.utils.analytics.Analytics; import java.util.List; public class TagsActivity extends ModelListActivity { public static void start(Context context) { startActivity(context, makeViewIntent(context, TagsActivity.class)); } public static void startMultiSelect(Activity activity, int requestCode, List<Tag> selectedTags) { startActivityForResult(activity, makeMultiSelectIntent(activity, TagsActivity.class, selectedTags), requestCode); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_settings).setVisible(false); return true; } @Override protected int getLayoutId() { return R.layout.activity_tags; } @Override protected BaseModelsAdapter createAdapter() { return new TagsAdapter(this, getMode() == Mode.MULTI_SELECT); } @Override protected CursorLoader getModelsCursorLoader() { return Tables.Tags.getQuery().sortOrder(Tables.Tags.TITLE.getName()).asCursorLoader(this, TagsProvider.uriTags()); } @Override protected Model modelFrom(Cursor cursor) { return Tag.from(cursor); } @Override protected void onModelClick(View view, int position, String modelId, Model model) { TagActivity.start(this, modelId); } @Override protected void startModelEdit(String modelId) { TagEditActivity.start(this, modelId); } @Override protected Analytics.Screen getScreen() { return Analytics.Screen.TagList; } }