Skip to content
This repository was archived by the owner on Nov 3, 2021. It is now read-only.

Commit 6620fa2

Browse files
author
crdlc
committed
Bug 1129868 - [Loop] Delete button is always shown also when the user deleted the room
1 parent 769be9c commit 6620fa2

File tree

6 files changed

+57
-33
lines changed

6 files changed

+57
-33
lines changed

app/js/helpers/room/room_controller.js

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -133,22 +133,29 @@
133133

134134
function onInvalidToken(params) {
135135
var token = params.token;
136-
var options = new OptionMenu({
137-
section: navigator.mozL10n.get('invalidRoomToken'),
138-
type: 'confirm',
139-
items: [
140-
{
141-
name: 'Cancel',
142-
l10nId: 'cancel',
143-
method: (token) => {
144-
RoomsDB.get(token).then(room => {
145-
room.noLongerAvailable = true;
146-
Controller.onRoomUpdated(room);
147-
});
148-
},
149-
params: [token]
150-
},
151-
{
136+
137+
RoomsDB.get(token).then(room => {
138+
var parameters = {
139+
type: 'confirm',
140+
items: [
141+
{
142+
name: 'Cancel',
143+
l10nId: 'cancel'
144+
}
145+
]
146+
};
147+
148+
var title;
149+
150+
if (room) {
151+
title = 'invalidRoomTokenAndDelete';
152+
153+
parameters.items[0].method = () => {
154+
room.noLongerAvailable = true;
155+
Controller.onRoomUpdated(room);
156+
};
157+
158+
parameters.items.push({
152159
name: 'Delete',
153160
class: 'danger',
154161
l10nId: 'delete',
@@ -160,8 +167,19 @@
160167
Rooms.delete(token).then(deleteFromDB, deleteFromDB);
161168
},
162169
params: [token]
163-
}
164-
]
170+
});
171+
} else {
172+
title = 'invalidRoomToken';
173+
174+
var item = parameters.items[0];
175+
item.name = 'OK';
176+
item.l10nId = 'ok';
177+
item.class = 'full';
178+
}
179+
180+
parameters.section = navigator.mozL10n.get(title);
181+
182+
var options = new OptionMenu(parameters);
165183
});
166184
}
167185

@@ -550,18 +568,19 @@
550568
currentToken = null;
551569
isConnected = false;
552570
removeHeadPhonesChangeHandler();
553-
RoomUI.hide();
554-
// See https://docs.services.mozilla.com/loop/apis.html
555-
if (error) {
556-
if (error.code === 400 && error.errno === 202) {
557-
// Room full
558-
return removeMyselfFromRoom(params);
559-
} else if (error.code === 404) {
560-
return onInvalidToken(params);
571+
RoomUI.hide(() => {
572+
// See https://docs.services.mozilla.com/loop/apis.html
573+
if (error) {
574+
if (error.code === 400 && error.errno === 202) {
575+
// Room full
576+
return removeMyselfFromRoom(params);
577+
} else if (error.code === 404) {
578+
return onInvalidToken(params);
579+
}
561580
}
562-
}
563581

564-
showError();
582+
showError();
583+
});
565584
});
566585
}, () => {
567586
// The user cancels

app/js/screens/room/room_ui.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,15 @@
168168
participantName.textContent = '';
169169
}
170170

