Android Open Source - PlayerHater Client Plugin






From Project

Back to project page PlayerHater.

License

The source code is released under:

Apache License

If you think the Android project PlayerHater 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

/*******************************************************************************
 * Copyright 2013 Chris Rhoden, Rebecca Nesson, Public Radio Exchange
 * // www  .j a v  a2s .  c o m
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
package org.prx.playerhater.ipc;

import org.prx.playerhater.PlayerHater;
import org.prx.playerhater.PlayerHaterPlugin;
import org.prx.playerhater.Song;
import org.prx.playerhater.songs.SongHost;
import org.prx.playerhater.util.Log;

import android.app.PendingIntent;
import android.content.Context;
import android.net.Uri;
import android.os.RemoteException;

public class ClientPlugin implements PlayerHaterPlugin {

  private static final String CLIENT_ERROR = "ClientPlugin has gone away...";

  private final IPlayerHaterClient mClient;

  public ClientPlugin(IPlayerHaterClient client) {
    mClient = client;
  }

  @Override
  public void onPlayerHaterLoaded(Context context, PlayerHater playerHater) {
  }

  @Override
  public void onSongChanged(Song song) {
    try {
      mClient.onSongChanged(SongHost.getTag(song));
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onSongFinished(Song song, int reason) {
    try {
      mClient.onSongFinished(SongHost.getTag(song), reason);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onDurationChanged(int duration) {
    try {
      mClient.onDurationChanged(duration);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAudioLoading() {
    try {
      mClient.onAudioLoading();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAudioPaused() {
    try {
      mClient.onAudioPaused();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAudioResumed() {
    try {
      mClient.onAudioResumed();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAudioStarted() {
    try {
      mClient.onAudioStarted();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAudioStopped() {
    try {
      mClient.onAudioStopped();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onTitleChanged(String title) {
    try {
      mClient.onTitleChanged(title);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onArtistChanged(String artist) {
    try {
      mClient.onArtistChanged(artist);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAlbumArtChanged(Uri url) {
    try {
      mClient.onAlbumArtChanged(url);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onNextSongAvailable(Song nextTrack) {
    try {
      mClient.onNextSongAvailable(SongHost.getTag(nextTrack));
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onNextSongUnavailable() {
    try {
      mClient.onNextSongUnavailable();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onTransportControlFlagsChanged(int transportControlFlags) {
    try {
      mClient.onTransportControlFlagsChanged(transportControlFlags);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onPendingIntentChanged(PendingIntent intent) {
    try {
      mClient.onIntentActivityChanged(intent);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onChangesComplete() {
    try {
      mClient.onChangesComplete();
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

  @Override
  public void onAlbumTitleChanged(String albumTitle) {
    try {
      mClient.onAlbumTitleChanged(albumTitle);
    } catch (RemoteException e) {
      Log.e(CLIENT_ERROR, e);
      throw new IllegalStateException(CLIENT_ERROR, e);
    }
  }

    @Override public void onPlayerHaterShutdown() {
        try {
            mClient.onPlayerHaterShutdown();
        } catch (RemoteException e) {
            Log.e(CLIENT_ERROR, e);
            throw new IllegalStateException(CLIENT_ERROR, e);
        }
    }
}




Java Source Code List

.AbstractPlugin.java
.AudioFocusPlugin.java
.BackgroundedPlugin.java
.BoundPlayerHater.java
.BroadcastReceiver.java
.ClientPlugin.java
.Config.java
.ExpandableNotificationPlugin.java
.HeadphoneButtonGestureHelper.java
.IPlayerHater.java
.LockScreenControlsPlugin.java
.Log.java
.MediaPlayerPool.java
.NotificationPlugin.java
.OnAudioFocusChangedListener.java
.PebblePlugin.java
.PlaybackService.java
.PlayerHaterClient.java
.PlayerHaterListenerPlugin.java
.PlayerHaterListener.java
.PlayerHaterPlugin.java
.PlayerHaterServer.java
.PlayerHaterService.java
.PlayerHater.java
.PlayerStateWatcher.java
.Player.java
.PlaylistParser.java
.PlaylistSupportingPlayer.java
.PluginCollection.java
.Receiver.java
.RemoteControlButtonReceiver.java
.RemoteSong.java
.ServerPlayerHater.java
.ServicePlayerHater.java
.SongHost.java
.SongQueue.java
.Song.java
.Songs.java
.StatelyPlayer.java
.SynchronousPlayer.java
.ThreadsafePlayerHater.java
.ThreadsafeServicePlayerHater.java
.TouchableNotificationPlugin.java
org.prx.playerhater.BroadcastReceiver.java
org.prx.playerhater.PlaybackService.java
org.prx.playerhater.PlayerHaterListener.java
org.prx.playerhater.PlayerHaterPlugin.java
org.prx.playerhater.PlayerHater.java
org.prx.playerhater.Song.java
org.prx.playerhater.broadcast.HeadphoneButtonGestureHelper.java
org.prx.playerhater.broadcast.OnAudioFocusChangedListener.java
org.prx.playerhater.broadcast.Receiver.java
org.prx.playerhater.broadcast.RemoteControlButtonReceiver.java
org.prx.playerhater.ipc.ClientPlugin.java
org.prx.playerhater.ipc.PlayerHaterClient.java
org.prx.playerhater.ipc.PlayerHaterServer.java
org.prx.playerhater.ipc.ServerPlayerHater.java
org.prx.playerhater.mediaplayer.MediaPlayerPool.java
org.prx.playerhater.mediaplayer.Player.java
org.prx.playerhater.mediaplayer.PlaylistSupportingPlayer.java
org.prx.playerhater.mediaplayer.StatelyPlayer.java
org.prx.playerhater.mediaplayer.SynchronousPlayer.java
org.prx.playerhater.plugins.AbstractPlugin.java
org.prx.playerhater.plugins.AudioFocusPlugin.java
org.prx.playerhater.plugins.BackgroundedPlugin.java
org.prx.playerhater.plugins.ExpandableNotificationPlugin.java
org.prx.playerhater.plugins.LockScreenControlsPlugin.java
org.prx.playerhater.plugins.NotificationPlugin.java
org.prx.playerhater.plugins.PebblePlugin.java
org.prx.playerhater.plugins.PlayerHaterListenerPlugin.java
org.prx.playerhater.plugins.PluginCollection.java
org.prx.playerhater.plugins.ScrubbableLockScreenControlsPlugin.java
org.prx.playerhater.plugins.TouchableNotificationPlugin.java
org.prx.playerhater.service.PlayerHaterService.java
org.prx.playerhater.service.PlayerStateWatcher.java
org.prx.playerhater.songs.RemoteSong.java
org.prx.playerhater.songs.SongHost.java
org.prx.playerhater.songs.SongQueue.java
org.prx.playerhater.songs.Songs.java
org.prx.playerhater.util.Config.java
org.prx.playerhater.util.IPlayerHater.java
org.prx.playerhater.util.Log.java
org.prx.playerhater.util.PlaylistParser.java
org.prx.playerhater.wrappers.BoundPlayerHater.java
org.prx.playerhater.wrappers.ServicePlayerHater.java
org.prx.playerhater.wrappers.ThreadsafePlayerHater.java
org.prx.playerhater.wrappers.ThreadsafeServicePlayerHater.java