mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-03-11 17:45:38 +00:00
TMDB Settings Localization Patch
This commit is contained in:
parent
d840b06ca7
commit
e3f95f75e5
8 changed files with 6583 additions and 5867 deletions
|
|
@ -2,12 +2,12 @@
|
|||
<uses-sdk tools:overrideLibrary="dev.jdtech.mpv"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
|
||||
<queries>
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/>
|
||||
<meta-data android:name="expo.modules.updates.EXPO_RUNTIME_VERSION" android:value="@string/expo_runtime_version"/>
|
||||
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ERROR_RECOVERY_ONLY"/>
|
||||
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="5000"/>
|
||||
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="30000"/>
|
||||
<meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://ota.nuvioapp.space/api/manifest"/>
|
||||
<activity android:name=".MainActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|uiMode|locale|layoutDirection" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:exported="true" android:screenOrientation="unspecified">
|
||||
<intent-filter>
|
||||
|
|
@ -37,4 +37,4 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
</manifest>
|
||||
</manifest>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
defaults.url=https://sentry.io/
|
||||
defaults.org=tapframe
|
||||
defaults.org=fatticazzituoi
|
||||
defaults.project=react-native
|
||||
auth.token=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
|
||||
# Using SENTRY_AUTH_TOKEN environment variable
|
||||
|
|
@ -1599,29 +1599,6 @@ public class ReactExoplayerView extends FrameLayout implements
|
|||
Track audioTrack = exoplayerTrackToGenericTrack(format, groupIndex, selection, group);
|
||||
audioTrack.setBitrate(format.bitrate == Format.NO_VALUE ? 0 : format.bitrate);
|
||||
audioTrack.setSelected(isSelected);
|
||||
// Encode channel count, bitrate and mimeType into title so JS can read them reliably
|
||||
// e.g. "English|ch:6|br:640000|mt:audio/ac3"
|
||||
String existing = audioTrack.getTitle() != null ? audioTrack.getTitle() : "";
|
||||
if (format.channelCount != Format.NO_VALUE && format.channelCount > 0) {
|
||||
existing = existing + "|ch:" + format.channelCount;
|
||||
}
|
||||
// Use bitrate, fall back to averageBitrate then peakBitrate
|
||||
int effectiveBitrate = format.bitrate;
|
||||
if (effectiveBitrate == Format.NO_VALUE || effectiveBitrate <= 0) {
|
||||
effectiveBitrate = format.averageBitrate;
|
||||
}
|
||||
if (effectiveBitrate == Format.NO_VALUE || effectiveBitrate <= 0) {
|
||||
effectiveBitrate = format.peakBitrate;
|
||||
}
|
||||
if (effectiveBitrate != Format.NO_VALUE && effectiveBitrate > 0) {
|
||||
existing = existing + "|br:" + effectiveBitrate;
|
||||
}
|
||||
if (format.sampleMimeType != null && !format.sampleMimeType.isEmpty()) {
|
||||
existing = existing + "|mt:" + format.sampleMimeType;
|
||||
}
|
||||
if (!existing.isEmpty()) {
|
||||
audioTrack.setTitle(existing);
|
||||
}
|
||||
audioTracks.add(audioTrack);
|
||||
}
|
||||
|
||||
|
|
@ -1817,25 +1794,7 @@ public class ReactExoplayerView extends FrameLayout implements
|
|||
Track track = new Track();
|
||||
track.setIndex(groupIndex);
|
||||
track.setLanguage(format.language != null ? format.language : "unknown");
|
||||
String baseTitle = format.label != null ? format.label : "";
|
||||
if (format.channelCount != Format.NO_VALUE && format.channelCount > 0) {
|
||||
baseTitle = baseTitle + "|ch:" + format.channelCount;
|
||||
}
|
||||
// Use bitrate, fall back to averageBitrate then peakBitrate
|
||||
int effectiveBitrate = format.bitrate;
|
||||
if (effectiveBitrate == Format.NO_VALUE || effectiveBitrate <= 0) {
|
||||
effectiveBitrate = format.averageBitrate;
|
||||
}
|
||||
if (effectiveBitrate == Format.NO_VALUE || effectiveBitrate <= 0) {
|
||||
effectiveBitrate = format.peakBitrate;
|
||||
}
|
||||
if (effectiveBitrate != Format.NO_VALUE && effectiveBitrate > 0) {
|
||||
baseTitle = baseTitle + "|br:" + effectiveBitrate;
|
||||
}
|
||||
if (format.sampleMimeType != null && !format.sampleMimeType.isEmpty()) {
|
||||
baseTitle = baseTitle + "|mt:" + format.sampleMimeType;
|
||||
}
|
||||
track.setTitle(baseTitle);
|
||||
track.setTitle(format.label != null ? format.label : "Track " + (groupIndex + 1));
|
||||
track.setSelected(false); // Don't report selection status - let PlayerView handle it
|
||||
if (format.sampleMimeType != null)
|
||||
track.setMimeType(format.sampleMimeType);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -595,7 +595,7 @@ const TraktSettingsScreen: React.FC = () => {
|
|||
</View>
|
||||
)}
|
||||
<Text style={[styles.disclaimer, { color: isDarkMode ? currentTheme.colors.mediumEmphasis : currentTheme.colors.textMutedDark }]}>
|
||||
This product uses the Trakt API but is not endorsed or certified by Trakt.
|
||||
{t('trakt.disclaimer')}
|
||||
</Text>
|
||||
</ScrollView>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue