adicao das jornadas e dos melhores marcadores (falta dar scrapping aos melhores marcadores)
This commit is contained in:
@@ -70,7 +70,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
// menu should be considered as top level destinations.
|
||||
mAppBarConfiguration = new AppBarConfiguration.Builder(
|
||||
R.id.nav_home, R.id.nav_gallery, R.id.nav_definicoes,
|
||||
R.id.nav_live_games, R.id.nav_clubs)
|
||||
R.id.nav_live_games, R.id.nav_clubs, R.id.nav_top_scorers)
|
||||
.setOpenableLayout(drawer)
|
||||
.build();
|
||||
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
|
||||
|
||||
@@ -19,6 +19,8 @@ import com.google.firebase.database.FirebaseDatabase;
|
||||
import com.google.firebase.database.ValueEventListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
public class GalleryFragment extends Fragment {
|
||||
@@ -106,6 +108,20 @@ public class GalleryFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
|
||||
// Sort matchdays numerically (e.g. "1" before "10")
|
||||
Collections.sort(matchdaysList, new Comparator<Matchday>() {
|
||||
@Override
|
||||
public int compare(Matchday m1, Matchday m2) {
|
||||
try {
|
||||
Integer num1 = Integer.parseInt(m1.getName());
|
||||
Integer num2 = Integer.parseInt(m2.getName());
|
||||
return num1.compareTo(num2);
|
||||
} catch (NumberFormatException e) {
|
||||
return m1.getName().compareTo(m2.getName());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (matchdaysList.isEmpty()) {
|
||||
binding.textJornadaName.setText("Sem jornadas");
|
||||
adapter.setMatches(new ArrayList<>());
|
||||
|
||||
@@ -13,6 +13,7 @@ public class Match {
|
||||
private String homeLogo;
|
||||
private String awayLogo;
|
||||
private String stadium;
|
||||
private String matchReportUrl;
|
||||
|
||||
public Match() {
|
||||
}
|
||||
@@ -184,4 +185,14 @@ public class Match {
|
||||
public void setStadium(String stadium) {
|
||||
this.stadium = stadium;
|
||||
}
|
||||
|
||||
@PropertyName("matchReportUrl")
|
||||
public String getMatchReportUrl() {
|
||||
return matchReportUrl;
|
||||
}
|
||||
|
||||
@PropertyName("matchReportUrl")
|
||||
public void setMatchReportUrl(String matchReportUrl) {
|
||||
this.matchReportUrl = matchReportUrl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.example.vdcscore.R;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -87,6 +89,18 @@ public class MatchesAdapter extends RecyclerView.Adapter<MatchesAdapter.ViewHold
|
||||
// Stadium
|
||||
String stadium = match.getStadium();
|
||||
holder.textStadium.setText(isValid(stadium) ? "Campo: " + stadium : "Campo a definir");
|
||||
|
||||
// Match Report Button
|
||||
if (isValid(match.getMatchReportUrl())) {
|
||||
holder.btnMatchReport.setVisibility(View.VISIBLE);
|
||||
holder.btnMatchReport.setOnClickListener(v -> {
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(match.getMatchReportUrl()));
|
||||
holder.itemView.getContext().startActivity(browserIntent);
|
||||
});
|
||||
} else {
|
||||
holder.btnMatchReport.setVisibility(View.GONE);
|
||||
holder.btnMatchReport.setOnClickListener(null);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValid(String text) {
|
||||
@@ -107,6 +121,7 @@ public class MatchesAdapter extends RecyclerView.Adapter<MatchesAdapter.ViewHold
|
||||
public final TextView textStadium;
|
||||
public final ImageView imgHomeLogo;
|
||||
public final ImageView imgAwayLogo;
|
||||
public final com.google.android.material.button.MaterialButton btnMatchReport;
|
||||
|
||||
public ViewHolder(View view) {
|
||||
super(view);
|
||||
@@ -118,6 +133,7 @@ public class MatchesAdapter extends RecyclerView.Adapter<MatchesAdapter.ViewHold
|
||||
textStadium = view.findViewById(R.id.text_match_stadium);
|
||||
imgHomeLogo = view.findViewById(R.id.img_home_logo);
|
||||
imgAwayLogo = view.findViewById(R.id.img_away_logo);
|
||||
btnMatchReport = view.findViewById(R.id.btn_match_report);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +153,17 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Match Report Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_match_report"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="Ficha de Jogo"
|
||||
android:visibility="gone"
|
||||
app:cornerRadius="8dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
@@ -24,5 +24,9 @@
|
||||
android:id="@+id/nav_definicoes"
|
||||
android:icon="@android:drawable/ic_menu_preferences"
|
||||
android:title="@string/menu_definicoes" />
|
||||
<item
|
||||
android:id="@+id/nav_top_scorers"
|
||||
android:icon="@android:drawable/btn_star"
|
||||
android:title="@string/menu_top_scorers" />
|
||||
</group>
|
||||
</menu>
|
||||
@@ -96,4 +96,10 @@
|
||||
app:argType="com.example.vdcscore.models.Player" />
|
||||
</fragment>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_top_scorers"
|
||||
android:name="com.example.vdcscore.ui.topscorers.TopScorersFragment"
|
||||
android:label="@string/menu_top_scorers"
|
||||
tools:layout="@layout/fragment_top_scorers" />
|
||||
|
||||
</navigation>
|
||||
@@ -14,6 +14,7 @@
|
||||
<string name="menu_live_games">Jogos ao Vivo</string>
|
||||
<string name="title_live_game_detail">Detalhes do Jogo</string>
|
||||
<string name="menu_clubs">Clubes</string>
|
||||
<string name="menu_top_scorers">Melhores Marcadores</string>
|
||||
|
||||
<!-- Profile Strings -->
|
||||
<string name="change_photo_title">Alterar Foto de Perfil</string>
|
||||
|
||||
@@ -33,4 +33,9 @@
|
||||
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||
|
||||
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
||||
|
||||
<style name="ShapeAppearanceOverlay.App.CornerSize50Percent" parent="">
|
||||
<item name="cornerFamily">rounded</item>
|
||||
<item name="cornerSize">50%</item>
|
||||
</style>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user