Fix test-only visibility of MediaController#timeDiffMs

PiperOrigin-RevId: 407787258
This commit is contained in:
ibaker 2021-11-05 10:55:10 +00:00 committed by Ian Baker
parent aed08128c2
commit 05c7a30bd7
3 changed files with 20 additions and 10 deletions

View File

@ -15,6 +15,7 @@
*/ */
package androidx.media3.session; package androidx.media3.session;
import static androidx.annotation.VisibleForTesting.NONE;
import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkArgument;
import static androidx.media3.common.util.Assertions.checkNotEmpty; import static androidx.media3.common.util.Assertions.checkNotEmpty;
import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkNotNull;
@ -343,7 +344,7 @@ public class MediaController implements Player {
/* package */ final Handler applicationHandler; /* package */ final Handler applicationHandler;
@VisibleForTesting long timeDiffMs; private long timeDiffMs;
private boolean connectionNotified; private boolean connectionNotified;
@ -1722,10 +1723,19 @@ public class MediaController implements Player {
} }
/** /**
* Sets the time diff forcefully when calculating current position. * Gets the optional time diff (in milliseconds) used for calculating the current position, or
* * {@link C#TIME_UNSET} if no diff should be applied.
* @param timeDiffMs {@code C.TIME_UNSET} for reset.
*/ */
/* package */ long getTimeDiffMs() {
return timeDiffMs;
}
/**
* Sets the time diff (in milliseconds) used when calculating the current position.
*
* @param timeDiffMs {@link C#TIME_UNSET} for reset.
*/
@VisibleForTesting(otherwise = NONE)
/* package */ void setTimeDiffMs(long timeDiffMs) { /* package */ void setTimeDiffMs(long timeDiffMs) {
verifyApplicationThread(); verifyApplicationThread();
this.timeDiffMs = timeDiffMs; this.timeDiffMs = timeDiffMs;

View File

@ -644,8 +644,8 @@ import org.checkerframework.checker.nullness.qual.NonNull;
return playerInfo.sessionPositionInfo.positionInfo.positionMs; return playerInfo.sessionPositionInfo.positionInfo.positionMs;
} }
long elapsedTimeMs = long elapsedTimeMs =
(instance.timeDiffMs != C.TIME_UNSET) (instance.getTimeDiffMs() != C.TIME_UNSET)
? instance.timeDiffMs ? instance.getTimeDiffMs()
: SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs; : SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs;
long estimatedPositionMs = long estimatedPositionMs =
playerInfo.sessionPositionInfo.positionInfo.positionMs playerInfo.sessionPositionInfo.positionInfo.positionMs
@ -686,8 +686,8 @@ import org.checkerframework.checker.nullness.qual.NonNull;
return playerInfo.sessionPositionInfo.positionInfo.contentPositionMs; return playerInfo.sessionPositionInfo.positionInfo.contentPositionMs;
} }
long elapsedTimeMs = long elapsedTimeMs =
(instance.timeDiffMs != C.TIME_UNSET) (instance.getTimeDiffMs() != C.TIME_UNSET)
? instance.timeDiffMs ? instance.getTimeDiffMs()
: SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs; : SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs;
long estimatedPositionMs = long estimatedPositionMs =
playerInfo.sessionPositionInfo.positionInfo.contentPositionMs playerInfo.sessionPositionInfo.positionInfo.contentPositionMs

View File

@ -1305,14 +1305,14 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
controllerCompat.getFlags(), controllerCompat.getFlags(),
controllerCompat.isSessionReady(), controllerCompat.isSessionReady(),
controllerCompat.getRatingType(), controllerCompat.getRatingType(),
instance.timeDiffMs); instance.getTimeDiffMs());
Pair<@NullableType Integer, @NullableType Integer> reasons = Pair<@NullableType Integer, @NullableType Integer> reasons =
calculateDiscontinuityAndTransitionReason( calculateDiscontinuityAndTransitionReason(
legacyPlayerInfo, legacyPlayerInfo,
controllerInfo, controllerInfo,
newLegacyPlayerInfo, newLegacyPlayerInfo,
newControllerInfo, newControllerInfo,
instance.timeDiffMs); instance.getTimeDiffMs());
updateControllerInfo( updateControllerInfo(
notifyConnected, notifyConnected,
newLegacyPlayerInfo, newLegacyPlayerInfo,