Android Open Source - AmbientAlarmClock Scrobbler






From Project

Back to project page AmbientAlarmClock.

License

The source code is released under:

<p align="center"><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/4.0...

If you think the Android project AmbientAlarmClock 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 de.lukeslog.alarmclock.ambientService.lastfm;
/*from w ww.  jav  a2s.  c  o  m*/
import android.content.SharedPreferences;

import de.lukeslog.alarmclock.main.ClockWorkService;
import de.lukeslog.alarmclock.support.AlarmClockConstants;
import de.lukeslog.alarmclock.support.Logger;
import de.lukeslog.alarmclock.support.Settings;
import de.umass.lastfm.Authenticator;
import de.umass.lastfm.Caller;
import de.umass.lastfm.Session;
import de.umass.lastfm.Track;
import de.umass.lastfm.scrobble.ScrobbleResult;

/**
 * Created by lukas on 31.03.14.
 */
public class Scrobbler
{
    public static String TAG = AlarmClockConstants.TAG;

    public static void scrobble(final String artist, final String song)
    {
        new Thread(new Runnable()
        {
            public void run()
            {
                SharedPreferences settings = ClockWorkService.settings;
                String lastfmusername = settings.getString(Settings.LASTFM_USER, "");
                String lastfmpassword = settings.getString(Settings.LASTFM_PSW, "");
                boolean scrobbletolastfm = settings.getBoolean("scrobble", false);
                if(!lastfmusername.equals("") && scrobbletolastfm)
                {
                    Session session=null;
                    try
                    {
                        Caller.getInstance().setCache(null);
                        session = Authenticator.getMobileSession(lastfmusername, lastfmpassword, LastFMConstants.key, LastFMConstants.secret);
                    }
                    catch(Exception e)
                    {
                        Logger.e(TAG, e.getMessage());
                    }
                    if(session!=null)
                    {
                        int now = (int) (System.currentTimeMillis() / 1000);
                        ScrobbleResult result = Track.updateNowPlaying(artist, song, session);
                        result = Track.scrobble(artist, song, now, session);
                    }
                }
            }
        }).start();
    }

    public static boolean isConnected()
    {
        SharedPreferences settings = ClockWorkService.settings;
        if(settings!=null)
        {
            String lastfmusername = settings.getString(Settings.LASTFM_USER, "");
            String lastfmpassword = settings.getString(Settings.LASTFM_PSW, "");
            if (!lastfmusername.equals("") && !lastfmpassword.equals(""))
            {
                return true;
            }
        }
        return false;
    }

    public static void useScrobler(boolean b)
    {
        SharedPreferences settings = ClockWorkService.settings;

        SharedPreferences.Editor edit = settings.edit();
        edit.putBoolean("scrobble", b);
        edit.commit();
    }

    public static boolean isActive()
    {
        SharedPreferences settings = ClockWorkService.settings;
        boolean scrobbletolastfm = settings.getBoolean("scrobble", false);
        String lastfmusername = settings.getString(Settings.LASTFM_USER, "");
        String lastfmpassword = settings.getString(Settings.LASTFM_PSW, "");
        if(!lastfmusername.equals("") && !lastfmpassword.equals("") && scrobbletolastfm)
        {
            return scrobbletolastfm;
        }
        return false;
    }

    public static boolean hasLogInDataProvided()
    {
        SharedPreferences settings = ClockWorkService.settings;
        String lastfmusername = settings.getString(Settings.LASTFM_USER, "");
        String lastfmpassword = settings.getString(Settings.LASTFM_PSW, "");
        if(!lastfmusername.equals("") && !lastfmpassword.equals(""))
        {
            return true;
        }
        return false;
    }
}




Java Source Code List

de.lukeslog.alarmclock.MediaPlayer.MediaPlayerService.java
de.lukeslog.alarmclock.actions.ActionActivity.java
de.lukeslog.alarmclock.actions.ActionConfigBundle.java
de.lukeslog.alarmclock.actions.ActionManager.java
de.lukeslog.alarmclock.actions.AmbientAction.java
de.lukeslog.alarmclock.actions.CountdownActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.CountdownAction.java
de.lukeslog.alarmclock.actions.EZControlHeatActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.EZControlHeatAction.java
de.lukeslog.alarmclock.actions.EZControlPlugActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.EZControlPlugAction.java
de.lukeslog.alarmclock.actions.MusicActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.MusicAction.java
de.lukeslog.alarmclock.actions.PhilipsHueActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.PhilipsHueAction.java
de.lukeslog.alarmclock.actions.SendMailActionFragment.java
de.lukeslog.alarmclock.actions.SendMailAction.java
de.lukeslog.alarmclock.actions.WebsiteActionConfigurationFragment.java
de.lukeslog.alarmclock.actions.WebsiteAction.java
de.lukeslog.alarmclock.ambientService.dropbox.DropBox.java
de.lukeslog.alarmclock.ambientService.lastfm.Scrobbler.java
de.lukeslog.alarmclock.ambientService.mail.BackgroundMail.java
de.lukeslog.alarmclock.ambientService.mail.Mail.java
de.lukeslog.alarmclock.ambientalarm.AmbientAlarmManager.java
de.lukeslog.alarmclock.ambientalarm.AmbientAlarm.java
de.lukeslog.alarmclock.datatabse.AmbientAlarmDatabase.java
de.lukeslog.alarmclock.datatabse.DatabaseConstants.java
de.lukeslog.alarmclock.main.ClockWorkService.java
de.lukeslog.alarmclock.main.NotificationManagement.java
de.lukeslog.alarmclock.main.Timable.java
de.lukeslog.alarmclock.startup.NotificationService.java
de.lukeslog.alarmclock.startup.ServiceStarter.java
de.lukeslog.alarmclock.startup.StartUp.java
de.lukeslog.alarmclock.support.AlarmClockConstants.java
de.lukeslog.alarmclock.support.AlarmState.java
de.lukeslog.alarmclock.support.Day.java
de.lukeslog.alarmclock.support.Logger.java
de.lukeslog.alarmclock.support.Radiostations.java
de.lukeslog.alarmclock.support.Settings.java
de.lukeslog.alarmclock.support.UISupport.java
de.lukeslog.alarmclock.teardown.Teardown.java
de.lukeslog.alarmclock.ui.ActionListAdapter.java
de.lukeslog.alarmclock.ui.AlarmClockMainActivity.java
de.lukeslog.alarmclock.ui.AlarmListAdapter.java
de.lukeslog.alarmclock.ui.AmbientAlarmActivity.java
de.lukeslog.alarmclock.ui.AmbientAlarmConfigurationActivity.java
de.lukeslog.alarmclock.ui.NewAmbientAction.java
de.lukeslog.alarmclock.ui.NewSettingsFragment.java
de.lukeslog.alarmclock.ui.SettingsActivity.java
org.json2.JSONArray.java
org.json2.JSONException.java
org.json2.JSONObject.java
org.json2.JSONString.java
org.json2.JSONStringer.java
org.json2.JSONTokener.java
org.json2.JSONWriter.java