Removed bus. Will be replaced by an intent system soon.

This commit is contained in:
Karim Abou Zeid 2015-07-13 03:14:01 +02:00
commit b808491206
26 changed files with 14 additions and 382 deletions

View file

@ -91,8 +91,6 @@ dependencies {
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup:otto:1.3.7'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.afollestad:material-dialogs:0.7.6.0'

View file

@ -7,8 +7,6 @@ import com.kabouzeid.gramophone.imageloader.PhonographImageDownloader;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.utils.L;
import com.squareup.otto.Bus;
import com.squareup.otto.ThreadEnforcer;
import io.fabric.sdk.android.Fabric;
@ -17,7 +15,6 @@ import io.fabric.sdk.android.Fabric;
*/
public class App extends Application {
public static final String TAG = App.class.getSimpleName();
public static final Bus bus = new Bus(ThreadEnforcer.MAIN);
@Override
public void onCreate() {

View file

@ -9,7 +9,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
@ -22,14 +21,12 @@ import com.kabouzeid.gramophone.loader.ArtistLoader;
import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.squareup.otto.Subscribe;
import java.util.ArrayList;
import java.util.Collections;
@ -49,12 +46,8 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
private static final int ARTIST = 2;
private static final int SONG = 3;
@NonNull
private final AppCompatActivity activity;
@NonNull
private List results = Collections.emptyList();
private String query;
@NonNull
private final LastFMRestClient lastFMRestClient;
public SearchAdapter(@NonNull AppCompatActivity activity) {
@ -64,7 +57,6 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
@SuppressWarnings("unchecked")
public void search(@NonNull String query) {
this.query = query;
results = new ArrayList();
if (!query.trim().equals("")) {
List songs = SongLoader.getSongs(activity, query);
@ -250,26 +242,4 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
}
}
}
@Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
super.onDetachedFromRecyclerView(recyclerView);
App.bus.unregister(this);
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
App.bus.register(this);
}
@Subscribe
public void onDataBaseEvent(@NonNull DataBaseChangedEvent event) {
switch (event.getAction()) {
case DataBaseChangedEvent.ALBUMS_CHANGED:
case DataBaseChangedEvent.DATABASE_CHANGED:
search(query);
break;
}
}
}

View file

@ -52,10 +52,8 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
dataSet = songs;
}
public void updateDataSet(ArrayList<Song> objects) {
dataSet = objects;
clear();
addAll(dataSet);
public ArrayList<Song> getDataSet() {
return dataSet;
}
@Nullable
@ -167,7 +165,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
}
}
private void uncheckAll() {
private void unCheckAll() {
checked.clear();
notifyDataSetChanged();
}
@ -189,13 +187,13 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
public boolean onCabItemClicked(@NonNull MenuItem menuItem) {
onMultipleItemAction(menuItem, new ArrayList<>(checked));
cab.finish();
uncheckAll();
unCheckAll();
return true;
}
@Override
public boolean onCabFinished(MaterialCab materialCab) {
uncheckAll();
unCheckAll();
return true;
}
}

View file

@ -1,22 +0,0 @@
package com.kabouzeid.gramophone.model;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class DataBaseChangedEvent {
public static final int PLAYLISTS_CHANGED = 0;
public static final int ALBUMS_CHANGED = 1;
public static final int ARTISTS_CHANGED = 2;
public static final int SONGS_CHANGED = 3;
public static final int DATABASE_CHANGED = 4;
private final int action;
public DataBaseChangedEvent(int action) {
this.action = action;
}
public int getAction() {
return action;
}
}

View file

@ -1,15 +0,0 @@
package com.kabouzeid.gramophone.model;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class NavigationDrawerItem {
public final String title;
public final int imageRes;
public NavigationDrawerItem(String title, int imageRes) {
this.title = title;
this.imageRes = imageRes;
}
}

View file

