Commit Graph
29 Commits
Author SHA1 Message Date
denizk0461 ae8db7ce48 StudIPParser.kt now stops fetching items that don't provide full information, and tells the user how many items were skipped 2023-05-03 11:10:34 +02:00
denizk0461 36a7ae0035 Replaced fragment switching functionality in MainActivity.kt with Navigation component, simplifying logic significantly; upgraded to AGP 8.0.1 2023-05-02 20:52:56 +02:00
denizk0461 2f4b205703 Converted all bottom sheets to use blank constructors and instead rely on bundles to retrieve data/objects, or custom view models to execute functions 2023-05-02 15:02:47 +02:00
denizk0461 b0631d323e User can now select allergens to exclude from the canteen offers 2023-05-01 19:17:35 +02:00
denizk0461 7243df0f06 Further error handling. Also given the user the option to colour dietary preference icons. Colours have partially been derived from those used on stw-bremen.de but have all been processed through the theme builder on m3.material.io 2023-04-29 22:26:26 +02:00
denizk0461 2bf340bdff TabLayoutMediator has been re-instantiated, hopefully in a form that is less crash-prone. Crashes will also be handled now in StwParser.kt 2023-04-29 10:56:52 +02:00
denizk0461 8fb41d6520 Edited canteen views to have direct database access in the CanteenPageFragment.kt, allowing for filtering the individual days through the database; filtering now works (with changes animated!!) through updating a LiveData and observing it in the page fragment 2023-04-28 22:44:23 +02:00
denizk0461 509a0434c5 Possibly fixed-for-good a bug that caused events to be fetched but not stored properly in the database; I believe this was caused by FetcherActivity.kt sequentially executing nukeEvents() and insertEvents(), but doing both asynchronously, and individually, which could mean that insertEvents() finishes before nukeEvents() and therefore nukeEvents() would delete the old events as well as the new ones. This doesn't seem entirely logical to me, as no ConflictStrategy has been configured, and inserting new events before the old ones have been cleared (since they both start their primary keys at 0) would have crashed the app. 2023-04-28 15:14:50 +02:00
denizk0461 aa5d32e64a Updated EventPageFragment.kt to have access to its own ViewModel and, by extension, its own reference to the database, which forgoes the need to transport data from EventFragment.kt through StudIPEventPageAdapter.kt to EventPageFragment.kt and allows for filtering for a specific day's items through the database rather than needing to iterate through the list via an extension function manually. Also implemented DiffUtil to perform individual updates rather than calling notifyDataSetChanged() every time a single item has been changed. 2023-04-28 11:18:05 +02:00
denizk0461 ee0934f29b Fixed a bug hiding all Stud.IP events from the user's view by... renaming the database table. yeah. i don't even know anymore. 2023-04-28 10:30:30 +02:00
denizk0461 ccd77a5daf Made further documentation and safety changes. Scraper classes (StudIPParser.kt, StwParser.kt) still need to be checked for safety. 2023-04-27 20:27:42 +02:00
denizk0461 a6a1309bce Implemented button to change dates for an event to reflect the academic quarter 2023-04-27 08:20:56 +02:00
denizk0461 450ce92dca Fixed ScheduleUpdateSheet.kt not updating and deleting events... somehow. Also implemented cheat codes hehe 2023-04-26 18:36:32 +02:00
denizk0461 65114264c4 Added opening hours and a button for the user to view them, but the formatting sucks 2023-04-25 16:55:17 +02:00
denizk0461 6b1d77dfb3 Implemented functionality to switch canteens. UI for this is not fully implemented. 2023-04-25 15:38:30 +02:00
denizk0461 9b6e267cb0 Started implementation of event update sheet 2023-04-24 15:43:42 +02:00
denizk0461 d654ba8a03 Implemented user setting for displaying allergens next to an offer 2023-04-23 22:06:29 +02:00
denizk0461 b957172721 Transitioned from a fairly custom solution to using a colour palette generated by the Material Theme Builder to simplify colour management. Also began work on a bottom sheet for displaying allergens and additives in canteen offers. 2023-04-23 17:13:48 +02:00
denizk0461 fbad84aa09 Fully documented all Kotlin files and added TODOs to functions that need to be updated in some way 2023-04-23 11:57:03 +02:00
denizk0461 b39aa1f003 Fixed a bug that would cause the tab for a day without canteen offers to not be shown, causing the offers for the next days to be shifted over, thus not showing the offers for the last day that's available online. I know I didn't explain that very well, but it's fixed now anyway, soo (: also made some minor visual adjustments to margins and colours 2023-04-20 21:35:09 +02:00
denizk0461 c4d482f78f FILTERING WORKS 2023-04-18 16:41:01 +02:00
denizk0461 4d9ad39578 Made some improvements to the dietary preference handling, but CanteenOfferPageAdapter.kt still needs some work for the filtering to work properly; it should only filter out elements if they meet NO preferences! 2023-04-18 15:39:49 +02:00
denizk0461 c385da4287 Implemented chips for selecting dietary preferences 2023-04-18 10:25:45 +02:00
denizk0461 315f2f815a Successfully completed database change OMG; this will save memory by storing less duplicate data 2023-04-17 14:19:06 +02:00
denizk0461 5543eb4e32 Implemented canteen scraper/parser functionality 2023-04-16 18:19:06 +02:00
denizk0461 d55a304cec Moved the fetching task to a separate activity; changed the time attributes in StudIPEvent.kt to strings 2023-04-12 18:58:10 +02:00
denizk0461 cab50b5f2d PARSING HTML WORKS AND IT GETS SAVED TO THE DATABASE WOOO 2023-04-10 20:54:15 +02:00
denizk0461 03b86c8ab9 TODO implement custom Chrome tabs 2023-04-08 18:53:51 +02:00
denizk0461 3c65ccddb1 Added database persistence ability 2023-04-08 17:30:05 +02:00