171-
function hide() {
171+
function hide(cb) {
172172
panel.dataset.status = panel.dataset.participants = '';
173173
removeFakeVideo();
174174
removeHandlers();
175175
Navigation.to('calllog-panel', 'bottom').then(() => {
176176
cleanUI();
177177
Countdown.stop();
178178
Countdown.reset();
179+
(typeof cb === 'function') && cb();
179180
});
180181
}
181182

app/locales/loop.de.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ noConnection = Bitte überprüfen Sie Ihre Internetverbindung.
176176
notLoggedIn = Sie müssen angemeldet sein, bevor Sie einen Anruf mit {{serviceName}} führen können.
177177
pickActivityFail = Dieser Kontakt hat weder eine Telefonnummer noch eine E-Mail-Adresse.
178178
genericServerError1 = Es tut uns leid, wir haben Probleme. Bitte versuchen Sie es erneut.
179-
invalidRoomToken = Sie können den Raum nicht betreten, da er nicht mehr verfügbar ist. Er könnte abgelaufen oder gelöscht worden sein. Soll er aus Ihrer Gesprächsliste gelöscht werden?
179+
invalidRoomTokenAndDelete = Sie können den Raum nicht betreten, da er nicht mehr verfügbar ist. Er könnte abgelaufen oder gelöscht worden sein. Soll er aus Ihrer Gesprächsliste gelöscht werden?
180+
invalidRoomToken = Sie können den Raum nicht betreten, da er nicht mehr verfügbar ist. Er könnte abgelaufen oder gelöscht worden sein.
180181
cameraPermission = Wir können leider nicht auf Ihr Mikrofon und Ihre Kamera zugreifen, da Sie uns nicht die Rechte dafür eingeräumt haben. Bitte erteilen Sie uns die Berechtigung in "Einstellungen" > "App-Berechtigungen" > "{{serviceName}}", um {{serviceName}} zu verwenden.
181182
notCompatibleDevice = Es tut uns leid, Ihr Gerät ist mit dieser App nicht kompatibel.
182183
oldOSVersion = Es tut uns leid, diese App benötigt Firefox OS 2.0 oder neuer.

app/locales/loop.en-US.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ noConnection = Please check your Internet connection
174174
notLoggedIn = You need to be logged in to use {{serviceName}}
175175
pickActivityFail = This contact does not have either a phone number or an email address.
176176
genericServerError1 = Sorry, we have problems on our side. Please try again.
177-
invalidRoomToken = Oops... You can’t join this room because it is not longer available. It may be expired or deleted. Do you want to delete it from your room list?
177+
invalidRoomTokenAndDelete = Oops... You can’t join this room because it is not longer available. It may be expired or deleted. Do you want to delete it from your room list?
178+
invalidRoomToken = Oops... You can’t join this room because it is not longer available. It may be expired or deleted.
178179
cameraPermission = We can't access your microphone and camera because you didn't give us permission. To use {{serviceName}}, please grant them in Settings > App permissions > {{serviceName}}
179180
notCompatibleDevice = Sorry, your device isn't compatible with this app
180181
oldOSVersion = Sorry, this app requires Firefox OS 2.0 or later

app/locales/loop.es.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ noConnection = Por favor, comprueba tu conexión a internet
176176
notLoggedIn = Necesitas iniciar sesión para usar {{serviceName}}
177177
pickActivityFail = Este contacto no tiene ni número de teléfono ni email.
178178
genericServerError1 = Ups, esto no ha funcionado como esperábamos. ¿Lo intentamos otra vez?
179-
invalidRoomToken = Ups... No puedes unirte a la sala porque no está disponible. Pudo haber expirado o haber sido borrada. ¿Quieres borrarla de tu lista de salas?
179+
invalidRoomTokenAndDelete = Ups... No puedes unirte a la sala porque no está disponible. Pudo haber expirado o haber sido borrada. ¿Quieres borrarla de tu lista de salas?
180+
invalidRoomToken = Ups... No puedes unirte a la sala porque no está disponible. Pudo haber expirado o haber sido borrada.
180181
cameraPermission = No tenemos acceso al micrófono ni la cámara porque no nos diste permiso. Para usar {{serviceName}}, por favor cambia estos permisos en Ajustes > Permisos de aplicaciones > {{serviceName}}
181182
notCompatibleDevice = Lo sentimos, tu dispositivo no es compatible con esta aplicación
182183
oldOSVersion = Lo sentimos, esta aplicación requiere Firefox OS 2.0 o posterior

app/locales/loop.it.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ noConnection = Verificare la connessione a Internet
134134
notLoggedIn = Bisogna effettuare l’accesso per utilizzare {{serviceName}}
135135
pickActivityFail = Questo contatto non ha un numero di telefono o un indirizzo email.
136136
genericServerError1 = Siamo spiacenti, si è verificato un problema sul server. Riprovare.
137-
invalidRoomToken = Oops… Non è possibile utilizzare questa stanza in quanto non è più disponibile. Potrebbe essere scaduta o essere stata eliminata. Rimuoverla dall’elenco delle stanze?
137+
invalidRoomTokenAndDelete = Oops… Non è possibile utilizzare questa stanza in quanto non è più disponibile. Potrebbe essere scaduta o essere stata eliminata. Rimuoverla dall’elenco delle stanze?
138+
invalidRoomToken = Oops… Non è possibile utilizzare questa stanza in quanto non è più disponibile. Potrebbe essere scaduta o essere stata eliminata.
138139
cameraPermission = Non è possibile accedere a microfono e videocamera per un problema di permessi. Per utilizzare {{serviceName}}, garantire i permessi in Impostazioni > Permessi applicazioni > {{serviceName}}
139140
notCompatibleDevice = Siamo spiacenti, il dispositivo in uso non è compatibile con questa app
140141
oldOSVersion = Siamo spiacenti, questa app richiede Firefox OS 2.0 o versioni successive

0 commit comments

Comments
 (0)