RefreshSessionTask.java :  » Mp3 » mp3tunes » com » mp3tunes » android » player » util » Android Open Source

Android Open Source » Mp3 » mp3tunes 
mp3tunes » com » mp3tunes » android » player » util » RefreshSessionTask.java
package com.mp3tunes.android.player.util;

import java.lang.reflect.Method;

import android.content.Context;
import android.content.ContextWrapper;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import com.binaryelysium.mp3tunes.api.Locker;
import com.binaryelysium.mp3tunes.api.LockerException;
import com.binaryelysium.mp3tunes.api.Session.LoginException;
import com.mp3tunes.android.player.activity.Login;

public class RefreshSessionTask extends AsyncTask<Void, Void, Boolean>
{
    Locker         mLocker;
    ContextWrapper mCw;
    Method         mSuccess;
    Method         mFail;
    Object         mReceiver;
    
    public RefreshSessionTask(Context context, Locker locker, Method success, Method fail, Object receiver)
    {
        mCw       = new ContextWrapper(context);
        mLocker   = locker;
        mSuccess  = success;
        mFail     = fail;
        mReceiver = receiver;
    }
    
    public RefreshSessionTask(Context context)
    {
        mCw       = new ContextWrapper(context);
        mLocker   = new Locker();
        mSuccess  = null;
        mFail     = null;
        mReceiver = null;
    }

    public void onPreExecute()
    {
    }
    
    public Boolean doInForground()
    {
        return doInBackground();
    }
    
    @Override
    public Boolean doInBackground(Void... params)
    {
        boolean success = false;
        try {
            SharedPreferences settings = mCw.getSharedPreferences(Login.PREFS, 0);
            String user = settings.getString("mp3tunes_user", "");
            String pass = settings.getString("mp3tunes_pass", "");
            if (!user.equals("") && !pass.equals("")) {
                mLocker.refreshSession(user, pass/*, new DevHttpClient(mCw)*/);
                success = true;
            }
        } catch (LockerException e) {
            success = false;
        } catch (LoginException e) {
            success = false;
        }
        return success;
    }

    @Override
    public void onPostExecute(Boolean result)
    {
        try {
            if (result)
                mSuccess.invoke(mReceiver, (Object[])null);
            else
                mFail.invoke(mReceiver, (Object[])null);
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.