@ -1,33 +0,0 @@
package com.kabouzeid.gramophone.model;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class UIPreferenceChangedEvent {
public static final int THEME_CHANGED = 0;
public static final int ALBUM_OVERVIEW_PALETTE_CHANGED = 1;
public static final int COLORED_NAVIGATION_BAR_ARTIST_CHANGED = 2;
public static final int COLORED_NAVIGATION_BAR_ALBUM_CHANGED = 3;
public static final int COLORED_NAVIGATION_BAR_PLAYLIST_CHANGED = 4;
public static final int COLORED_NAVIGATION_BAR_TAG_EDITOR_CHANGED = 5;
public static final int COLORED_NAVIGATION_BAR_CURRENT_PLAYING_CHANGED = 6;
public static final int COLORED_NAVIGATION_BAR_CHANGED = 10;
public static final int COLORED_NAVIGATION_BAR_OTHER_SCREENS_CHANGED = 7;
public static final int COLORED_NOTIFICATION_CHANGED = 11;
private final int action;
private final Object value;
public UIPreferenceChangedEvent(int action, Object value) {
this.action = action;
this.value = value;
}
public int getAction() {
return action;
}
public Object getValue() {
return value;
}
}

View file

@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.LastAddedLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtil;
@ -30,6 +28,5 @@ public class LastAddedPlaylist extends AbsSmartPlaylist {
@Override
public void clear(@NonNull Context context) {
PreferenceUtil.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis());
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
}

View file

@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.provider.SongPlayCountStore;
@ -30,6 +28,5 @@ public class MyTopTracksPlaylist extends AbsSmartPlaylist {
@Override
public void clear(@NonNull Context context) {
SongPlayCountStore.getInstance(context).clear();
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
}

View file

@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.provider.RecentlyPlayedStore;
@ -30,6 +28,5 @@ public class RecentlyPlayedPlaylist extends AbsSmartPlaylist {
@Override
public void clear(@NonNull Context context) {
RecentlyPlayedStore.getInstance(context).clear();
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
}

View file

@ -55,7 +55,7 @@ public class RecentlyPlayedStore extends SQLiteOpenHelper {
onCreate(db);
}
@Nullable
@NonNull
public static synchronized RecentlyPlayedStore getInstance(@NonNull final Context context) {
if (sInstance == null) {
sInstance = new RecentlyPlayedStore(context.getApplicationContext());

View file

@ -116,7 +116,7 @@ public class SongPlayCountStore extends SQLiteOpenHelper {
* @param context The {@link Context} to use
* @return A new instance of this class.
*/
@Nullable
@NonNull
public static synchronized SongPlayCountStore getInstance(@NonNull final Context context) {
if (sInstance == null) {
sInstance = new SongPlayCountStore(context.getApplicationContext());

View file

@ -4,7 +4,6 @@ import android.animation.Animator;
import android.annotation.TargetApi;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
@ -25,7 +24,6 @@ import android.widget.TextView;
import com.afollestad.materialcab.MaterialCab;
import com.afollestad.materialdialogs.util.DialogUtils;
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
@ -38,8 +36,6 @@ import com.kabouzeid.gramophone.loader.AlbumSongLoader;
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
@ -53,9 +49,6 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
import com.squareup.otto.Subscribe;
import java.util.ArrayList;
import butterknife.ButterKnife;
import butterknife.InjectView;
@ -88,7 +81,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
View songsBackgroundView;
private AlbumSongAdapter adapter;
private ArrayList<Song> songs;
private MaterialCab cab;
private int headerOffset;
@ -105,8 +97,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
setContentView(R.layout.activity_album_detail);
ButterKnife.inject(this);
App.bus.register(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
postponeEnterTransition();
if (PreferenceUtil.getInstance(this).coloredNavigationBarAlbum())
@ -183,12 +173,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
}
}
@NonNull
@Override
public String getTag() {
return TAG;
}
private void setUpObservableListViewParams() {
bottomOffset = getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity);
albumArtViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
@ -291,15 +275,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
return toolbarColor;
}
private void setNavigationBarColored(boolean colored) {
if (colored) {
setNavigationBarColor(toolbarColor);
} else {
setNavigationBarColor(Color.BLACK);
}
}
private void setUpListView() {
recyclerView.setScrollViewCallbacks(observableScrollViewCallbacks);
recyclerView.setPadding(0, albumArtViewHeight + titleViewHeight, 0, bottomOffset);
@ -323,8 +298,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
}
private void setUpSongsAdapter() {
songs = AlbumSongLoader.getAlbumSongList(this, album.id);
adapter = new AlbumSongAdapter(this, songs, R.layout.item_list, this);
adapter = new AlbumSongAdapter(this, AlbumSongLoader.getAlbumSongList(this, album.id), R.layout.item_list, this);
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
recyclerView.setAdapter(adapter);
}
@ -360,7 +334,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
NavigationUtil.openEqualizer(this);
return true;
case R.id.action_shuffle_album:
MusicPlayerRemote.openAndShuffleQueue(this, songs, true);
MusicPlayerRemote.openAndShuffleQueue(this, adapter.getDataSet(), true);
return true;
case android.R.id.home:
super.onBackPressed();
@ -393,21 +367,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
}
}
@Subscribe
public void onUIPreferenceChanged(@NonNull UIPreferenceChangedEvent event) {
switch (event.getAction()) {
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_ALBUM_CHANGED:
setNavigationBarColored((boolean) event.getValue());
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
App.bus.unregister(this);
}
@Override
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
if (cab != null && cab.isActive()) cab.finish();

View file

@ -5,7 +5,6 @@ import android.annotation.TargetApi;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
@ -31,7 +30,6 @@ import com.afollestad.materialcab.MaterialCab;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.util.DialogUtils;
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.album.HorizontalAlbumAdapter;
import com.kabouzeid.gramophone.adapter.song.ArtistSongAdapter;
@ -49,10 +47,7 @@ import com.kabouzeid.gramophone.loader.ArtistLoader;
import com.kabouzeid.gramophone.loader.ArtistSongLoader;
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil;
@ -65,9 +60,7 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
import com.squareup.otto.Subscribe;
import java.util.ArrayList;
import java.util.List;
import butterknife.ButterKnife;
@ -117,8 +110,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
private Spanned biography;
private HorizontalAlbumAdapter albumAdapter;
private ArtistSongAdapter songAdapter;
private ArrayList<Song> songs;
private ArrayList<Album> albums;
private LastFMRestClient lastFMRestClient;
@ -131,8 +122,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
setContentView(R.layout.activity_artist_detail);
ButterKnife.inject(this);
App.bus.register(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
postponeEnterTransition();
if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
@ -226,12 +215,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
albumRecyclerView = ButterKnife.findById(songListHeader, R.id.recycler_view);
}
@NonNull
@Override
public String getTag() {
return TAG;
}
private void setUpViews() {
artistName.setText(artist.name);
@ -246,22 +229,12 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
loadBiography();
}
private void setNavigationBarColored(boolean colored) {
if (colored) {
setNavigationBarColor(toolbarColor);
} else {
setNavigationBarColor(Color.BLACK);
}
}
private void setUpSongListView() {
songListView.setScrollViewCallbacks(observableScrollViewCallbacks);
songListView.setPadding(0, artistImageViewHeight + titleViewHeight, 0, bottomOffset);
songListView.addHeaderView(songListHeader);
songs = ArtistSongLoader.getArtistSongList(this, artist.id);
songAdapter = new ArtistSongAdapter(this, songs, this);
songAdapter = new ArtistSongAdapter(this, ArtistSongLoader.getArtistSongList(this, artist.id), this);
songListView.setAdapter(songAdapter);
final View contentView = getWindow().getDecorView().findViewById(android.R.id.content);
@ -276,8 +249,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
private void setUpAlbumRecyclerView() {
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
albums = ArtistAlbumLoader.getArtistAlbumList(this, artist.id);
albumAdapter = new HorizontalAlbumAdapter(this, albums, this);
albumAdapter = new HorizontalAlbumAdapter(this, ArtistAlbumLoader.getArtistAlbumList(this, artist.id), this);
albumRecyclerView.setAdapter(albumAdapter);
}
@ -477,7 +449,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
NavigationUtil.openEqualizer(this);
return true;
case R.id.action_shuffle_artist:
MusicPlayerRemote.openAndShuffleQueue(this, songs, true);
MusicPlayerRemote.openAndShuffleQueue(this, songAdapter.getDataSet(), true);
return true;
case android.R.id.home:
super.onBackPressed();
@ -550,21 +522,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
});
}
@Subscribe
public void onUIPreferenceChanged(@NonNull UIPreferenceChangedEvent event) {
switch (event.getAction()) {
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_ARTIST_CHANGED:
setNavigationBarColored((boolean) event.getValue());
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
App.bus.unregister(this);
}
@Override
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
if (cab != null && cab.isActive()) cab.finish();

View file

@ -47,7 +47,6 @@ import com.kabouzeid.gramophone.loader.AlbumSongLoader;
import com.kabouzeid.gramophone.loader.ArtistSongLoader;
import com.kabouzeid.gramophone.loader.PlaylistSongLoader;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AbsMainActivityFragment;
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AlbumViewFragment;
@ -63,7 +62,6 @@ import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Set;
import butterknife.ButterKnife;
import butterknife.InjectView;
@ -263,13 +261,6 @@ public class MainActivity extends AbsFabActivity
setUpNavigationView();
}
@NonNull
@Override
public String getTag() {
return TAG;
}
private void updateNavigationDrawerHeader() {
Song song = MusicPlayerRemote.getCurrentSong();
if (song.id != -1) {
@ -404,26 +395,6 @@ public class MainActivity extends AbsFabActivity
super.onConfigurationChanged(newConfig);
}
@Override
public void onUIPreferenceChangedEvent(@NonNull UIPreferenceChangedEvent event) {
super.onUIPreferenceChangedEvent(event);
switch (event.getAction()) {
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_OTHER_SCREENS_CHANGED:
if ((boolean) event.getValue()) setNavigationBarThemeColor();
else resetNavigationBarColor();
break;
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED:
try {
if (((Set) event.getValue()).contains(PreferenceUtil.COLORED_NAVIGATION_BAR_OTHER_SCREENS))
setNavigationBarThemeColor();
else resetNavigationBarColor();
} catch (NullPointerException ignored) {
resetNavigationBarColor();
}
break;
}
}
@Override
public void onBackPressed() {
if (drawerLayout.isDrawerOpen(navigationView)) drawerLayout.closeDrawers();

View file

@ -381,13 +381,6 @@ public class MusicControllerActivity extends AbsFabActivity {
}
}
@NonNull
@Override
public String getTag() {
return TAG;
}
@Override
protected void onResume() {
super.onResume();

View file

@ -11,7 +11,6 @@ import android.view.View;
import android.widget.TextView;
import com.afollestad.materialcab.MaterialCab;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.song.PlaylistSongAdapter;
import com.kabouzeid.gramophone.adapter.song.SmartPlaylistSongAdapter;
@ -67,8 +66,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
if (PreferenceUtil.getInstance(this).coloredNavigationBarPlaylist())
setNavigationBarThemeColor();
setStatusBarThemeColor();
App.bus.register(this);
}
private void setUpRecyclerView() {
@ -121,12 +118,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
}
}
@NonNull
@Override
public String getTag() {
return TAG;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_playlist_detail, menu);
@ -170,12 +161,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
return cab;
}
@Override
protected void onDestroy() {
super.onDestroy();
App.bus.unregister(this);
}
@Override
public void onBackPressed() {
if (cab != null && cab.isActive()) cab.finish();

View file

@ -75,12 +75,6 @@ public class SearchActivity extends AbsBaseActivity {
setStatusBarThemeColor();
}
@NonNull
@Override
public String getTag() {
return TAG;
}
@Override
public void enableViews() {
super.enableViews();

View file

@ -16,11 +16,9 @@ import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import com.afollestad.materialdialogs.util.DialogUtils;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.dialogs.ColorChooserDialog;
import com.kabouzeid.gramophone.helper.PlayingNotificationHelper;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
@ -28,8 +26,6 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.Set;
public class SettingsActivity extends AbsBaseActivity implements ColorChooserDialog.ColorCallback {
public static final String TAG = SettingsActivity.class.getSimpleName();
@ -41,6 +37,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary());
setSupportActionBar(toolbar);
//noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (savedInstanceState == null)
@ -55,10 +52,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
public void onColorSelection(int title, int color) {
if (title == R.string.primary_color) {
PreferenceUtil.getInstance(this).setThemeColorPrimary(color);
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
} else if (title == R.string.accent_color) {
PreferenceUtil.getInstance(this).setThemeColorAccent(color);
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
}
recreate();
}
@ -92,7 +87,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
@Override
public boolean onPreferenceChange(Preference preference, @NonNull Object o) {
setSummary(generalTheme, o);
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, o));
return true;
}
});
@ -121,26 +115,10 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
}
});
findPreference("colored_album_footers").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.ALBUM_OVERVIEW_PALETTE_CHANGED, o));
return true;
}
});
Preference colorNavBar = findPreference("colored_navigation_bar");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
colorNavBar.setEnabled(false);
colorNavBar.setSummary(R.string.pref_only_lollipop);
} else {
colorNavBar.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED, o));
return true;
}
});
}
Preference coloredNotification = findPreference("colored_notification");
@ -222,26 +200,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
}
}
@Override
protected void onUIPreferenceChangedEvent(@NonNull UIPreferenceChangedEvent event) {
super.onUIPreferenceChangedEvent(event);
switch (event.getAction()) {
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_OTHER_SCREENS_CHANGED:
if ((boolean) event.getValue()) setNavigationBarThemeColor();
else resetNavigationBarColor();
break;
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED:
try {
if (((Set) event.getValue()).contains(PreferenceUtil.COLORED_NAVIGATION_BAR_OTHER_SCREENS))
setNavigationBarThemeColor();
else resetNavigationBarColor();
} catch (NullPointerException ignored) {
resetNavigationBarColor();
}
break;
}
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == android.R.id.home) {
@ -250,10 +208,4 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
}
return super.onOptionsItemSelected(item);
}
@NonNull
@Override
public String getTag() {
return TAG;
}
}

