Replaced MusicRemoteEventListener with otto bus
This commit is contained in:
parent
eb406a6a2a
commit
eaa534c276
10 changed files with 28 additions and 69 deletions
|
|
@ -11,6 +11,8 @@ import com.android.volley.toolbox.Volley;
|
|||
import com.crashlytics.android.Crashlytics;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.squareup.otto.Bus;
|
||||
import com.squareup.otto.ThreadEnforcer;
|
||||
|
||||
import io.fabric.sdk.android.Fabric;
|
||||
|
||||
|
|
@ -20,6 +22,8 @@ import io.fabric.sdk.android.Fabric;
|
|||
public class App extends Application {
|
||||
private static final String TAG = App.class.getSimpleName();
|
||||
|
||||
public static Bus bus = new Bus(ThreadEnforcer.MAIN);
|
||||
|
||||
private MusicPlayerRemote playerRemote;
|
||||
private int appTheme;
|
||||
private SharedPreferences defaultSharedPreferences;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import android.os.IBinder;
|
|||
import android.util.Log;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
|
|
@ -22,7 +21,7 @@ import java.util.List;
|
|||
/**
|
||||
* Created by karim on 29.11.14.
|
||||
*/
|
||||
public class MusicPlayerRemote implements OnMusicRemoteEventListener {
|
||||
public class MusicPlayerRemote {
|
||||
private static final String TAG = MusicPlayerRemote.class.getSimpleName();
|
||||
|
||||
private App app;
|
||||
|
|
@ -31,7 +30,6 @@ public class MusicPlayerRemote implements OnMusicRemoteEventListener {
|
|||
|
||||
private List<Song> playingQueue;
|
||||
private List<Song> restoredOriginalQueue;
|
||||
private List<OnMusicRemoteEventListener> onMusicRemoteEventListeners;
|
||||
|
||||
private MusicService musicService;
|
||||
private Intent musicServiceIntent;
|
||||
|
|
@ -43,7 +41,6 @@ public class MusicPlayerRemote implements OnMusicRemoteEventListener {
|
|||
musicService = binder.getService();
|
||||
musicBound = true;
|
||||
musicService.restorePreviousState(restoredOriginalQueue, playingQueue, position);
|
||||
musicService.addOnMusicRemoteEventListener(MusicPlayerRemote.this);
|
||||
notifyOnMusicRemoteEventListeners(MusicRemoteEvent.SERVICE_CONNECTED);
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +55,6 @@ public class MusicPlayerRemote implements OnMusicRemoteEventListener {
|
|||
app = (App) context.getApplicationContext();
|
||||
playingQueue = new ArrayList<>();
|
||||
restoredOriginalQueue = new ArrayList<>();
|
||||
onMusicRemoteEventListeners = new ArrayList<>();
|
||||
startAndBindService();
|
||||
}
|
||||
|
||||
|
|
@ -235,28 +231,9 @@ public class MusicPlayerRemote implements OnMusicRemoteEventListener {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMusicRemoteEvent(MusicRemoteEvent event) {
|
||||
notifyOnMusicRemoteEventListeners(event.getAction());
|
||||
}
|
||||
|
||||
private void notifyOnMusicRemoteEventListeners(int event) {
|
||||
MusicRemoteEvent musicRemoteEvent = new MusicRemoteEvent(event);
|
||||
for (OnMusicRemoteEventListener listener : onMusicRemoteEventListeners) {
|
||||
listener.onMusicRemoteEvent(musicRemoteEvent);
|
||||
}
|
||||
}
|
||||
|
||||
public void addOnMusicRemoteEventListener(OnMusicRemoteEventListener onMusicRemoteEventListener) {
|
||||
onMusicRemoteEventListeners.add(onMusicRemoteEventListener);
|
||||
}
|
||||
|
||||
public void removeOnMusicRemoteEventListener(OnMusicRemoteEventListener onMusicRemoteEventListener) {
|
||||
onMusicRemoteEventListeners.remove(onMusicRemoteEventListener);
|
||||
}
|
||||
|
||||
public void removeAllOnMusicRemoteEventListeners() {
|
||||
onMusicRemoteEventListeners.clear();
|
||||
App.bus.post(musicRemoteEvent);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
package com.kabouzeid.gramophone.interfaces;
|
||||
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
|
||||
/**
|
||||
* Created by karim on 19.12.14.
|
||||
*/
|
||||
public interface OnMusicRemoteEventListener {
|
||||
public void onMusicRemoteEvent(MusicRemoteEvent event);
|
||||
}
|
||||
|
|
@ -22,10 +22,10 @@ import android.preference.PreferenceManager;
|
|||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.PlayingNotificationHelper;
|
||||
import com.kabouzeid.gramophone.helper.ShuffleHelper;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
|
|
@ -64,7 +64,6 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
|
|||
private MediaPlayer player;
|
||||
private List<Song> playingQueue;
|
||||
private List<Song> originalPlayingQueue;
|
||||
private List<OnMusicRemoteEventListener> onMusicRemoteEventListeners;
|
||||
private int currentSongId = -1;
|
||||
private int position = -1;
|
||||
private int shuffleMode;
|
||||
|
|
@ -87,7 +86,6 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
|
|||
isPlayerPrepared = false;
|
||||
playingQueue = new ArrayList<>();
|
||||
originalPlayingQueue = new ArrayList<>();
|
||||
onMusicRemoteEventListeners = new ArrayList<>();
|
||||
playingNotificationHelper = new PlayingNotificationHelper(this);
|
||||
|
||||
shuffleMode = PreferenceManager.getDefaultSharedPreferences(this).getInt(AppKeys.SP_SHUFFLE_MODE, 0);
|
||||
|
|
@ -218,9 +216,7 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
|
|||
|
||||
private void notifyOnMusicRemoteEventListeners(int event) {
|
||||
MusicRemoteEvent musicRemoteEvent = new MusicRemoteEvent(event);
|
||||
for (OnMusicRemoteEventListener listener : onMusicRemoteEventListeners) {
|
||||
listener.onMusicRemoteEvent(musicRemoteEvent);
|
||||
}
|
||||
App.bus.post(musicRemoteEvent);
|
||||
}
|
||||
|
||||
public void saveQueues() {
|
||||
|
|
@ -615,10 +611,6 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
|
|||
return player != null && isPlayerPrepared;
|
||||
}
|
||||
|
||||
public void addOnMusicRemoteEventListener(OnMusicRemoteEventListener onMusicRemoteEventListener) {
|
||||
onMusicRemoteEventListeners.add(onMusicRemoteEventListener);
|
||||
}
|
||||
|
||||
public void cycleRepeatMode() {
|
||||
switch (getRepeatMode()) {
|
||||
case REPEAT_MODE_NONE:
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ import com.kabouzeid.gramophone.R;
|
|||
import com.kabouzeid.gramophone.adapter.songadapter.SongAdapter;
|
||||
import com.kabouzeid.gramophone.comparator.SongTrackNumberComparator;
|
||||
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.loader.AlbumLoader;
|
||||
import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
|
|
@ -54,7 +53,7 @@ import java.util.List;
|
|||
*
|
||||
* */
|
||||
|
||||
public class AlbumDetailActivity extends AbsFabActivity implements OnMusicRemoteEventListener, KabViewsDisableAble {
|
||||
public class AlbumDetailActivity extends AbsFabActivity implements KabViewsDisableAble {
|
||||
public static final String TAG = AlbumDetailActivity.class.getSimpleName();
|
||||
|
||||
private static final boolean TOOLBAR_IS_STICKY = true;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ import com.github.ksoichiro.android.observablescrollview.ScrollState;
|
|||
import com.google.samples.apps.iosched.ui.widget.SlidingTabLayout;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader;
|
||||
import com.kabouzeid.gramophone.loader.ArtistLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
|
|
@ -54,7 +53,7 @@ import com.squareup.picasso.Picasso;
|
|||
*
|
||||
* */
|
||||
|
||||
public class ArtistDetailActivity extends AbsFabActivity implements OnMusicRemoteEventListener, KabViewsDisableAble, ObservableScrollViewCallbacks {
|
||||
public class ArtistDetailActivity extends AbsFabActivity implements KabViewsDisableAble, ObservableScrollViewCallbacks {
|
||||
public static final String TAG = ArtistDetailActivity.class.getSimpleName();
|
||||
|
||||
public static final String ARG_ARTIST_ID = "com.kabouzeid.gramophone.artist.id";
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import android.support.v4.widget.DrawerLayout;
|
|||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBarDrawerToggle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.util.Log;
|
||||
import android.util.SparseArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
|
|
@ -28,7 +27,6 @@ import com.kabouzeid.gramophone.R;
|
|||
import com.kabouzeid.gramophone.helper.AboutDeveloperDialogHelper;
|
||||
import com.kabouzeid.gramophone.helper.PlayingQueueDialogHelper;
|
||||
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
|
|
@ -45,7 +43,7 @@ import com.squareup.picasso.Picasso;
|
|||
|
||||
|
||||
public class MainActivity extends AbsFabActivity
|
||||
implements NavigationDrawerFragment.NavigationDrawerCallbacks, OnMusicRemoteEventListener, KabViewsDisableAble {
|
||||
implements NavigationDrawerFragment.NavigationDrawerCallbacks, KabViewsDisableAble {
|
||||
public static final String TAG = MainActivity.class.getSimpleName();
|
||||
|
||||
private DrawerLayout drawerLayout;
|
||||
|
|
@ -169,7 +167,7 @@ public class MainActivity extends AbsFabActivity
|
|||
toolbar.setEnabled(true);
|
||||
((MainActivityFragment) viewPagerAdapter.getItem(viewPager.getCurrentItem())).enableViews();
|
||||
} catch (NullPointerException e) {
|
||||
Log.e(TAG, "wasn't able to enable the views", e);
|
||||
//Log.e(TAG, "wasn't able to enable the views", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -179,7 +177,7 @@ public class MainActivity extends AbsFabActivity
|
|||
super.disableViews();
|
||||
((MainActivityFragment) viewPagerAdapter.getItem(viewPager.getCurrentItem())).disableViews();
|
||||
} catch (NullPointerException e) {
|
||||
Log.e(TAG, "wasn't able to disable the views", e);
|
||||
//Log.e(TAG, "wasn't able to disable the views", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -252,12 +250,6 @@ public class MainActivity extends AbsFabActivity
|
|||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
getApp().getMusicPlayerRemote().removeAllOnMusicRemoteEventListeners();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (navigationDrawerFragment.isDrawerOpen()) {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.kabouzeid.gramophone.ui.activities;
|
|||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.util.Pair;
|
||||
|
|
@ -24,7 +23,6 @@ import com.afollestad.materialdialogs.MaterialDialog;
|
|||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.PlayingQueueDialogHelper;
|
||||
import com.kabouzeid.gramophone.helper.SongDetailDialogHelper;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
|
|
@ -37,13 +35,13 @@ import com.kabouzeid.gramophone.util.MusicUtil;
|
|||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.nineoldandroids.view.ViewPropertyAnimator;
|
||||
import com.squareup.otto.Subscribe;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
import com.squareup.picasso.Target;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class MusicControllerActivity extends AbsFabActivity implements OnMusicRemoteEventListener {
|
||||
public class MusicControllerActivity extends AbsFabActivity {
|
||||
public static final String TAG = MusicControllerActivity.class.getSimpleName();
|
||||
|
||||
private static final int DEFAULT_DELAY = 350;
|
||||
|
|
|
|||
|
|
@ -8,17 +8,25 @@ import android.view.MotionEvent;
|
|||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.misc.SmallOnGestureListener;
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
import com.melnykov.fab.FloatingActionButton;
|
||||
import com.squareup.otto.Subscribe;
|
||||
|
||||
/**
|
||||
* Created by karim on 22.01.15.
|
||||
*/
|
||||
public abstract class AbsFabActivity extends AbsBaseActivity implements OnMusicRemoteEventListener {
|
||||
public abstract class AbsFabActivity extends AbsBaseActivity {
|
||||
public static final String TAG = AbsFabActivity.class.getSimpleName();
|
||||
private FloatingActionButton fab;
|
||||
private Object busEventListener = new Object() {
|
||||
@Subscribe
|
||||
public void onBusEvent(MusicRemoteEvent event) {
|
||||
onMusicRemoteEvent(event);
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -91,7 +99,7 @@ public abstract class AbsFabActivity extends AbsBaseActivity implements OnMusicR
|
|||
protected void onResume() {
|
||||
super.onResume();
|
||||
updateControllerState();
|
||||
getApp().getMusicPlayerRemote().addOnMusicRemoteEventListener(this);
|
||||
App.bus.register(busEventListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -142,10 +150,9 @@ public abstract class AbsFabActivity extends AbsBaseActivity implements OnMusicR
|
|||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
getApp().getMusicPlayerRemote().removeOnMusicRemoteEventListener(this);
|
||||
App.bus.unregister(busEventListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMusicRemoteEvent(MusicRemoteEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case MusicRemoteEvent.PLAY:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue