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