package com.beem.project.beem.account;

import com.beem.project.beem.ui.wizard.AccountConfigure;

import android.accounts.AbstractAccountAuthenticator;
import android.accounts.Account;
import android.accounts.AccountAuthenticatorResponse;
import android.accounts.AccountManager;
import android.accounts.NetworkErrorException;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

public class Authenticator extends AbstractAccountAuthenticator {

    private Context mContext;

    public Authenticator(Context context) {
	super(context);
	mContext = context;
    }
    
    @Override
    public Bundle addAccount(AccountAuthenticatorResponse response, String accountType, String authTokenType,
	String[] requiredFeatures, Bundle options) throws NetworkErrorException {
	Intent intent = new Intent(mContext, AccountConfigure.class);
	intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response);
	Bundle reply = new Bundle();
	reply.putParcelable(AccountManager.KEY_INTENT, intent);
	return reply;
    }

    @Override
    public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account, Bundle options)
	throws NetworkErrorException {
	return null;
    }

    @Override
    public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
	return null;
    }

    @Override
    public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType,
	Bundle options) throws NetworkErrorException {
	return null;
    }

    @Override
    public String getAuthTokenLabel(String authTokenType) {
	return null;
    }

    @Override
    public Bundle hasFeatures(AccountAuthenticatorResponse response, Account account, String[] features)
	throws NetworkErrorException {
	return null;
    }

    @Override
    public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account, String authTokenType,
	Bundle options) throws NetworkErrorException {
	return null;
    }

}
