diff --git a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java index 4397b945b4..bd6725e804 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java @@ -80,7 +80,6 @@ public class AnalyticsCollector private final CopyOnWriteArraySet listeners; private final Player player; private final Clock clock; - private final Period period; private final Window window; private final MediaPeriodQueueTracker mediaPeriodQueueTracker; @@ -95,7 +94,6 @@ public class AnalyticsCollector this.clock = Assertions.checkNotNull(clock); listeners = new CopyOnWriteArraySet<>(); mediaPeriodQueueTracker = new MediaPeriodQueueTracker(); - period = new Period(); window = new Window(); } @@ -164,13 +162,10 @@ public class AnalyticsCollector */ public final void resetForNewMediaSource() { // Copying the list is needed because onMediaPeriodReleased will modify the list. - List activeMediaPeriods = + List activeMediaPeriods = new ArrayList<>(mediaPeriodQueueTracker.activeMediaPeriods); - Timeline timeline = mediaPeriodQueueTracker.timeline; - for (MediaPeriodId mediaPeriod : activeMediaPeriods) { - int windowIndex = - timeline.isEmpty() ? 0 : timeline.getPeriod(mediaPeriod.periodIndex, period).windowIndex; - onMediaPeriodReleased(windowIndex, mediaPeriod); + for (WindowAndMediaPeriodId mediaPeriod : activeMediaPeriods) { + onMediaPeriodReleased(mediaPeriod.windowIndex, mediaPeriod.mediaPeriodId); } } @@ -309,7 +304,7 @@ public class AnalyticsCollector @Override public final void onMediaPeriodCreated(int windowIndex, MediaPeriodId mediaPeriodId) { - mediaPeriodQueueTracker.onMediaPeriodCreated(mediaPeriodId); + mediaPeriodQueueTracker.onMediaPeriodCreated(windowIndex, mediaPeriodId); EventTime eventTime = generateEventTime(windowIndex, mediaPeriodId); for (AnalyticsListener listener : listeners) { listener.onMediaPeriodCreated(eventTime); @@ -318,7 +313,7 @@ public class AnalyticsCollector @Override public final void onMediaPeriodReleased(int windowIndex, MediaPeriodId mediaPeriodId) { - mediaPeriodQueueTracker.onMediaPeriodReleased(mediaPeriodId); + mediaPeriodQueueTracker.onMediaPeriodReleased(windowIndex, mediaPeriodId); EventTime eventTime = generateEventTime(windowIndex, mediaPeriodId); for (AnalyticsListener listener : listeners) { listener.onMediaPeriodReleased(eventTime); @@ -377,7 +372,7 @@ public class AnalyticsCollector @Override public final void onReadingStarted(int windowIndex, MediaPeriodId mediaPeriodId) { - mediaPeriodQueueTracker.onReadingStarted(mediaPeriodId); + mediaPeriodQueueTracker.onReadingStarted(windowIndex, mediaPeriodId); EventTime eventTime = generateEventTime(windowIndex, mediaPeriodId); for (AnalyticsListener listener : listeners) { listener.onReadingStarted(eventTime); @@ -597,7 +592,8 @@ public class AnalyticsCollector // This event is for content in the currently playing window. eventPositionMs = player.getContentPosition(); } - } else if (timeline.isEmpty() || (mediaPeriodId != null && mediaPeriodId.isAd())) { + } else if (windowIndex >= timeline.getWindowCount() + || (mediaPeriodId != null && mediaPeriodId.isAd())) { // This event is for an unknown future window or for an ad in a future window. // Assume start position of zero. eventPositionMs = 0; @@ -617,16 +613,13 @@ public class AnalyticsCollector bufferedDurationMs); } - private EventTime generateEventTime(@Nullable MediaPeriodId mediaPeriodId) { - Timeline timeline = player.getCurrentTimeline(); - if (mediaPeriodId == null) { - mediaPeriodId = mediaPeriodQueueTracker.tryResolveWindowIndex(player.getCurrentWindowIndex()); + private EventTime generateEventTime(@Nullable WindowAndMediaPeriodId mediaPeriod) { + if (mediaPeriod == null) { + int windowIndex = player.getCurrentWindowIndex(); + MediaPeriodId mediaPeriodId = mediaPeriodQueueTracker.tryResolveWindowIndex(windowIndex); + return generateEventTime(windowIndex, mediaPeriodId); } - int windowIndex = - mediaPeriodId == null || timeline.isEmpty() - ? player.getCurrentWindowIndex() - : timeline.getPeriod(mediaPeriodId.periodIndex, period).windowIndex; - return generateEventTime(windowIndex, mediaPeriodId); + return generateEventTime(mediaPeriod.windowIndex, mediaPeriod.mediaPeriodId); } private EventTime generateLastReportedPlayingMediaPeriodEventTime() { @@ -651,11 +644,11 @@ public class AnalyticsCollector // TODO: Investigate reporting MediaPeriodId in renderer events and adding a listener of queue // changes, which would hopefully remove the need to track the queue here. - private final ArrayList activeMediaPeriods; + private final ArrayList activeMediaPeriods; private final Period period; - private MediaPeriodId lastReportedPlayingMediaPeriod; - private MediaPeriodId readingMediaPeriod; + private WindowAndMediaPeriodId lastReportedPlayingMediaPeriod; + private WindowAndMediaPeriodId readingMediaPeriod; private Timeline timeline; private boolean isSeeking; @@ -666,33 +659,34 @@ public class AnalyticsCollector } /** - * Returns the {@link MediaPeriodId} of the media period in the front of the queue. This is the - * playing media period unless the player hasn't started playing yet (in which case it is the - * loading media period or null). While the player is seeking or preparing, this method will - * always return null to reflect the uncertainty about the current playing period. May also be - * null, if the timeline is empty or no media period is active yet. + * Returns the {@link WindowAndMediaPeriodId} of the media period in the front of the queue. + * This is the playing media period unless the player hasn't started playing yet (in which case + * it is the loading media period or null). While the player is seeking or preparing, this + * method will always return null to reflect the uncertainty about the current playing period. + * May also be null, if the timeline is empty or no media period is active yet. */ - public @Nullable MediaPeriodId getPlayingMediaPeriod() { + public @Nullable WindowAndMediaPeriodId getPlayingMediaPeriod() { return activeMediaPeriods.isEmpty() || timeline.isEmpty() || isSeeking ? null : activeMediaPeriods.get(0); } /** - * Returns the {@link MediaPeriodId} of the currently playing media period. This is the publicly - * reported period which should always match {@link Player#getCurrentPeriodIndex()} unless the - * player is currently seeking or being prepared in which case the previous period is reported - * until the seek or preparation is processed. May be null, if no media period is active yet. + * Returns the {@link WindowAndMediaPeriodId} of the currently playing media period. This is the + * publicly reported period which should always match {@link Player#getCurrentPeriodIndex()} + * unless the player is currently seeking or being prepared in which case the previous period is + * reported until the seek or preparation is processed. May be null, if no media period is + * active yet. */ - public @Nullable MediaPeriodId getLastReportedPlayingMediaPeriod() { + public @Nullable WindowAndMediaPeriodId getLastReportedPlayingMediaPeriod() { return lastReportedPlayingMediaPeriod; } /** - * Returns the {@link MediaPeriodId} of the media period currently being read by the player. May - * be null, if the player is not reading a media period. + * Returns the {@link WindowAndMediaPeriodId} of the media period currently being read by the + * player. May be null, if the player is not reading a media period. */ - public @Nullable MediaPeriodId getReadingMediaPeriod() { + public @Nullable WindowAndMediaPeriodId getReadingMediaPeriod() { return readingMediaPeriod; } @@ -701,7 +695,7 @@ public class AnalyticsCollector * currently loading or will be the next one loading. May be null, if no media period is active * yet. */ - public @Nullable MediaPeriodId getLoadingMediaPeriod() { + public @Nullable WindowAndMediaPeriodId getLoadingMediaPeriod() { return activeMediaPeriods.isEmpty() ? null : activeMediaPeriods.get(activeMediaPeriods.size() - 1); @@ -713,20 +707,23 @@ public class AnalyticsCollector } /** - * Tries to find an existing media period from the specified window index. Only returns a + * Tries to find an existing media period id from the specified window index. Only returns a * non-null media period id if there is a unique, unambiguous match. */ public @Nullable MediaPeriodId tryResolveWindowIndex(int windowIndex) { MediaPeriodId match = null; - if (timeline != null && !timeline.isEmpty()) { + if (timeline != null) { + int timelinePeriodCount = timeline.getPeriodCount(); for (int i = 0; i < activeMediaPeriods.size(); i++) { - MediaPeriodId mediaPeriodId = activeMediaPeriods.get(i); - if (timeline.getPeriod(mediaPeriodId.periodIndex, period).windowIndex == windowIndex) { + WindowAndMediaPeriodId mediaPeriod = activeMediaPeriods.get(i); + int periodIndex = mediaPeriod.mediaPeriodId.periodIndex; + if (periodIndex < timelinePeriodCount + && timeline.getPeriod(periodIndex, period).windowIndex == windowIndex) { if (match != null) { // Ambiguous match. return null; } - match = mediaPeriodId; + match = mediaPeriod.mediaPeriodId; } } } @@ -742,10 +739,10 @@ public class AnalyticsCollector public void onTimelineChanged(Timeline timeline) { for (int i = 0; i < activeMediaPeriods.size(); i++) { activeMediaPeriods.set( - i, updateMediaPeriodIdToNewTimeline(activeMediaPeriods.get(i), timeline)); + i, updateMediaPeriodToNewTimeline(activeMediaPeriods.get(i), timeline)); } if (readingMediaPeriod != null) { - readingMediaPeriod = updateMediaPeriodIdToNewTimeline(readingMediaPeriod, timeline); + readingMediaPeriod = updateMediaPeriodToNewTimeline(readingMediaPeriod, timeline); } this.timeline = timeline; updateLastReportedPlayingMediaPeriod(); @@ -763,24 +760,25 @@ public class AnalyticsCollector } /** Updates the queue with a newly created media period. */ - public void onMediaPeriodCreated(MediaPeriodId mediaPeriodId) { - activeMediaPeriods.add(mediaPeriodId); + public void onMediaPeriodCreated(int windowIndex, MediaPeriodId mediaPeriodId) { + activeMediaPeriods.add(new WindowAndMediaPeriodId(windowIndex, mediaPeriodId)); if (activeMediaPeriods.size() == 1 && !timeline.isEmpty()) { updateLastReportedPlayingMediaPeriod(); } } /** Updates the queue with a released media period. */ - public void onMediaPeriodReleased(MediaPeriodId mediaPeriodId) { - activeMediaPeriods.remove(mediaPeriodId); - if (mediaPeriodId.equals(readingMediaPeriod)) { + public void onMediaPeriodReleased(int windowIndex, MediaPeriodId mediaPeriodId) { + WindowAndMediaPeriodId mediaPeriod = new WindowAndMediaPeriodId(windowIndex, mediaPeriodId); + activeMediaPeriods.remove(mediaPeriod); + if (mediaPeriod.equals(readingMediaPeriod)) { readingMediaPeriod = activeMediaPeriods.isEmpty() ? null : activeMediaPeriods.get(0); } } /** Update the queue with a change in the reading media period. */ - public void onReadingStarted(MediaPeriodId mediaPeriodId) { - readingMediaPeriod = mediaPeriodId; + public void onReadingStarted(int windowIndex, MediaPeriodId mediaPeriodId) { + readingMediaPeriod = new WindowAndMediaPeriodId(windowIndex, mediaPeriodId); } private void updateLastReportedPlayingMediaPeriod() { @@ -789,16 +787,48 @@ public class AnalyticsCollector } } - private MediaPeriodId updateMediaPeriodIdToNewTimeline( - MediaPeriodId mediaPeriodId, Timeline newTimeline) { + private WindowAndMediaPeriodId updateMediaPeriodToNewTimeline( + WindowAndMediaPeriodId mediaPeriod, Timeline newTimeline) { if (newTimeline.isEmpty() || timeline.isEmpty()) { - return mediaPeriodId; + return mediaPeriod; } - Object uid = timeline.getPeriod(mediaPeriodId.periodIndex, period, /* setIds= */ true).uid; - int newIndex = newTimeline.getIndexOfPeriod(uid); - return newIndex == C.INDEX_UNSET - ? mediaPeriodId - : mediaPeriodId.copyWithPeriodIndex(newIndex); + Object uid = + timeline.getPeriod(mediaPeriod.mediaPeriodId.periodIndex, period, /* setIds= */ true).uid; + int newPeriodIndex = newTimeline.getIndexOfPeriod(uid); + if (newPeriodIndex == C.INDEX_UNSET) { + return mediaPeriod; + } + int newWindowIndex = newTimeline.getPeriod(newPeriodIndex, period).windowIndex; + return new WindowAndMediaPeriodId( + newWindowIndex, mediaPeriod.mediaPeriodId.copyWithPeriodIndex(newPeriodIndex)); + } + } + + private static final class WindowAndMediaPeriodId { + + public final int windowIndex; + public final MediaPeriodId mediaPeriodId; + + public WindowAndMediaPeriodId(int windowIndex, MediaPeriodId mediaPeriodId) { + this.windowIndex = windowIndex; + this.mediaPeriodId = mediaPeriodId; + } + + @Override + public boolean equals(@Nullable Object other) { + if (this == other) { + return true; + } + if (other == null || getClass() != other.getClass()) { + return false; + } + WindowAndMediaPeriodId that = (WindowAndMediaPeriodId) other; + return windowIndex == that.windowIndex && mediaPeriodId.equals(that.mediaPeriodId); + } + + @Override + public int hashCode() { + return 31 * windowIndex + mediaPeriodId.hashCode(); } } } diff --git a/library/ui/src/main/res/values-af/strings.xml b/library/ui/src/main/res/values-af/strings.xml index 1d82cff039..1e82c1fae2 100644 --- a/library/ui/src/main/res/values-af/strings.xml +++ b/library/ui/src/main/res/values-af/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Geen + Outo diff --git a/library/ui/src/main/res/values-am/strings.xml b/library/ui/src/main/res/values-am/strings.xml index e79a9c3aec..f9809608fc 100644 --- a/library/ui/src/main/res/values-am/strings.xml +++ b/library/ui/src/main/res/values-am/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + ምንም + ራስ-ሰር diff --git a/library/ui/src/main/res/values-ar/strings.xml b/library/ui/src/main/res/values-ar/strings.xml index 8d4c235156..d8ca87007e 100644 --- a/library/ui/src/main/res/values-ar/strings.xml +++ b/library/ui/src/main/res/values-ar/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + بدون اختيار + تلقائي diff --git a/library/ui/src/main/res/values-az/strings.xml b/library/ui/src/main/res/values-az/strings.xml index f0dfe7182a..57fb794676 100644 --- a/library/ui/src/main/res/values-az/strings.xml +++ b/library/ui/src/main/res/values-az/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Yoxdur + Avtomatik diff --git a/library/ui/src/main/res/values-b+sr+Latn/strings.xml b/library/ui/src/main/res/values-b+sr+Latn/strings.xml index 93bdc0a510..edf607b099 100644 --- a/library/ui/src/main/res/values-b+sr+Latn/strings.xml +++ b/library/ui/src/main/res/values-b+sr+Latn/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Nijedna + Automatski diff --git a/library/ui/src/main/res/values-be/strings.xml b/library/ui/src/main/res/values-be/strings.xml index ce8140a566..eadc80da6d 100644 --- a/library/ui/src/main/res/values-be/strings.xml +++ b/library/ui/src/main/res/values-be/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Няма + Аўтаматычна diff --git a/library/ui/src/main/res/values-bs/strings.xml b/library/ui/src/main/res/values-bs/strings.xml index 2916342452..6a246bd405 100644 --- a/library/ui/src/main/res/values-bs/strings.xml +++ b/library/ui/src/main/res/values-bs/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ništa + Automatski diff --git a/library/ui/src/main/res/values-ca/strings.xml b/library/ui/src/main/res/values-ca/strings.xml index 36cf6e8a06..4bbabc2138 100644 --- a/library/ui/src/main/res/values-ca/strings.xml +++ b/library/ui/src/main/res/values-ca/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Cap + Automàtica diff --git a/library/ui/src/main/res/values-cs/strings.xml b/library/ui/src/main/res/values-cs/strings.xml index 5a04b58826..6c747a31f7 100644 --- a/library/ui/src/main/res/values-cs/strings.xml +++ b/library/ui/src/main/res/values-cs/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Žádné + Automaticky diff --git a/library/ui/src/main/res/values-da/strings.xml b/library/ui/src/main/res/values-da/strings.xml index b7282603e7..a0697cd457 100644 --- a/library/ui/src/main/res/values-da/strings.xml +++ b/library/ui/src/main/res/values-da/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ingen + Automatisk diff --git a/library/ui/src/main/res/values-de/strings.xml b/library/ui/src/main/res/values-de/strings.xml index 70b43ae17b..27c6b55205 100644 --- a/library/ui/src/main/res/values-de/strings.xml +++ b/library/ui/src/main/res/values-de/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Keine + Automatisch diff --git a/library/ui/src/main/res/values-el/strings.xml b/library/ui/src/main/res/values-el/strings.xml index 929c33e619..78904fc1d4 100644 --- a/library/ui/src/main/res/values-el/strings.xml +++ b/library/ui/src/main/res/values-el/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Κανένα + Αυτόματο diff --git a/library/ui/src/main/res/values-es-rUS/strings.xml b/library/ui/src/main/res/values-es-rUS/strings.xml index 2d81309e17..e538c35161 100644 --- a/library/ui/src/main/res/values-es-rUS/strings.xml +++ b/library/ui/src/main/res/values-es-rUS/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ninguna + Automática diff --git a/library/ui/src/main/res/values-es/strings.xml b/library/ui/src/main/res/values-es/strings.xml index c12cd2b702..2eef2157ac 100644 --- a/library/ui/src/main/res/values-es/strings.xml +++ b/library/ui/src/main/res/values-es/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ninguna + Automático diff --git a/library/ui/src/main/res/values-eu/strings.xml b/library/ui/src/main/res/values-eu/strings.xml index 07e6a96bb5..571d5ff6b1 100644 --- a/library/ui/src/main/res/values-eu/strings.xml +++ b/library/ui/src/main/res/values-eu/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Bat ere ez + Automatikoa diff --git a/library/ui/src/main/res/values-fa/strings.xml b/library/ui/src/main/res/values-fa/strings.xml index 6d112d42c0..29f270d4a1 100644 --- a/library/ui/src/main/res/values-fa/strings.xml +++ b/library/ui/src/main/res/values-fa/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + هیچ‌کدام + خودکار diff --git a/library/ui/src/main/res/values-fi/strings.xml b/library/ui/src/main/res/values-fi/strings.xml index 5abe9d0bb8..575c30da20 100644 --- a/library/ui/src/main/res/values-fi/strings.xml +++ b/library/ui/src/main/res/values-fi/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + + Automaattinen diff --git a/library/ui/src/main/res/values-fr-rCA/strings.xml b/library/ui/src/main/res/values-fr-rCA/strings.xml index 05987d0add..4b12b0db3d 100644 --- a/library/ui/src/main/res/values-fr-rCA/strings.xml +++ b/library/ui/src/main/res/values-fr-rCA/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None + Aucun Auto diff --git a/library/ui/src/main/res/values-fr/strings.xml b/library/ui/src/main/res/values-fr/strings.xml index 82fec7a224..ddc0670734 100644 --- a/library/ui/src/main/res/values-fr/strings.xml +++ b/library/ui/src/main/res/values-fr/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Aucun + Automatique diff --git a/library/ui/src/main/res/values-gl/strings.xml b/library/ui/src/main/res/values-gl/strings.xml index 039a95cb9d..42f3000865 100644 --- a/library/ui/src/main/res/values-gl/strings.xml +++ b/library/ui/src/main/res/values-gl/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ningunha pista + Pista automática diff --git a/library/ui/src/main/res/values-hr/strings.xml b/library/ui/src/main/res/values-hr/strings.xml index 8c8c0d378b..c58e0e96a0 100644 --- a/library/ui/src/main/res/values-hr/strings.xml +++ b/library/ui/src/main/res/values-hr/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ništa + Automatski diff --git a/library/ui/src/main/res/values-hu/strings.xml b/library/ui/src/main/res/values-hu/strings.xml index 03a8d4559b..f466c3c712 100644 --- a/library/ui/src/main/res/values-hu/strings.xml +++ b/library/ui/src/main/res/values-hu/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Nincs + Automatikus diff --git a/library/ui/src/main/res/values-is/strings.xml b/library/ui/src/main/res/values-is/strings.xml index c900176b32..c4534d43a1 100644 --- a/library/ui/src/main/res/values-is/strings.xml +++ b/library/ui/src/main/res/values-is/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ekkert + Sjálfvirkt diff --git a/library/ui/src/main/res/values-it/strings.xml b/library/ui/src/main/res/values-it/strings.xml index 7ec420959b..e4e7e58cb6 100644 --- a/library/ui/src/main/res/values-it/strings.xml +++ b/library/ui/src/main/res/values-it/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None + Nessuno Auto diff --git a/library/ui/src/main/res/values-iw/strings.xml b/library/ui/src/main/res/values-iw/strings.xml index 01d82b99c8..23f8bb91a9 100644 --- a/library/ui/src/main/res/values-iw/strings.xml +++ b/library/ui/src/main/res/values-iw/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + ללא + אוטומטי diff --git a/library/ui/src/main/res/values-ja/strings.xml b/library/ui/src/main/res/values-ja/strings.xml index b303fdf85c..cffbd06865 100644 --- a/library/ui/src/main/res/values-ja/strings.xml +++ b/library/ui/src/main/res/values-ja/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + なし + 自動 diff --git a/library/ui/src/main/res/values-ka/strings.xml b/library/ui/src/main/res/values-ka/strings.xml index a697c6732d..2f1f1b233a 100644 --- a/library/ui/src/main/res/values-ka/strings.xml +++ b/library/ui/src/main/res/values-ka/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + არცერთი + ავტომატური diff --git a/library/ui/src/main/res/values-kk/strings.xml b/library/ui/src/main/res/values-kk/strings.xml index fecb1f50dc..ae3998ba23 100644 --- a/library/ui/src/main/res/values-kk/strings.xml +++ b/library/ui/src/main/res/values-kk/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ешқайсысы + Автоматты diff --git a/library/ui/src/main/res/values-km/strings.xml b/library/ui/src/main/res/values-km/strings.xml index 65653c06ad..a7a22b8972 100644 --- a/library/ui/src/main/res/values-km/strings.xml +++ b/library/ui/src/main/res/values-km/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + គ្មាន + ស្វ័យប្រវត្តិ diff --git a/library/ui/src/main/res/values-ko/strings.xml b/library/ui/src/main/res/values-ko/strings.xml index 1fdefd6942..07492a7b0e 100644 --- a/library/ui/src/main/res/values-ko/strings.xml +++ b/library/ui/src/main/res/values-ko/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + 없음 + 자동 diff --git a/library/ui/src/main/res/values-ky/strings.xml b/library/ui/src/main/res/values-ky/strings.xml index 4f80da69ad..ece255b02a 100644 --- a/library/ui/src/main/res/values-ky/strings.xml +++ b/library/ui/src/main/res/values-ky/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Жок + Авто diff --git a/library/ui/src/main/res/values-lo/strings.xml b/library/ui/src/main/res/values-lo/strings.xml index b6bb11252a..8140dd0a22 100644 --- a/library/ui/src/main/res/values-lo/strings.xml +++ b/library/ui/src/main/res/values-lo/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + ບໍ່ມີ + ອັດຕະໂນມັດ diff --git a/library/ui/src/main/res/values-mk/strings.xml b/library/ui/src/main/res/values-mk/strings.xml index 58a6fbf352..67040de9ef 100644 --- a/library/ui/src/main/res/values-mk/strings.xml +++ b/library/ui/src/main/res/values-mk/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Нема + Автоматскa diff --git a/library/ui/src/main/res/values-mn/strings.xml b/library/ui/src/main/res/values-mn/strings.xml index cafee2a5ae..0b8b9036f0 100644 --- a/library/ui/src/main/res/values-mn/strings.xml +++ b/library/ui/src/main/res/values-mn/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Байхгүй + Автомат diff --git a/library/ui/src/main/res/values-ms/strings.xml b/library/ui/src/main/res/values-ms/strings.xml index af641063ce..8fda8f7a5e 100644 --- a/library/ui/src/main/res/values-ms/strings.xml +++ b/library/ui/src/main/res/values-ms/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Tiada + Automatik diff --git a/library/ui/src/main/res/values-nb/strings.xml b/library/ui/src/main/res/values-nb/strings.xml index 0d817d33fb..c214d619a8 100644 --- a/library/ui/src/main/res/values-nb/strings.xml +++ b/library/ui/src/main/res/values-nb/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ingen + Automatisk diff --git a/library/ui/src/main/res/values-nl/strings.xml b/library/ui/src/main/res/values-nl/strings.xml index 65f762bfb5..6f3a408868 100644 --- a/library/ui/src/main/res/values-nl/strings.xml +++ b/library/ui/src/main/res/values-nl/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None + Geen Auto diff --git a/library/ui/src/main/res/values-pl/strings.xml b/library/ui/src/main/res/values-pl/strings.xml index b082b086e5..febd9ba864 100644 --- a/library/ui/src/main/res/values-pl/strings.xml +++ b/library/ui/src/main/res/values-pl/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Brak + Automatycznie diff --git a/library/ui/src/main/res/values-pt-rPT/strings.xml b/library/ui/src/main/res/values-pt-rPT/strings.xml index ebd1c872fb..674f559546 100644 --- a/library/ui/src/main/res/values-pt-rPT/strings.xml +++ b/library/ui/src/main/res/values-pt-rPT/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Nenhuma + Automático diff --git a/library/ui/src/main/res/values-pt/strings.xml b/library/ui/src/main/res/values-pt/strings.xml index 337fab759c..8a9c8c381f 100644 --- a/library/ui/src/main/res/values-pt/strings.xml +++ b/library/ui/src/main/res/values-pt/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Nenhuma + Automática diff --git a/library/ui/src/main/res/values-ru/strings.xml b/library/ui/src/main/res/values-ru/strings.xml index aaa2c1c610..ed8db945d3 100644 --- a/library/ui/src/main/res/values-ru/strings.xml +++ b/library/ui/src/main/res/values-ru/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Нет + Авто diff --git a/library/ui/src/main/res/values-sk/strings.xml b/library/ui/src/main/res/values-sk/strings.xml index f86b08c86d..34caa5af0e 100644 --- a/library/ui/src/main/res/values-sk/strings.xml +++ b/library/ui/src/main/res/values-sk/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Žiadne + Automaticky diff --git a/library/ui/src/main/res/values-sl/strings.xml b/library/ui/src/main/res/values-sl/strings.xml index 495c8d6580..e02e592bdd 100644 --- a/library/ui/src/main/res/values-sl/strings.xml +++ b/library/ui/src/main/res/values-sl/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Nič + Samodejno diff --git a/library/ui/src/main/res/values-sq/strings.xml b/library/ui/src/main/res/values-sq/strings.xml index 22a56af7d4..f8dbfd80cb 100644 --- a/library/ui/src/main/res/values-sq/strings.xml +++ b/library/ui/src/main/res/values-sq/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Asnjë + Automatike diff --git a/library/ui/src/main/res/values-sr/strings.xml b/library/ui/src/main/res/values-sr/strings.xml index 65d59e97ea..de5de4e507 100644 --- a/library/ui/src/main/res/values-sr/strings.xml +++ b/library/ui/src/main/res/values-sr/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ниједна + Аутоматски diff --git a/library/ui/src/main/res/values-sv/strings.xml b/library/ui/src/main/res/values-sv/strings.xml index 70a0aaaf40..b32176766e 100644 --- a/library/ui/src/main/res/values-sv/strings.xml +++ b/library/ui/src/main/res/values-sv/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Ingen + Automatiskt diff --git a/library/ui/src/main/res/values-sw/strings.xml b/library/ui/src/main/res/values-sw/strings.xml index 0e5a57d9aa..1aaa719a1f 100644 --- a/library/ui/src/main/res/values-sw/strings.xml +++ b/library/ui/src/main/res/values-sw/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Hamna + Otomatiki diff --git a/library/ui/src/main/res/values-th/strings.xml b/library/ui/src/main/res/values-th/strings.xml index 026763bbc3..99c3dfaf60 100644 --- a/library/ui/src/main/res/values-th/strings.xml +++ b/library/ui/src/main/res/values-th/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + ไม่มี + ยานยนต์ diff --git a/library/ui/src/main/res/values-tl/strings.xml b/library/ui/src/main/res/values-tl/strings.xml index 5b14f58233..81cdeafb20 100644 --- a/library/ui/src/main/res/values-tl/strings.xml +++ b/library/ui/src/main/res/values-tl/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Wala + Awtomatiko diff --git a/library/ui/src/main/res/values-tr/strings.xml b/library/ui/src/main/res/values-tr/strings.xml index e0e2dd84af..03a6b06b78 100644 --- a/library/ui/src/main/res/values-tr/strings.xml +++ b/library/ui/src/main/res/values-tr/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Yok + Otomatik diff --git a/library/ui/src/main/res/values-uk/strings.xml b/library/ui/src/main/res/values-uk/strings.xml index 1ddb3cc1db..b9e7377f4e 100644 --- a/library/ui/src/main/res/values-uk/strings.xml +++ b/library/ui/src/main/res/values-uk/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Нічого + Автоматично diff --git a/library/ui/src/main/res/values-uz/strings.xml b/library/ui/src/main/res/values-uz/strings.xml index e03682babc..c4ac394b5d 100644 --- a/library/ui/src/main/res/values-uz/strings.xml +++ b/library/ui/src/main/res/values-uz/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Hech biri + Avtomatik diff --git a/library/ui/src/main/res/values-vi/strings.xml b/library/ui/src/main/res/values-vi/strings.xml index 55c2d5c5c0..0ea5bbe6c0 100644 --- a/library/ui/src/main/res/values-vi/strings.xml +++ b/library/ui/src/main/res/values-vi/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Bỏ chọn tất cả + Tự động diff --git a/library/ui/src/main/res/values-zh-rHK/strings.xml b/library/ui/src/main/res/values-zh-rHK/strings.xml index e672e1b415..3e6f893573 100644 --- a/library/ui/src/main/res/values-zh-rHK/strings.xml +++ b/library/ui/src/main/res/values-zh-rHK/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + + 自動 diff --git a/library/ui/src/main/res/values-zh-rTW/strings.xml b/library/ui/src/main/res/values-zh-rTW/strings.xml index 4a2114973c..9703f98370 100644 --- a/library/ui/src/main/res/values-zh-rTW/strings.xml +++ b/library/ui/src/main/res/values-zh-rTW/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + + 自動 diff --git a/library/ui/src/main/res/values-zu/strings.xml b/library/ui/src/main/res/values-zu/strings.xml index c8fafcaae3..c5002dd1d9 100644 --- a/library/ui/src/main/res/values-zu/strings.xml +++ b/library/ui/src/main/res/values-zu/strings.xml @@ -20,6 +20,6 @@ Video Audio Text - None - Auto + Lutho + Okuzenzakalelayo