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

@ -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);