From a59787ce8733e02f42e6f58b2e25cae721e867d7 Mon Sep 17 00:00:00 2001 From: rigelrawr Date: Fri, 23 Aug 2019 19:09:23 +0700 Subject: [PATCH] schedule club --- .../activities/ClubsFavoriteSchedule.java | 70 ++++++++---- .../adapter/ClubItemsAdapter.java | 3 +- .../adapter/ClubScheduleAdapter.java | 30 +++-- .../asus/openproject2019/model/Event.java | 14 +-- ...ivity_club_favorite_schedule_list_item.xml | 107 +++++++++++++++--- app/src/main/res/values/ids.xml | 4 + 6 files changed, 172 insertions(+), 56 deletions(-) create mode 100644 app/src/main/res/values/ids.xml 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 268b70e..7f550a2 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 @@ -132,7 +132,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 f17d46c..1ceceb7 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,13 +20,13 @@ public class Event { @SerializedName("strAwayTeam") private String strAwayTeam; @SerializedName("dateEvent") - private Date dateEvent; + private String dateEvent; @SerializedName("strTime") private String strTime; - public class Event() {} + public Event() {} - public Event(int idEvent, String strEvent, String strLeague, int idHomeTeam, String strHomeTeam, int idAwayTeam, String strAwayTeam, Date dateEvent, String strTime){ + public Event(int idEvent, String strEvent, String strLeague, int idHomeTeam, String strHomeTeam, int idAwayTeam, String strAwayTeam, String dateEvent, String strTime){ this.idEvent = idEvent; this.strEvent = strEvent; this.strLeague = strLeague; @@ -90,17 +90,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 - } + public String getStrTime() { return strTime; } public void setStrTime(String strTime) { this.strTime = 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