@@ -1427,13 +1427,7 @@ public static Pair<PlayerInfo, BundlingExclusions> mergePlayerInfo(
1427
1427
return new Pair <>(mergedPlayerInfo , mergedBundlingExclusions );
1428
1428
}
1429
1429
1430
- private static byte [] convertToByteArray (Bitmap bitmap ) throws IOException {
1431
- try (ByteArrayOutputStream stream = new ByteArrayOutputStream ()) {
1432
- bitmap .compress (Bitmap .CompressFormat .PNG , /* ignored */ 0 , stream );
1433
- return stream .toByteArray ();
1434
- }
1435
- }
1436
-
1430
+ /** Generates an array of {@code n} indices. */
1437
1431
public static int [] generateUnshuffledIndices (int n ) {
1438
1432
int [] indices = new int [n ];
1439
1433
for (int i = 0 ; i < n ; i ++) {
@@ -1442,6 +1436,10 @@ public static int[] generateUnshuffledIndices(int n) {
1442
1436
return indices ;
1443
1437
}
1444
1438
1439
+ /**
1440
+ * Calculates the buffered percentage of the given buffered position and the duration in
1441
+ * milliseconds.
1442
+ */
1445
1443
public static int calculateBufferedPercentage (long bufferedPositionMs , long durationMs ) {
1446
1444
return bufferedPositionMs == C .TIME_UNSET || durationMs == C .TIME_UNSET
1447
1445
? 0
@@ -1450,26 +1448,38 @@ public static int calculateBufferedPercentage(long bufferedPositionMs, long dura
1450
1448
: Util .constrainValue ((int ) ((bufferedPositionMs * 100 ) / durationMs ), 0 , 100 );
1451
1449
}
1452
1450
1451
+ /**
1452
+ * Sets media items with start index and position for the given {@link Player} by honoring the
1453
+ * available commands.
1454
+ *
1455
+ * @param player The player to set the media items.
1456
+ * @param mediaItemsWithStartPosition The media items, the index and the position to set.
1457
+ */
1453
1458
public static void setMediaItemsWithStartIndexAndPosition (
1454
- PlayerWrapper player , MediaSession .MediaItemsWithStartPosition mediaItemsWithStartPosition ) {
1459
+ Player player , MediaSession .MediaItemsWithStartPosition mediaItemsWithStartPosition ) {
1455
1460
if (mediaItemsWithStartPosition .startIndex == C .INDEX_UNSET ) {
1456
1461
if (player .isCommandAvailable (COMMAND_CHANGE_MEDIA_ITEMS )) {
1457
1462
player .setMediaItems (mediaItemsWithStartPosition .mediaItems , /* resetPosition= */ true );
1458
1463
} else if (!mediaItemsWithStartPosition .mediaItems .isEmpty ()) {
1459
1464
player .setMediaItem (
1460
1465
mediaItemsWithStartPosition .mediaItems .get (0 ), /* resetPosition= */ true );
1461
1466
}
1462
- } else {
1463
- if (player .isCommandAvailable (COMMAND_CHANGE_MEDIA_ITEMS )) {
1464
- player .setMediaItems (
1465
- mediaItemsWithStartPosition .mediaItems ,
1466
- mediaItemsWithStartPosition .startIndex ,
1467
- mediaItemsWithStartPosition .startPositionMs );
1468
- } else if (!mediaItemsWithStartPosition .mediaItems .isEmpty ()) {
1469
- player .setMediaItem (
1470
- mediaItemsWithStartPosition .mediaItems .get (0 ),
1471
- mediaItemsWithStartPosition .startPositionMs );
1472
- }
1467
+ } else if (player .isCommandAvailable (COMMAND_CHANGE_MEDIA_ITEMS )) {
1468
+ player .setMediaItems (
1469
+ mediaItemsWithStartPosition .mediaItems ,
1470
+ mediaItemsWithStartPosition .startIndex ,
1471
+ mediaItemsWithStartPosition .startPositionMs );
1472
+ } else if (!mediaItemsWithStartPosition .mediaItems .isEmpty ()) {
1473
+ player .setMediaItem (
1474
+ mediaItemsWithStartPosition .mediaItems .get (0 ),
1475
+ mediaItemsWithStartPosition .startPositionMs );
1476
+ }
1477
+ }
1478
+
1479
+ private static byte [] convertToByteArray (Bitmap bitmap ) throws IOException {
1480
+ try (ByteArrayOutputStream stream = new ByteArrayOutputStream ()) {
1481
+ bitmap .compress (Bitmap .CompressFormat .PNG , /* ignored */ 0 , stream );
1482
+ return stream .toByteArray ();
1473
1483
}
1474
1484
}
1475
1485
0 commit comments