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
689e89e5
authored
Nov 23, 2020
by
olly
Committed by
kim-vde
Nov 24, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Localize IMA based on device locale by default
#exofixit PiperOrigin-RevId: 343871061
parent
ffc6a0d5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
1 deletions
RELEASENOTES.md
extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java
RELEASENOTES.md
View file @
689e89e5
...
...
@@ -88,6 +88,8 @@
*
Notify onBufferingEnded when the state of origin player becomes
STATE_IDLE or STATE_ENDED.
*
Allow to remove all playlist items that makes the player reset.
*
IMA extension:
*
Set the overlay language based on the device locale by default.
### 2.12.1 (2020-10-23) ###
...
...
extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java
View file @
689e89e5
...
...
@@ -58,6 +58,7 @@ import java.util.Arrays;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Set
;
/**
...
...
@@ -544,7 +545,9 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader {
private
static
final
class
DefaultImaFactory
implements
ImaUtil
.
ImaFactory
{
@Override
public
ImaSdkSettings
createImaSdkSettings
()
{
return
ImaSdkFactory
.
getInstance
().
createImaSdkSettings
();
ImaSdkSettings
settings
=
ImaSdkFactory
.
getInstance
().
createImaSdkSettings
();
settings
.
setLanguage
(
getImaLanguageCodeForDefaultLocale
());
return
settings
;
}
@Override
...
...
@@ -585,5 +588,16 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader {
return
ImaSdkFactory
.
getInstance
()
.
createAdsLoader
(
context
,
imaSdkSettings
,
adDisplayContainer
);
}
/**
* Returns a language code that's suitable for passing to {@link ImaSdkSettings#setLanguage} and
* corresponds to the device's {@link Locale#getDefault() default Locale}.
*/
// TODO: It may be possible to define a better mapping onto IMA's supported language codes. See:
// https://developers.google.com/interactive-media-ads/docs/sdks/android/client-side/localization.
// IMA will fall back to its default language code ("en") if the value returned is unsupported.
private
static
String
getImaLanguageCodeForDefaultLocale
()
{
return
Util
.
splitAtFirst
(
Util
.
getSystemLanguageCodes
()[
0
],
"-"
)[
0
];
}
}
}
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