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
237cb9df
authored
Aug 27, 2020
by
tonihei
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge pull request #7804 from yoobi:TrackSelectionDialogBuilderTheme
PiperOrigin-RevId: 328726246
parents
cfb429d1
0176422f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
4 deletions
library/ui/proguard-rules.txt
library/ui/src/main/java/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.java
library/ui/proguard-rules.txt
View file @
237cb9df
...
...
@@ -3,7 +3,7 @@
# Constructor method accessed via reflection in TrackSelectionDialogBuilder
-dontnote androidx.appcompat.app.AlertDialog.Builder
-keepclassmembers class androidx.appcompat.app.AlertDialog$Builder {
<init>(android.content.Context);
<init>(android.content.Context
, int
);
public android.content.Context getContext();
public androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
public androidx.appcompat.app.AlertDialog$Builder setView(android.view.View);
...
...
library/ui/src/main/java/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.java
View file @
237cb9df
...
...
@@ -24,6 +24,7 @@ import android.content.DialogInterface;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.StyleRes
;
import
com.google.android.exoplayer2.source.TrackGroupArray
;
import
com.google.android.exoplayer2.trackselection.DefaultTrackSelector
;
import
com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
;
...
...
@@ -49,6 +50,7 @@ public final class TrackSelectionDialogBuilder {
}
private
final
Context
context
;
@StyleRes
private
int
themeResId
;
private
final
CharSequence
title
;
private
final
MappedTrackInfo
mappedTrackInfo
;
private
final
int
rendererIndex
;
...
...
@@ -122,6 +124,17 @@ public final class TrackSelectionDialogBuilder {
}
/**
* Sets the resource ID of the theme used to inflate this dialog.
*
* @param themeResId The resource ID of the theme.
* @return This builder, for convenience.
*/
public
TrackSelectionDialogBuilder
setTheme
(
@StyleRes
int
themeResId
)
{
this
.
themeResId
=
themeResId
;
return
this
;
}
/**
* Sets whether the selection is initially shown as disabled.
*
* @param isDisabled Whether the selection is initially shown as disabled.
...
...
@@ -214,7 +227,7 @@ public final class TrackSelectionDialogBuilder {
}
private
Dialog
buildForPlatform
()
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
context
);
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
context
,
themeResId
);
// Inflate with the builder's context to ensure the correct style is used.
LayoutInflater
dialogInflater
=
LayoutInflater
.
from
(
builder
.
getContext
());
...
...
@@ -238,8 +251,8 @@ public final class TrackSelectionDialogBuilder {
// the APK size even with shrinking. See https://issuetracker.google.com/161514204.
// LINT.IfChange
Class
<?>
builderClazz
=
Class
.
forName
(
"androidx.appcompat.app.AlertDialog$Builder"
);
Constructor
<?>
builderConstructor
=
builderClazz
.
getConstructor
(
Context
.
class
);
Object
builder
=
builderConstructor
.
newInstance
(
context
);
Constructor
<?>
builderConstructor
=
builderClazz
.
getConstructor
(
Context
.
class
,
int
.
class
);
Object
builder
=
builderConstructor
.
newInstance
(
context
,
themeResId
);
// Inflate with the builder's context to ensure the correct style is used.
Context
builderContext
=
(
Context
)
builderClazz
.
getMethod
(
"getContext"
).
invoke
(
builder
);
...
...
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