Skip to content
Snippets Groups Projects
Commit 14ae7c46 authored by Steinwender, Tamara's avatar Steinwender, Tamara
Browse files

Add test output for phones

parent 80566f91
No related branches found
No related tags found
No related merge requests found
Pipeline #13269 passed
......@@ -62,6 +62,10 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
const that = this;
if (navigator.mediaDevices
&& navigator.mediaDevices.enumerateDevices
&& navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.enumerateDevices()
.then(function (devices) {
devices.forEach(function (device) {
......@@ -69,7 +73,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
" id = " + device.deviceId);
that._("#error").innerText += " | id: " + device.deviceId + " label: " + device.label + " | ";
if (device.kind === 'videoinput') {
// TODO Übersetzen
let id = device.deviceId;
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
devices_map.set('environment', i18n.t('back-camera'));
......@@ -82,8 +85,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
if (devices_map.size < 1) {
that.notSupported = true;
}
for (let [id, label] of devices_map)
{
for (let [id, label] of devices_map) {
let opt = document.createElement("option");
opt.value = id;
opt.text = label;
......@@ -95,6 +97,29 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
console.log(err.name + ": " + err.message);
that.notSupported = true;
});
} else if (MediaStreamTrack && MediaStreamTrack.getSources) {
this._log("MediaStreamTrack.getSources used");
const callback = sourceInfos => {
const results = [];
for (let i = 0; i !== sourceInfos.length; ++i) {
const sourceInfo = sourceInfos[i];
that._("#error").innerText += " * kind: " + sourceInfo.kind + " id: " + sourceInfo.id + " label: " + sourceInfo.label + " * ";
if (sourceInfo.kind === 'video') {
devices_map.set(sourceInfo.id ? sourceInfo.id : true, sourceInfo.label || i18n.t('camera') + (devices_map.size + 1))
results.push({
id: sourceInfo.id,
label: sourceInfo.label
});
}
}
this._log(`${results.length} results found`);
resolve(results);
}
MediaStreamTrack.getSources(callback);
}
else {
that.notSupported = true;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment