diff --git a/src/components/apphost.js b/src/components/apphost.js
index 060d56832a..8563321957 100644
--- a/src/components/apphost.js
+++ b/src/components/apphost.js
@@ -141,23 +141,6 @@ function supportsFullscreen() {
return (element.requestFullscreen || element.mozRequestFullScreen || element.webkitRequestFullscreen || element.msRequestFullscreen) || document.createElement('video').webkitEnterFullscreen;
}
-function getSyncProfile() {
- return new Promise(function (resolve) {
- require(['browserdeviceprofile', 'appSettings'], function (profileBuilder, appSettings) {
- let profile;
-
- if (window.NativeShell) {
- profile = window.NativeShell.AppHost.getSyncProfile(profileBuilder, appSettings);
- } else {
- profile = profileBuilder();
- profile.MaxStaticMusicBitrate = appSettings.maxStaticMusicBitrate();
- }
-
- resolve(profile);
- });
- });
-}
-
function getDefaultLayout() {
return 'desktop';
}
@@ -271,7 +254,7 @@ const supportedFeatures = function () {
features.push('targetblank');
features.push('screensaver');
- webSettings.enableMultiServer().then(enabled => {
+ webSettings.getMultiServer().then(enabled => {
if (enabled) features.push('multiserver');
});
@@ -323,7 +306,7 @@ function askForExit() {
return;
}
- require(['actionsheet'], function (actionsheet) {
+ import('actionsheet').then(({default: actionsheet}) => {
exitPromise = actionsheet.show({
title: globalize.translate('MessageConfirmAppExit'),
items: [
@@ -367,7 +350,6 @@ const appHost = {
return supportedFeatures.indexOf(command.toLowerCase()) !== -1;
},
preferVisualCards: browser.android || browser.chrome,
- getSyncProfile: getSyncProfile,
getDefaultLayout: function () {
if (window.NativeShell) {
return window.NativeShell.AppHost.getDefaultLayout();
diff --git a/src/components/displaySettings/displaySettings.js b/src/components/displaySettings/displaySettings.js
index 641faa7f3b..ae7647f98b 100644
--- a/src/components/displaySettings/displaySettings.js
+++ b/src/components/displaySettings/displaySettings.js
@@ -75,13 +75,13 @@ import 'emby-button';
context.querySelector('.languageSection').classList.add('hide');
}
- if (appHost.default.supports('displaymode')) {
+ if (appHost.supports('displaymode')) {
context.querySelector('.fldDisplayMode').classList.remove('hide');
} else {
context.querySelector('.fldDisplayMode').classList.add('hide');
}
- if (appHost.default.supports('externallinks')) {
+ if (appHost.supports('externallinks')) {
context.querySelector('.learnHowToContributeContainer').classList.remove('hide');
} else {
context.querySelector('.learnHowToContributeContainer').classList.add('hide');
@@ -136,7 +136,7 @@ import 'emby-button';
function saveUser(context, user, userSettingsInstance, apiClient) {
user.Configuration.DisplayMissingEpisodes = context.querySelector('.chkDisplayMissingEpisodes').checked;
- if (appHost.default.supports('displaylanguage')) {
+ if (appHost.supports('displaylanguage')) {
userSettingsInstance.language(context.querySelector('#selectLanguage').value);
}
diff --git a/src/components/imageDownloader/imageDownloader.js b/src/components/imageDownloader/imageDownloader.js
index 5141ff73e5..2be2ef09b2 100644
--- a/src/components/imageDownloader/imageDownloader.js
+++ b/src/components/imageDownloader/imageDownloader.js
@@ -208,7 +208,7 @@ import 'cardStyle';
html += '
';
- if (layoutManager.tv || !appHost.default.supports('externallinks')) {
+ if (layoutManager.tv || !appHost.supports('externallinks')) {
html += '
';
} else {
html += '
';
diff --git a/src/components/itemContextMenu.js b/src/components/itemContextMenu.js
index 5f4906fd88..c1cac11d87 100644
--- a/src/components/itemContextMenu.js
+++ b/src/components/itemContextMenu.js
@@ -158,7 +158,7 @@ import actionsheet from 'actionsheet';
}
// Books are promoted to major download Button and therefor excluded in the context menu
- if ((item.CanDownload && appHost.default.supports('filedownload')) && item.Type !== 'Book') {
+ if ((item.CanDownload && appHost.supports('filedownload')) && item.Type !== 'Book') {
commands.push({
name: globalize.translate('Download'),
id: 'download',
diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js
index efd09fcba3..7aa8c623b3 100644
--- a/src/components/nowPlayingBar/nowPlayingBar.js
+++ b/src/components/nowPlayingBar/nowPlayingBar.js
@@ -415,7 +415,7 @@ import 'emby-ratingbutton';
showVolumeSlider = false;
}
- if (currentPlayer.isLocalPlayer && appHost.default.supports('physicalvolumecontrol')) {
+ if (currentPlayer.isLocalPlayer && appHost.supports('physicalvolumecontrol')) {
showMuteButton = false;
showVolumeSlider = false;
}
diff --git a/src/components/playback/playerSelectionMenu.js b/src/components/playback/playerSelectionMenu.js
index 878fccb6da..7799613400 100644
--- a/src/components/playback/playerSelectionMenu.js
+++ b/src/components/playback/playerSelectionMenu.js
@@ -121,7 +121,7 @@ export function show(button) {
// Unfortunately we can't allow the url to change or chromecast will throw a security error
// Might be able to solve this in the future by moving the dialogs to hashbangs
- if (!(!browser.chrome && !browser.edgeChromium || appHost.default.supports('castmenuhashchange'))) {
+ if (!(!browser.chrome && !browser.edgeChromium || appHost.supports('castmenuhashchange'))) {
menuOptions.enableHistory = false;
}
diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js
index 14dc742dfd..66e1ae777f 100644
--- a/src/components/playbackSettings/playbackSettings.js
+++ b/src/components/playbackSettings/playbackSettings.js
@@ -98,7 +98,7 @@ import 'emby-checkbox';
context.querySelector('.videoQualitySection').classList.add('hide');
}
- if (appHost.default.supports('multiserver')) {
+ if (appHost.supports('multiserver')) {
context.querySelector('.fldVideoInNetworkQuality').classList.remove('hide');
context.querySelector('.fldVideoInternetQuality').classList.remove('hide');
@@ -162,7 +162,7 @@ import 'emby-checkbox';
}
});
- if (appHost.default.supports('externalplayerintent') && userId === loggedInUserId) {
+ if (appHost.supports('externalplayerintent') && userId === loggedInUserId) {
context.querySelector('.fldExternalPlayer').classList.remove('hide');
} else {
context.querySelector('.fldExternalPlayer').classList.add('hide');
@@ -171,7 +171,7 @@ import 'emby-checkbox';
if (userId === loggedInUserId && (user.Policy.EnableVideoPlaybackTranscoding || user.Policy.EnableAudioPlaybackTranscoding)) {
context.querySelector('.qualitySections').classList.remove('hide');
- if (appHost.default.supports('chromecast') && user.Policy.EnableVideoPlaybackTranscoding) {
+ if (appHost.supports('chromecast') && user.Policy.EnableVideoPlaybackTranscoding) {
context.querySelector('.fldChromecastQuality').classList.remove('hide');
} else {
context.querySelector('.fldChromecastQuality').classList.add('hide');
diff --git a/src/components/subtitlesettings/subtitlesettings.js b/src/components/subtitlesettings/subtitlesettings.js
index 3569e114fa..1621c0ea2c 100644
--- a/src/components/subtitlesettings/subtitlesettings.js
+++ b/src/components/subtitlesettings/subtitlesettings.js
@@ -136,7 +136,7 @@ function embed(options, self) {
options.element.querySelector('.btnSave').classList.remove('hide');
}
- if (appHost.default.supports('subtitleappearancesettings')) {
+ if (appHost.supports('subtitleappearancesettings')) {
options.element.querySelector('.subtitleAppearanceSection').classList.remove('hide');
}
diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js
index c1c311a226..73540cd636 100644
--- a/src/controllers/playback/video/index.js
+++ b/src/controllers/playback/video/index.js
@@ -896,7 +896,7 @@ import 'css!assets/css/videoosd';
showVolumeSlider = false;
}
- if (player.isLocalPlayer && appHost.default.supports('physicalvolumecontrol')) {
+ if (player.isLocalPlayer && appHost.supports('physicalvolumecontrol')) {
showMuteButton = false;
showVolumeSlider = false;
}
diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js
index c53c59f3b2..8bac557a20 100644
--- a/src/controllers/session/login/index.js
+++ b/src/controllers/session/login/index.js
@@ -199,7 +199,7 @@ import 'emby-checkbox';
loading.show();
libraryMenu.setTransparentMenu(true);
- if (!appHost.default.supports('multiserver')) {
+ if (!appHost.supports('multiserver')) {
view.querySelector('.btnSelectServer').classList.add('hide');
}
diff --git a/src/scripts/inputManager.js b/src/scripts/inputManager.js
index 9225d07f0a..077af39bf7 100644
--- a/src/scripts/inputManager.js
+++ b/src/scripts/inputManager.js
@@ -113,7 +113,7 @@ import appHost from 'apphost';
'back': () => {
if (appRouter.canGoBack()) {
appRouter.back();
- } else if (appHost.default.supports('exit')) {
+ } else if (appHost.supports('exit')) {
appHost.exit();
}
},
diff --git a/src/scripts/site.js b/src/scripts/site.js
index 0879c11344..7f2caf4629 100644
--- a/src/scripts/site.js
+++ b/src/scripts/site.js
@@ -273,14 +273,11 @@ function initClient() {
function createConnectionManager() {
return require(['connectionManagerFactory', 'apphost', 'credentialprovider', 'events', 'userSettings'], function (ConnectionManager, appHost, credentialProvider, events, userSettings) {
var credentialProviderInstance = new credentialProvider();
- var promises = [appHost.default.getSyncProfile(), appHost.default.init()];
+ var promises = [appHost.default.init()];
return Promise.all(promises).then(function (responses) {
- var deviceProfile = responses[0];
var capabilities = Dashboard.capabilities(appHost);
- capabilities.DeviceProfile = deviceProfile;
-
var connectionManager = new ConnectionManager(credentialProviderInstance, appHost.default.appName(), appHost.default.appVersion(), appHost.default.deviceName(), appHost.default.deviceId(), capabilities);
defineConnectionManager(connectionManager);
@@ -481,7 +478,7 @@ function initClient() {
require(['webSettings'], function (webSettings) {
webSettings.getPlugins().then(function (list) {
// these two plugins are dependent on features
- if (!appHost.supports('remotecontrol')) {
+ if (!appHost.default.supports('remotecontrol')) {
list.splice(list.indexOf('sessionPlayer'), 1);
if (!browser.chrome && !browser.opera) {