Android Open Source - voltag Load Player Bitmap Task






From Project

Back to project page voltag.

License

The source code is released under:

MIT License

If you think the Android project voltag listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package edu.purdue.voltag.tasks;
// w w w  .  ja  v a2s  .co  m
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import edu.purdue.voltag.data.Player;
import edu.purdue.voltag.helper.ImageHelper;
import edu.purdue.voltag.interfaces.OnPlayerBitmapLoadedListener;

public class LoadPlayerBitmapTask extends AsyncTask<Void, Void, Bitmap> {

    private Context c;
    private Player toLoad;
    private int size = -1;
    private OnPlayerBitmapLoadedListener listener;

    public LoadPlayerBitmapTask(Context c, Player toLoad, int size) {
        this.c = c;
        this.toLoad = toLoad;
        this.size = size;
    }

    public void setListener(OnPlayerBitmapLoadedListener listener) {
        this.listener = listener;
    }

    @Override
    protected Bitmap doInBackground(Void... params) {

        // Generate the URL
        final String baseUrl = "http://www.gravatar.com/avatar/";
        final String processedAddress = toLoad.getEmail().toLowerCase();

        // Get the hash code and generate the URL
        final String hashCode = getEmailMD5();
        final String url = baseUrl + hashCode + "?s=" + size;

        // Create the http url connection
        HttpURLConnection httpURLConnection = null;
        Bitmap b = null;
        try {
            httpURLConnection = (HttpURLConnection) new URL(url).openConnection();
            final InputStream is = httpURLConnection.getInputStream();
            Bitmap gravitar = BitmapFactory.decodeStream(is, null, new BitmapFactory.Options());
            b = ImageHelper.getRoundedCornerBitmap(gravitar, 500);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            httpURLConnection.disconnect();
        }

        // Call the listener
        if (listener != null) {
            listener.onPlayerBitmapLoaded(toLoad, b);
        }

        return b;
    }

    private String getEmailMD5() {

        final String MD5 = "MD5";
        try {
            // Create MD5 Hash
            MessageDigest digest = java.security.MessageDigest
                    .getInstance(MD5);
            digest.update(toLoad.getEmail().getBytes());
            byte messageDigest[] = digest.digest();

            // Create Hex String
            StringBuilder hexString = new StringBuilder();
            for (byte aMessageDigest : messageDigest) {
                String h = Integer.toHexString(0xFF & aMessageDigest);
                while (h.length() < 2)
                    h = "0" + h;
                hexString.append(h);
            }
            return hexString.toString();

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";

    }

}




Java Source Code List

edu.purdue.voltag.MainActivity.java
edu.purdue.voltag.MyApplication.java
edu.purdue.voltag.MyCustomReceiver.java
edu.purdue.voltag.PlayerListAdapter.java
edu.purdue.voltag.Refreshable.java
edu.purdue.voltag.bitmap.BitmapCacheHost.java
edu.purdue.voltag.bitmap.CachedAsyncBitmapLoader.java
edu.purdue.voltag.bitmap.ImageRenderer.java
edu.purdue.voltag.data.Game.java
edu.purdue.voltag.data.ParseConstants.java
edu.purdue.voltag.data.Player.java
edu.purdue.voltag.data.VoltagDB.java
edu.purdue.voltag.fragments.CreateGameFragment.java
edu.purdue.voltag.fragments.EmailTextWatcher.java
edu.purdue.voltag.fragments.GameChoiceFragment.java
edu.purdue.voltag.fragments.GameLobbyFragment.java
edu.purdue.voltag.fragments.JoinGameFragment.java
edu.purdue.voltag.fragments.RegistrationFragment.java
edu.purdue.voltag.fragments.SplashFragment.java
edu.purdue.voltag.helper.ImageHelper.java
edu.purdue.voltag.helper.ShareHandler.java
edu.purdue.voltag.interfaces.OnDatabaseRefreshListener.java
edu.purdue.voltag.interfaces.OnEnterLobbyListener.java
edu.purdue.voltag.interfaces.OnGameCreatedListener.java
edu.purdue.voltag.interfaces.OnJoinedGameListener.java
edu.purdue.voltag.interfaces.OnLeaveGameListener.java
edu.purdue.voltag.interfaces.OnPlayerBitmapLoadedListener.java
edu.purdue.voltag.interfaces.OnPlayerDeletedListener.java
edu.purdue.voltag.interfaces.OnPlayerRegisteredListener.java
edu.purdue.voltag.interfaces.OnPlayerTaggedListener.java
edu.purdue.voltag.tasks.AddPlayerToGameTask.java
edu.purdue.voltag.tasks.CreateGameTask.java
edu.purdue.voltag.tasks.DeletePlayerTask.java
edu.purdue.voltag.tasks.LeaveGameTask.java
edu.purdue.voltag.tasks.LoadPlayerBitmapTask.java
edu.purdue.voltag.tasks.RefreshPlayersTask.java
edu.purdue.voltag.tasks.RegisterPlayerTask.java
edu.purdue.voltag.tasks.TagPlayerTask.java