1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update connection manager

This commit is contained in:
Luke Pulverenti 2015-05-28 19:37:43 -04:00
parent 6235ee51eb
commit 6cbc470b0e
14 changed files with 209 additions and 47 deletions

View file

@ -49,7 +49,7 @@ var Dashboard = {
isConnectMode: function () {
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
return true;
}
@ -1366,14 +1366,20 @@ var Dashboard = {
capabilities: function () {
var caps = {
PlayableMediaTypes: "Audio,Video",
PlayableMediaTypes: ['Audio', 'Video'],
SupportedCommands: Dashboard.getSupportedRemoteCommands().join(','),
SupportsPersistentIdentifier: Dashboard.isRunningInCordova(),
SupportedCommands: Dashboard.getSupportedRemoteCommands(),
SupportsPersistentIdentifier: AppInfo.isNativeApp,
SupportsMediaControl: true,
SupportedLiveMediaTypes: ['Audio', 'Video']
};
if (Dashboard.isRunningInCordova() && $.browser.android) {
caps.SupportsOfflineAccess = true;
caps.SupportsSync = true;
caps.SupportsContentUploading = true;
}
return caps;
},
@ -1389,7 +1395,7 @@ var Dashboard = {
if (AppInfo.hasLowImageBandwidth) {
// The native app can handle a little bit more than safari
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
quality -= 20;
@ -1588,6 +1594,7 @@ var AppInfo = {};
if (isCordova) {
AppInfo.enableAppLayouts = true;
AppInfo.hasKnownExternalPlayerSupport = true;
AppInfo.isNativeApp = true;
}
else {
AppInfo.enableFooterNotifications = true;
@ -1615,11 +1622,11 @@ var AppInfo = {};
}
//localStorage.clear();
function createConnectionManager(appInfo, capabilities) {
function createConnectionManager(capabilities) {
var credentialProvider = new MediaBrowser.CredentialProvider();
window.ConnectionManager = new MediaBrowser.ConnectionManager(Logger, credentialProvider, appInfo.appName, appInfo.appVersion, appInfo.deviceName, appInfo.deviceId, capabilities);
window.ConnectionManager = new MediaBrowser.ConnectionManager(Logger, credentialProvider, AppInfo.appName, AppInfo.appVersion, AppInfo.deviceName, AppInfo.deviceId, capabilities);
$(ConnectionManager).on('apiclientcreated', function (e, newApiClient) {
@ -1642,7 +1649,7 @@ var AppInfo = {};
} else {
apiClient = new MediaBrowser.ApiClient(Logger, Dashboard.serverAddress(), appInfo.appName, appInfo.appVersion, appInfo.deviceName, appInfo.deviceId);
apiClient = new MediaBrowser.ApiClient(Logger, Dashboard.serverAddress(), AppInfo.appName, AppInfo.appVersion, AppInfo.deviceName, AppInfo.deviceId);
ConnectionManager.addApiClient(apiClient);
}
@ -1652,7 +1659,7 @@ var AppInfo = {};
ApiClient.getDefaultImageQuality = Dashboard.getDefaultImageQuality;
ApiClient.normalizeImageOptions = Dashboard.normalizeImageOptions;
if (!Dashboard.isRunningInCordova()) {
if (!AppInfo.isNativeApp) {
Dashboard.importCss(ApiClient.getUrl('Branding/Css'));
}
}
@ -1722,7 +1729,7 @@ var AppInfo = {};
$(document.body).addClass('supporterMembershipDisabled');
}
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
$(document).addClass('nativeApp');
}
@ -1842,7 +1849,7 @@ var AppInfo = {};
requirejs(['thirdparty/cordova/connectsdk', 'scripts/registrationservices']);
if ($.browser.android) {
requirejs(['thirdparty/cordova/android/immersive']);
requirejs(['thirdparty/cordova/android/androidcredentials', 'thirdparty/cordova/android/immersive']);
}
if ($.browser.safari) {
@ -1874,9 +1881,9 @@ var AppInfo = {};
setAppInfo();
var appInfo = Dashboard.getAppInfo(appName, deviceId, deviceName);
$.extend(AppInfo, Dashboard.getAppInfo(appName, deviceId, deviceName));
createConnectionManager(appInfo, capabilities);
createConnectionManager(capabilities);
if (!resolveOnReady) {