|
|
|
@ -110,6 +110,7 @@ abstract public class Medialibrary { |
|
|
|
protected final List<PlaylistsCb> mPlaylistCbs = new ArrayList<>(); |
|
|
|
protected final List<HistoryCb> mHistoryCbs = new ArrayList<>(); |
|
|
|
protected final List<MediaGroupCb> mMediaGroupCbs = new ArrayList<>(); |
|
|
|
protected final List<FoldersCb> mFoldersCbs = new ArrayList<>(); |
|
|
|
protected final List<OnMedialibraryReadyListener> onMedialibraryReadyListeners = new ArrayList<>(); |
|
|
|
protected final List<OnDeviceChangeListener> onDeviceChangeListeners = new ArrayList<>(); |
|
|
|
protected volatile boolean isMedialibraryStarted = false; |
|
|
|
@ -243,6 +244,12 @@ abstract public class Medialibrary { |
|
|
|
void onMediaGroupsDeleted(); |
|
|
|
} |
|
|
|
|
|
|
|
public interface FoldersCb { |
|
|
|
void onFoldersAdded(); |
|
|
|
void onFoldersModified(); |
|
|
|
void onFoldersDeleted(); |
|
|
|
} |
|
|
|
|
|
|
|
public interface OnMedialibraryReadyListener { |
|
|
|
void onMedialibraryReady(); |
|
|
|
void onMedialibraryIdle(); |
|
|
|
@ -426,6 +433,27 @@ abstract public class Medialibrary { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressWarnings("unused") |
|
|
|
public void onFoldersAdded() { |
|
|
|
synchronized (mFoldersCbs) { |
|
|
|
for (FoldersCb cb : mFoldersCbs) cb.onFoldersAdded(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressWarnings("unused") |
|
|
|
public void onFoldersModified() { |
|
|
|
synchronized (mFoldersCbs) { |
|
|
|
for (FoldersCb cb : mFoldersCbs) cb.onFoldersModified(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressWarnings("unused") |
|
|
|
public void onFoldersDeleted() { |
|
|
|
synchronized (mFoldersCbs) { |
|
|
|
for (FoldersCb cb : mFoldersCbs) cb.onFoldersDeleted(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void onDiscoveryStarted() { |
|
|
|
synchronized (devicesDiscoveryCbList) { |
|
|
|
if (!devicesDiscoveryCbList.isEmpty()) |
|
|
|
@ -646,6 +674,18 @@ abstract public class Medialibrary { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void addFoldersCb(FoldersCb foldersCb) { |
|
|
|
synchronized (mFoldersCbs) { |
|
|
|
this.mFoldersCbs.add(foldersCb); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void removeFoldersCb(FoldersCb foldersCb) { |
|
|
|
synchronized (mFoldersCbs) { |
|
|
|
this.mFoldersCbs.remove(foldersCb); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void addDeviceDiscoveryCb(DevicesDiscoveryCb cb) { |
|
|
|
synchronized (devicesDiscoveryCbList) { |
|
|
|
if (!devicesDiscoveryCbList.contains(cb)) |
|
|
|
|