Skip to content

Commit 33448d5

Browse files
committed
Añadido tu valoracion a la vista de ruta detallada.
1 parent a1d4d19 commit 33448d5

File tree

7 files changed

+74
-32
lines changed

7 files changed

+74
-32
lines changed

app/src/main/java/dgp/ugr/granaroutes/actividades/ActividadRutaDetallada.java

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,16 @@
1515
import android.view.MenuItem;
1616
import android.view.View;
1717
import android.widget.ImageView;
18+
import android.widget.RatingBar;
1819
import android.widget.TextView;
1920
import android.widget.Toast;
2021

22+
import com.google.firebase.auth.FirebaseAuth;
23+
import com.google.firebase.auth.FirebaseUser;
2124
import com.squareup.picasso.Picasso;
2225

26+
import java.util.ArrayList;
27+
2328
import dgp.ugr.granaroutes.R;
2429
import dgp.ugr.granaroutes.adaptador.AdaptadorValoraciones;
2530
import dgp.ugr.granaroutes.data.ProveedorContenidos;
@@ -39,6 +44,7 @@ public class ActividadRutaDetallada extends AppCompatActivity implements Registr
3944
private ImageView ruta;
4045
private Menu menu;
4146
private CardView valoracionPropia;
47+
private CardView contenedorValoracion;
4248
private RecyclerView listaValoraciones;
4349
private TextView cartelNoHayValoraciones;
4450
private AdaptadorValoraciones adaptadorValoraciones;
@@ -60,6 +66,7 @@ protected void onCreate(Bundle savedInstanceState) {
6066
valoracionPropia = findViewById(R.id.contenedor_tu_valoracion);
6167
listaValoraciones = findViewById(R.id.rv_valoraciones);
6268
cartelNoHayValoraciones = findViewById(R.id.cartel_no_hay_valoraciones);
69+
contenedorValoracion = findViewById(R.id.vista_tu_valoracion);
6370

6471

6572
inicializarVariables();
@@ -226,8 +233,41 @@ public void terminarInicializacion() {
226233
private void compruebaListaVacia() {
227234
if(listaValoraciones == null || adaptadorValoraciones.getItemCount() <= 0)
228235
muestraNoHayDatos();
229-
else
236+
else {
230237
mostrarDatos();
238+
compruebaSiUsuarioHaVotado();
239+
}
240+
}
241+
242+
private void compruebaSiUsuarioHaVotado() {
243+
ArrayList<Valoracion> tempValoraciones = ProveedorContenidos.getInstance().getValoraciones();
244+
boolean continua = true;
245+
for(int i = 0; i < tempValoraciones.size() && continua; i++){
246+
Valoracion valoracion = tempValoraciones.get(i);
247+
248+
FirebaseUser usuarioActual = FirebaseAuth.getInstance().getCurrentUser();
249+
250+
String emailUsuarioActual = null;
251+
252+
if(usuarioActual != null)
253+
emailUsuarioActual = FirebaseAuth.getInstance().getCurrentUser().getEmail();
254+
if(valoracion.getUsuario().equals(emailUsuarioActual)){
255+
continua = false;
256+
muestraValoracionHecha(valoracion);
257+
}
258+
}
259+
}
260+
261+
private void muestraValoracionHecha(Valoracion valoracion) {
262+
TextView usuario = contenedorValoracion.findViewById(R.id.usuario_valoracion);
263+
TextView descripcion = contenedorValoracion.findViewById(R.id.descripcion_valoracion);
264+
RatingBar ratingBar = contenedorValoracion.findViewById(R.id.valoracion_numerica);
265+
266+
usuario.setText(valoracion.getUsuario());
267+
descripcion.setText(valoracion.getDescripcion());
268+
ratingBar.setRating(valoracion.getValoracionNumerica());
269+
270+
valoracionPropia.setVisibility(View.VISIBLE);
231271
}
232272

233273

app/src/main/java/dgp/ugr/granaroutes/actividades/ActividadValoracionesDetalladas.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import dgp.ugr.granaroutes.R;
1111
import dgp.ugr.granaroutes.adaptador.AdaptadorValoraciones;
1212
import dgp.ugr.granaroutes.data.ProveedorContenidos;
13-
import dgp.ugr.granaroutes.data.Valoracion;
1413

1514
public class ActividadValoracionesDetalladas extends AppCompatActivity {
1615

@@ -27,7 +26,7 @@ protected void onCreate(Bundle savedInstanceState) {
2726
listaValoraciones.setHasFixedSize(true);
2827
listaValoraciones.setLayoutManager(new LinearLayoutManager(this));
2928
AdaptadorValoraciones adaptadorValoraciones =
30-
new AdaptadorValoraciones(this, ProveedorContenidos.getInstance().getValoraciones());
29+
new AdaptadorValoraciones(this, ProveedorContenidos.getInstance().getValoraciones(), null);
3130
listaValoraciones.setAdapter(adaptadorValoraciones);
3231
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
3332
listaValoraciones.getContext(), LinearLayoutManager.VERTICAL);

app/src/main/java/dgp/ugr/granaroutes/adaptador/AdaptadorValoraciones.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.Context;
44
import android.support.annotation.NonNull;
5+
import android.support.annotation.Nullable;
56
import android.support.v7.widget.RecyclerView;
67
import android.view.LayoutInflater;
78
import android.view.View;
@@ -29,17 +30,12 @@ public interface AdministradorClickValoraciones {
2930

3031

3132
public AdaptadorValoraciones(Context context, ArrayList<Valoracion> valoracionesRemotas,
32-
AdministradorClickValoraciones handler) {
33+
@Nullable AdministradorClickValoraciones handler) {
3334
this.context = context;
3435
valoraciones = valoracionesRemotas;
3536
clickHandler = handler;
3637
}
3738

38-
public AdaptadorValoraciones(Context context, ArrayList<Valoracion> valoracionesRemotas) {
39-
this.context = context;
40-
valoraciones = valoracionesRemotas;
41-
}
42-
4339
@NonNull
4440
@Override
4541
public AdaptadorValoraciones.ValoracionViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
@@ -53,8 +49,7 @@ public void onBindViewHolder(final @NonNull AdaptadorValoraciones.ValoracionView
5349
final Valoracion valoracion = valoraciones.get(position);
5450
ValoracionViewHolder.usuario.setText(valoracion.getUsuario());
5551
ValoracionViewHolder.descripcion.setText(valoracion.getDescripcion());
56-
String cambiaComasPorPuntos = valoracion.getValoracion().replaceAll(",",".");
57-
ValoracionViewHolder.puntuacion.setRating(Float.parseFloat(cambiaComasPorPuntos));
52+
ValoracionViewHolder.puntuacion.setRating(valoracion.getValoracionNumerica());
5853

5954
}
6055

app/src/main/java/dgp/ugr/granaroutes/data/Valoracion.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ public String getUsuario() {
2828
public String getValoracion() {
2929
return valoracion;
3030
}
31+
public float getValoracionNumerica(){
32+
String cambiaComasPorPuntos = valoracion.replaceAll(",",".");
33+
return Float.parseFloat(cambiaComasPorPuntos);
34+
}
3135

3236
@NonNull
3337
@Override

app/src/main/res/layout/layout_actividad_ruta_detallada.xml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@
197197
android:layout_marginTop="8dp"
198198
android:layout_marginEnd="8dp"
199199
android:focusable="false"
200-
android:visibility="gone"
200+
android:visibility="visible"
201201
app:layout_constraintEnd_toEndOf="parent"
202202
app:layout_constraintStart_toStartOf="parent"
203203
app:layout_constraintTop_toBottomOf="@+id/contenedor_lugares">
@@ -207,18 +207,31 @@
207207
android:layout_height="match_parent">
208208

209209
<TextView
210-
android:id="@+id/titulo_tu_valoracion"
210+
android:id="@+id/tu_valoracion_titulo"
211211
android:layout_width="wrap_content"
212212
android:layout_height="wrap_content"
213213
android:layout_marginStart="8dp"
214-
android:layout_marginTop="24dp"
215-
android:layout_marginBottom="24dp"
214+
android:layout_marginTop="8dp"
216215
android:text="@string/tu_valoracion_titulo"
217216
android:textAppearance="@android:style/TextAppearance.Material.Headline"
218-
app:layout_constraintBottom_toBottomOf="parent"
219217
app:layout_constraintStart_toStartOf="parent"
220218
app:layout_constraintTop_toTopOf="parent" />
221219

220+
<include
221+
android:id="@+id/vista_tu_valoracion"
222+
layout="@layout/layout_valoracion_item"
223+
android:layout_width="match_parent"
224+
android:layout_height="match_parent"
225+
android:layout_marginStart="8dp"
226+
android:layout_marginTop="8dp"
227+
android:layout_marginEnd="8dp"
228+
android:layout_marginBottom="8dp"
229+
android:maxLines="5"
230+
app:layout_constraintBottom_toBottomOf="parent"
231+
app:layout_constraintEnd_toEndOf="parent"
232+
app:layout_constraintStart_toStartOf="@+id/tu_valoracion_titulo"
233+
app:layout_constraintTop_toBottomOf="@+id/tu_valoracion_titulo" />
234+
222235

223236
</android.support.constraint.ConstraintLayout>
224237

app/src/main/res/layout/layout_valoracion_item.xml

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,34 +37,27 @@
3737

3838
<TextView
3939
android:id="@+id/descripcion_valoracion"
40-
android:layout_width="match_parent"
40+
android:layout_width="wrap_content"
4141
android:layout_height="20dp"
42-
android:layout_marginStart="16dp"
42+
android:layout_marginTop="8dp"
4343
android:ellipsize="end"
4444
android:maxLines="1"
4545
android:textAppearance="@style/TextAppearance.AppCompat.Small"
46-
app:layout_constraintEnd_toEndOf="parent"
47-
app:layout_constraintStart_toStartOf="@+id/usuario_valoracion"
48-
app:layout_constraintTop_toBottomOf="@+id/usuario_valoracion" />
46+
app:layout_constraintStart_toStartOf="@+id/valoracion_numerica"
47+
app:layout_constraintTop_toBottomOf="@+id/valoracion_numerica" />
4948

5049
<RatingBar
5150
android:id="@+id/valoracion_numerica"
5251
style="?android:attr/ratingBarStyleSmall"
5352
android:layout_width="wrap_content"
5453
android:layout_height="wrap_content"
55-
android:layout_marginStart="8dp"
56-
android:layout_marginEnd="8dp"
57-
android:layout_marginBottom="8dp"
54+
android:layout_marginTop="8dp"
5855
android:isIndicator="true"
5956
android:numStars="5"
6057
android:rating="5"
6158
android:stepSize="0.1"
62-
app:layout_constraintBottom_toTopOf="@+id/descripcion_valoracion"
63-
app:layout_constraintEnd_toEndOf="parent"
64-
app:layout_constraintHorizontal_bias="0.18"
65-
app:layout_constraintStart_toEndOf="@+id/usuario_valoracion"
66-
app:layout_constraintTop_toTopOf="@+id/usuario_valoracion"
67-
app:layout_constraintVertical_bias="1.0" />
59+
app:layout_constraintStart_toStartOf="@+id/usuario_valoracion"
60+
app:layout_constraintTop_toBottomOf="@+id/usuario_valoracion" />
6861

6962
</android.support.constraint.ConstraintLayout>
7063

app/src/main/res/layout/layout_valoracion_item_detallado.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
android:layout_marginStart="8dp"
2323
android:layout_marginTop="16dp"
2424
android:layout_marginEnd="8dp"
25-
android:maxLines="1"
26-
android:scaleType="centerCrop"
2725
android:text="@string/app_name"
2826
android:textAppearance="@style/TextAppearance.AppCompat.Large"
2927
app:layout_constraintEnd_toEndOf="parent"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy