Feature/dra 166#76
Conversation
DRA-44 Added food categories screen
* master: DRA-72 More clear view for preferences Filter food by category Changed the theme so that it works for all phones. Adding app bar. DRA-44 Added Fingerfood type Added pastry category PR updates DRA-45 Load next video on tab reselect # Conflicts: # app/src/main/java/eu/theappfactory/dailyrecipes/data/userEvent/FirestoreUserEventDataSource.kt # app/src/main/java/eu/theappfactory/dailyrecipes/ui/preferences/PreferencesViewModel.kt # app/src/main/java/eu/theappfactory/dailyrecipes/ui/preferences/UserPreferencesFragment.kt # app/src/main/res/layout/fragment_preferences.xml # app/src/main/res/layout/list_item_food_type.xml # app/src/main/res/values/strings.xml
Feature/dra 52
* master: Added active and unactive icons bottom navigation. changed the icons for back and forward. also added mixpanel event. DRA-72 More clear view for preferences Filter food by category DRA-44 Added Fingerfood type Added pastry category added the Google I/O implementation of the snackbar. PR updates DRA-44 Added food categores screen # Conflicts: # app/src/main/java/eu/theappfactory/dailyrecipes/ui/home/pager/ItemViewModel.kt # app/src/main/res/values/strings.xml
Bug/dra 70
…eselect strategy, DRA-75 Better seek controls
DRA-56 Show keyboard when opening search screen, DRA-73 Changed tab r…
Feature/dra 140
Done feedback changes as per git Created user list database to store all user and used it to fetch details Changed the flow to get food categories from username Added image preloading of users list -> photo thumbnail Added live data to change image in adapter
# Conflicts: # app/src/main/java/eu/theappfactory/dailyrecipes/data/UserRepository.kt # app/src/main/java/eu/theappfactory/dailyrecipes/data/userEvent/FirestoreUserDetailParser.kt # app/src/main/java/eu/theappfactory/dailyrecipes/data/userEvent/FirestoreUserEventDataSource.kt # app/src/main/java/eu/theappfactory/dailyrecipes/data/userEvent/UserEventDataSource.kt # app/src/main/java/eu/theappfactory/dailyrecipes/domain/userdetails/GetUserUseCase.kt # app/src/main/java/eu/theappfactory/dailyrecipes/model/UserResponse.kt # app/src/main/java/eu/theappfactory/dailyrecipes/ui/favorites/FavoritesFragment.kt # app/src/main/java/eu/theappfactory/dailyrecipes/ui/favorites/FavoritesViewModel.kt # app/src/main/java/eu/theappfactory/dailyrecipes/ui/home/pager/ItemAdapter.kt # app/src/main/java/eu/theappfactory/dailyrecipes/util/ViewModelFactory.kt # app/src/main/res/layout/fragment_favorites.xml # app/src/main/res/layout/list_item_items.xml # app/src/main/res/values/strings.xml
Solved merge conflicts and done application testing
Fixed known issue
Added required entity
Null handling
Figured out and solved video keeps playing issue even screen destroyed
changed loading icon in search and favorite screen
Added visual feedback on button
If the username belongs to user itself, update other values and log in successfully
Added optional paramter in indegredients screen as per task, and filtered the list with optional parameter true or false
Solved black glitch when video switch
updated get categories code to fetch from username
-bug/DRA-212
-bug/DRA-208
Done feedback changes
-bug/DRA-210
-bug/DRA-213
-bug/DRA-209
…DRA-166 * commit '4eb0d30e24f2892f9c7a47c5a576a87d8614fc1d': -bug/DRA-210 Done feedback changes -bug/DRA-208 Solved black glitch when video switch -bug/DRA-213 Added optional paramter in indegredients screen as per task, and filtered the list with optional parameter true or false -bug/DRA-212 If the username belongs to user itself, update other values and log in successfully -bug/DRA-210 Figured out and solved video keeps playing issue even screen destroyed
…DRA-166 * commit '5d23e547227e241bc6937eb97f598c700a316be2': -bug/DRA-209 changed loading icon in search and favorite screen
61ac4f1 to
1a58f06
Compare
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (37)
📝 WalkthroughWalkthroughA feature set is added enabling user profile management: fetching and persisting users to local database, implementing follow/unfollow operations, displaying creator profiles in feeds, and retrieving user details by username. The user authentication flow is updated to support paired string-boolean parameters for determining data retrieval context. Changes
Sequence DiagramsequenceDiagram
participant User as User (UI)
participant ViewModel as FavoritesViewModel
participant Repo as UserRepository
participant DataSource as FirestoreUserEventDataSource
participant Firestore as Firestore
participant DB as Room Database
User->>ViewModel: updateUserFollowers()
ViewModel->>ViewModel: Create FollowItem(selfUserName, selectedUserName, isFollow)
ViewModel->>Repo: updateFollowUnFollowCount(FollowItem)
Repo->>DataSource: updateFollowUnFollowCount(FollowItem)
DataSource->>Firestore: Query user documents by username
Firestore-->>DataSource: User document IDs
DataSource->>DataSource: Update in-memory follower list
DataSource->>Firestore: Batch write FieldValue.arrayUnion/arrayRemove
Firestore-->>DataSource: Updated followers list
DataSource-->>Repo: Result<ArrayList<String>>
Repo->>DB: Insert updated UserEntity
DB-->>Repo: Complete
Repo-->>ViewModel: Result with updated followers
ViewModel->>ViewModel: Update _onUserLoaded with new followers
ViewModel-->>User: Emit updated LiveData
sequenceDiagram
participant Fragment as ItemFragment
participant ViewModel as ItemViewModel
participant UseCase as GetUsersUseCase
participant Repo as UserRepository
participant DataSource as FirestoreUserEventDataSource
participant Downloader as UserDataDownloader
participant Firestore as Firestore
participant Preloader as ImagePreLoader
Fragment->>ViewModel: fetchUsersList()
ViewModel->>UseCase: execute(Unit)
UseCase->>Repo: retrieveRemoteUsers()
Repo->>DataSource: getRemoteUsersList()
DataSource->>DataSource: Check network connectivity
alt Network Available
DataSource->>Downloader: fetch()
Downloader->>Firestore: get() from users collection
Firestore-->>Downloader: DocumentSnapshots
Downloader-->>DataSource: MutableList<UserResponse>
end
DataSource-->>Repo: MutableList<UserResponse>
Repo->>Repo: Map to UserEntity and persist
Repo-->>UseCase: List<UserResponse>
UseCase-->>ViewModel: List<UserResponse>
ViewModel->>ViewModel: Update usersList LiveData
ViewModel->>Preloader: preloadUserFrames(items)
Preloader-->>ViewModel: Complete
Fragment->>Fragment: Update UI with user data
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
71a4471 to
4fd34f4
Compare
Summary by CodeRabbit
Release Notes
New Features
Database
UI Updates