update abstract music service activity
This commit is contained in:
parent
87dd7079e4
commit
e89aa2e9ef
20 changed files with 18 additions and 132 deletions
|
|
@ -7,13 +7,11 @@ public interface MusicServiceEventListener {
|
|||
|
||||
void onQueueChanged();
|
||||
|
||||
void onPlayingMetaChanged();
|
||||
void onPlayMetadataChanged();
|
||||
|
||||
void onPlayStateChanged();
|
||||
|
||||
void onRepeatModeChanged();
|
||||
|
||||
void onShuffleModeChanged();
|
||||
|
||||
void onMediaStoreChanged();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
|
||||
public static final String REPEAT_MODE_CHANGED = PHONOGRAPH_PACKAGE_NAME + ".repeatmodechanged";
|
||||
public static final String SHUFFLE_MODE_CHANGED = PHONOGRAPH_PACKAGE_NAME + ".shufflemodechanged";
|
||||
public static final String MEDIA_STORE_CHANGED = PHONOGRAPH_PACKAGE_NAME + ".mediastorechanged";
|
||||
|
||||
public static final String SAVED_POSITION = "POSITION";
|
||||
public static final String SAVED_POSITION_IN_TRACK = "POSITION_IN_TRACK";
|
||||
|
|
@ -160,7 +159,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
}
|
||||
};
|
||||
|
||||
private ContentObserver mediaStoreObserver;
|
||||
private boolean notHandledMetaChangedForCurrentTrack;
|
||||
|
||||
private Handler uiThreadHandler;
|
||||
|
|
@ -197,14 +195,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
|
||||
initNotification();
|
||||
|
||||
mediaStoreObserver = new MediaStoreObserver(playerHandler);
|
||||
throttledSeekHandler = new ThrottledSeekHandler(playerHandler);
|
||||
|
||||
getContentResolver().registerContentObserver(
|
||||
MediaStore.Audio.Media.INTERNAL_CONTENT_URI, true, mediaStoreObserver);
|
||||
getContentResolver().registerContentObserver(
|
||||
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, true, mediaStoreObserver);
|
||||
|
||||
PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this);
|
||||
|
||||
restoreState();
|
||||
|
|
@ -344,7 +336,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
mediaSession.setActive(false);
|
||||
quit();
|
||||
releaseResources();
|
||||
getContentResolver().unregisterContentObserver(mediaStoreObserver);
|
||||
PreferenceUtil.getInstance(this).unregisterOnSharedPreferenceChangedListener(this);
|
||||
wakeLock.release();
|
||||
|
||||
|
|
@ -1275,33 +1266,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
}
|
||||
};
|
||||
|
||||
private class MediaStoreObserver extends ContentObserver implements Runnable {
|
||||
// milliseconds to delay before calling refresh to aggregate events
|
||||
private static final long REFRESH_DELAY = 500;
|
||||
private Handler mHandler;
|
||||
|
||||
public MediaStoreObserver(Handler handler) {
|
||||
super(handler);
|
||||
mHandler = handler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChange(boolean selfChange) {
|
||||
// if a change is detected, remove any scheduled callback
|
||||
// then post a new one. This is intended to prevent closely
|
||||
// spaced events from generating multiple refresh calls
|
||||
mHandler.removeCallbacks(this);
|
||||
mHandler.postDelayed(this, REFRESH_DELAY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// actually call refresh when the delayed callback fires
|
||||
// do not send a sticky broadcast here
|
||||
handleAndSendChangeInternal(MEDIA_STORE_CHANGED);
|
||||
}
|
||||
}
|
||||
|
||||
private class ThrottledSeekHandler implements Runnable {
|
||||
// milliseconds to throttle before calling run to aggregate events
|
||||
private static final long THROTTLE = 500;
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
|
|
@ -145,6 +146,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -314,11 +314,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStatusbarColor(int color) {
|
||||
super.setStatusbarColor(color);
|
||||
|
|
|
|||
|
|
@ -336,11 +336,6 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStatusbarColor(int color) {
|
||||
super.setStatusbarColor(color);
|
||||
|
|
|
|||
|
|
@ -149,11 +149,6 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
private void checkIsEmpty() {
|
||||
empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,8 +214,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
super.onPlayingMetaChanged();
|
||||
public void onPlayMetadataChanged() {
|
||||
super.onPlayMetadataChanged();
|
||||
updateNavigationDrawerHeader();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -177,11 +177,6 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
private void checkIsEmpty() {
|
||||
empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,11 +196,6 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
|
|||
QueryUtil.getItems(itemQuery, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
hideSoftKeyboard();
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
|
||||
private MusicPlayerRemote.ServiceToken serviceToken;
|
||||
private MusicStateReceiver musicStateReceiver;
|
||||
|
||||
private boolean receiverRegistered;
|
||||
|
||||
@Override
|
||||
|
|
@ -80,7 +81,6 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
filter.addAction(MusicService.REPEAT_MODE_CHANGED);
|
||||
filter.addAction(MusicService.META_CHANGED);
|
||||
filter.addAction(MusicService.QUEUE_CHANGED);
|
||||
filter.addAction(MusicService.MEDIA_STORE_CHANGED);
|
||||
|
||||
registerReceiver(musicStateReceiver, filter);
|
||||
|
||||
|
|
@ -109,10 +109,10 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
public void onPlayMetadataChanged() {
|
||||
for (MusicServiceEventListener listener : mMusicServiceEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onPlayingMetaChanged();
|
||||
listener.onPlayMetadataChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -135,15 +135,6 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
for (MusicServiceEventListener listener : mMusicServiceEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onMediaStoreChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRepeatModeChanged() {
|
||||
for (MusicServiceEventListener listener : mMusicServiceEventListeners) {
|
||||
|
|
@ -177,7 +168,7 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
if (activity != null) {
|
||||
switch (action) {
|
||||
case MusicService.META_CHANGED:
|
||||
activity.onPlayingMetaChanged();
|
||||
activity.onPlayMetadataChanged();
|
||||
break;
|
||||
case MusicService.QUEUE_CHANGED:
|
||||
activity.onQueueChanged();
|
||||
|
|
@ -191,9 +182,6 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
case MusicService.SHUFFLE_MODE_CHANGED:
|
||||
activity.onShuffleModeChanged();
|
||||
break;
|
||||
case MusicService.MEDIA_STORE_CHANGED:
|
||||
activity.onMediaStoreChanged();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -201,12 +189,8 @@ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements
|
|||
|
||||
@Override
|
||||
protected void onHasPermissionsChanged(boolean hasPermissions) {
|
||||
// TODO is this method even required
|
||||
super.onHasPermissionsChanged(hasPermissions);
|
||||
Intent intent = new Intent(MusicService.MEDIA_STORE_CHANGED);
|
||||
|
||||
// just in case we need to know this at some point
|
||||
intent.putExtra("from_permissions_changed", true);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
|
|||
|
|
@ -40,10 +40,6 @@ public class AbsMusicServiceFragment extends Fragment implements MusicServiceEve
|
|||
activity.removeMusicServiceEventListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceConnected() {
|
||||
}
|
||||
|
|
@ -56,6 +52,10 @@ public class AbsMusicServiceFragment extends Fragment implements MusicServiceEve
|
|||
public void onQueueChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayMetadataChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayStateChanged() {
|
||||
}
|
||||
|
|
@ -67,8 +67,4 @@ public class AbsMusicServiceFragment extends Fragment implements MusicServiceEve
|
|||
@Override
|
||||
public void onShuffleModeChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,9 +106,4 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra
|
|||
protected void saveUsePalette(boolean usePalette) {
|
||||
PreferenceUtil.getInstance(getActivity()).setAlbumColoredFooters(usePalette);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,11 +65,6 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr
|
|||
return R.layout.item_list_single_row;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String loadSortMethod() {
|
||||
return SortMethod.NAME;
|
||||
|
|
|
|||
|
|
@ -46,8 +46,4 @@ public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment<GenreAda
|
|||
protected int getEmptyMessage() {
|
||||
return R.string.no_genres;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,8 +47,4 @@ public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment<Playl
|
|||
protected int getEmptyMessage() {
|
||||
return R.string.no_playlists;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,11 +72,6 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag
|
|||
return R.string.no_songs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String loadSortMethod() {
|
||||
return PreferenceUtil.getInstance(getActivity()).getSongSortMethod();
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
public void onPlayMetadataChanged() {
|
||||
updateSongTitle();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
public void onPlayMetadataChanged() {
|
||||
viewPager.setCurrentItem(MusicPlayerRemote.getPosition());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
public void onPlayMetadataChanged() {
|
||||
updateCurrentSong();
|
||||
updateIsFavorite();
|
||||
updateQueuePosition();
|
||||
|
|
@ -187,11 +187,6 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
updateQueue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
updateQueue();
|
||||
}
|
||||
|
||||
private void updateQueue() {
|
||||
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onPlayingMetaChanged() {
|
||||
public void onPlayMetadataChanged() {
|
||||
updateCurrentSong();
|
||||
updateIsFavorite();
|
||||
updateQueuePosition();
|
||||
|
|
@ -181,11 +181,6 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
updateQueue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
updateQueue();
|
||||
}
|
||||
|
||||
private void updateQueue() {
|
||||
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue