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

@ -128,7 +128,7 @@
return false;
}
if ($.browser.android && Dashboard.isRunningInCordova()) {
if ($.browser.android && AppInfo.isNativeApp) {
return true;
}

View file

@ -83,7 +83,7 @@
if (mode == 'auto') {
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
loadAppConnection(page);
return;
}
@ -154,7 +154,7 @@
var link = '<a href="http://emby.media" target="_blank">http://emby.media</a>';
$('.embyIntroDownloadMessage', page).html(Globalize.translate('EmbyIntroDownloadMessage', link));
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
$('.skip', page).show();
} else {
$('.skip', page).hide();

View file

@ -654,7 +654,7 @@
function getDisplayPreferencesAppName() {
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
return 'Emby Mobile';
}

View file

@ -403,6 +403,8 @@
function reloadPage(page) {
showLoadingMessage(page);
$('.guideRequiresUnlock', page).hide();
RegistrationServices.validateFeature('livetv').done(function () {

View file

@ -1025,7 +1025,7 @@
self.canAutoPlayVideo = function () {
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
return true;
}

View file

@ -1588,7 +1588,7 @@
self.canAutoPlayAudio = function () {
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
return true;
}

View file

@ -87,7 +87,7 @@
$('.fldEnableBackdrops', page).show();
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
$('.homePageConfigurationSection', page).hide();
} else {
$('.homePageConfigurationSection', page).show();

View file

@ -373,7 +373,7 @@
servers = servers.slice(0);
if (Dashboard.isRunningInCordova()) {
if (AppInfo.isNativeApp) {
servers.push({
Name: Globalize.translate('ButtonNewServer'),
Id: 'new',

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) {