/**
* Unsubscribe for changes to the children of the parent, which was previously subscribed with
* {@link #subscribe(String, Bundle)}.
+ * <p>
+ * This unsubscribes all previous subscription with the parent id, regardless of the extra
+ * that was previously sent to the library service.
*
* @param parentId parent id
- * @param extras extra bundle
*/
- public void unsubscribe(String parentId, @Nullable Bundle extras) {
- mProvider.unsubscribe_impl(parentId, extras);
+ public void unsubscribe(String parentId) {
+ mProvider.unsubscribe_impl(parentId);
}
/**
}
/**
- * Called when a controller subscribes to the parent.
+ * Called when a controller subscribed to the parent.
+ * <p>
+ * It's your responsibility to keep subscriptions by your own and call
+ * {@link MediaLibrarySession#notifyChildrenChanged(ControllerInfo, String, Bundle)} when
+ * the parent is changed.
*
* @param controller controller
* @param parentId parent id
* @param extras extra bundle
*/
- public void onSubscribed(@NonNull ControllerInfo controller, String parentId,
+ public void onSubscribed(@NonNull ControllerInfo controller, @NonNull String parentId,
@Nullable Bundle extras) {
}
/**
- * Called when a controller unsubscribes to the parent.
+ * Called when a controller unsubscribed to the parent.
*
* @param controller controller
* @param parentId parent id
- * @param extras extra bundle
*/
- public void onUnsubscribed(@NonNull ControllerInfo controller, String parentId,
- @Nullable Bundle extras) {
+ public void onUnsubscribed(@NonNull ControllerInfo controller, @NonNull String parentId) {
}
/**
*/
public void onSearch(@NonNull ControllerInfo controllerInfo, @NonNull String query,
@Nullable Bundle extras) {
-
}
/**
void getLibraryRoot_impl(Bundle rootHints);
void subscribe_impl(String parentId, Bundle extras);
- void unsubscribe_impl(String parentId, Bundle extras);
+ void unsubscribe_impl(String parentId);
void getItem_impl(String mediaId);
void getChildren_impl(String parentId, int page, int pageSize, Bundle extras);