fix(ios): fix text track selection by index (#3728)

* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix(ios): text tracks selection by index. regression due to codegen rework

* chore: make selection by index testable (need a small manual patch)

* chore(ios): fix linter warning
This commit is contained in:
Olivier Bouillet
2024-05-04 15:20:59 +02:00
committed by GitHub
parent 4c63988d12
commit 51e22abfe3
3 changed files with 35 additions and 17 deletions

View File

@@ -45,9 +45,11 @@ enum RCTPlayerOperations {
}
}
} else if type == "index" {
if let value = criteria?.value, let index = value as? Int {
if textTracks.count > index {
selectedTrackIndex = index
if let value = criteria?.value { // check value is provided
if let indexValue = Int(value as String) { // ensure value is an integer an String to Snt
if textTracks.count > indexValue { // ensure value is in group range
selectedTrackIndex = indexValue
}
}
}
}
@@ -106,9 +108,11 @@ enum RCTPlayerOperations {
// } else if ([type isEqualToString:@"default"]) {
// option = group.defaultOption; */
} else if type == "index" {
if let value = criteria?.value, let index = value as? Int {
if group.options.count > index {
mediaOption = group.options[index]
if let value = criteria?.value { // check value is provided
if let indexValue = Int(value as String) { // ensure value is an integer an String to Snt
if group.options.count > indexValue { // ensure value is in group range
mediaOption = group.options[indexValue]
}
}
}
} else { // default. invalid type or "system"