diff --git a/app/src/main/java/com/dkanada/gramophone/interfaces/MusicServiceEventListener.java b/app/src/main/java/com/dkanada/gramophone/interfaces/MusicServiceEventListener.java index 0c20c44d..115d0e23 100644 --- a/app/src/main/java/com/dkanada/gramophone/interfaces/MusicServiceEventListener.java +++ b/app/src/main/java/com/dkanada/gramophone/interfaces/MusicServiceEventListener.java @@ -7,13 +7,11 @@ public interface MusicServiceEventListener { void onQueueChanged(); - void onPlayingMetaChanged(); + void onPlayMetadataChanged(); void onPlayStateChanged(); void onRepeatModeChanged(); void onShuffleModeChanged(); - - void onMediaStoreChanged(); } diff --git a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java index d78b35c0..f46d7ac3 100644 --- a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java +++ b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java @@ -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; diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/AboutActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/AboutActivity.java index c1af5d79..968b0f17 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/AboutActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/AboutActivity.java @@ -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"; } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/AlbumDetailActivity.java index 06acd816..bb4d2ddc 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/AlbumDetailActivity.java @@ -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); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/ArtistDetailActivity.java index 6c8dbdb8..9b6469b3 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/ArtistDetailActivity.java @@ -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); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/GenreDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/GenreDetailActivity.java index e221470a..83460299 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/GenreDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/GenreDetailActivity.java @@ -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); } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/MainActivity.java index bc4c8776..52ddd836 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/MainActivity.java @@ -214,8 +214,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity { } @Override - public void onPlayingMetaChanged() { - super.onPlayingMetaChanged(); + public void onPlayMetadataChanged() { + super.onPlayMetadataChanged(); updateNavigationDrawerHeader(); } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java index 18da565d..93d5c560 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java @@ -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); } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java index 320218a0..8b3ca27d 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java @@ -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(); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/base/AbsMusicServiceActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/base/AbsMusicServiceActivity.java index afa5dd52..05e0625d 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/base/AbsMusicServiceActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/base/AbsMusicServiceActivity.java @@ -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 diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/AbsMusicServiceFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/AbsMusicServiceFragment.java index eb66accd..d741cede 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/AbsMusicServiceFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/AbsMusicServiceFragment.java @@ -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() { - } } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java index f0bdf816..7a827a6c 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java @@ -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(); - } } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java index c480c80a..424df8c0 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java @@ -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; diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java index b2e47114..077ef874 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java @@ -46,8 +46,4 @@ public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment