reduce rescanning due to IsOffline

This commit is contained in:
Luke Pulverenti 2016-08-24 02:13:15 -04:00
parent 521b20f86a
commit cbca3a20ae
23 changed files with 115 additions and 68 deletions

View File

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.182",
"_release": "1.4.182",
"version": "1.4.183",
"_release": "1.4.183",
"_resolution": {
"type": "version",
"tag": "1.4.182",
"commit": "d4c701ce17ff5a243470cf9cae99babde51f7179"
"tag": "1.4.183",
"commit": "0548902d94131fb45ba17c421186014b0bed5e18"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View File

@ -36,7 +36,7 @@
justify-content: center;
}
.vertical-wrap .card {
.vertical-wrap > .card {
contain: layout style;
}
@ -135,19 +135,18 @@
position: relative;
background-clip: content-box !important;
color: #fff;
/* This is only needed for scalable cards */
height: 100%;
}
@media all and (min-width: 600px) {
.cardImageContainer {
/* Should be 0 with visualCardBox, but not really noticeable */
border-radius: 2px;
}
}
.visualCardBox .cardImageContainer {
border-radius: 0;
}
.chapterCardImageContainer {
background-color: #000;
border-radius: 0;
@ -178,10 +177,6 @@
display: block;
}
.scalableCard .cardImageContainer {
height: 100%;
}
.cardImage {
position: absolute;
top: 0;
@ -206,7 +201,7 @@
padding: .5em .3em;
}
.visualCardBox .cardScalable, .visualCardBox-cardFooter {
.visualCardBox-cardScalable, .visualCardBox-cardFooter {
background-color: #222326;
}

View File

@ -1133,7 +1133,9 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
cardContentClose = '</button>';
}
cardImageContainerOpen = imgUrl ? ('<div class="' + cardImageContainerClass + ' lazy" data-src="' + imgUrl + '">') : ('<div class="' + cardImageContainerClass + '">');
cardImageContainerOpen = '<div class="' + cardBoxClass + '"><div class="cardScalable"><div class="cardPadder-' + options.shape + '"></div>' + cardContentOpen + cardImageContainerOpen;
var cardScalableClass = options.cardLayout ? 'cardScalable visualCardBox-cardScalable' : 'cardScalable';
cardImageContainerOpen = '<div class="' + cardBoxClass + '"><div class="' + cardScalableClass + '"><div class="cardPadder-' + options.shape + '"></div>' + cardContentOpen + cardImageContainerOpen;
cardBoxClose = '</div>';
cardScalableClose = '</div>';
cardImageContainerClose = '</div>';

View File

@ -86,7 +86,7 @@ define(['imageLoader', 'itemShortcuts', 'connectionManager', 'layoutManager'], f
var html = '\
<button type="button" data-isfolder="' + person.IsFolder + '" data-type="' + person.Type + '" data-action="link" data-id="' + person.Id + '" data-serverid="' + serverId + '" raised class="' + className + '"> \
<div class="' + cardBoxCssClass + '">\
<div class="cardScalable">\
<div class="cardScalable visualCardBox-cardScalable">\
<div class="cardPadder-portrait"></div>\
<div class="cardContent">\
' + cardImageContainer + '\

View File

@ -187,7 +187,7 @@
html += '<button type="button" class="' + cssClass + '" data-index="' + index + '">';
html += '<div class="cardBox visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder-portrait"></div>';
html += '<div class="cardContent searchImage">';

View File

@ -372,6 +372,11 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
function handleBackToDefault() {
if (!appHost.supports('exitmenu') && appHost.supports('exit')) {
appHost.exit();
return;
}
isDummyBackToHome = true;
skinManager.loadUserSkin();

View File

@ -32,14 +32,14 @@
"iron-component-page": "polymerElements/iron-component-page#^1.1.6"
},
"private": true,
"homepage": "https://github.com/polymer/polymer",
"homepage": "https://github.com/Polymer/polymer",
"_release": "1.6.1",
"_resolution": {
"type": "version",
"tag": "v1.6.1",
"commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc"
},
"_source": "git://github.com/polymer/polymer.git",
"_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.1.0",
"_originalSource": "polymer/polymer"
"_originalSource": "Polymer/polymer"
}

View File

@ -49,7 +49,17 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
function getDeviceName() {
var deviceName;
if (browser.chrome) {
if (browser.tizen) {
deviceName = "Samsung Smart TV";
} else if (browser.web0S) {
deviceName = "LG Smart TV";
} else if (browser.operaTv) {
deviceName = "Opera TV";
} else if (browser.xboxOne) {
deviceName = "Xbox One";
} else if (browser.ps4) {
deviceName = "Sony PS4";
} else if (browser.chrome) {
deviceName = "Chrome";
} else if (browser.edge) {
deviceName = "Edge";
@ -77,6 +87,11 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
}
function supportsVoiceInput() {
if (browser.tv) {
return false;
}
return window.SpeechRecognition ||
window.webkitSpeechRecognition ||
window.mozSpeechRecognition ||
@ -95,24 +110,57 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
alert('setWindowState is not supported and should not be called');
},
exit: function () {
alert('exit is not supported and should not be called');
if (browser.tizen) {
try {
tizen.application.getCurrentApplication().exit();
} catch (err) {
console.log('error closing application: ' + err);
}
return;
}
window.close();
},
supports: function (command) {
var features = [
'filedownload',
'externalpremium',
'sharing'
'sharing',
'externalpremium'
];
features.push('externallinks');
if (browser.operaTv || browser.tizen || browser.web0s) {
features.push('exit');
} else {
features.push('exitmenu');
}
if (!browser.operaTv) {
features.push('externallinks');
}
if (supportsVoiceInput()) {
features.push('voiceinput');
}
var userAgent = navigator.userAgent.toLowerCase();
if (!browser.mobile || userAgent.indexOf('msapphost') != -1) {
features.push('htmlaudioautoplay');
features.push('htmlvideoautoplay');
}
return features.indexOf(command.toLowerCase()) != -1;
},
unlockedFeatures: function () {
var features = [];
features.push('playback');
return features;
},
appInfo: function () {
if (appInfo) {

View File

@ -620,7 +620,7 @@ progress {
}
.ui-body-a .visualCardBox .cardScalable, .ui-body-a .visualCardBox-cardFooter {
.ui-body-a .visualCardBox-cardScalable, .ui-body-a .visualCardBox-cardFooter {
background-color: #fff;
}

View File

@ -15,6 +15,9 @@
</select>
<div class="fieldDescription">${LabelHardwareAccelerationTypeHelp}</div>
</div>
<div class="inputContainer hide fldVaapiDevice">
<input is="emby-input" type="text" id="txtVaapiDevice" label="${LabelVaapiDevice}" />
</div>
<div class="selectContainer">
<select is="emby-select" id="selectThreadCount" label="${LabelTranscodingThreadCount}">
<option value="-1">${OptionAuto}</option>

View File

@ -30,15 +30,6 @@
appSettings.cameraUploadServers(cameraUploadServers);
Dashboard.hideLoadingMsg();
require(['toast'], function (toast) {
toast(Globalize.translate('SettingsSaved'));
});
if (cameraUploadServers.length) {
if (window.MainActivity) {
MainActivity.authorizeStorage();
}
}
}
return function (view, params) {
@ -59,7 +50,7 @@
Dashboard.showLoadingMsg();
var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
var userId = params.userId || Dashboard.getCurrentUserId();
ApiClient.getUser(userId).then(function (user) {

View File

@ -90,9 +90,9 @@
});
}
function loadPage(page) {
function loadPage(page, params) {
var mode = getParameterByName('mode') || 'auto';
var mode = params.mode || 'auto';
if (mode == 'auto') {
@ -295,11 +295,11 @@
});
view.querySelector('.btnCancelSignup').addEventListener('click', function () {
history.back();
Emby.Page.back();
});
view.querySelector('.btnCancelManualServer').addEventListener('click', function () {
history.back();
Emby.Page.back();
});
view.querySelector('.btnWelcomeNext').addEventListener('click', function () {
@ -336,7 +336,7 @@
});
view.addEventListener('viewshow', function () {
loadPage(view);
loadPage(view, params);
});
};
});

View File

@ -318,7 +318,7 @@
html += '<div class="' + className + '" id="' + rowId + '">';
html += '<div class="cardBox visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-backdrop"></div>';
html += '<div class="cardContent">';

View File

@ -9,12 +9,17 @@
$('#txtDownMixAudioBoost', page).val(config.DownMixAudioBoost);
page.querySelector('.txtEncoderPath').value = config.EncoderAppPath || '';
$('#txtTranscodingTempPath', page).val(config.TranscodingTempPath || '');
$('#txtVaapiDevice', page).val(config.VaapiDevice || '');
var selectEncoderPath = page.querySelector('#selectEncoderPath');
selectEncoderPath.value = systemInfo.EncoderLocationType;
onSelectEncoderPathChange.call(selectEncoderPath);
page.querySelector('#selectVideoDecoder').dispatchEvent(new CustomEvent('change', {
bubbles: true
}));
Dashboard.hideLoadingMsg();
}
@ -64,6 +69,7 @@
config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val();
config.EncodingThreadCount = $('#selectThreadCount', form).val();
config.HardwareAccelerationType = $('#selectVideoDecoder', form).val();
config.VaapiDevice = $('#txtVaapiDevice', form).val();
config.EnableThrottling = form.querySelector('#chkEnableThrottle').checked;
@ -129,6 +135,19 @@
var page = this;
page.querySelector('#selectVideoDecoder').addEventListener('change', function () {
if (this.value == 'vaapi') {
page.querySelector('.fldVaapiDevice').classList.remove('hide');
page.querySelector('#txtVaapiDevice').setAttribute('required', 'required');
} else {
page.querySelector('.fldVaapiDevice').classList.add('hide');
page.querySelector('#txtVaapiDevice').removeAttribute('required');
}
});
$('#btnSelectEncoderPath', page).on("click.selectDirectory", function () {
require(['directorybrowser'], function (directoryBrowser) {

View File

@ -57,12 +57,7 @@
function onBackClick() {
if (Dashboard.exitOnBack()) {
Dashboard.exit();
}
else {
history.back();
}
Emby.Page.back();
}
function updateUserInHeader(user) {

View File

@ -133,7 +133,7 @@
html += '<div class="card squareCard scalableCard"><div class="cardBox cardBox-bottompadded visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-square"></div>';
html += '<a class="cardContent" href="#" data-ajax="false" data-haspw="' + user.HasPassword + '" data-username="' + user.Name + '" data-userid="' + user.Id + '">';

View File

@ -300,7 +300,7 @@
html += '<div class="card backdropCard scalableCard" style="' + style + '" data-index="' + index + '">';
html += '<div class="cardBox visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-backdrop"></div>';

View File

@ -499,7 +499,7 @@
var width = 240;
var chapterHtml = '<a class="card backdropCard chapterCard" href="#" style="margin-right:1em;width:' + width + 'px;" data-position="' + c.StartPositionTicks + '">';
chapterHtml += '<div class="cardBox">';
chapterHtml += '<div class="cardScalable">';
chapterHtml += '<div class="cardScalable visualCardBox-cardScalable">';
chapterHtml += '<div class="cardPadder cardPadder-backdrop"></div>';
chapterHtml += '<div class="cardContent">';

View File

@ -191,7 +191,7 @@
html += "<div class='card backdropCard scalableCard'>";
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-backdrop"></div>';

View File

@ -46,7 +46,7 @@
html += "<div data-id='" + plugin.Id + "' data-name='" + plugin.Name + "' class='card backdropCard scalableCard'>";
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-backdrop"></div>';

View File

@ -716,16 +716,6 @@ var Dashboard = {
});
},
exitOnBack: function () {
var currentView = ViewManager.currentView();
return !currentView || currentView.id == 'indexPage';
},
exit: function () {
Dashboard.logout();
},
getDeviceProfile: function (maxHeight) {
return new Promise(function (resolve, reject) {
@ -2709,8 +2699,6 @@ var AppInfo = {};
if (Dashboard.isRunningInCordova()) {
deps.push('registrationservices');
deps.push('cordova/back');
if (browserInfo.android) {
deps.push('cordova/android/androidcredentials');
}

View File

@ -94,7 +94,7 @@
html += "<div data-userid='" + user.Id + "' class='" + cssClass + "'>";
html += '<div class="cardBox visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-square"></div>';
@ -235,7 +235,7 @@
html += "<div data-id='" + user.Id + "' class='" + cssClass + "'>";
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
html += '<div class="cardScalable">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-square"></div>';

View File

@ -2322,5 +2322,6 @@
"RememberMe": "Remember me",
"HeaderOfflineSync": "Offline Sync",
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space."
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
"LabelVaapiDevice": "VA API Device:"
}