Android Open Source - Teracast-Android Main Thread Bus






From Project

Back to project page Teracast-Android.

License

The source code is released under:

Apache License

If you think the Android project Teracast-Android 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.davidtpate.teracast.bus;
/*from www  .j  a  va 2 s. c om*/
import android.os.Handler;
import android.os.Looper;
import com.squareup.otto.Bus;

/**
 * From this stackoverflow post: http://stackoverflow.com/a/15433353/1309304
 */
public class MainThreadBus extends Bus {
  private final Bus mBus;
    private final Handler mHandler = new Handler(Looper.getMainLooper());

    public MainThreadBus(final Bus bus) {
        if (bus == null) {
            throw new NullPointerException("Bus must not be null");
        }
        mBus = bus;
    }

    @Override
    public void register(Object obj) {
        mBus.register(obj);
    }

    @Override
    public void unregister(Object obj) {
        mBus.unregister(obj);
    }

    @Override
    public void post(final Object event) {
    if (Looper.myLooper() == Looper.getMainLooper()) {
      mBus.post(event);
    } else {
      mHandler.post(new Runnable() {
        @Override
        public void run() {
          mBus.post(event);
        }
      });
    }
  }
}




Java Source Code List

com.android.debug.hv.ViewServer.java
com.davidtpate.teracast.BaseApplication.java
com.davidtpate.teracast.Constants.java
com.davidtpate.teracast.Injector.java
com.davidtpate.teracast.adapter.EpisodeAdapter.java
com.davidtpate.teracast.adapter.KeyAdapter.java
com.davidtpate.teracast.adapter.PodcastAdapter.java
com.davidtpate.teracast.bus.MainThreadBus.java
com.davidtpate.teracast.model.Audio.java
com.davidtpate.teracast.model.Episode.java
com.davidtpate.teracast.model.Item.java
com.davidtpate.teracast.model.PodcastList.java
com.davidtpate.teracast.model.Podcast.java
com.davidtpate.teracast.module.AndroidModule.java
com.davidtpate.teracast.module.ApplicationModule.java
com.davidtpate.teracast.module.RootModule.java
com.davidtpate.teracast.ui.MainActivity.java
com.davidtpate.teracast.ui.PodcastDetailFragment.java
com.davidtpate.teracast.ui.PodcastListFragment.java
com.davidtpate.teracast.ui.base.BaseActivity.java
com.davidtpate.teracast.ui.base.BaseFragmentActivity.java
com.davidtpate.teracast.ui.base.BaseFragment.java
com.davidtpate.teracast.ui.base.BaseListActivity.java
com.davidtpate.teracast.util.ListUtils.java
com.davidtpate.teracast.util.Ln.java
com.davidtpate.teracast.util.SafeAsyncTask.java
com.davidtpate.teracast.util.Strings.java