Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
05c7a30b
authored
Nov 05, 2021
by
ibaker
Committed by
Ian Baker
Nov 09, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Fix test-only visibility of MediaController#timeDiffMs
PiperOrigin-RevId: 407787258
parent
aed08128
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
9 deletions
libraries/session/src/main/java/androidx/media3/session/MediaController.java
libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java
libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java
libraries/session/src/main/java/androidx/media3/session/MediaController.java
View file @
05c7a30b
...
@@ -15,6 +15,7 @@
...
@@ -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 {
...
@@ -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 {
...
@@ -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.
*/
/* package */
long
getTimeDiffMs
()
{
return
timeDiffMs
;
}
/**
* Sets the time diff (in milliseconds) used when calculating the current position.
*
*
* @param timeDiffMs {@
code C.
TIME_UNSET} for reset.
* @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
;
...
...
libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java
View file @
05c7a30b
...
@@ -644,8 +644,8 @@ import org.checkerframework.checker.nullness.qual.NonNull;
...
@@ -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;
...
@@ -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
...
...
libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java
View file @
05c7a30b
...
@@ -1305,14 +1305,14 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
...
@@ -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
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment