diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 38bc56b..a67c4e9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,7 +9,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
+
diff --git a/app/src/main/java/de/tadris/fitness/LauncherActivity.java b/app/src/main/java/de/tadris/fitness/LauncherActivity.java
index 4555857..973c424 100644
--- a/app/src/main/java/de/tadris/fitness/LauncherActivity.java
+++ b/app/src/main/java/de/tadris/fitness/LauncherActivity.java
@@ -20,6 +20,7 @@
package de.tadris.fitness;
import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
public class LauncherActivity extends Activity {
@@ -28,5 +29,7 @@ public class LauncherActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+
+ startActivity(new Intent(this, ListWorkoutsActivity.class));
}
}
diff --git a/app/src/main/java/de/tadris/fitness/ListWorkoutsActivity.java b/app/src/main/java/de/tadris/fitness/ListWorkoutsActivity.java
index 3e8d071..79e3779 100644
--- a/app/src/main/java/de/tadris/fitness/ListWorkoutsActivity.java
+++ b/app/src/main/java/de/tadris/fitness/ListWorkoutsActivity.java
@@ -31,7 +31,7 @@ import java.util.List;
import de.tadris.fitness.data.Workout;
-public class ListWorkoutsActivity extends Activity {
+public class ListWorkoutsActivity extends Activity implements WorkoutAdapter.WorkoutAdapterListener {
private RecyclerView listView;
private RecyclerView.Adapter mAdapter;
@@ -50,8 +50,12 @@ public class ListWorkoutsActivity extends Activity {
layoutManager= new LinearLayoutManager(this);
listView.setLayoutManager(layoutManager);
- Instance.getInstance(this).db.workoutDao().getWorkouts();
- listView.setAdapter(new WorkoutAdapter());
+ workouts= Instance.getInstance(this).db.workoutDao().getWorkouts();
+ listView.setAdapter(new WorkoutAdapter(workouts, this));
}
+ @Override
+ public void onItemClick(Workout workout) {
+ // TODO: open detail View
+ }
}
diff --git a/app/src/main/java/de/tadris/fitness/RecordWorkoutActivity.java b/app/src/main/java/de/tadris/fitness/RecordWorkoutActivity.java
new file mode 100644
index 0000000..643eb1b
--- /dev/null
+++ b/app/src/main/java/de/tadris/fitness/RecordWorkoutActivity.java
@@ -0,0 +1,19 @@
+package de.tadris.fitness;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class RecordWorkoutActivity extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_record_workout);
+ }
+
+
+
+ void onMenuCreate(){
+
+ }
+}
diff --git a/app/src/main/java/de/tadris/fitness/WorkoutAdapter.java b/app/src/main/java/de/tadris/fitness/WorkoutAdapter.java
index b916290..6a8dfee 100644
--- a/app/src/main/java/de/tadris/fitness/WorkoutAdapter.java
+++ b/app/src/main/java/de/tadris/fitness/WorkoutAdapter.java
@@ -1,17 +1,69 @@
package de.tadris.fitness;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-public class WorkoutAdapter {
+import de.tadris.fitness.data.Workout;
+import de.tadris.fitness.util.UnitUtils;
+
+public class WorkoutAdapter extends RecyclerView.Adapter{
public static class WorkoutViewHolder extends RecyclerView.ViewHolder{
+
+ View root;
+ TextView lengthText, timeText;
+
public WorkoutViewHolder(@NonNull View itemView) {
super(itemView);
+ this.root= itemView;
+ lengthText= itemView.findViewById(R.id.workoutLength);
+ timeText= itemView.findViewById(R.id.workoutTime);
}
}
+ Workout[] workouts;
+ WorkoutAdapterListener listener;
+
+ public WorkoutAdapter(Workout[] workouts, WorkoutAdapterListener listener) {
+ this.workouts = workouts;
+ this.listener = listener;
+ }
+
+ @Override
+ public WorkoutAdapter.WorkoutViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ // create a new view
+ View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_workout, parent, false);
+ return new WorkoutViewHolder(v);
+ }
+
+ // Replace the contents of a view (invoked by the layout manager)
+ @Override
+ public void onBindViewHolder(WorkoutViewHolder holder, final int position) {
+ holder.lengthText.setText(workouts[position].length + "km");
+ holder.timeText.setText(UnitUtils.getHourMinuteTime(workouts[position].getTime()));
+ holder.root.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ listener.onItemClick(workouts[position]);
+ }
+ });
+ }
+
+ // Return the size of your dataset (invoked by the layout manager)
+ @Override
+ public int getItemCount() {
+ return workouts.length;
+ }
+
+ interface WorkoutAdapterListener{
+ void onItemClick(Workout workout);
+ }
+
+
}
diff --git a/app/src/main/java/de/tadris/fitness/data/Workout.java b/app/src/main/java/de/tadris/fitness/data/Workout.java
index ff2f806..e48696f 100644
--- a/app/src/main/java/de/tadris/fitness/data/Workout.java
+++ b/app/src/main/java/de/tadris/fitness/data/Workout.java
@@ -38,5 +38,9 @@ public class Workout{
public double avgPace;
public String workoutType;
+ public long getTime(){
+ return end - start;
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/de/tadris/fitness/util/UnitUtils.java b/app/src/main/java/de/tadris/fitness/util/UnitUtils.java
new file mode 100644
index 0000000..fca11bf
--- /dev/null
+++ b/app/src/main/java/de/tadris/fitness/util/UnitUtils.java
@@ -0,0 +1,20 @@
+package de.tadris.fitness.util;
+
+import android.content.Context;
+
+public class UnitUtils {
+
+ public static String getHourMinuteTime(long time){
+ long seks= time / 1000;
+ long mins= seks / 60;
+ int hours= (int)mins / 60;
+ int remainingMinutes= (int)mins % 60;
+
+ if(hours > 0){
+ return hours + "h " + remainingMinutes + "m";
+ }else{
+ return remainingMinutes + "min";
+ }
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_record_workout.xml b/app/src/main/res/layout/activity_record_workout.xml
new file mode 100644
index 0000000..f7e2426
--- /dev/null
+++ b/app/src/main/res/layout/activity_record_workout.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/view_workout.xml b/app/src/main/res/layout/view_workout.xml
index dc6ed08..d4675ae 100644
--- a/app/src/main/res/layout/view_workout.xml
+++ b/app/src/main/res/layout/view_workout.xml
@@ -1,3 +1,34 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/list_workout_menu.xml b/app/src/main/res/menu/list_workout_menu.xml
new file mode 100644
index 0000000..5ff6595
--- /dev/null
+++ b/app/src/main/res/menu/list_workout_menu.xml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 69b2233..ef5e1fc 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,4 +3,5 @@
#008577
#00574B
#D81B60
+ #C8000000
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 25d13d7..55b358c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,4 @@
FitoTrack
+ Add