package com.piusvelte.sonet.loader; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.LoaderManager; import android.support.v4.content.Loader; import java.util.HashMap; import java.util.List; /** * Created by bemmanuel on 6/3/15. */ public class AccountsProfilesLoaderCallback implements LoaderManager.LoaderCallbacks<List<HashMap<String, String>>> { private final int mLoaderId; @NonNull private OnAccountsLoadedListener mListener; public AccountsProfilesLoaderCallback(@NonNull OnAccountsLoadedListener listener, int loaderId) { mListener = listener; mLoaderId = loaderId; } @Override public Loader<List<HashMap<String, String>>> onCreateLoader(int id, Bundle args) { if (id == mLoaderId) { return new AccountsProfilesLoader(mListener.getContext()); } return null; } @Override public void onLoadFinished(Loader<List<HashMap<String, String>>> loader, List<HashMap<String, String>> data) { if (loader.getId() == mLoaderId) { mListener.onAccountsLoaded(data); } } @Override public void onLoaderReset(Loader<List<HashMap<String, String>>> loader) { if (loader.getId() == mLoaderId) { mListener.onAccountsLoaded(null); } } public interface OnAccountsLoadedListener { Context getContext(); void onAccountsLoaded(List<HashMap<String, String>> accounts); } }