alteracoes
This commit is contained in:
@@ -0,0 +1,104 @@
|
|||||||
|
package com.example.vdcscore.data;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.example.vdcscore.models.Club;
|
||||||
|
import com.example.vdcscore.models.Jornada;
|
||||||
|
import com.google.android.gms.tasks.OnCompleteListener;
|
||||||
|
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;
|
||||||
|
|
||||||
|
public class FirebaseRepository {
|
||||||
|
|
||||||
|
private final DatabaseReference mDatabase;
|
||||||
|
private static FirebaseRepository instance;
|
||||||
|
|
||||||
|
private FirebaseRepository() {
|
||||||
|
mDatabase = FirebaseDatabase.getInstance().getReference();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static synchronized FirebaseRepository getInstance() {
|
||||||
|
if (instance == null) {
|
||||||
|
instance = new FirebaseRepository();
|
||||||
|
}
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Clubs ---
|
||||||
|
|
||||||
|
public void addClub(Club club, OnCompleteListener<Void> onCompleteListener) {
|
||||||
|
String key = club.getId();
|
||||||
|
if (key == null || key.isEmpty()) {
|
||||||
|
key = mDatabase.child("clubs").push().getKey();
|
||||||
|
club.setId(key);
|
||||||
|
}
|
||||||
|
mDatabase.child("clubs").child(key).setValue(club).addOnCompleteListener(onCompleteListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getClubs(final DataCallback<List<Club>> callback) {
|
||||||
|
mDatabase.child("clubs").addListenerForSingleValueEvent(new ValueEventListener() {
|
||||||
|
@Override
|
||||||
|
public void onDataChange(@NonNull DataSnapshot snapshot) {
|
||||||
|
List<Club> clubs = new ArrayList<>();
|
||||||
|
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
|
||||||
|
Club club = postSnapshot.getValue(Club.class);
|
||||||
|
if (club != null) {
|
||||||
|
club.setId(postSnapshot.getKey());
|
||||||
|
clubs.add(club);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
callback.onSuccess(clubs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCancelled(@NonNull DatabaseError error) {
|
||||||
|
callback.onFailure(error.toException());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Jornadas ---
|
||||||
|
|
||||||
|
public void addJornada(Jornada jornada, OnCompleteListener<Void> onCompleteListener) {
|
||||||
|
String key = jornada.getId();
|
||||||
|
if (key == null || key.isEmpty()) {
|
||||||
|
key = mDatabase.child("jornadas").push().getKey();
|
||||||
|
jornada.setId(key);
|
||||||
|
}
|
||||||
|
mDatabase.child("jornadas").child(key).setValue(jornada).addOnCompleteListener(onCompleteListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getJornadas(final DataCallback<List<Jornada>> callback) {
|
||||||
|
mDatabase.child("jornadas").addValueEventListener(new ValueEventListener() {
|
||||||
|
@Override
|
||||||
|
public void onDataChange(@NonNull DataSnapshot snapshot) {
|
||||||
|
List<Jornada> jornadas = new ArrayList<>();
|
||||||
|
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
|
||||||
|
Jornada jornada = postSnapshot.getValue(Jornada.class);
|
||||||
|
if (jornada != null) {
|
||||||
|
jornada.setId(postSnapshot.getKey());
|
||||||
|
jornadas.add(jornada);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
callback.onSuccess(jornadas);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCancelled(@NonNull DatabaseError error) {
|
||||||
|
callback.onFailure(error.toException());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface DataCallback<T> {
|
||||||
|
void onSuccess(T data);
|
||||||
|
|
||||||
|
void onFailure(Exception e);
|
||||||
|
}
|
||||||
|
}
|
||||||
51
app/src/main/java/com/example/vdcscore/models/Club.java
Normal file
51
app/src/main/java/com/example/vdcscore/models/Club.java
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package com.example.vdcscore.models;
|
||||||
|
|
||||||
|
public class Club {
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
private String logoUrl;
|
||||||
|
private String stadium;
|
||||||
|
|
||||||
|
// Stats could be here or in a separate object, keeping basic info here
|
||||||
|
public Club() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Club(String id, String name, String logoUrl, String stadium) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.logoUrl = logoUrl;
|
||||||
|
this.stadium = stadium;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLogoUrl() {
|
||||||
|
return logoUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogoUrl(String logoUrl) {
|
||||||
|
this.logoUrl = logoUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStadium() {
|
||||||
|
return stadium;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStadium(String stadium) {
|
||||||
|
this.stadium = stadium;
|
||||||
|
}
|
||||||
|
}
|
||||||
102
app/src/main/java/com/example/vdcscore/models/Game.java
Normal file
102
app/src/main/java/com/example/vdcscore/models/Game.java
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
package com.example.vdcscore.models;
|
||||||
|
|
||||||
|
public class Game {
|
||||||
|
private String id;
|
||||||
|
private String homeTeamId;
|
||||||
|
private String awayTeamId;
|
||||||
|
private String homeTeamName;
|
||||||
|
private String awayTeamName;
|
||||||
|
private int homeScore;
|
||||||
|
private int awayScore;
|
||||||
|
private boolean isFinished;
|
||||||
|
private long timestamp;
|
||||||
|
|
||||||
|
public Game() {
|
||||||
|
// Required for Firebase
|
||||||
|
}
|
||||||
|
|
||||||
|
public Game(String id, String homeTeamId, String awayTeamId, String homeTeamName, String awayTeamName,
|
||||||
|
long timestamp) {
|
||||||
|
this.id = id;
|
||||||
|
this.homeTeamId = homeTeamId;
|
||||||
|
this.awayTeamId = awayTeamId;
|
||||||
|
this.homeTeamName = homeTeamName;
|
||||||
|
this.awayTeamName = awayTeamName;
|
||||||
|
this.timestamp = timestamp;
|
||||||
|
this.isFinished = false;
|
||||||
|
this.homeScore = 0;
|
||||||
|
this.awayScore = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHomeTeamId() {
|
||||||
|
return homeTeamId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHomeTeamId(String homeTeamId) {
|
||||||
|
this.homeTeamId = homeTeamId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAwayTeamId() {
|
||||||
|
return awayTeamId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAwayTeamId(String awayTeamId) {
|
||||||
|
this.awayTeamId = awayTeamId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHomeTeamName() {
|
||||||
|
return homeTeamName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHomeTeamName(String homeTeamName) {
|
||||||
|
this.homeTeamName = homeTeamName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAwayTeamName() {
|
||||||
|
return awayTeamName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAwayTeamName(String awayTeamName) {
|
||||||
|
this.awayTeamName = awayTeamName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHomeScore() {
|
||||||
|
return homeScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHomeScore(int homeScore) {
|
||||||
|
this.homeScore = homeScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAwayScore() {
|
||||||
|
return awayScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAwayScore(int awayScore) {
|
||||||
|
this.awayScore = awayScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isFinished() {
|
||||||
|
return isFinished;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFinished(boolean finished) {
|
||||||
|
isFinished = finished;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getTimestamp() {
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTimestamp(long timestamp) {
|
||||||
|
this.timestamp = timestamp;
|
||||||
|
}
|
||||||
|
}
|
||||||
55
app/src/main/java/com/example/vdcscore/models/Jornada.java
Normal file
55
app/src/main/java/com/example/vdcscore/models/Jornada.java
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
package com.example.vdcscore.models;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Jornada {
|
||||||
|
private String id;
|
||||||
|
private int number;
|
||||||
|
private List<Game> games;
|
||||||
|
private boolean isCurrent;
|
||||||
|
|
||||||
|
public Jornada() {
|
||||||
|
// Required for Firebase
|
||||||
|
this.games = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Jornada(String id, int number) {
|
||||||
|
this.id = id;
|
||||||
|
this.number = number;
|
||||||
|
this.games = new ArrayList<>();
|
||||||
|
this.isCurrent = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNumber() {
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumber(int number) {
|
||||||
|
this.number = number;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Game> getGames() {
|
||||||
|
return games;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGames(List<Game> games) {
|
||||||
|
this.games = games;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCurrent() {
|
||||||
|
return isCurrent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrent(boolean current) {
|
||||||
|
isCurrent = current;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user