Removed bus. Will be replaced by an intent system soon.
This commit is contained in:
parent
564ee7bdae
commit
b808491206
26 changed files with 14 additions and 382 deletions
|
|
@ -91,8 +91,6 @@ dependencies {
|
||||||
compile 'com.squareup.retrofit:retrofit:1.9.0'
|
compile 'com.squareup.retrofit:retrofit:1.9.0'
|
||||||
compile 'com.squareup.okhttp:okhttp:2.4.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.nostra13.universalimageloader:universal-image-loader:1.9.4'
|
||||||
|
|
||||||
compile 'com.afollestad:material-dialogs:0.7.6.0'
|
compile 'com.afollestad:material-dialogs:0.7.6.0'
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,6 @@ import com.kabouzeid.gramophone.imageloader.PhonographImageDownloader;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||||
import com.nostra13.universalimageloader.utils.L;
|
import com.nostra13.universalimageloader.utils.L;
|
||||||
import com.squareup.otto.Bus;
|
|
||||||
import com.squareup.otto.ThreadEnforcer;
|
|
||||||
|
|
||||||
import io.fabric.sdk.android.Fabric;
|
import io.fabric.sdk.android.Fabric;
|
||||||
|
|
||||||
|
|
@ -17,7 +15,6 @@ import io.fabric.sdk.android.Fabric;
|
||||||
*/
|
*/
|
||||||
public class App extends Application {
|
public class App extends Application {
|
||||||
public static final String TAG = App.class.getSimpleName();
|
public static final String TAG = App.class.getSimpleName();
|
||||||
public static final Bus bus = new Bus(ThreadEnforcer.MAIN);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
||||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
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.loader.SongLoader;
|
||||||
import com.kabouzeid.gramophone.model.Album;
|
import com.kabouzeid.gramophone.model.Album;
|
||||||
import com.kabouzeid.gramophone.model.Artist;
|
import com.kabouzeid.gramophone.model.Artist;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
import com.squareup.otto.Subscribe;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
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 ARTIST = 2;
|
||||||
private static final int SONG = 3;
|
private static final int SONG = 3;
|
||||||
|
|
||||||
@NonNull
|
|
||||||
private final AppCompatActivity activity;
|
private final AppCompatActivity activity;
|
||||||
@NonNull
|
|
||||||
private List results = Collections.emptyList();
|
private List results = Collections.emptyList();
|
||||||
private String query;
|
|
||||||
@NonNull
|
|
||||||
private final LastFMRestClient lastFMRestClient;
|
private final LastFMRestClient lastFMRestClient;
|
||||||
|
|
||||||
public SearchAdapter(@NonNull AppCompatActivity activity) {
|
public SearchAdapter(@NonNull AppCompatActivity activity) {
|
||||||
|
|
@ -64,7 +57,6 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void search(@NonNull String query) {
|
public void search(@NonNull String query) {
|
||||||
this.query = query;
|
|
||||||
results = new ArrayList();
|
results = new ArrayList();
|
||||||
if (!query.trim().equals("")) {
|
if (!query.trim().equals("")) {
|
||||||
List songs = SongLoader.getSongs(activity, query);
|
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,10 +52,8 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
|
||||||
dataSet = songs;
|
dataSet = songs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateDataSet(ArrayList<Song> objects) {
|
public ArrayList<Song> getDataSet() {
|
||||||
dataSet = objects;
|
return dataSet;
|
||||||
clear();
|
|
||||||
addAll(dataSet);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|
@ -167,7 +165,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void uncheckAll() {
|
private void unCheckAll() {
|
||||||
checked.clear();
|
checked.clear();
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
@ -189,13 +187,13 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
|
||||||
public boolean onCabItemClicked(@NonNull MenuItem menuItem) {
|
public boolean onCabItemClicked(@NonNull MenuItem menuItem) {
|
||||||
onMultipleItemAction(menuItem, new ArrayList<>(checked));
|
onMultipleItemAction(menuItem, new ArrayList<>(checked));
|
||||||
cab.finish();
|
cab.finish();
|
||||||
uncheckAll();
|
unCheckAll();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCabFinished(MaterialCab materialCab) {
|
public boolean onCabFinished(MaterialCab materialCab) {
|
||||||
uncheckAll();
|
unCheckAll();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.loader.LastAddedLoader;
|
import com.kabouzeid.gramophone.loader.LastAddedLoader;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
|
|
||||||
|
|
@ -30,6 +28,5 @@ public class LastAddedPlaylist extends AbsSmartPlaylist {
|
||||||
@Override
|
@Override
|
||||||
public void clear(@NonNull Context context) {
|
public void clear(@NonNull Context context) {
|
||||||
PreferenceUtil.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis());
|
PreferenceUtil.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis());
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
|
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.provider.SongPlayCountStore;
|
import com.kabouzeid.gramophone.provider.SongPlayCountStore;
|
||||||
|
|
||||||
|
|
@ -30,6 +28,5 @@ public class MyTopTracksPlaylist extends AbsSmartPlaylist {
|
||||||
@Override
|
@Override
|
||||||
public void clear(@NonNull Context context) {
|
public void clear(@NonNull Context context) {
|
||||||
SongPlayCountStore.getInstance(context).clear();
|
SongPlayCountStore.getInstance(context).clear();
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,10 +3,8 @@ package com.kabouzeid.gramophone.model.smartplaylist;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
|
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.provider.RecentlyPlayedStore;
|
import com.kabouzeid.gramophone.provider.RecentlyPlayedStore;
|
||||||
|
|
||||||
|
|
@ -30,6 +28,5 @@ public class RecentlyPlayedPlaylist extends AbsSmartPlaylist {
|
||||||
@Override
|
@Override
|
||||||
public void clear(@NonNull Context context) {
|
public void clear(@NonNull Context context) {
|
||||||
RecentlyPlayedStore.getInstance(context).clear();
|
RecentlyPlayedStore.getInstance(context).clear();
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public class RecentlyPlayedStore extends SQLiteOpenHelper {
|
||||||
onCreate(db);
|
onCreate(db);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@NonNull
|
||||||
public static synchronized RecentlyPlayedStore getInstance(@NonNull final Context context) {
|
public static synchronized RecentlyPlayedStore getInstance(@NonNull final Context context) {
|
||||||
if (sInstance == null) {
|
if (sInstance == null) {
|
||||||
sInstance = new RecentlyPlayedStore(context.getApplicationContext());
|
sInstance = new RecentlyPlayedStore(context.getApplicationContext());
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ public class SongPlayCountStore extends SQLiteOpenHelper {
|
||||||
* @param context The {@link Context} to use
|
* @param context The {@link Context} to use
|
||||||
* @return A new instance of this class.
|
* @return A new instance of this class.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@NonNull
|
||||||
public static synchronized SongPlayCountStore getInstance(@NonNull final Context context) {
|
public static synchronized SongPlayCountStore getInstance(@NonNull final Context context) {
|
||||||
if (sInstance == null) {
|
if (sInstance == null) {
|
||||||
sInstance = new SongPlayCountStore(context.getApplicationContext());
|
sInstance = new SongPlayCountStore(context.getApplicationContext());
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import android.animation.Animator;
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Color;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
@ -25,7 +24,6 @@ import android.widget.TextView;
|
||||||
import com.afollestad.materialcab.MaterialCab;
|
import com.afollestad.materialcab.MaterialCab;
|
||||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||||
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
|
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
|
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
|
||||||
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
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.SmallObservableScrollViewCallbacks;
|
||||||
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
||||||
import com.kabouzeid.gramophone.model.Album;
|
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.base.AbsFabActivity;
|
||||||
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
|
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
|
||||||
import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
|
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.ImageLoader;
|
||||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||||
import com.squareup.otto.Subscribe;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import butterknife.InjectView;
|
import butterknife.InjectView;
|
||||||
|
|
@ -88,7 +81,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
||||||
View songsBackgroundView;
|
View songsBackgroundView;
|
||||||
|
|
||||||
private AlbumSongAdapter adapter;
|
private AlbumSongAdapter adapter;
|
||||||
private ArrayList<Song> songs;
|
|
||||||
|
|
||||||
private MaterialCab cab;
|
private MaterialCab cab;
|
||||||
private int headerOffset;
|
private int headerOffset;
|
||||||
|
|
@ -105,8 +97,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
||||||
setContentView(R.layout.activity_album_detail);
|
setContentView(R.layout.activity_album_detail);
|
||||||
ButterKnife.inject(this);
|
ButterKnife.inject(this);
|
||||||
|
|
||||||
App.bus.register(this);
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
postponeEnterTransition();
|
postponeEnterTransition();
|
||||||
if (PreferenceUtil.getInstance(this).coloredNavigationBarAlbum())
|
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() {
|
private void setUpObservableListViewParams() {
|
||||||
bottomOffset = getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity);
|
bottomOffset = getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity);
|
||||||
albumArtViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
|
albumArtViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
|
||||||
|
|
@ -291,15 +275,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
||||||
return toolbarColor;
|
return toolbarColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void setNavigationBarColored(boolean colored) {
|
|
||||||
if (colored) {
|
|
||||||
setNavigationBarColor(toolbarColor);
|
|
||||||
} else {
|
|
||||||
setNavigationBarColor(Color.BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpListView() {
|
private void setUpListView() {
|
||||||
recyclerView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
recyclerView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
||||||
recyclerView.setPadding(0, albumArtViewHeight + titleViewHeight, 0, bottomOffset);
|
recyclerView.setPadding(0, albumArtViewHeight + titleViewHeight, 0, bottomOffset);
|
||||||
|
|
@ -323,8 +298,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpSongsAdapter() {
|
private void setUpSongsAdapter() {
|
||||||
songs = AlbumSongLoader.getAlbumSongList(this, album.id);
|
adapter = new AlbumSongAdapter(this, AlbumSongLoader.getAlbumSongList(this, album.id), R.layout.item_list, this);
|
||||||
adapter = new AlbumSongAdapter(this, songs, R.layout.item_list, this);
|
|
||||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
@ -360,7 +334,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
||||||
NavigationUtil.openEqualizer(this);
|
NavigationUtil.openEqualizer(this);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_shuffle_album:
|
case R.id.action_shuffle_album:
|
||||||
MusicPlayerRemote.openAndShuffleQueue(this, songs, true);
|
MusicPlayerRemote.openAndShuffleQueue(this, adapter.getDataSet(), true);
|
||||||
return true;
|
return true;
|
||||||
case android.R.id.home:
|
case android.R.id.home:
|
||||||
super.onBackPressed();
|
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
|
@Override
|
||||||
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
|
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
|
||||||
if (cab != null && cab.isActive()) cab.finish();
|
if (cab != null && cab.isActive()) cab.finish();
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import android.annotation.TargetApi;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.graphics.Color;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
@ -31,7 +30,6 @@ import com.afollestad.materialcab.MaterialCab;
|
||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||||
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
|
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.album.HorizontalAlbumAdapter;
|
import com.kabouzeid.gramophone.adapter.album.HorizontalAlbumAdapter;
|
||||||
import com.kabouzeid.gramophone.adapter.song.ArtistSongAdapter;
|
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.loader.ArtistSongLoader;
|
||||||
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
||||||
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
||||||
import com.kabouzeid.gramophone.model.Album;
|
|
||||||
import com.kabouzeid.gramophone.model.Artist;
|
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.ui.activities.base.AbsFabActivity;
|
||||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
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.ImageLoader;
|
||||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||||
import com.squareup.otto.Subscribe;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
|
|
@ -117,8 +110,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
private Spanned biography;
|
private Spanned biography;
|
||||||
private HorizontalAlbumAdapter albumAdapter;
|
private HorizontalAlbumAdapter albumAdapter;
|
||||||
private ArtistSongAdapter songAdapter;
|
private ArtistSongAdapter songAdapter;
|
||||||
private ArrayList<Song> songs;
|
|
||||||
private ArrayList<Album> albums;
|
|
||||||
|
|
||||||
private LastFMRestClient lastFMRestClient;
|
private LastFMRestClient lastFMRestClient;
|
||||||
|
|
||||||
|
|
@ -131,8 +122,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
setContentView(R.layout.activity_artist_detail);
|
setContentView(R.layout.activity_artist_detail);
|
||||||
ButterKnife.inject(this);
|
ButterKnife.inject(this);
|
||||||
|
|
||||||
App.bus.register(this);
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
postponeEnterTransition();
|
postponeEnterTransition();
|
||||||
if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
|
if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
|
||||||
|
|
@ -226,12 +215,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
albumRecyclerView = ButterKnife.findById(songListHeader, R.id.recycler_view);
|
albumRecyclerView = ButterKnife.findById(songListHeader, R.id.recycler_view);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpViews() {
|
private void setUpViews() {
|
||||||
artistName.setText(artist.name);
|
artistName.setText(artist.name);
|
||||||
|
|
||||||
|
|
@ -246,22 +229,12 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
loadBiography();
|
loadBiography();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void setNavigationBarColored(boolean colored) {
|
|
||||||
if (colored) {
|
|
||||||
setNavigationBarColor(toolbarColor);
|
|
||||||
} else {
|
|
||||||
setNavigationBarColor(Color.BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpSongListView() {
|
private void setUpSongListView() {
|
||||||
songListView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
songListView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
||||||
songListView.setPadding(0, artistImageViewHeight + titleViewHeight, 0, bottomOffset);
|
songListView.setPadding(0, artistImageViewHeight + titleViewHeight, 0, bottomOffset);
|
||||||
songListView.addHeaderView(songListHeader);
|
songListView.addHeaderView(songListHeader);
|
||||||
|
|
||||||
songs = ArtistSongLoader.getArtistSongList(this, artist.id);
|
songAdapter = new ArtistSongAdapter(this, ArtistSongLoader.getArtistSongList(this, artist.id), this);
|
||||||
songAdapter = new ArtistSongAdapter(this, songs, this);
|
|
||||||
songListView.setAdapter(songAdapter);
|
songListView.setAdapter(songAdapter);
|
||||||
|
|
||||||
final View contentView = getWindow().getDecorView().findViewById(android.R.id.content);
|
final View contentView = getWindow().getDecorView().findViewById(android.R.id.content);
|
||||||
|
|
@ -276,8 +249,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
|
|
||||||
private void setUpAlbumRecyclerView() {
|
private void setUpAlbumRecyclerView() {
|
||||||
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||||
albums = ArtistAlbumLoader.getArtistAlbumList(this, artist.id);
|
albumAdapter = new HorizontalAlbumAdapter(this, ArtistAlbumLoader.getArtistAlbumList(this, artist.id), this);
|
||||||
albumAdapter = new HorizontalAlbumAdapter(this, albums, this);
|
|
||||||
albumRecyclerView.setAdapter(albumAdapter);
|
albumRecyclerView.setAdapter(albumAdapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -477,7 +449,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
||||||
NavigationUtil.openEqualizer(this);
|
NavigationUtil.openEqualizer(this);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_shuffle_artist:
|
case R.id.action_shuffle_artist:
|
||||||
MusicPlayerRemote.openAndShuffleQueue(this, songs, true);
|
MusicPlayerRemote.openAndShuffleQueue(this, songAdapter.getDataSet(), true);
|
||||||
return true;
|
return true;
|
||||||
case android.R.id.home:
|
case android.R.id.home:
|
||||||
super.onBackPressed();
|
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
|
@Override
|
||||||
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
|
public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) {
|
||||||
if (cab != null && cab.isActive()) cab.finish();
|
if (cab != null && cab.isActive()) cab.finish();
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@ import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
||||||
import com.kabouzeid.gramophone.loader.ArtistSongLoader;
|
import com.kabouzeid.gramophone.loader.ArtistSongLoader;
|
||||||
import com.kabouzeid.gramophone.loader.PlaylistSongLoader;
|
import com.kabouzeid.gramophone.loader.PlaylistSongLoader;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
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.base.AbsFabActivity;
|
||||||
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AbsMainActivityFragment;
|
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AbsMainActivityFragment;
|
||||||
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AlbumViewFragment;
|
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.Field;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import butterknife.InjectView;
|
import butterknife.InjectView;
|
||||||
|
|
@ -263,13 +261,6 @@ public class MainActivity extends AbsFabActivity
|
||||||
setUpNavigationView();
|
setUpNavigationView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void updateNavigationDrawerHeader() {
|
private void updateNavigationDrawerHeader() {
|
||||||
Song song = MusicPlayerRemote.getCurrentSong();
|
Song song = MusicPlayerRemote.getCurrentSong();
|
||||||
if (song.id != -1) {
|
if (song.id != -1) {
|
||||||
|
|
@ -404,26 +395,6 @@ public class MainActivity extends AbsFabActivity
|
||||||
super.onConfigurationChanged(newConfig);
|
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
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
if (drawerLayout.isDrawerOpen(navigationView)) drawerLayout.closeDrawers();
|
if (drawerLayout.isDrawerOpen(navigationView)) drawerLayout.closeDrawers();
|
||||||
|
|
|
||||||
|
|
@ -381,13 +381,6 @@ public class MusicControllerActivity extends AbsFabActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.afollestad.materialcab.MaterialCab;
|
import com.afollestad.materialcab.MaterialCab;
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.song.PlaylistSongAdapter;
|
import com.kabouzeid.gramophone.adapter.song.PlaylistSongAdapter;
|
||||||
import com.kabouzeid.gramophone.adapter.song.SmartPlaylistSongAdapter;
|
import com.kabouzeid.gramophone.adapter.song.SmartPlaylistSongAdapter;
|
||||||
|
|
@ -67,8 +66,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
||||||
if (PreferenceUtil.getInstance(this).coloredNavigationBarPlaylist())
|
if (PreferenceUtil.getInstance(this).coloredNavigationBarPlaylist())
|
||||||
setNavigationBarThemeColor();
|
setNavigationBarThemeColor();
|
||||||
setStatusBarThemeColor();
|
setStatusBarThemeColor();
|
||||||
|
|
||||||
App.bus.register(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpRecyclerView() {
|
private void setUpRecyclerView() {
|
||||||
|
|
@ -121,12 +118,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
getMenuInflater().inflate(R.menu.menu_playlist_detail, menu);
|
getMenuInflater().inflate(R.menu.menu_playlist_detail, menu);
|
||||||
|
|
@ -170,12 +161,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
||||||
return cab;
|
return cab;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
App.bus.unregister(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
if (cab != null && cab.isActive()) cab.finish();
|
if (cab != null && cab.isActive()) cab.finish();
|
||||||
|
|
|
||||||
|
|
@ -75,12 +75,6 @@ public class SearchActivity extends AbsBaseActivity {
|
||||||
setStatusBarThemeColor();
|
setStatusBarThemeColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enableViews() {
|
public void enableViews() {
|
||||||
super.enableViews();
|
super.enableViews();
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,9 @@ import android.support.v7.widget.Toolbar;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.dialogs.ColorChooserDialog;
|
import com.kabouzeid.gramophone.dialogs.ColorChooserDialog;
|
||||||
import com.kabouzeid.gramophone.helper.PlayingNotificationHelper;
|
import com.kabouzeid.gramophone.helper.PlayingNotificationHelper;
|
||||||
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
|
import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
|
||||||
import com.kabouzeid.gramophone.service.MusicService;
|
import com.kabouzeid.gramophone.service.MusicService;
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
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.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class SettingsActivity extends AbsBaseActivity implements ColorChooserDialog.ColorCallback {
|
public class SettingsActivity extends AbsBaseActivity implements ColorChooserDialog.ColorCallback {
|
||||||
public static final String TAG = SettingsActivity.class.getSimpleName();
|
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 toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
toolbar.setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary());
|
toolbar.setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary());
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
//noinspection ConstantConditions
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
|
||||||
if (savedInstanceState == null)
|
if (savedInstanceState == null)
|
||||||
|
|
@ -55,10 +52,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
||||||
public void onColorSelection(int title, int color) {
|
public void onColorSelection(int title, int color) {
|
||||||
if (title == R.string.primary_color) {
|
if (title == R.string.primary_color) {
|
||||||
PreferenceUtil.getInstance(this).setThemeColorPrimary(color);
|
PreferenceUtil.getInstance(this).setThemeColorPrimary(color);
|
||||||
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
|
|
||||||
} else if (title == R.string.accent_color) {
|
} else if (title == R.string.accent_color) {
|
||||||
PreferenceUtil.getInstance(this).setThemeColorAccent(color);
|
PreferenceUtil.getInstance(this).setThemeColorAccent(color);
|
||||||
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
|
|
||||||
}
|
}
|
||||||
recreate();
|
recreate();
|
||||||
}
|
}
|
||||||
|
|
@ -92,7 +87,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, @NonNull Object o) {
|
public boolean onPreferenceChange(Preference preference, @NonNull Object o) {
|
||||||
setSummary(generalTheme, o);
|
setSummary(generalTheme, o);
|
||||||
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, o));
|
|
||||||
return true;
|
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");
|
Preference colorNavBar = findPreference("colored_navigation_bar");
|
||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||||
colorNavBar.setEnabled(false);
|
colorNavBar.setEnabled(false);
|
||||||
colorNavBar.setSummary(R.string.pref_only_lollipop);
|
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");
|
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
|
@Override
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
if (item.getItemId() == android.R.id.home) {
|
if (item.getItemId() == android.R.id.home) {
|
||||||
|
|
@ -250,10 +208,4 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,8 @@ package com.kabouzeid.gramophone.ui.activities.base;
|
||||||
|
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.os.Bundle;
|
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.interfaces.KabViewsDisableAble;
|
||||||
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
|
|
||||||
import com.squareup.otto.Subscribe;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Karim Abou Zeid (kabouzeid)
|
* @author Karim Abou Zeid (kabouzeid)
|
||||||
|
|
@ -17,27 +11,13 @@ import com.squareup.otto.Subscribe;
|
||||||
public abstract class AbsBaseActivity extends AbsThemeActivity implements KabViewsDisableAble {
|
public abstract class AbsBaseActivity extends AbsThemeActivity implements KabViewsDisableAble {
|
||||||
|
|
||||||
private boolean areViewsEnabled;
|
private boolean areViewsEnabled;
|
||||||
private final Object uiPreferenceChangeListener = new Object() {
|
|
||||||
@Subscribe
|
|
||||||
public void onUIPreferenceChangedEvent(@NonNull UIPreferenceChangedEvent event) {
|
|
||||||
AbsBaseActivity.this.onUIPreferenceChangedEvent(event);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
if (!BuildConfig.DEBUG) Crashlytics.setString("Current activity", getTag());
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
try {
|
|
||||||
App.bus.register(uiPreferenceChangeListener);
|
|
||||||
} catch (Exception ignored) {
|
|
||||||
}
|
|
||||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
protected abstract String getTag();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
@ -58,21 +38,4 @@ public abstract class AbsBaseActivity extends AbsThemeActivity implements KabVie
|
||||||
public boolean areViewsEnabled() {
|
public boolean areViewsEnabled() {
|
||||||
return 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) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,7 @@ public abstract class AbsFabActivity extends AbsPlaybackControlActivity {
|
||||||
fab = (FloatingActionButton) findViewById(R.id.fab);
|
fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||||
if (fab == null) {
|
if (fab == null) {
|
||||||
fab = new FloatingActionButton(this);
|
fab = new FloatingActionButton(this);
|
||||||
Log.e(getTag(), "No FAB found created default FAB.");
|
Log.e(TAG, "No FAB found created default FAB.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fab;
|
return fab;
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,8 @@ import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.afollestad.materialdialogs.ThemeSingleton;
|
import com.afollestad.materialdialogs.ThemeSingleton;
|
||||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||||
import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
|
import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
|
||||||
import com.kabouzeid.gramophone.App;
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
|
|
@ -404,7 +402,6 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (i == 0 || i == toBeScannedLength - 1) {
|
if (i == 0 || i == toBeScannedLength - 1) {
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.DATABASE_CHANGED));
|
|
||||||
if (i == toBeScannedLength - 1)
|
if (i == toBeScannedLength - 1)
|
||||||
listener.onScannedAll();
|
listener.onScannedAll();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,12 +68,6 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
||||||
setUpViews();
|
setUpViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpViews() {
|
private void setUpViews() {
|
||||||
fillViewsWithFileTags();
|
fillViewsWithFileTags();
|
||||||
albumTitle.addTextChangedListener(this);
|
albumTitle.addTextChangedListener(this);
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
||||||
setUpViews();
|
setUpViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public String getTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpViews() {
|
private void setUpViews() {
|
||||||
fillViewsWithFileTags();
|
fillViewsWithFileTags();
|
||||||
songTitle.addTextChangedListener(this);
|
songTitle.addTextChangedListener(this);
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ import android.support.annotation.Nullable;
|
||||||
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.MusicPlayerRemote;
|
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||||
import com.kabouzeid.gramophone.imageloader.PhonographImageDownloader;
|
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.loader.SongLoader;
|
||||||
import com.kabouzeid.gramophone.model.Album;
|
import com.kabouzeid.gramophone.model.Album;
|
||||||
import com.kabouzeid.gramophone.model.Artist;
|
import com.kabouzeid.gramophone.model.Artist;
|
||||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Playlist;
|
import com.kabouzeid.gramophone.model.Playlist;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
|
|
||||||
|
|
@ -207,7 +205,6 @@ public class MusicUtil {
|
||||||
}
|
}
|
||||||
context.getContentResolver().notifyChange(Uri.parse("content://media"), null);
|
context.getContentResolver().notifyChange(Uri.parse("content://media"), null);
|
||||||
Toast.makeText(context, context.getString(R.string.deleted_x_songs, songs.size()), Toast.LENGTH_SHORT).show();
|
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) {
|
public static Playlist getFavoritesPlaylist(@NonNull final Context context) {
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,7 @@ import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
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.model.DataBaseChangedEvent;
|
|
||||||
import com.kabouzeid.gramophone.model.Playlist;
|
import com.kabouzeid.gramophone.model.Playlist;
|
||||||
import com.kabouzeid.gramophone.model.PlaylistSong;
|
import com.kabouzeid.gramophone.model.PlaylistSong;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
|
|
@ -40,7 +38,6 @@ public class PlaylistsUtil {
|
||||||
if (uri != null) {
|
if (uri != null) {
|
||||||
Toast.makeText(context, context.getResources().getString(
|
Toast.makeText(context, context.getResources().getString(
|
||||||
R.string.created_playlist_x, name), Toast.LENGTH_SHORT).show();
|
R.string.created_playlist_x, name), Toast.LENGTH_SHORT).show();
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
|
|
||||||
id = Integer.parseInt(uri.getLastPathSegment());
|
id = Integer.parseInt(uri.getLastPathSegment());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -71,7 +68,6 @@ public class PlaylistsUtil {
|
||||||
}
|
}
|
||||||
selection.append(")");
|
selection.append(")");
|
||||||
context.getContentResolver().delete(uri, selection.toString(), null);
|
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) {
|
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(
|
Toast.makeText(context, context.getResources().getString(
|
||||||
R.string.inserted_x_songs_into_playlist, numinserted), Toast.LENGTH_SHORT).show();
|
R.string.inserted_x_songs_into_playlist, numinserted), Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|
@ -136,7 +131,6 @@ public class PlaylistsUtil {
|
||||||
String[] selectionArgs = new String[]{String.valueOf(song.id)};
|
String[] selectionArgs = new String[]{String.valueOf(song.id)};
|
||||||
|
|
||||||
context.getContentResolver().delete(uri, selection, selectionArgs);
|
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) {
|
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) + ")";
|
selection = selection.substring(0, selection.length() - 2) + ")";
|
||||||
|
|
||||||
context.getContentResolver().delete(uri, selection, selectionArgs);
|
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) {
|
public static boolean doPlaylistContains(@NonNull final Context context, final long playlistId, final int songId) {
|
||||||
|
|
@ -182,7 +175,6 @@ public class PlaylistsUtil {
|
||||||
contentValues,
|
contentValues,
|
||||||
MediaStore.Audio.Playlists._ID + "=?",
|
MediaStore.Audio.Playlists._ID + "=?",
|
||||||
new String[]{String.valueOf(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) {
|
public static String getNameForPlaylist(@NonNull final Context context, final long id) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue