Global Register Selection #139
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #113
Closes #113
Description
This pull request introduces a new "Schedule View" feature that allows users to select which registers are visible across the Home, Timetable, and Settings screens. The implementation refactors register selection logic to use a unified
viewingRegistersstate, simplifying the user experience and codebase. Additionally, the PR includes minor updates to Android permissions and build configuration.Schedule View & Register Selection Improvements:
SettingsScreenwith a multi-select component, letting users choose which registers to view. The selected registers are stored in the newviewingRegistersstate. [1] [2] [3]HomeScreenandTimeTableScreento useviewingRegistersfor event and subject filtering, replacing previous logic based onactiveRegisterandselectedRegisters. This ensures consistency in register selection across screens and simplifies state management. [1] [2] [3] [4] [5]TimeTableScreen, as register selection is now managed via the Settings screen. [1] [2] [3] [4] [5]User Feedback & Messaging:
HomeScreento reflect the new register selection logic, guiding users to check their chosen registers for scheduled subjects.Android & Build Configuration Updates:
AndroidManifest.xmlto support media access on newer Android versions and clarified usage of storage permissions.android/build.gradlefor compatibility.These changes collectively enhance the flexibility and clarity of register selection, improve code maintainability, and ensure compatibility with updated Android requirements.
Files Changed
Screenshots/Videos
https://drive.google.com/file/d/1xk54pPD-52gC79G33zRm9r-ec2lPcNMf/view?usp=sharing
GSSoC Contributor
Testing Device