View file

@ -2,14 +2,8 @@ package com.kabouzeid.gramophone.ui.activities.base;
import android.media.AudioManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import com.crashlytics.android.Crashlytics;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.BuildConfig;
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.squareup.otto.Subscribe;
/**
* @author Karim Abou Zeid (kabouzeid)
@ -17,27 +11,13 @@ import com.squareup.otto.Subscribe;
public abstract class AbsBaseActivity extends AbsThemeActivity implements KabViewsDisableAble {
private boolean areViewsEnabled;
private final Object uiPreferenceChangeListener = new Object() {
@Subscribe
public void onUIPreferenceChangedEvent(@NonNull UIPreferenceChangedEvent event) {
AbsBaseActivity.this.onUIPreferenceChangedEvent(event);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
if (!BuildConfig.DEBUG) Crashlytics.setString("Current activity", getTag());
super.onCreate(savedInstanceState);
try {
App.bus.register(uiPreferenceChangeListener);
} catch (Exception ignored) {
}
setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
@NonNull
protected abstract String getTag();
@Override
protected void onResume() {
super.onResume();
@ -58,21 +38,4 @@ public abstract class AbsBaseActivity extends AbsThemeActivity implements KabVie
public boolean areViewsEnabled() {
return areViewsEnabled;
}
protected void onUIPreferenceChangedEvent(@NonNull UIPreferenceChangedEvent event) {
switch (event.getAction()) {
case UIPreferenceChangedEvent.THEME_CHANGED:
recreate();
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
try {
App.bus.unregister(uiPreferenceChangeListener);
} catch (Exception ignored) {
}
}
}

View file

@ -128,7 +128,7 @@ public abstract class AbsFabActivity extends AbsPlaybackControlActivity {
fab = (FloatingActionButton) findViewById(R.id.fab);
if (fab == null) {
fab = new FloatingActionButton(this);
Log.e(getTag(), "No FAB found created default FAB.");
Log.e(TAG, "No FAB found created default FAB.");
}
}
return fab;

View file

@ -25,10 +25,8 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.ThemeSingleton;
import com.afollestad.materialdialogs.util.DialogUtils;
import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
@ -404,7 +402,6 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
@Override
public void run() {
if (i == 0 || i == toBeScannedLength - 1) {
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.DATABASE_CHANGED));
if (i == toBeScannedLength - 1)
listener.onScannedAll();
}

View file

@ -68,12 +68,6 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
setUpViews();
}
@NonNull
@Override
public String getTag() {
return TAG;
}
private void setUpViews() {
fillViewsWithFileTags();
albumTitle.addTextChangedListener(this);

View file

@ -46,12 +46,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
setUpViews();
}
@NonNull
@Override
public String getTag() {
return TAG;
}
private void setUpViews() {
fillViewsWithFileTags();
songTitle.addTextChangedListener(this);

View file

@ -16,7 +16,6 @@ import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.Toast;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.imageloader.PhonographImageDownloader;
@ -24,7 +23,6 @@ import com.kabouzeid.gramophone.loader.PlaylistLoader;
import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.Song;
@ -207,7 +205,6 @@ public class MusicUtil {
}
context.getContentResolver().notifyChange(Uri.parse("content://media"), null);
Toast.makeText(context, context.getString(R.string.deleted_x_songs, songs.size()), Toast.LENGTH_SHORT).show();
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.DATABASE_CHANGED));
}
public static Playlist getFavoritesPlaylist(@NonNull final Context context) {

View file

@ -11,9 +11,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.widget.Toast;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.PlaylistSong;
import com.kabouzeid.gramophone.model.Song;
@ -40,7 +38,6 @@ public class PlaylistsUtil {
if (uri != null) {
Toast.makeText(context, context.getResources().getString(
R.string.created_playlist_x, name), Toast.LENGTH_SHORT).show();
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
id = Integer.parseInt(uri.getLastPathSegment());
}
} else {
@ -71,7 +68,6 @@ public class PlaylistsUtil {
}
selection.append(")");
context.getContentResolver().delete(uri, selection.toString(), null);
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
public static void addToPlaylist(@NonNull final Context context, final Song song, final int playlistId, final boolean showToastOnFinish) {
@ -110,7 +106,6 @@ public class PlaylistsUtil {
Toast.makeText(context, context.getResources().getString(
R.string.inserted_x_songs_into_playlist, numinserted), Toast.LENGTH_SHORT).show();
}
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
@NonNull
@ -136,7 +131,6 @@ public class PlaylistsUtil {
String[] selectionArgs = new String[]{String.valueOf(song.id)};
context.getContentResolver().delete(uri, selection, selectionArgs);
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
public static void removeFromPlaylist(@NonNull final Context context, @NonNull final List<PlaylistSong> songs) {
@ -152,7 +146,6 @@ public class PlaylistsUtil {
selection = selection.substring(0, selection.length() - 2) + ")";
context.getContentResolver().delete(uri, selection, selectionArgs);
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
public static boolean doPlaylistContains(@NonNull final Context context, final long playlistId, final int songId) {
@ -182,7 +175,6 @@ public class PlaylistsUtil {
contentValues,
MediaStore.Audio.Playlists._ID + "=?",
new String[]{String.valueOf(id)});
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
public static String getNameForPlaylist(@NonNull final Context context, final long id) {