package org.ovirt.mobile.movirt.ui.storage; import android.database.Cursor; import android.view.View; import android.widget.CursorAdapter; import android.widget.ImageView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; import org.androidannotations.annotations.EFragment; import org.ovirt.mobile.movirt.R; import org.ovirt.mobile.movirt.model.StorageDomain; import org.ovirt.mobile.movirt.ui.listfragment.BaseEntityListFragment; import org.ovirt.mobile.movirt.ui.listfragment.spinner.ItemName; import org.ovirt.mobile.movirt.ui.listfragment.spinner.SortEntry; import org.ovirt.mobile.movirt.ui.listfragment.spinner.SortOrderType; import static org.ovirt.mobile.movirt.provider.OVirtContract.StorageDomain.NAME; import static org.ovirt.mobile.movirt.provider.OVirtContract.StorageDomain.STATUS; @EFragment(R.layout.fragment_base_entity_list) public class StorageDomainFragment extends BaseEntityListFragment<StorageDomain> { public StorageDomainFragment() { super(StorageDomain.class); } @Override protected CursorAdapter createCursorAdapter() { SimpleCursorAdapter storageDomainListAdapter = new SimpleCursorAdapter(getActivity(), R.layout.storage_domain_list_item, null, new String[]{NAME, STATUS}, new int[]{R.id.storage_domain_name, R.id.storage_domain_status}, 0); storageDomainListAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() { @Override public boolean setViewValue(View view, Cursor cursor, int columnIndex) { if (columnIndex == cursor.getColumnIndex(NAME)) { TextView textView = (TextView) view; String name = cursor.getString(cursor.getColumnIndex(NAME)); textView.setText(name); } else if (columnIndex == cursor.getColumnIndex(STATUS)) { ImageView imageView = (ImageView) view; String statusString = cursor.getString(cursor.getColumnIndex(STATUS)); if (statusString != null) { StorageDomain.Status status = StorageDomain.Status.valueOf(statusString); imageView.setImageResource(status.getResource()); } else { imageView.setImageResource(StorageDomain.Status.UNKNOWN.getResource()); } } return true; } }); return storageDomainListAdapter; } @Override public SortEntry[] getSortEntries() { return new SortEntry[]{ new SortEntry(new ItemName(StorageDomain.NAME), SortOrderType.A_TO_Z), new SortEntry(new ItemName(StorageDomain.STATUS), SortOrderType.A_TO_Z) }; } }