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
33fe3a47
authored
Aug 03, 2020
by
christosts
Committed by
kim-vde
Aug 07, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Remove references to Downloads from IntentUtil
PiperOrigin-RevId: 324599130
parent
5c879ac8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
25 deletions
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
View file @
33fe3a47
...
@@ -23,7 +23,6 @@ import android.net.Uri;
...
@@ -23,7 +23,6 @@ import android.net.Uri;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.offline.DownloadRequest
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.MimeTypes
;
import
com.google.android.exoplayer2.util.MimeTypes
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.util.Util
;
...
@@ -62,8 +61,8 @@ public class IntentUtil {
...
@@ -62,8 +61,8 @@ public class IntentUtil {
public
static
final
String
URI_EXTRA
=
"uri"
;
public
static
final
String
URI_EXTRA
=
"uri"
;
public
static
final
String
IS_LIVE_EXTRA
=
"is_live"
;
public
static
final
String
IS_LIVE_EXTRA
=
"is_live"
;
public
static
final
String
MIME_TYPE_EXTRA
=
"mime_type"
;
public
static
final
String
MIME_TYPE_EXTRA
=
"mime_type"
;
public
static
final
String
START_POSITION_MS_EXTRA
=
"
start_position_ms"
;
public
static
final
String
CLIP_START_POSITION_MS_EXTRA
=
"clip_
start_position_ms"
;
public
static
final
String
END_POSITION_MS_EXTRA
=
"
end_position_ms"
;
public
static
final
String
CLIP_END_POSITION_MS_EXTRA
=
"clip_
end_position_ms"
;
// For backwards compatibility only.
// For backwards compatibility only.
public
static
final
String
EXTENSION_EXTRA
=
"extension"
;
public
static
final
String
EXTENSION_EXTRA
=
"extension"
;
...
@@ -83,24 +82,18 @@ public class IntentUtil {
...
@@ -83,24 +82,18 @@ public class IntentUtil {
public
static
final
String
PREFER_EXTENSION_DECODERS_EXTRA
=
"prefer_extension_decoders"
;
public
static
final
String
PREFER_EXTENSION_DECODERS_EXTRA
=
"prefer_extension_decoders"
;
/** Creates a list of {@link MediaItem media items} from an {@link Intent}. */
/** Creates a list of {@link MediaItem media items} from an {@link Intent}. */
public
static
List
<
MediaItem
>
createMediaItemsFromIntent
(
public
static
List
<
MediaItem
>
createMediaItemsFromIntent
(
Intent
intent
)
{
Intent
intent
,
DownloadTracker
downloadTracker
)
{
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
if
(
ACTION_VIEW_LIST
.
equals
(
intent
.
getAction
()))
{
if
(
ACTION_VIEW_LIST
.
equals
(
intent
.
getAction
()))
{
int
index
=
0
;
int
index
=
0
;
while
(
intent
.
hasExtra
(
URI_EXTRA
+
"_"
+
index
))
{
while
(
intent
.
hasExtra
(
URI_EXTRA
+
"_"
+
index
))
{
String
extrasSuffix
=
"_"
+
index
;
Uri
uri
=
Uri
.
parse
(
intent
.
getStringExtra
(
URI_EXTRA
+
"_"
+
index
));
Uri
uri
=
Uri
.
parse
(
intent
.
getStringExtra
(
URI_EXTRA
+
extrasSuffix
));
mediaItems
.
add
(
createMediaItemFromIntent
(
uri
,
intent
,
/* extrasKeySuffix= */
"_"
+
index
));
mediaItems
.
add
(
createMediaItemFromIntent
(
uri
,
intent
,
extrasSuffix
,
downloadTracker
.
getDownloadRequest
(
uri
)));
index
++;
index
++;
}
}
}
else
{
}
else
{
Uri
uri
=
intent
.
getData
();
Uri
uri
=
intent
.
getData
();
mediaItems
.
add
(
mediaItems
.
add
(
createMediaItemFromIntent
(
uri
,
intent
,
/* extrasKeySuffix= */
""
));
createMediaItemFromIntent
(
uri
,
intent
,
/* extrasKeySuffix= */
""
,
downloadTracker
.
getDownloadRequest
(
uri
)));
}
}
return
mediaItems
;
return
mediaItems
;
}
}
...
@@ -147,7 +140,7 @@ public class IntentUtil {
...
@@ -147,7 +140,7 @@ public class IntentUtil {
}
}
private
static
MediaItem
createMediaItemFromIntent
(
private
static
MediaItem
createMediaItemFromIntent
(
Uri
uri
,
Intent
intent
,
String
extrasKeySuffix
,
@Nullable
DownloadRequest
downloadRequest
)
{
Uri
uri
,
Intent
intent
,
String
extrasKeySuffix
)
{
String
mimeType
=
intent
.
getStringExtra
(
MIME_TYPE_EXTRA
+
extrasKeySuffix
);
String
mimeType
=
intent
.
getStringExtra
(
MIME_TYPE_EXTRA
+
extrasKeySuffix
);
if
(
mimeType
==
null
)
{
if
(
mimeType
==
null
)
{
// Try to use extension for backwards compatibility.
// Try to use extension for backwards compatibility.
...
@@ -157,15 +150,14 @@ public class IntentUtil {
...
@@ -157,15 +150,14 @@ public class IntentUtil {
MediaItem
.
Builder
builder
=
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
()
new
MediaItem
.
Builder
()
.
setUri
(
uri
)
.
setUri
(
uri
)
.
setStreamKeys
(
downloadRequest
!=
null
?
downloadRequest
.
streamKeys
:
null
)
.
setCustomCacheKey
(
downloadRequest
!=
null
?
downloadRequest
.
customCacheKey
:
null
)
.
setMimeType
(
mimeType
)
.
setMimeType
(
mimeType
)
.
setAdTagUri
(
intent
.
getStringExtra
(
AD_TAG_URI_EXTRA
+
extrasKeySuffix
))
.
setAdTagUri
(
intent
.
getStringExtra
(
AD_TAG_URI_EXTRA
+
extrasKeySuffix
))
.
setSubtitles
(
createSubtitlesFromIntent
(
intent
,
extrasKeySuffix
))
.
setSubtitles
(
createSubtitlesFromIntent
(
intent
,
extrasKeySuffix
))
.
setClipStartPositionMs
(
.
setClipStartPositionMs
(
intent
.
getLongExtra
(
START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
0
))
intent
.
getLongExtra
(
CLIP_
START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
0
))
.
setClipEndPositionMs
(
.
setClipEndPositionMs
(
intent
.
getLongExtra
(
END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
C
.
TIME_END_OF_SOURCE
));
intent
.
getLongExtra
(
CLIP_END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
C
.
TIME_END_OF_SOURCE
));
return
populateDrmPropertiesFromIntent
(
builder
,
intent
,
extrasKeySuffix
).
build
();
return
populateDrmPropertiesFromIntent
(
builder
,
intent
,
extrasKeySuffix
).
build
();
}
}
...
@@ -294,10 +286,11 @@ public class IntentUtil {
...
@@ -294,10 +286,11 @@ public class IntentUtil {
MediaItem
.
ClippingProperties
clippingProperties
,
Intent
intent
,
String
extrasKeySuffix
)
{
MediaItem
.
ClippingProperties
clippingProperties
,
Intent
intent
,
String
extrasKeySuffix
)
{
if
(
clippingProperties
.
startPositionMs
!=
0
)
{
if
(
clippingProperties
.
startPositionMs
!=
0
)
{
intent
.
putExtra
(
intent
.
putExtra
(
START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
clippingProperties
.
startPositionMs
);
CLIP_
START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
clippingProperties
.
startPositionMs
);
}
}
if
(
clippingProperties
.
endPositionMs
!=
C
.
TIME_END_OF_SOURCE
)
{
if
(
clippingProperties
.
endPositionMs
!=
C
.
TIME_END_OF_SOURCE
)
{
intent
.
putExtra
(
END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
clippingProperties
.
endPositionMs
);
intent
.
putExtra
(
CLIP_END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
clippingProperties
.
endPositionMs
);
}
}
}
}
}
}
demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java
View file @
33fe3a47
...
@@ -15,6 +15,8 @@
...
@@ -15,6 +15,8 @@
*/
*/
package
com
.
google
.
android
.
exoplayer2
.
demo
;
package
com
.
google
.
android
.
exoplayer2
.
demo
;
import
static
com
.
google
.
android
.
exoplayer2
.
util
.
Assertions
.
checkNotNull
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.content.pm.PackageManager
;
import
android.media.MediaDrm
;
import
android.media.MediaDrm
;
...
@@ -29,6 +31,7 @@ import android.widget.LinearLayout;
...
@@ -29,6 +31,7 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.ExoPlaybackException
;
import
com.google.android.exoplayer2.ExoPlaybackException
;
...
@@ -41,6 +44,7 @@ import com.google.android.exoplayer2.audio.AudioAttributes;
...
@@ -41,6 +44,7 @@ import com.google.android.exoplayer2.audio.AudioAttributes;
import
com.google.android.exoplayer2.ext.ima.ImaAdsLoader
;
import
com.google.android.exoplayer2.ext.ima.ImaAdsLoader
;
import
com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
;
import
com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
;
import
com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException
;
import
com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException
;
import
com.google.android.exoplayer2.offline.DownloadRequest
;
import
com.google.android.exoplayer2.source.BehindLiveWindowException
;
import
com.google.android.exoplayer2.source.BehindLiveWindowException
;
import
com.google.android.exoplayer2.source.DefaultMediaSourceFactory
;
import
com.google.android.exoplayer2.source.DefaultMediaSourceFactory
;
import
com.google.android.exoplayer2.source.TrackGroupArray
;
import
com.google.android.exoplayer2.source.TrackGroupArray
;
...
@@ -52,13 +56,13 @@ import com.google.android.exoplayer2.ui.DebugTextViewHelper;
...
@@ -52,13 +56,13 @@ import com.google.android.exoplayer2.ui.DebugTextViewHelper;
import
com.google.android.exoplayer2.ui.StyledPlayerControlView
;
import
com.google.android.exoplayer2.ui.StyledPlayerControlView
;
import
com.google.android.exoplayer2.ui.StyledPlayerView
;
import
com.google.android.exoplayer2.ui.StyledPlayerView
;
import
com.google.android.exoplayer2.upstream.DataSource
;
import
com.google.android.exoplayer2.upstream.DataSource
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.ErrorMessageProvider
;
import
com.google.android.exoplayer2.util.ErrorMessageProvider
;
import
com.google.android.exoplayer2.util.EventLogger
;
import
com.google.android.exoplayer2.util.EventLogger
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.util.Util
;
import
java.net.CookieHandler
;
import
java.net.CookieHandler
;
import
java.net.CookieManager
;
import
java.net.CookieManager
;
import
java.net.CookiePolicy
;
import
java.net.CookiePolicy
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
...
@@ -321,8 +325,7 @@ public class PlayerActivity extends AppCompatActivity
...
@@ -321,8 +325,7 @@ public class PlayerActivity extends AppCompatActivity
}
}
List
<
MediaItem
>
mediaItems
=
List
<
MediaItem
>
mediaItems
=
IntentUtil
.
createMediaItemsFromIntent
(
createMediaItems
(
intent
,
DemoUtil
.
getDownloadTracker
(
/* context= */
this
));
intent
,
DemoUtil
.
getDownloadTracker
(
/* context= */
this
));
boolean
hasAds
=
false
;
boolean
hasAds
=
false
;
for
(
int
i
=
0
;
i
<
mediaItems
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
mediaItems
.
size
();
i
++)
{
MediaItem
mediaItem
=
mediaItems
.
get
(
i
);
MediaItem
mediaItem
=
mediaItems
.
get
(
i
);
...
@@ -337,7 +340,7 @@ public class PlayerActivity extends AppCompatActivity
...
@@ -337,7 +340,7 @@ public class PlayerActivity extends AppCompatActivity
}
}
MediaItem
.
DrmConfiguration
drmConfiguration
=
MediaItem
.
DrmConfiguration
drmConfiguration
=
Assertions
.
checkNotNull
(
mediaItem
.
playbackProperties
).
drmConfiguration
;
checkNotNull
(
mediaItem
.
playbackProperties
).
drmConfiguration
;
if
(
drmConfiguration
!=
null
)
{
if
(
drmConfiguration
!=
null
)
{
if
(
Util
.
SDK_INT
<
18
)
{
if
(
Util
.
SDK_INT
<
18
)
{
showToast
(
R
.
string
.
error_drm_unsupported_before_api_18
);
showToast
(
R
.
string
.
error_drm_unsupported_before_api_18
);
...
@@ -541,7 +544,28 @@ public class PlayerActivity extends AppCompatActivity
...
@@ -541,7 +544,28 @@ public class PlayerActivity extends AppCompatActivity
@Override
@Override
public
AdsLoader
.
AdViewProvider
getAdViewProvider
()
{
public
AdsLoader
.
AdViewProvider
getAdViewProvider
()
{
return
Assertions
.
checkNotNull
(
playerView
);
return
checkNotNull
(
playerView
);
}
}
}
}
private
static
List
<
MediaItem
>
createMediaItems
(
Intent
intent
,
DownloadTracker
downloadTracker
)
{
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
for
(
MediaItem
item
:
IntentUtil
.
createMediaItemsFromIntent
(
intent
))
{
@Nullable
DownloadRequest
downloadRequest
=
downloadTracker
.
getDownloadRequest
(
checkNotNull
(
item
.
playbackProperties
).
uri
);
if
(
downloadRequest
!=
null
)
{
MediaItem
mediaItem
=
item
.
buildUpon
()
.
setStreamKeys
(
downloadRequest
.
streamKeys
)
.
setCustomCacheKey
(
downloadRequest
.
customCacheKey
)
.
setDrmKeySetId
(
downloadRequest
.
keySetId
)
.
build
();
mediaItems
.
add
(
mediaItem
);
}
else
{
mediaItems
.
add
(
item
);
}
}
return
mediaItems
;
}
}
}
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