Android Open Source - Android-iTunes-Client-Library Podcast Api Impl






From Project

Back to project page Android-iTunes-Client-Library.

License

The source code is released under:

Apache License

If you think the Android project Android-iTunes-Client-Library 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 com.tassioauad.androiditunesclientlibrary.core;
/* www  .  java2  s. c  o  m*/
import android.content.Context;

import com.tassioauad.androiditunesclientlibrary.service.PodcastEntriesAsyncTask;
import com.tassioauad.androiditunesclientlibrary.service.SearchPodcastAsyncTask;
import com.tassioauad.androiditunesclientlibrary.service.entity.PodcastEntity;
import com.tassioauad.androiditunesclientlibrary.service.entity.PodcastEntryEntity;
import com.tassioauad.androiditunesclientlibrary.service.parameter.BasicParameter;
import com.tassioauad.androiditunesclientlibrary.service.parameter.BasicParametersList;
import com.tassioauad.androiditunesclientlibrary.service.parameter.key.Key;

import java.util.concurrent.ExecutionException;

/**
 * Created by Tssio Auad on 19/07/2014.
 */
public class PodcastApiImpl implements PodcastApi {

    private Context context;
    private OnApiResultListener listener;

    private static final String LIMIT = "20";

    public PodcastApiImpl(Context context) {
        this.context = context;
    }

    @Override
    public void setListener(OnApiResultListener listener) {
        this.listener = listener;
    }

    @Override
    public PodcastEntryEntity[] listAllEntries(PodcastEntity podcastEntity) throws ExecutionException, InterruptedException {
        PodcastEntriesAsyncTask podcastEntriesAsyncTask = new PodcastEntriesAsyncTask();
        if (listener != null) {
            podcastEntriesAsyncTask.setListener(listener);
            podcastEntriesAsyncTask.execute(podcastEntity.getFeedUrl());
            return null;
        }

        return podcastEntriesAsyncTask.execute(podcastEntity.getFeedUrl()).get();
    }

    @Override
    public PodcastEntity[] listNewPodcasts() {
        try {
            BasicParametersList basicParametersList = new BasicParametersList();
            basicParametersList.add(new BasicParameter(Key.TERM, "podcast"));
            basicParametersList.add(new BasicParameter(Key.LIMIT, LIMIT));

            SearchPodcastAsyncTask searchPodcastAsyncTask = new SearchPodcastAsyncTask();
            if (listener != null) {
                searchPodcastAsyncTask.setListener(listener);
                searchPodcastAsyncTask.execute(basicParametersList);
                return null;
            }

            return searchPodcastAsyncTask.get();

        } catch (Exception e) {
            return null;
        }
    }

    @Override
    public PodcastEntity[] listNewPodcasts(int numberOfPodcasts) {
        try {
            BasicParametersList basicParametersList = new BasicParametersList();
            basicParametersList.add(new BasicParameter(Key.TERM, "podcast"));
            basicParametersList.add(new BasicParameter(Key.LIMIT, String.valueOf(numberOfPodcasts)));

            SearchPodcastAsyncTask searchPodcastAsyncTask = new SearchPodcastAsyncTask();
            if (listener != null) {
                searchPodcastAsyncTask.setListener(listener);
                searchPodcastAsyncTask.execute(basicParametersList);
                return null;
            }

            return searchPodcastAsyncTask.get();

        } catch (Exception e) {
            return null;
        }
    }

    @Override
    public PodcastEntity[] listPodcastByTerm(String term) {
        try {
            BasicParametersList basicParametersList = new BasicParametersList();
            basicParametersList.add(new BasicParameter(Key.TERM, term));
            basicParametersList.add(new BasicParameter(Key.LIMIT, LIMIT));

            SearchPodcastAsyncTask searchPodcastAsyncTask = new SearchPodcastAsyncTask();
            if (listener != null) {
                searchPodcastAsyncTask.setListener(listener);
                searchPodcastAsyncTask.execute(basicParametersList);
                return null;
            }

            return searchPodcastAsyncTask.get();

        } catch (Exception e) {
            return null;
        }
    }

    @Override
    public PodcastEntity[] listPodcastByTerm(String term, int numberOfPodcasts) {
        try {
            BasicParametersList basicParametersList = new BasicParametersList();
            basicParametersList.add(new BasicParameter(Key.TERM, term));
            basicParametersList.add(new BasicParameter(Key.LIMIT, String.valueOf(numberOfPodcasts)));

            SearchPodcastAsyncTask searchPodcastAsyncTask = new SearchPodcastAsyncTask();
            if (listener != null) {
                searchPodcastAsyncTask.setListener(listener);
                searchPodcastAsyncTask.execute(basicParametersList);
                return null;
            }

            return searchPodcastAsyncTask.get();

        } catch (Exception e) {
            return null;
        }
    }

}




Java Source Code List

com.tassioauad.androiditunesclientlibrary.ApplicationTest.java
com.tassioauad.androiditunesclientlibrary.ApplicationTest.java
com.tassioauad.androiditunesclientlibrary.MainActivity.java
com.tassioauad.androiditunesclientlibrary.core.OnApiResultListener.java
com.tassioauad.androiditunesclientlibrary.core.PodcastApiImpl.java
com.tassioauad.androiditunesclientlibrary.core.PodcastApi.java
com.tassioauad.androiditunesclientlibrary.service.PodcastEntriesAsyncTask.java
com.tassioauad.androiditunesclientlibrary.service.SearchPodcastAsyncTask.java
com.tassioauad.androiditunesclientlibrary.service.entity.Category.java
com.tassioauad.androiditunesclientlibrary.service.entity.Content.java
com.tassioauad.androiditunesclientlibrary.service.entity.MediaGroup.java
com.tassioauad.androiditunesclientlibrary.service.entity.PodcastEntity.java
com.tassioauad.androiditunesclientlibrary.service.entity.PodcastEntryEntity.java
com.tassioauad.androiditunesclientlibrary.service.parameter.BasicParameter.java
com.tassioauad.androiditunesclientlibrary.service.parameter.BasicParametersList.java
com.tassioauad.androiditunesclientlibrary.service.parameter.ParameterInterface.java
com.tassioauad.androiditunesclientlibrary.service.parameter.ParametersListInterface.java
com.tassioauad.androiditunesclientlibrary.service.parameter.UrlConvertionInterface.java
com.tassioauad.androiditunesclientlibrary.service.parameter.key.Key.java
com.tassioauad.androiditunesclientlibrary.service.parameter.key.ParameterKeyInterface.java
com.tassioauad.androiditunesclientlibrary.service.parameter.value.AttributeValue.java
com.tassioauad.androiditunesclientlibrary.service.parameter.value.EntityValue.java
com.tassioauad.androiditunesclientlibrary.service.parameter.value.MediaValue.java
com.tassioauad.androiditunesclientlibrary.service.parameter.value.ParameterValueInterface.java
com.tassioauad.androiditunesclientlibrary.service.utils.ItunesSearchApiUrlBuilder.java