package com.xda.one.loader; import com.xda.one.api.inteface.PrivateMessageClient; import com.xda.one.api.model.response.container.ResponseMessageContainer; import com.xda.one.model.augmented.container.AugmentedMessageContainer; import android.content.Context; import static com.xda.one.api.retrofit.RetrofitPrivateMessageClient.getClient; import static com.xda.one.ui.MessagePagerFragment.MessageContainerType; public class MessageLoader extends AsyncLoader<AugmentedMessageContainer> { private final int mPage; private final MessageContainerType mContainerType; private final PrivateMessageClient mMessageClient; public MessageLoader(final Context context, int page, final MessageContainerType type) { super(context); mPage = page; mContainerType = type; mMessageClient = getClient(getContext()); } @Override public AugmentedMessageContainer loadInBackground() { final ResponseMessageContainer responseMessageContainer; switch (mContainerType) { case INBOX: responseMessageContainer = mMessageClient.getInboxMessages(mPage); break; case OUTBOX: responseMessageContainer = mMessageClient.getSentMessages(mPage); break; default: throw new IllegalArgumentException(); } if (responseMessageContainer == null) { return null; } return new AugmentedMessageContainer(getContext(), responseMessageContainer); } @Override public void releaseResources(AugmentedMessageContainer data) { } }