diff --git a/app/src/main/java/com/triard/asus/openproject2019/activities/ClubsFavoriteSchedule.java b/app/src/main/java/com/triard/asus/openproject2019/activities/ClubsFavoriteSchedule.java index a8474c1..dcac83a 100644 --- a/app/src/main/java/com/triard/asus/openproject2019/activities/ClubsFavoriteSchedule.java +++ b/app/src/main/java/com/triard/asus/openproject2019/activities/ClubsFavoriteSchedule.java @@ -1,48 +1,78 @@ package com.triard.asus.openproject2019.activities; +import android.content.SharedPreferences; +import android.provider.CalendarContract; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.widget.TextView; +import android.widget.Toast; import com.triard.asus.openproject2019.R; + import com.triard.asus.openproject2019.adapter.ClubScheduleAdapter; -import com.triard.asus.openproject2019.model.Schedule; +import com.triard.asus.openproject2019.interfaces.EventService; + +import com.triard.asus.openproject2019.model.Event; +import com.triard.asus.openproject2019.network.ApiClient; + import java.util.ArrayList; +import java.util.Collections; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; public class ClubsFavoriteSchedule extends AppCompatActivity { + RecyclerView recyclerView; + ClubScheduleAdapter clubScheduleAdapter; + SharedPreferences preference; + + private EventService eventService; + private ArrayList events = new ArrayList<> ( ) ; + private static final String tag = ClubsFavoriteSchedule.class.getName(); - private RecyclerView recyclerView; - private ClubScheduleAdapter adapter; - private ArrayList schedulesArrayList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_club_favorite_schedule); - addData(); + recyclerView = findViewById( R.id.recylerview_detail_schedule); + recyclerView.setLayoutManager ( new LinearLayoutManager ( this ) ); + preference = this.getSharedPreferences ( "MY_DATA", MODE_PRIVATE ); - recyclerView = (RecyclerView) findViewById(R.id.recylerview_detail_schedule); + eventService = ApiClient.getClient ().create(EventService.class); + getEventsByClub(); - adapter = new ClubScheduleAdapter(schedulesArrayList); - - RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(ClubsFavoriteSchedule.this); + } + // tampil semua jadwal - recyclerView.setLayoutManager(layoutManager); + public void getEventsByClub(){ + Call> clubResponse = eventService.getEventsByClub (); + clubResponse.enqueue( new Callback>( ) { + @Override + public void onResponse(Call> call, Response> response) { + events = response.body (); + Data(); + } - recyclerView.setAdapter(adapter); + @Override + public void onFailure(Call> call, Throwable t) { + Log.e ( tag, t.toString () ); + String message = "Failed to get more events club, please check your connection."; + Toast.makeText(ClubsFavoriteSchedule.this, message, Toast.LENGTH_SHORT).show(); + } + }); } - void addData(){ - schedulesArrayList = new ArrayList<>(); - schedulesArrayList.add(new Schedule("2001","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2002","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2003","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2004","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2005","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2006","friendly","ind vs jpn","12/04/2019","18.59")); - schedulesArrayList.add(new Schedule("2007","friendly","ind vs jpn","12/04/2019","18.59")); + private void Data() { + + clubScheduleAdapter = new ClubScheduleAdapter(this,events, this); + recyclerView.setAdapter( clubScheduleAdapter ); + } } diff --git a/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubItemsAdapter.java b/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubItemsAdapter.java index 33a9903..86e1e70 100644 --- a/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubItemsAdapter.java +++ b/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubItemsAdapter.java @@ -143,7 +143,8 @@ public class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(View itemview) { super(itemview); - this.mStrIdTeam = itemview.findViewById(R.id.TextViewIdTeam);this.mStrTeam = itemview.findViewById(R.id.TextViewNama); + this.mStrIdTeam = itemview.findViewById(R.id.TextViewIdTeam); + this.mStrTeam = itemview.findViewById(R.id.TextViewNama); this.mStrIdLiga = itemview.findViewById(R.id.TextViewIdLiga); this.mStrLeague = itemview.findViewById(R.id.TextViewLegaue); this.mStrStadium = itemview.findViewById(R.id.TextViewStadium); diff --git a/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubScheduleAdapter.java b/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubScheduleAdapter.java index e43321f..fd6a916 100644 --- a/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubScheduleAdapter.java +++ b/app/src/main/java/com/triard/asus/openproject2019/adapter/ClubScheduleAdapter.java @@ -1,5 +1,6 @@ package com.triard.asus.openproject2019.adapter; +import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -7,33 +8,40 @@ import android.view.ViewGroup; import android.widget.TextView; +import com.google.gson.internal.bind.DateTypeAdapter; import com.triard.asus.openproject2019.R; +import com.triard.asus.openproject2019.model.Event; import com.triard.asus.openproject2019.model.Schedule; import java.util.ArrayList; +import java.util.Date; public class ClubScheduleAdapter extends RecyclerView.Adapter { - private ArrayList schedules; + Context context; + public ArrayList schedules; - public ClubScheduleAdapter(ArrayList schedules) { + public ClubScheduleAdapter(Context context, ArrayList schedules) { this.schedules = schedules; + this.context = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) { LayoutInflater layoutInflater = LayoutInflater.from(viewGroup.getContext()); - View view = layoutInflater.inflate(R.layout.activity_club_favorite_schedule_list_item, viewGroup, false); + View view = layoutInflater.from(context).inflate(R.layout.activity_club_favorite_schedule_list_item, viewGroup, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { - holder.txtIdEvent.setText(schedules.get(position).getIdEvent()); - holder.txtLeague.setText(schedules.get(position).getLeague()); - holder.txtEvent.setText(schedules.get(position).getEvent()); - holder.txtDate.setText(schedules.get(position).getDate()); - holder.txtTime.setText(schedules.get(position).getTime()); + final Event event= schedules.get(position); + holder.txtIdEvent.setText( event.getIdEvent()); + holder.txtLeague.setText( event.getStrLeague()); + holder.txtEvent.setText( event.getStrEvent()); + holder.txtDate.setText ( event.getDateEvent()); + holder.txtTime.setText( event.getStrTime()); + holder.txtHome.setText( event.getStrHomeTeam()); } @Override @@ -42,15 +50,17 @@ public int getItemCount() { } public class ViewHolder extends RecyclerView.ViewHolder { - private TextView txtIdEvent, txtLeague, txtEvent, txtDate, txtTime; + private TextView txtIdEvent, txtLeague, txtEvent, txtTime,txtHome,txtDate; + public ViewHolder(View itemView) { super(itemView); - txtIdEvent = (TextView) itemView.findViewById(R.id.TextViewIdEvent); + txtLeague = (TextView) itemView.findViewById(R.id.TextViewLeague); txtEvent = (TextView) itemView.findViewById(R.id.TextViewEvent); txtDate = (TextView) itemView.findViewById(R.id.TextViewDate); txtTime = (TextView) itemView.findViewById(R.id.TextViewTime); + txtHome = (TextView) itemView.findViewById(R.id.TextViewHome); } } } diff --git a/app/src/main/java/com/triard/asus/openproject2019/model/Event.java b/app/src/main/java/com/triard/asus/openproject2019/model/Event.java index 2a3c694..6ecffea 100644 --- a/app/src/main/java/com/triard/asus/openproject2019/model/Event.java +++ b/app/src/main/java/com/triard/asus/openproject2019/model/Event.java @@ -20,10 +20,11 @@ public class Event { @SerializedName("strAwayTeam") private String strAwayTeam; @SerializedName("dateEvent") - private Date dateEvent; + private String dateEvent; @SerializedName("strTime") private String strTime; + public Event(int idEvent, String strEvent, String strLeague, int idHomeTeam, String strHomeTeam, int idAwayTeam, String strAwayTeam, Date dateEvent, String strTime){ this.idEvent = idEvent; this.strEvent = strEvent; @@ -88,14 +89,15 @@ public void setStrAwayTeam(String strAwayTeam) { this.strAwayTeam = strAwayTeam; } - public Date getDateEvent() { + public String getDateEvent() { return dateEvent; } - public void setDateEvent(Date dateEvent) { + public void setDateEvent(String dateEvent) { this.dateEvent = dateEvent; } + public String getStrTime() { return strTime; } diff --git a/app/src/main/res/layout/activity_club_favorite_schedule_list_item.xml b/app/src/main/res/layout/activity_club_favorite_schedule_list_item.xml index 99826d4..f268fcb 100644 --- a/app/src/main/res/layout/activity_club_favorite_schedule_list_item.xml +++ b/app/src/main/res/layout/activity_club_favorite_schedule_list_item.xml @@ -13,40 +13,113 @@ android:layout_margin="5dp" android:orientation="vertical" android:padding="5dp"> + + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:layout_marginBottom="2dp" + android:layout_marginLeft="10dp" + android:text="League : " + android:textStyle="bold" + android:textSize="15dp"/> + + + android:layout_marginTop="5dp" + android:layout_marginBottom="2dp" + android:layout_marginLeft="10dp" + android:text="Event : " + android:textStyle="bold" + android:textSize="15dp"/> + android:layout_marginTop="3dp" + android:layout_marginBottom="1dp" + android:layout_marginLeft="10dp" + android:text="@string/app_name" + android:textAlignment="center" + android:textSize="15dp"/> + + + android:layout_marginTop="3dp" + android:layout_marginBottom="1dp" + android:layout_marginLeft="10dp" + android:text="@string/app_name" + android:textAlignment="center" + android:textSize="15dp"/> + + + + + + + + + android:layout_marginTop="3dp" + android:layout_marginBottom="1dp" + android:layout_marginLeft="10dp" + android:text="@string/app_name" + android:textAlignment="center" + android:textSize="15dp"/> diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml new file mode 100644 index 0000000..3ad15d8 --- /dev/null +++ b/app/src/main/res/values/ids.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file