denizk0461
|
8a416b30fd
|
Added small hints to FetcherActivity.kt to help out the user
|
2023-05-05 11:53:44 +02:00 |
|
denizk0461
|
e17a81e604
|
CanteenFragment.kt: replaced buttons for opening hours and canteen switch embedded in the app bar with floating action buttons; implemented a possible fix for the app crashing after refreshing the canteen plan. This may have been caused by accessing the view/context of the fragment to let the user know that the refresh succeeded or encountered an error. Reference will be null by the time the fragment is inactive, causing a NullPointerException
|
2023-05-04 15:09:10 +02:00 |
|
denizk0461
|
5ca5788899
|
Replaced custom TimePickerFragment.kt with standard MaterialTimePicker
|
2023-05-04 13:29:34 +02:00 |
|
denizk0461
|
50c7bfebba
|
Fixed TimePickerFragment.kt crashing on configuration change by parcelising OnTimeSetListener interface - I didn't even know that that was possible tbh; fragments now use childFragmentManager instead of the activity's supportFragmentManager to instantiate bottom sheets
|
2023-05-04 12:26:56 +02:00 |
|
denizk0461
|
3d508dff6c
|
(re-)added option to launch timetable on the current day; reinstated functionality to launch app on CanteenFragment.kt
|
2023-05-04 08:32:12 +02:00 |
|
denizk0461
|
9e5277a5f6
|
All sheets now have a button to dismiss the sheet
|
2023-05-03 21:49:18 +02:00 |
|
denizk0461
|
df1d127a17
|
Implemented functionality for adding a new event manually; added floating action buttons for adding an event and refreshing the canteen offers
|
2023-05-03 14:16:32 +02:00 |
|
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
|
7f0659d094
|
StudIPParser.kt now fetches days dynamically, allowing it to skip over days that are hidden from the timetable without crashing (hopefully)
|
2023-05-03 09:58:21 +02:00 |
|
denizk0461
|
a5c66aaaff
|
FetcherActivity.kt now has a bottom app bar with useful actions and extends FragmentActivity instead of AppCompatActivity to show a tutorial bottom sheet
|
2023-05-02 22:35:19 +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
|
51c4c9120b
|
Scrolling ability has been added to the toolbars of the fragments, but in the process, I ducked up the canteen fragment. TODO: figure out a solution for where to put the chip group
|
2023-05-02 16:05:33 +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
|
5a9ab267aa
|
All sheets now have the ability to scroll; a custom selectable item background has been added to clickable views to get a custom coloured ripple effect on click
|
2023-05-01 22:19:44 +02:00 |
|
denizk0461
|
b0631d323e
|
User can now select allergens to exclude from the canteen offers
|
2023-05-01 19:17:35 +02:00 |
|
denizk0461
|
79f8e9cfca
|
Activities are now kept on configuration change (e.g. rotation), which in turn keeps the fragments alive during rotation
|
2023-05-01 09:51:46 +02:00 |
|
denizk0461
|
d4737d8e14
|
Implemented separate ColorStateLists for the individual chips in CanteenFragment.kt to show their distinct colours when clicked
|
2023-05-01 09:35:01 +02:00 |
|
denizk0461
|
079e66ad50
|
Added app language support (I think); fragments rely on Bundles instead of constructor parameters to get data, mitigating a source of crashes
|
2023-04-30 22:47:59 +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
|
ce7b854e8c
|
StwParser.kt now collects all its data before adding everything to the database all at once, fixing problems where LiveData would update before all transactions were finished; ViewPagers have been updated to use Adapters extending FragmentStateAdapter instead of RecyclerView.Adapter
|
2023-04-27 21:58:10 +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
|
9d6489f83b
|
Implemented ability to change the fragment opened on app start; made some optimisations to DietaryPreferences.kt. BUG: tab layout mediator is annoying af
|
2023-04-27 15:15:29 +02:00 |
|
denizk0461
|
1828a4b02e
|
Button for switching an event's timestamps to show the academic quarter is now properly animated (I think)
|
2023-04-27 12:47:50 +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
|
540a2a7b9a
|
Canteen adapter now tells the user when no offers are available for a given day
|
2023-04-26 20:17:35 +02:00 |
|
denizk0461
|
939bc06441
|
BUGFIX: opening CanteenFragment.kt more than once would disallow refreshing from working properly
BUGFIX: fragments launch slowly when quickly clicking through the bottom navigation view
|
2023-04-26 19:49:29 +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
|
d80e85fdbe
|
Migrated the project to AGP 8.0 / JVM 17
|
2023-04-26 11:00:56 +02:00 |
|
denizk0461
|
d0819553bc
|
Implemented licences dialogue in the settings; fully restored highlighting event functionality
|
2023-04-26 10:21:16 +02:00 |
|
denizk0461
|
ced111d93d
|
Added a time stamp to development builds in the settings' app version section
|
2023-04-25 21:57:47 +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
|
840c8f1db7
|
Implemented snackbar telling the user that an error has occurred when fetching their schedule through FetcherActivity.kt. Also made some slight additions to the documentation
|
2023-04-25 12:02:25 +02:00 |
|
denizk0461
|
96862497e4
|
Finished style for schedule update bottom sheet (I think); implemented time picker, TODO: warn user if time span is invalid (start > end)
|
2023-04-25 10:24:15 +02:00 |
|
denizk0461
|
9b6e267cb0
|
Started implementation of event update sheet
|
2023-04-24 15:43:42 +02:00 |
|
denizk0461
|
a53232a814
|
Added information on data collection as well as an opt-in toggle, which is not yet implemented
|
2023-04-24 13:08:03 +02:00 |
|
denizk0461
|
b938352c53
|
Added further information to be shown in AllergenSheet.kt
|
2023-04-24 11:21:52 +02:00 |
|
denizk0461
|
6f5df7dd55
|
Fixed allergen duplicates being stored in the database and shown to the user multiple times
|
2023-04-24 10:47:34 +02:00 |
|
denizk0461
|
d654ba8a03
|
Implemented user setting for displaying allergens next to an offer
|
2023-04-23 22:06:29 +02:00 |
|
denizk0461
|
8d6a15c4d5
|
Added colour to StudIPEvent.kt to implement at a later date in an effort to prepare the app for release without needing to migrate (= nuke) the database once the functionality will be implemented
|
2023-04-23 21:40:04 +02:00 |
|
denizk0461
|
ca89e68a91
|
Implemented allergen functionality by showing the user a bottom sheet
|
2023-04-23 20:33:17 +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
|
2534849329
|
Added comments and cleaned up code in activities and StudIPEvent.kt
|
2023-04-21 15:42:21 +02:00 |
|
denizk0461
|
7a6926ff64
|
Fixed a bug that would crash the app when refreshing the canteen view multiple times in quick succession. Turns out, the TabLayoutMediator only needs to be attached once.
|
2023-04-21 14:25:19 +02:00 |
|
denizk0461
|
ab316d9871
|
Fixed a bug that would cause the canteen plan to crash after refreshing while trying to layout the TabMediatorLayout. I don't know why that happened.
|
2023-04-21 14:20:06 +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
|
07a2902367
|
Highlighted course is now highlighted with the primary colour, 50% translucent
|
2023-04-20 14:30:48 +02:00 |
|
denizk0461
|
b5f5e06b7f
|
Changed filter chip colour, but when pressed, the primary colour needs to be changed to a more desaturated tint
|
2023-04-20 12:19:44 +02:00 |
|
denizk0461
|
de1b5f8005
|
FILTERING WORKS FINAL
|
2023-04-20 11:53:14 +02:00 |
|
denizk0461
|
576592f0d0
|
Filtering fixed, but it still doesn't quite work as I wanted it to. e.g. selecting 'pork' and 'vegan' shows no elements, because of course nothing is both vegan and contains pork, but I wanted it to show options that are either or. Should leave it the way it is?
|
2023-04-20 10:17:04 +02:00 |
|
denizk0461
|
b9378901f4
|
Canteen items are now individually clickable to signal that they are separate items; BUG: filtering does not work anymore
|
2023-04-20 10:05:24 +02:00 |
|
denizk0461
|
5d58d25386
|
Canteen offers are now grouped; TODO: add a divider to separate different offers. Also, add prices
|
2023-04-20 08:17:23 +02:00 |
|
denizk0461
|
70a89ac681
|
Fixed filtering behaviour, since it wouldn't recognise items with two preferences if only one had been selected; added icons for preferences
|
2023-04-18 21:33:24 +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
|
56cdc4c5ee
|
Canteen name will now be fetched as well; fixed an error that displayed the offers of the next day in CanteenFragment.kt
|
2023-04-17 14:32:07 +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
|
4d520f375b
|
Implemented data classes for database optimisations
|
2023-04-17 12:09:54 +02:00 |
|
denizk0461
|
199aa8f44c
|
Preparing database optimisations
|
2023-04-16 22:17:00 +02:00 |
|
denizk0461
|
61822f1f45
|
Canteen content can now be displayed
|
2023-04-16 21:41:46 +02:00 |
|
denizk0461
|
5543eb4e32
|
Implemented canteen scraper/parser functionality
|
2023-04-16 18:19:06 +02:00 |
|
denizk0461
|
2117535f63
|
Added German translation
|
2023-04-14 13:21:24 +02:00 |
|
denizk0461
|
f07c41079a
|
Upcoming/current course of the current day will now be highlighted with a thicker border
|
2023-04-14 13:09:40 +02:00 |
|
denizk0461
|
a3489d06b3
|
Completed the design (colour) change for both dark and light theme now
|
2023-04-13 21:05:52 +02:00 |
|
denizk0461
|
3a2d444956
|
Currently changing the app's colours. fuck i spent so much time changing the fucking status bar colour. like stackoverflow is so damn outdated on this topic
|
2023-04-13 19:21:53 +02:00 |
|
denizk0461
|
fb50711d36
|
Changing fragments via bottom navigation view works well now! Also started work on SettingsFragment.kt
|
2023-04-13 12:25:43 +02:00 |
|
denizk0461
|
53c2a2a9c4
|
Visual changes, mostly colour-related
|
2023-04-12 22:07:18 +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
|
4f78eb8373
|
Switch to ViewPager2 was successful; it was essentially a drop-in replacement. There's a bug in the connected TabLayout where, if the app starts and scrolls programmatically to Wednesday or later, the tab won't be focussed until the user starts scrolling again
|
2023-04-12 16:46:38 +02:00 |
|
denizk0461
|
8b690a4593
|
Minor changes; about to try and implement ViewPager2 instead of the RecyclerView to show different days. This is for better UX and compatibility with the TabLayout
|
2023-04-12 15:36:35 +02:00 |
|
denizk0461
|
7da43dc2b7
|
Added bottom navigation view (currently unpopulated) and changed logic for pages
|
2023-04-12 10:49:30 +02:00 |
|
denizk0461
|
a37b6dfd0b
|
Tab layout now syncs up with recyclerview scroll position; a bit sluggish though
|
2023-04-12 09:46:27 +02:00 |
|
denizk0461
|
7b33c68db9
|
Added tabs to indicate which day is selected; not fully implemented. Tabs don't show which day is selected after certain user action
|
2023-04-11 16:50:45 +02:00 |
|
denizk0461
|
6a5d7448e5
|
Timetable now shows the schedule for the current day when opening the app
|
2023-04-10 21:12:29 +02:00 |
|
denizk0461
|
d6eb7f5ce1
|
small adjustments and bugfix; timeslot was always saved into the database longer than would be correct; for example, a course from 08:15 to 09:45 would have been saved as 08:15 to 11:45
|
2023-04-10 21:03:02 +02:00 |
|
denizk0461
|
cab50b5f2d
|
PARSING HTML WORKS AND IT GETS SAVED TO THE DATABASE WOOO
|
2023-04-10 20:54:15 +02:00 |
|
denizk0461
|
97bc2b1068
|
App can now retrieve HTML
|
2023-04-10 14:50:57 +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 |
|
denizk0461
|
9accebc68c
|
Big change successful; main view now uses RecyclerView for both horizontal and vertical scrolling, as using LinearLayout caused a duplication glitch on the first and last page
|
2023-04-08 15:44:07 +02:00 |
|
denizk0461
|
76370d78a8
|
boutta make a big change
|
2023-04-08 15:13:11 +02:00 |
|
denizk0461
|
9c0e67b396
|
Implemented page view for courses
|
2023-04-08 13:43:26 +02:00 |
|
denizk0461
|
73ea48626d
|
Initial push
|
2023-04-08 11:41:02 +02:00 |
|