Class MainViewModel


  • @RequiresApi(api=26)
    public class MainViewModel
    extends androidx.lifecycle.AndroidViewModel
    Main view model to distance our database from the ui.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DAILY_MINUTES
      Constant variable used to tell how you want exercise times to be summed up in HashMap.
      static int MONTHLY_MINUTES
      Constant variable used to tell how you want exercise times to be summed up in HashMap.
    • Constructor Summary

      Constructors 
      Constructor Description
      MainViewModel​(android.app.Application application)  
    • Field Detail

      • DAILY_MINUTES

        public static final int DAILY_MINUTES
        Constant variable used to tell how you want exercise times to be summed up in HashMap.
        See Also:
        Constant Field Values
      • MONTHLY_MINUTES

        public static final int MONTHLY_MINUTES
        Constant variable used to tell how you want exercise times to be summed up in HashMap.
        See Also:
        Constant Field Values
    • Constructor Detail

      • MainViewModel

        public MainViewModel​(@NonNull
                             android.app.Application application)
    • Method Detail

      • getFirstUser

        public User getFirstUser()
      • updateUser

        public void updateUser​(User user)
      • insertUser

        public void insertUser​(User newUser)
      • getAllExercises

        public androidx.lifecycle.LiveData<java.util.List<Exercise>> getAllExercises()
      • insertExercise

        public void insertExercise​(Exercise newExercise)
      • deleteExercise

        public void deleteExercise​(Exercise uselessExercise)
      • getExerciseTimesForGraph

        public java.util.HashMap<java.time.ZonedDateTime,​java.lang.Integer> getExerciseTimesForGraph​(int type)
        Go through all exercises and sum up total exercise time of each day.
        Parameters:
        type - Use constants in this class. DAILY_MINUTES if you want to get total exercise time of each day. MONTHLY_MINUTES if you want to get total exercise time of each month.
        Returns:
        dataMap
      • getSortedExerciseList

        public java.util.List<Exercise> getSortedExerciseList()
        Returns exercises sorted by date. From most recent to oldest.
        Returns:
        list
      • getExerciseTimeForThisWeek

        public int getExerciseTimeForThisWeek()
        Returns total exercise times of each day of current week.
        Returns:
        exerciseTimeInMinutes