Android Open Source - RabbitEars Item Streamer






From Project

Back to project page RabbitEars.

License

The source code is released under:

MIT License

If you think the Android project RabbitEars 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.fbs.rabbitears.activities;
/*from   ww w  .  j a va  2  s  .c  o m*/
import android.content.res.Configuration;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageButton;
import android.widget.SeekBar;

import com.fbs.rabbitears.Config;
import com.fbs.rabbitears.R;
import com.fbs.rabbitears.models.FeedItem;

import butterknife.InjectView;
import butterknife.OnClick;

/**
 * Media Streamer
 *
 * Stream RSS media items
 */
public class ItemStreamer extends BaseActivity
{
    @InjectView(R.id.stream_play_pause)
    protected ImageButton playPauseButton;
    @InjectView(R.id.stream_seek)
    protected SeekBar trackSeekBar;
    @InjectView(R.id.stream_view)
    protected com.fbs.rabbitears.views.MediaStreamer streamer;

    private FeedItem    feedItem;

    /**
     * Load feed item and set action bar
     * @param savedInstanceState Bundle state
     */
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        String itemKey = Config.getKeyValue("feed_item", null);

        feedItem    = getIntent().getExtras().getParcelable(itemKey);

        getActionBar().setTitle(feedItem.title);

        setContentView(R.layout.activity_item_streamer);
    }

    /**
     * Setup streamer and buffer stream
     * @param savedInstanceState Bundle state
     */
    @Override
    protected void onPostCreate(Bundle savedInstanceState)
    {
        super.onPostCreate(savedInstanceState);

        streamer.setPlayPauseButton(playPauseButton);
        streamer.setTrackSeekBar(trackSeekBar);

        streamer.setPlayButtonImage(BitmapFactory.decodeResource(getResources(), R.drawable.ic_splay));
        streamer.setPauseButtonImage(BitmapFactory.decodeResource(getResources(), R.drawable.ic_spause));

        streamer.buffer(feedItem.itemMedia.link, feedItem.itemMedia.mime);
    }

    /**
     * Resize stream MediaStreamer on rotation change
     * @param newConfig Configuration changed config
     */
    @Override
    public void onConfigurationChanged(Configuration newConfig)
    {
        super.onConfigurationChanged(newConfig);

        streamer.adjust(newConfig);
    }

    /**
     * Release streamer resources
     */
    @Override
    protected void onDestroy()
    {
        super.onDestroy();

        streamer.release();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.menu_item_streamer, menu);
        return true;
    }

    /**
     * Destroy on stop
     */
    @OnClick(R.id.stream_stop)
    protected void onStopClick()
    {
        finish();
    }


}




Java Source Code List

com.fbs.rabbitears.ApplicationTest.java
com.fbs.rabbitears.Config.java
com.fbs.rabbitears.RabbitEars.java
com.fbs.rabbitears.activities.BaseActivity.java
com.fbs.rabbitears.activities.FeedLister.java
com.fbs.rabbitears.activities.ItemLister.java
com.fbs.rabbitears.activities.ItemStreamer.java
com.fbs.rabbitears.activities.ItemViewer.java
com.fbs.rabbitears.activities.Settings.java
com.fbs.rabbitears.adapters.FeedArrayAdapter.java
com.fbs.rabbitears.adapters.FeedItemArrayAdapter.java
com.fbs.rabbitears.contracts.feed.Author.java
com.fbs.rabbitears.contracts.feed.Content.java
com.fbs.rabbitears.contracts.feed.Entry.java
com.fbs.rabbitears.contracts.feed.Feed.java
com.fbs.rabbitears.contracts.feed.Link.java
com.fbs.rabbitears.contracts.rss.Category.java
com.fbs.rabbitears.contracts.rss.Channel.java
com.fbs.rabbitears.contracts.rss.Enclosure.java
com.fbs.rabbitears.contracts.rss.Guid.java
com.fbs.rabbitears.contracts.rss.Image.java
com.fbs.rabbitears.contracts.rss.Item.java
com.fbs.rabbitears.contracts.rss.Rss.java
com.fbs.rabbitears.events.Event.java
com.fbs.rabbitears.events.FeedDownloadEvent.java
com.fbs.rabbitears.events.ItemProcessEvent.java
com.fbs.rabbitears.fragments.AddFeedDialog.java
com.fbs.rabbitears.fragments.BaseDialogFragment.java
com.fbs.rabbitears.helpers.DeserializationHelper.java
com.fbs.rabbitears.helpers.FileHelper.java
com.fbs.rabbitears.helpers.ModelHelper.java
com.fbs.rabbitears.helpers.ViewHelper.java
com.fbs.rabbitears.models.FeedItem.java
com.fbs.rabbitears.models.Feed.java
com.fbs.rabbitears.models.ItemMedia.java
com.fbs.rabbitears.tasks.DownloadFeedImageTask.java
com.fbs.rabbitears.tasks.DownloadFeedTask.java
com.fbs.rabbitears.tasks.ProcessFeedItemsTask.java
com.fbs.rabbitears.utils.RssParser.java
com.fbs.rabbitears.utils.Size.java
com.fbs.rabbitears.views.MediaStreamer.java