diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index b268ef3..9285598 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -5,6 +5,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/pap_teste/AddStaffActivity.java b/app/src/main/java/com/example/pap_teste/AddStaffActivity.java
index e03273c..eff9f1b 100644
--- a/app/src/main/java/com/example/pap_teste/AddStaffActivity.java
+++ b/app/src/main/java/com/example/pap_teste/AddStaffActivity.java
@@ -4,6 +4,13 @@ import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.Spinner;
+import android.widget.ArrayAdapter;
+import android.widget.Toast;
+import java.util.ArrayList;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.text.InputType;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@@ -19,7 +26,13 @@ public class AddStaffActivity extends AppCompatActivity {
private Button addButton;
private EditText nameEditText;
-
+ private Spinner zonaSpinner;
+ private Button btnAddZone;
+ private Spinner mesaSpinner;
+ private ArrayList zones;
+ private ArrayList mesas;
+ private ArrayAdapter adapter;
+ private ArrayAdapter mesaAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -34,25 +47,82 @@ public class AddStaffActivity extends AppCompatActivity {
addButton = findViewById(R.id.addButton);
nameEditText = findViewById(R.id.nammeEditText);
+ zonaSpinner = findViewById(R.id.zonaSpinner);
+ btnAddZone = findViewById(R.id.btnAddZone);
+ mesaSpinner = findViewById(R.id.mesaSpinner);
+ zones = new ArrayList<>();
+ zones.add("Sala");
+ zones.add("Esplanada");
+ zones.add("Balcão");
+
+ adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, zones);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ zonaSpinner.setAdapter(adapter);
+
+ mesas = new ArrayList<>();
+ for (int i = 1; i <= 10; i++) {
+ mesas.add("Mesa " + i);
+ }
+ mesaAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, mesas);
+ mesaAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mesaSpinner.setAdapter(mesaAdapter);
+
+ btnAddZone.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(AddStaffActivity.this);
+ builder.setTitle("Adicionar Zona");
+
+ final EditText input = new EditText(AddStaffActivity.this);
+ input.setInputType(InputType.TYPE_CLASS_TEXT);
+ builder.setView(input);
+
+ builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String newZone = input.getText().toString();
+ if (!newZone.isEmpty()) {
+ zones.add(newZone);
+ adapter.notifyDataSetChanged();
+ zonaSpinner.setSelection(zones.size() - 1);
+ }
+ }
+ });
+ builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+ });
+
+ builder.show();
+ }
+ });
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = nameEditText.getText().toString();
- //String zona = zonaSpinner.getSelectedItem().toString();
+ String zona = "";
+ if (zonaSpinner.getSelectedItem() != null) {
+ zona = zonaSpinner.getSelectedItem().toString();
+ }
+ String mesa = "";
+ if (mesaSpinner.getSelectedItem() != null) {
+ mesa = mesaSpinner.getSelectedItem().toString();
+ }
if (!name.isEmpty()) {
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Staff");
String uuid = java.util.UUID.randomUUID().toString();
- Staff staff = new Staff(name, "Zona 1",uuid);
+ Staff staff = new Staff(name, zona, mesa, uuid);
databaseReference.child(uuid).setValue(staff);
- //mensagem de sucesso
+ Toast.makeText(AddStaffActivity.this, "Staff adicionado com sucesso!", Toast.LENGTH_SHORT).show();
finish();
- }
- else{
- //colocar mensagem de error tem que estar tudo preenchido
+ } else {
+ Toast.makeText(AddStaffActivity.this, "Erro: Preencha todos os campos", Toast.LENGTH_SHORT).show();
}
}
});
diff --git a/app/src/main/java/com/example/pap_teste/GerirMesasActivity.java b/app/src/main/java/com/example/pap_teste/GerirMesasActivity.java
index 07fa436..78456ba 100644
--- a/app/src/main/java/com/example/pap_teste/GerirMesasActivity.java
+++ b/app/src/main/java/com/example/pap_teste/GerirMesasActivity.java
@@ -15,18 +15,28 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
+import com.example.pap_teste.models.Mesa;
+import com.google.firebase.database.DataSnapshot;
+import com.google.firebase.database.DatabaseError;
+import com.google.firebase.database.DatabaseReference;
+import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.database.ValueEventListener;
+
import java.util.ArrayList;
import java.util.List;
+import androidx.annotation.NonNull;
+
public class GerirMesasActivity extends AppCompatActivity {
- private final List mesas = new ArrayList<>();
+ private final List mesas = new ArrayList<>();
private ArrayAdapter adapter;
private ListView listMesas;
private EditText inputNumero;
private EditText inputCapacidade;
private Spinner spinnerEstado;
private TextView txtMensagem;
+ private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -40,7 +50,9 @@ public class GerirMesasActivity extends AppCompatActivity {
});
bindViews();
- seedMesasDemo();
+
+ mDatabase = FirebaseDatabase.getInstance().getReference("Mesas");
+
setupList();
setupFormActions();
}
@@ -60,29 +72,44 @@ public class GerirMesasActivity extends AppCompatActivity {
ArrayAdapter estadoAdapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_dropdown_item,
- new String[]{"Livre", "Ocupada", "Reservada"}
- );
+ new String[] { "Livre", "Ocupada", "Reservada" });
spinnerEstado.setAdapter(estadoAdapter);
}
- private void seedMesasDemo() {
- mesas.add(new MesaItem(1, 4, "Livre"));
- mesas.add(new MesaItem(2, 2, "Reservada"));
- mesas.add(new MesaItem(3, 6, "Ocupada"));
- mesas.add(new MesaItem(4, 4, "Livre"));
- }
-
private void setupList() {
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_activated_1);
listMesas.setAdapter(adapter);
- refreshList();
+
+ mDatabase.addValueEventListener(new ValueEventListener() {
+ @Override
+ public void onDataChange(@NonNull DataSnapshot snapshot) {
+ mesas.clear();
+ adapter.clear();
+ for (DataSnapshot postSnapshot : snapshot.getChildren()) {
+ Mesa mesa = postSnapshot.getValue(Mesa.class);
+ if (mesa != null) {
+ mesas.add(mesa);
+ String resumo = String.format("Mesa %02d • %d lugares • %s", mesa.getNumero(),
+ mesa.getCapacidade(), mesa.getEstado());
+ adapter.add(resumo);
+ }
+ }
+ adapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void onCancelled(@NonNull DatabaseError error) {
+ Toast.makeText(GerirMesasActivity.this, "Erro ao carregar mesas: " + error.getMessage(),
+ Toast.LENGTH_SHORT).show();
+ }
+ });
listMesas.setOnItemClickListener((parent, view, position, id) -> {
- MesaItem item = mesas.get(position);
- inputNumero.setText(String.valueOf(item.numero));
- inputCapacidade.setText(String.valueOf(item.capacidade));
- spinnerEstado.setSelection(getEstadoIndex(item.estado));
- txtMensagem.setText(String.format("Editar mesa %d", item.numero));
+ Mesa item = mesas.get(position);
+ inputNumero.setText(String.valueOf(item.getNumero()));
+ inputCapacidade.setText(String.valueOf(item.getCapacidade()));
+ spinnerEstado.setSelection(getEstadoIndex(item.getEstado()));
+ txtMensagem.setText(String.format("Editar mesa %d", item.getNumero()));
});
}
@@ -123,56 +150,36 @@ public class GerirMesasActivity extends AppCompatActivity {
return;
}
- MesaItem existente = findMesa(numero);
+ Mesa existente = findMesa(numero);
+ String mesaId;
+
if (existente == null) {
- mesas.add(new MesaItem(numero, capacidade, estado));
- txtMensagem.setText(String.format("Mesa %d adicionada/atualizada.", numero));
+ mesaId = mDatabase.push().getKey();
+ Mesa novaMesa = new Mesa(mesaId, numero, capacidade, estado);
+ if (mesaId != null) {
+ mDatabase.child(mesaId).setValue(novaMesa);
+ }
+ txtMensagem.setText(String.format("Mesa %d adicionada.", numero));
} else {
- existente.capacidade = capacidade;
- existente.estado = estado;
+ mesaId = existente.getId();
+ existente.setCapacidade(capacidade);
+ existente.setEstado(estado);
+ mDatabase.child(mesaId).setValue(existente);
txtMensagem.setText(String.format("Mesa %d atualizada.", numero));
}
- refreshList();
+ // Clearing inputs
+ inputNumero.setText("");
+ inputCapacidade.setText("");
}
- private MesaItem findMesa(int numero) {
- for (MesaItem item : mesas) {
- if (item.numero == numero) {
+ private Mesa findMesa(int numero) {
+ for (Mesa item : mesas) {
+ if (item.getNumero() == numero) {
return item;
}
}
return null;
}
- private void refreshList() {
- adapter.clear();
- for (MesaItem item : mesas) {
- String resumo = String.format("Mesa %02d • %d lugares • %s", item.numero, item.capacidade, item.estado);
- adapter.add(resumo);
- }
- adapter.notifyDataSetChanged();
- }
-
- private static class MesaItem {
- int numero;
- int capacidade;
- String estado;
-
- MesaItem(int numero, int capacidade, String estado) {
- this.numero = numero;
- this.capacidade = capacidade;
- this.estado = estado;
- }
- }
}
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java b/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java
index 10f7153..e3273b1 100644
--- a/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java
+++ b/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java
@@ -1,15 +1,21 @@
package com.example.pap_teste;
+import com.example.pap_teste.models.Mesa;
+import com.example.pap_teste.models.Staff;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
-import com.google.firebase.firestore.FirebaseFirestore;
-import com.google.firebase.firestore.QueryDocumentSnapshot;
+import com.google.firebase.database.DataSnapshot;
+import com.google.firebase.database.DatabaseError;
+import com.google.firebase.database.DatabaseReference;
+import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.database.ValueEventListener;
+import androidx.annotation.NonNull;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
-import android.widget.EditText;
+
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
@@ -26,16 +32,21 @@ import java.util.List;
public class GestaoStaffActivity extends AppCompatActivity {
- private final List staffAssignments = new ArrayList<>();
+ private final List staffList = new ArrayList<>();
private ArrayAdapter staffAdapter;
private ListView listStaffMesas;
private Spinner spinnerNomeStaff;
private Spinner spinnerMesaStaff;
private TextView txtMensagemStaff;
- private FirebaseFirestore firestore;
+
+ private DatabaseReference staffRef;
+ private DatabaseReference mesasRef;
+
private List staffNames = new ArrayList<>();
+ private List mesasDisponiveis = new ArrayList<>();
private ArrayAdapter staffNameAdapter;
+ private ArrayAdapter mesaSpinnerAdapter;
private FloatingActionButton floatingActionButton;
@@ -50,7 +61,8 @@ public class GestaoStaffActivity extends AppCompatActivity {
return insets;
});
- firestore = FirebaseFirestore.getInstance();
+ staffRef = FirebaseDatabase.getInstance().getReference("Staff");
+ mesasRef = FirebaseDatabase.getInstance().getReference("Mesas");
Button back = findViewById(R.id.btnVoltar);
if (back != null) {
@@ -76,7 +88,7 @@ public class GestaoStaffActivity extends AppCompatActivity {
* Mais tarde isto pode ser ligado às mesas reais configuradas em "Gerir Mesas".
*/
private void setupMesaSpinner() {
- ArrayAdapter mesaAdapter = new ArrayAdapter<>(
+ mesaSpinnerAdapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_dropdown_item);
@@ -85,26 +97,60 @@ public class GestaoStaffActivity extends AppCompatActivity {
android.R.layout.simple_spinner_dropdown_item,
staffNames);
spinnerNomeStaff.setAdapter(staffNameAdapter);
+
loadStaffMembers();
+ loadMesas();
- for (int i = 1; i <= 20; i++) {
- mesaAdapter.add(String.format("Mesa %02d", i));
- }
+ spinnerMesaStaff.setAdapter(mesaSpinnerAdapter);
+ }
- spinnerMesaStaff.setAdapter(mesaAdapter);
+ private void loadMesas() {
+ mesasRef.addValueEventListener(new ValueEventListener() {
+ @Override
+ public void onDataChange(@NonNull DataSnapshot snapshot) {
+ mesasDisponiveis.clear();
+ mesaSpinnerAdapter.clear();
+ for (DataSnapshot postSnapshot : snapshot.getChildren()) {
+ Mesa mesa = postSnapshot.getValue(Mesa.class);
+ if (mesa != null) {
+ mesasDisponiveis.add(mesa);
+ mesaSpinnerAdapter.add("Mesa " + mesa.getNumero());
+ }
+ }
+ mesaSpinnerAdapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void onCancelled(@NonNull DatabaseError error) {
+ Toast.makeText(GestaoStaffActivity.this, "Erro ao carregar mesas.", Toast.LENGTH_SHORT).show();
+ }
+ });
}
private void setupList() {
staffAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_activated_1);
listStaffMesas.setAdapter(staffAdapter);
- refreshList();
listStaffMesas.setOnItemClickListener((parent, view, position, id) -> {
- StaffAssignment item = staffAssignments.get(position);
- // inputNomeStaff.setText(item.nome); // Removed
- int index = Math.max(0, Math.min(spinnerMesaStaff.getCount() - 1, item.mesaNumero - 1));
- spinnerMesaStaff.setSelection(index);
- txtMensagemStaff.setText(String.format("A editar: %s (Mesa %02d)", item.nome, item.mesaNumero));
+ Staff item = staffList.get(position);
+ // Select staff in spinner
+ int staffIndex = staffNames.indexOf(item.getName());
+ if (staffIndex >= 0) {
+ spinnerNomeStaff.setSelection(staffIndex);
+ }
+ // Select mesa in spinner
+ // Simple string matching for now since Mesa is stored as String in Staff
+ String assignedMesa = item.getMesa();
+ if (assignedMesa != null) {
+ for (int i = 0; i < mesaSpinnerAdapter.getCount(); i++) {
+ if (mesaSpinnerAdapter.getItem(i).equals(assignedMesa)) {
+ spinnerMesaStaff.setSelection(i);
+ break;
+ }
+ }
+ }
+
+ txtMensagemStaff.setText(String.format("A editar: %s", item.getName()));
});
}
@@ -139,70 +185,64 @@ public class GestaoStaffActivity extends AppCompatActivity {
return;
}
- int mesaNumero = spinnerMesaStaff.getSelectedItemPosition() + 1;
+ String mesaSelecionada = spinnerMesaStaff.getSelectedItem().toString();
- StaffAssignment existente = findByNome(nome);
- if (existente == null) {
- staffAssignments.add(new StaffAssignment(nome, mesaNumero));
- txtMensagemStaff.setText(String.format("%s atribuído à mesa %02d.", nome, mesaNumero));
+ Staff staffToUpdate = findByNome(nome);
+ if (staffToUpdate != null) {
+ staffToUpdate.setMesa(mesaSelecionada);
+
+ final String finalNome = nome;
+ final String finalMesa = mesaSelecionada;
+
+ staffRef.child(staffToUpdate.getId()).setValue(staffToUpdate)
+ .addOnSuccessListener(aVoid -> {
+ txtMensagemStaff.setText(String.format("%s atribuído à %s.", finalNome, finalMesa));
+ })
+ .addOnFailureListener(e -> {
+ Toast.makeText(this, "Erro ao atualizar: " + e.getMessage(), Toast.LENGTH_SHORT).show();
+ });
} else {
- existente.mesaNumero = mesaNumero;
- txtMensagemStaff.setText(String.format("Mesa de %s atualizada para %02d.", nome, mesaNumero));
+ Toast.makeText(this, "Erro: Staff não encontrado.", Toast.LENGTH_SHORT).show();
}
-
- refreshList();
}
- private StaffAssignment findByNome(String nome) {
- for (StaffAssignment item : staffAssignments) {
- if (item.nome.equalsIgnoreCase(nome)) {
+ private Staff findByNome(String nome) {
+ for (Staff item : staffList) {
+ if (item.getName().equalsIgnoreCase(nome)) {
return item;
}
}
return null;
}
- private void refreshList() {
- if (staffAdapter == null)
- return;
-
- staffAdapter.clear();
- for (StaffAssignment item : staffAssignments) {
- String resumo = String.format("%s • Mesa %02d", item.nome, item.mesaNumero);
- staffAdapter.add(resumo);
- }
- staffAdapter.notifyDataSetChanged();
- }
-
private void loadStaffMembers() {
- firestore.collection("users")
- .whereEqualTo("role", "STAFF")
- .get()
- .addOnSuccessListener(queryDocumentSnapshots -> {
- staffNames.clear();
- for (QueryDocumentSnapshot document : queryDocumentSnapshots) {
- String name = document.getString("displayName");
- if (name != null && !name.isEmpty()) {
- staffNames.add(name);
- }
- }
- if (staffNames.isEmpty()) {
- staffNames.add("Nenhum staff encontrado");
- }
- staffNameAdapter.notifyDataSetChanged();
- })
- .addOnFailureListener(e -> {
- Toast.makeText(this, "Erro ao carregar staff: " + e.getMessage(), Toast.LENGTH_SHORT).show();
- });
- }
+ staffRef.addValueEventListener(new ValueEventListener() {
+ @Override
+ public void onDataChange(@NonNull DataSnapshot snapshot) {
+ staffList.clear();
+ staffNames.clear();
+ staffAdapter.clear();
- private static class StaffAssignment {
- String nome;
- int mesaNumero;
+ for (DataSnapshot postSnapshot : snapshot.getChildren()) {
+ Staff staff = postSnapshot.getValue(Staff.class);
+ if (staff != null) {
+ staffList.add(staff);
+ staffNames.add(staff.getName());
- StaffAssignment(String nome, int mesaNumero) {
- this.nome = nome;
- this.mesaNumero = mesaNumero;
- }
+ String mesaInfo = staff.getMesa() != null ? staff.getMesa() : "Sem Mesa";
+ String resumo = String.format("%s • %s • %s", staff.getName(), staff.getZona(), mesaInfo);
+ staffAdapter.add(resumo);
+ }
+ }
+
+ staffNameAdapter.notifyDataSetChanged();
+ staffAdapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void onCancelled(@NonNull DatabaseError error) {
+ Toast.makeText(GestaoStaffActivity.this, "Erro ao carregar staff.", Toast.LENGTH_SHORT).show();
+ }
+ });
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/pap_teste/MainActivity.java b/app/src/main/java/com/example/pap_teste/MainActivity.java
index 9f24ad5..5c8c4da 100644
--- a/app/src/main/java/com/example/pap_teste/MainActivity.java
+++ b/app/src/main/java/com/example/pap_teste/MainActivity.java
@@ -81,7 +81,6 @@ public class MainActivity extends AppCompatActivity {
setupTypeToggle();
setupActionToggle();
setupPrimaryAction();
- enforceFirstAccountCreation();
}
private void bindViews() {
@@ -176,13 +175,6 @@ public class MainActivity extends AppCompatActivity {
String establishmentEmail = inputEstablishmentEmail.getText().toString().trim();
String establishmentPhone = inputEstablishmentPhone.getText().toString().trim();
- if (selectedAccountAction == AccountAction.ENTRAR && !hasCreatedAccount) {
- Toast.makeText(this, "Crie uma conta para começar a usar a app.", Toast.LENGTH_SHORT).show();
- selectedAccountAction = AccountAction.CRIAR;
- updateActionButtons();
- return;
- }
-
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {
Toast.makeText(this, "Preencha email e palavra-passe.", Toast.LENGTH_SHORT).show();
return;
@@ -330,13 +322,10 @@ public class MainActivity extends AppCompatActivity {
establishmentPhone,
uid,
() -> {
- Intent createdScreen = new Intent(this, AccountCreatedActivity.class);
- createdScreen.putExtra(EXTRA_ACTION_MODE, selectedAccountAction.name());
- createdScreen.putExtra(EXTRA_DISPLAY_NAME, finalDisplayName);
- createdScreen.putExtra(EXTRA_EMAIL, email);
- createdScreen.putExtra(EXTRA_ACCOUNT_TYPE, selectedAccountType.name());
- createdScreen.putExtra(EXTRA_ROLE, resolvedRole);
- startActivity(createdScreen);
+ Toast.makeText(this, "Conta criada com sucesso! Carregue em Entrar.", Toast.LENGTH_LONG)
+ .show();
+ selectedAccountAction = AccountAction.ENTRAR;
+ updateActionButtons();
});
})
.addOnFailureListener(e -> {
@@ -388,6 +377,14 @@ public class MainActivity extends AppCompatActivity {
})
.addOnFailureListener(e -> {
android.util.Log.e("LoginError", "Firestore check failed", e);
+ if (e instanceof com.google.firebase.firestore.FirebaseFirestoreException) {
+ com.google.firebase.firestore.FirebaseFirestoreException fe = (com.google.firebase.firestore.FirebaseFirestoreException) e;
+ if (fe.getCode() == com.google.firebase.firestore.FirebaseFirestoreException.Code.UNAVAILABLE ||
+ fe.getCode() == com.google.firebase.firestore.FirebaseFirestoreException.Code.FAILED_PRECONDITION) {
+ Toast.makeText(this, "Sem internet. A entrar em modo offline...", Toast.LENGTH_LONG).show();
+ // Não fazemos return, deixamos cair no navigateToDashboard abaixo
+ }
+ }
Toast.makeText(this, "Falha ao validar perfil na cloud. A entrar em modo básico.",
Toast.LENGTH_SHORT)
.show();
@@ -482,13 +479,13 @@ public class MainActivity extends AppCompatActivity {
return true;
}
-// @Override
-// protected void onStart() {
-// super.onStart();
-// FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
-// if (firebaseUser != null) {
-// startActivity(new Intent(this, MainActivity.class));
-// finish();
-// }
-// }
+ // @Override
+ // protected void onStart() {
+ // super.onStart();
+ // FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
+ // if (firebaseUser != null) {
+ // startActivity(new Intent(this, MainActivity.class));
+ // finish();
+ // }
+ // }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/pap_teste/models/Mesa.java b/app/src/main/java/com/example/pap_teste/models/Mesa.java
index c159269..b23db6c 100644
--- a/app/src/main/java/com/example/pap_teste/models/Mesa.java
+++ b/app/src/main/java/com/example/pap_teste/models/Mesa.java
@@ -1,4 +1,56 @@
package com.example.pap_teste.models;
public class Mesa {
+ private String id;
+ private int numero;
+ private int capacidade;
+ private String estado;
+
+ public Mesa() {
+ // Default constructor required for calls to DataSnapshot.getValue(Mesa.class)
+ }
+
+ public Mesa(String id, int numero, int capacidade, String estado) {
+ this.id = id;
+ this.numero = numero;
+ this.capacidade = capacidade;
+ this.estado = estado;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getNumero() {
+ return numero;
+ }
+
+ public void setNumero(int numero) {
+ this.numero = numero;
+ }
+
+ public int getCapacidade() {
+ return capacidade;
+ }
+
+ public void setCapacidade(int capacidade) {
+ this.capacidade = capacidade;
+ }
+
+ public String getEstado() {
+ return estado;
+ }
+
+ public void setEstado(String estado) {
+ this.estado = estado;
+ }
+
+ @Override
+ public String toString() {
+ return "Mesa " + numero;
+ }
}
diff --git a/app/src/main/java/com/example/pap_teste/models/Staff.java b/app/src/main/java/com/example/pap_teste/models/Staff.java
index 2483143..dc9a98b 100644
--- a/app/src/main/java/com/example/pap_teste/models/Staff.java
+++ b/app/src/main/java/com/example/pap_teste/models/Staff.java
@@ -3,14 +3,17 @@ package com.example.pap_teste.models;
public class Staff {
private String name;
private String zona;
+ private String mesa;
private String id;
- public Staff(String name, String zona, String id) {
+ public Staff(String name, String zona, String mesa, String id) {
this.name = name;
this.zona = zona;
+ this.mesa = mesa;
this.id = id;
}
+
public Staff() {
}
@@ -30,6 +33,14 @@ public class Staff {
this.zona = zona;
}
+ public String getMesa() {
+ return mesa;
+ }
+
+ public void setMesa(String mesa) {
+ this.mesa = mesa;
+ }
+
public String getId() {
return id;
}
diff --git a/app/src/main/res/layout/activity_add_staff.xml b/app/src/main/res/layout/activity_add_staff.xml
index 00a11d7..4134ad9 100644
--- a/app/src/main/res/layout/activity_add_staff.xml
+++ b/app/src/main/res/layout/activity_add_staff.xml
@@ -9,14 +9,60 @@
+
+
+
+
+
+
+
+
+
+
+
+