// Copyright (C) 2014 Google Inc. package com.android.mail.ui; import android.app.LoaderManager; import android.content.Context; import android.content.Loader; import android.net.Uri; import android.os.Bundle; import com.android.mail.content.CursorCreator; import com.android.mail.content.ObjectCursor; import com.android.mail.content.ObjectCursorLoader; import com.android.mail.providers.Account; import com.android.mail.providers.UIProvider; /** * Callbacks for loading an account cursor. */ public class AccountLoadCallbacks implements LoaderManager.LoaderCallbacks> { public interface AccountLoadCallbackListener { void onAccountLoadCallbackFinished(ObjectCursor data); } private final Context mContext; private final Uri mAccountUri; private final AccountLoadCallbackListener mAccountLoadCallbackListener; public AccountLoadCallbacks(Context context, Uri accountUri, AccountLoadCallbackListener accountLoadCallbackListener) { mContext = context; mAccountUri = accountUri; mAccountLoadCallbackListener = accountLoadCallbackListener; } @Override public Loader> onCreateLoader(int id, Bundle args) { final String[] projection = UIProvider.ACCOUNTS_PROJECTION; final CursorCreator factory = Account.FACTORY; return new ObjectCursorLoader(mContext, mAccountUri, projection, factory); } @Override public void onLoadFinished(Loader> loader, ObjectCursor data) { mAccountLoadCallbackListener.onAccountLoadCallbackFinished(data); } @Override public void onLoaderReset(Loader> loader) { } }