diff options
author | 2024-02-06 18:10:03 +0000 | |
---|---|---|
committer | 2024-02-06 18:50:10 +0000 | |
commit | 529d8f0228dfb6b534a10eebe954ecc181d450be (patch) | |
tree | d88498f1e0a4084d4f0964628c654a34e51e5bc3 | |
parent | 98a766e4a42ffcc6c75d454d65826c45efecfb39 (diff) |
Move applyOptions to MediaBrowserUtils
Bug: b/185136506
Flag: NONE
Test: m (non-functional refactor)
Change-Id: Ib0b980a83db00c3c3d5f37da7252e05508977f92
-rw-r--r-- | media/java/android/media/browse/MediaBrowserUtils.java | 28 | ||||
-rw-r--r-- | media/java/android/service/media/MediaBrowserService.java | 24 |
2 files changed, 29 insertions, 23 deletions
diff --git a/media/java/android/media/browse/MediaBrowserUtils.java b/media/java/android/media/browse/MediaBrowserUtils.java index 19d9f008d3db..8c008bc3e28d 100644 --- a/media/java/android/media/browse/MediaBrowserUtils.java +++ b/media/java/android/media/browse/MediaBrowserUtils.java @@ -18,6 +18,9 @@ package android.media.browse; import android.os.Bundle; +import java.util.Collections; +import java.util.List; + /** * @hide */ @@ -75,4 +78,29 @@ public class MediaBrowserUtils { } return false; } + + /** + * Returns a paged version of the given {@code list}, using the paging parameters in {@code + * options}. + */ + public static List<MediaBrowser.MediaItem> applyPagingOptions( + List<MediaBrowser.MediaItem> list, final Bundle options) { + if (list == null) { + return null; + } + int page = options.getInt(MediaBrowser.EXTRA_PAGE, -1); + int pageSize = options.getInt(MediaBrowser.EXTRA_PAGE_SIZE, -1); + if (page == -1 && pageSize == -1) { + return list; + } + int fromIndex = pageSize * page; + int toIndex = fromIndex + pageSize; + if (page < 0 || pageSize < 1 || fromIndex >= list.size()) { + return Collections.EMPTY_LIST; + } + if (toIndex > list.size()) { + toIndex = list.size(); + } + return list.subList(fromIndex, toIndex); + } } diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java index e8ef46499dc8..ba7ab9aa97ed 100644 --- a/media/java/android/service/media/MediaBrowserService.java +++ b/media/java/android/service/media/MediaBrowserService.java @@ -48,7 +48,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -728,7 +727,7 @@ public abstract class MediaBrowserService extends Service { List<MediaBrowser.MediaItem> filteredList = (flag & RESULT_FLAG_OPTION_NOT_HANDLED) != 0 - ? applyOptions(list, options) : list; + ? MediaBrowserUtils.applyPagingOptions(list, options) : list; final ParceledListSlice<MediaBrowser.MediaItem> pls; if (filteredList == null) { pls = null; @@ -762,27 +761,6 @@ public abstract class MediaBrowserService extends Service { } } - private List<MediaBrowser.MediaItem> applyOptions(List<MediaBrowser.MediaItem> list, - final Bundle options) { - if (list == null) { - return null; - } - int page = options.getInt(MediaBrowser.EXTRA_PAGE, -1); - int pageSize = options.getInt(MediaBrowser.EXTRA_PAGE_SIZE, -1); - if (page == -1 && pageSize == -1) { - return list; - } - int fromIndex = pageSize * page; - int toIndex = fromIndex + pageSize; - if (page < 0 || pageSize < 1 || fromIndex >= list.size()) { - return Collections.EMPTY_LIST; - } - if (toIndex > list.size()) { - toIndex = list.size(); - } - return list.subList(fromIndex, toIndex); - } - private void performLoadItem(String itemId, final ConnectionRecord connection, final ResultReceiver receiver) { final Result<MediaBrowser.MediaItem> result = |