Package com.kernelcrew.moodapp.data
Class MoodEventProvider
java.lang.Object
com.kernelcrew.moodapp.data.MoodEventProvider
-
Method Summary
Modifier and TypeMethodDescriptioncom.google.android.gms.tasks.Task<Void>
deleteMoodEvent
(String moodId) com.google.firebase.firestore.Query
getAll()
Returns all mood events which can then be further filtered.static MoodEventProvider
Get the singleton instance of the MoodEventProvider.com.google.android.gms.tasks.Task<MoodEvent>
getMoodEvent
(String id) Get a mood event by id.com.google.android.gms.tasks.Task<Void>
insertMoodEvent
(MoodEvent moodEvent) Insert a new mood event into the DB.com.google.firebase.firestore.ListenerRegistration
listenToMoodEventsForUsers
(List<String> userIds, MoodEventFilter filter, int followerLimit, CombinedListener listener) Listens to mood events for a list of user IDs.com.google.android.gms.tasks.Task<Void>
updateMoodEvent
(String moodId, MoodEvent moodEvent) Update an existing mood event in DB.
-
Method Details
-
getInstance
Get the singleton instance of the MoodEventProvider.- Returns:
- Singleton instance
-
insertMoodEvent
Insert a new mood event into the DB.- Parameters:
moodEvent
- Mood event to insert- Returns:
- Insert task
-
updateMoodEvent
Update an existing mood event in DB.- Parameters:
moodId
- ID of mood event to updatemoodEvent
- Mood event details to update with- Returns:
- Update task
-
getMoodEvent
Get a mood event by id.- Parameters:
id
- Id of the mood event to fetch- Returns:
- Task which should resolve to the mood event (or null if not found)
-
deleteMoodEvent
-
getAll
public com.google.firebase.firestore.Query getAll()Returns all mood events which can then be further filtered.- Returns:
- All (visible) mood events.
-
listenToMoodEventsForUsers
public com.google.firebase.firestore.ListenerRegistration listenToMoodEventsForUsers(List<String> userIds, MoodEventFilter filter, int followerLimit, CombinedListener listener) Listens to mood events for a list of user IDs. For the current user (assumed to be the first element in userIds) all posts are returned. For each followed user, only the 3 most recent posts are returned. The results from all queries are combined and returned via the CombinedListener.
-