package com.xda.one.auth;
import com.xda.one.api.model.response.ResponseForum;
import com.xda.one.loader.ForumLoader;
import com.xda.one.model.misc.ForumType;
import com.xda.one.util.Utils;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.widget.Toast;
import java.util.List;
public class AuthForumLoaderCallbacks
implements LoaderManager.LoaderCallbacks<List<ResponseForum>> {
private final Activity mActivity;
private final XDAAccount mAccount;
private final ProgressDialog mProgressDialog;
public AuthForumLoaderCallbacks(final Activity activity, final XDAAccount account,
final ProgressDialog progressDialog) {
mActivity = activity;
mAccount = account;
mProgressDialog = progressDialog;
}
@Override
public Loader<List<ResponseForum>> onCreateLoader(final int id, final Bundle args) {
return new ForumLoader(mActivity, ForumType.ALL, null, true);
}
@Override
public void onLoadFinished(final Loader<List<ResponseForum>> loader,
final List<ResponseForum> data) {
mProgressDialog.dismiss();
if (Utils.isCollectionEmpty(data) || mAccount == null) {
Toast.makeText(mActivity, "Something went wrong", Toast.LENGTH_SHORT).show();
return;
}
finishLogin(mAccount);
}
@Override
public void onLoaderReset(final Loader<List<ResponseForum>> loader) {
}
private void finishLogin(final XDAAccount account) {
final Intent intent = new Intent();
intent.putExtra("account", account);
mActivity.setResult(Activity.RESULT_OK, intent);
mActivity.finish();
}
}