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
d4e598f4
authored
Jun 23, 2017
by
Alex Birkett
Committed by
Oliver Woodman
Jun 30, 2017
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Make OkHttpDataSource userAgent parameter optional
parent
fd9b162d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
12 deletions
extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java
extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.java
extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java
View file @
d4e598f4
...
...
@@ -16,6 +16,8 @@
package
com
.
google
.
android
.
exoplayer2
.
ext
.
okhttp
;
import
android.net.Uri
;
import
android.support.annotation.Nullable
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.upstream.DataSourceException
;
import
com.google.android.exoplayer2.upstream.DataSpec
;
...
...
@@ -67,11 +69,11 @@ public class OkHttpDataSource implements HttpDataSource {
/**
* @param callFactory A {@link Call.Factory} (typically an {@link okhttp3.OkHttpClient}) for use
* by the source.
* @param userAgent
The
User-Agent string that should be used.
* @param userAgent
An optional
User-Agent string that should be used.
* @param contentTypePredicate An optional {@link Predicate}. If a content type is rejected by the
* predicate then a InvalidContentTypeException} is thrown from {@link #open(DataSpec)}.
*/
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
String
userAgent
,
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
@Nullable
String
userAgent
,
Predicate
<
String
>
contentTypePredicate
)
{
this
(
callFactory
,
userAgent
,
contentTypePredicate
,
null
);
}
...
...
@@ -79,13 +81,13 @@ public class OkHttpDataSource implements HttpDataSource {
/**
* @param callFactory A {@link Call.Factory} (typically an {@link okhttp3.OkHttpClient}) for use
* by the source.
* @param userAgent
The
User-Agent string that should be used.
* @param userAgent
An optional
User-Agent string that should be used.
* @param contentTypePredicate An optional {@link Predicate}. If a content type is rejected by the
* predicate then a {@link InvalidContentTypeException} is thrown from
* {@link #open(DataSpec)}.
* @param listener An optional listener.
*/
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
String
userAgent
,
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
@Nullable
String
userAgent
,
Predicate
<
String
>
contentTypePredicate
,
TransferListener
<?
super
OkHttpDataSource
>
listener
)
{
this
(
callFactory
,
userAgent
,
contentTypePredicate
,
listener
,
null
,
null
);
}
...
...
@@ -93,7 +95,7 @@ public class OkHttpDataSource implements HttpDataSource {
/**
* @param callFactory A {@link Call.Factory} (typically an {@link okhttp3.OkHttpClient}) for use
* by the source.
* @param userAgent
The
User-Agent string that should be used.
* @param userAgent
An optional
User-Agent string that should be used.
* @param contentTypePredicate An optional {@link Predicate}. If a content type is rejected by the
* predicate then a {@link InvalidContentTypeException} is thrown from
* {@link #open(DataSpec)}.
...
...
@@ -102,11 +104,11 @@ public class OkHttpDataSource implements HttpDataSource {
* @param defaultRequestProperties The optional default {@link RequestProperties} to be sent to
* the server as HTTP headers on every request.
*/
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
String
userAgent
,
public
OkHttpDataSource
(
Call
.
Factory
callFactory
,
@Nullable
String
userAgent
,
Predicate
<
String
>
contentTypePredicate
,
TransferListener
<?
super
OkHttpDataSource
>
listener
,
CacheControl
cacheControl
,
RequestProperties
defaultRequestProperties
)
{
this
.
callFactory
=
Assertions
.
checkNotNull
(
callFactory
);
this
.
userAgent
=
Assertions
.
checkNotEmpty
(
userAgent
)
;
this
.
userAgent
=
userAgent
;
this
.
contentTypePredicate
=
contentTypePredicate
;
this
.
listener
=
listener
;
this
.
cacheControl
=
cacheControl
;
...
...
@@ -280,7 +282,10 @@ public class OkHttpDataSource implements HttpDataSource {
}
builder
.
addHeader
(
"Range"
,
rangeRequest
);
}
builder
.
addHeader
(
"User-Agent"
,
userAgent
);
if
(
userAgent
!=
null
)
{
builder
.
addHeader
(
"User-Agent"
,
userAgent
);
}
if
(!
allowGzip
)
{
builder
.
addHeader
(
"Accept-Encoding"
,
"identity"
);
}
...
...
extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.java
View file @
d4e598f4
...
...
@@ -15,6 +15,8 @@
*/
package
com
.
google
.
android
.
exoplayer2
.
ext
.
okhttp
;
import
android.support.annotation.Nullable
;
import
com.google.android.exoplayer2.upstream.DataSource
;
import
com.google.android.exoplayer2.upstream.HttpDataSource
;
import
com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
;
...
...
@@ -36,10 +38,10 @@ public final class OkHttpDataSourceFactory extends BaseFactory {
/**
* @param callFactory A {@link Call.Factory} (typically an {@link okhttp3.OkHttpClient}) for use
* by the sources created by the factory.
* @param userAgent
The
User-Agent string that should be used.
* @param userAgent
An optional
User-Agent string that should be used.
* @param listener An optional listener.
*/
public
OkHttpDataSourceFactory
(
Call
.
Factory
callFactory
,
String
userAgent
,
public
OkHttpDataSourceFactory
(
Call
.
Factory
callFactory
,
@Nullable
String
userAgent
,
TransferListener
<?
super
DataSource
>
listener
)
{
this
(
callFactory
,
userAgent
,
listener
,
null
);
}
...
...
@@ -47,11 +49,12 @@ public final class OkHttpDataSourceFactory extends BaseFactory {
/**
* @param callFactory A {@link Call.Factory} (typically an {@link okhttp3.OkHttpClient}) for use
* by the sources created by the factory.
* @param userAgent
The
User-Agent string that should be used.
* @param userAgent
An optional
User-Agent string that should be used.
* @param listener An optional listener.
* @param cacheControl An optional {@link CacheControl} for setting the Cache-Control header.
*/
public
OkHttpDataSourceFactory
(
Call
.
Factory
callFactory
,
String
userAgent
,
public
OkHttpDataSourceFactory
(
Call
.
Factory
callFactory
,
@Nullable
String
userAgent
,
TransferListener
<?
super
DataSource
>
listener
,
CacheControl
cacheControl
)
{
this
.
callFactory
=
callFactory
;
this
.
userAgent
=
userAgent
;
...
...
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