Commit Graph

  • 7c7c866de8 version 13, 1.2.3: fixed a bug that would show new feature sheets to users even if they haven't used the app before master denizk0461 2024-01-14 20:53:30 +01:00
  • c24973992a version 12, 1.2.2: added 5th option for canteen day formatting denizk0461 2024-01-12 19:43:37 +01:00
  • af2942db57 updated my email so i don't forget it for the next release... denizk0461 2024-01-12 18:52:23 +01:00
  • 157d7d4ea4 Upped version to 1.2.1, build 11, and added "new feature" sheet denizk0461 2024-01-12 18:32:41 +01:00
  • 0a7ef6b1f4 Added setting to change day/date format for canteen screen denizk0461 2024-01-12 17:55:41 +01:00
  • a72accada6 Days (Monday thru Friday) are now shown on the canteen screen denizk0461 2024-01-12 17:19:58 +01:00
  • 0063ab02e6 Edited opening hours retriever to display links denizk0461 2024-01-12 17:06:53 +01:00
  • c78e18b03c WeserPlaner 1.2.0: updated dependencies denizk0461 2023-10-07 09:10:46 +02:00
  • 2f9ecbafe7 Tweaks to the timetable/schedule feature so that it works properly now: - adding events without any schedules present is prohibited - events are now properly assigned to the currently active schedule - changed top bar text in schedule fragment - changed order of headers in allergen detail sheet denizk0461 2023-09-04 21:18:33 +02:00
  • 1e00e6bdab Merge remote-tracking branch 'origin/master' denizk0461 2023-07-31 22:45:55 +02:00
  • 7f9b07489b Fixed a bug that caused the status bar to be coloured wrong denizk0461 2023-07-31 22:45:24 +02:00
  • 1aa033609d Fixed a bug that caused the status bar to be coloured wrong denizk0461 2023-07-31 22:45:24 +02:00
  • ae5b0fabc1 A message now informs the user of the new timetables feature denizk0461 2023-07-31 22:30:33 +02:00
  • 453e65ec48 User can now add, edit, and delete timetables without crashing (hopefully) denizk0461 2023-07-31 22:09:04 +02:00
  • 1f05fad84c Links in canteen news are now fetched and can be clicked denizk0461 2023-07-04 15:06:40 +02:00
  • a5d8e157de Timetables can now be edited and deleted via sheet from SettingsFragment.kt denizk0461 2023-07-04 14:47:19 +02:00
  • ca2cfe071f Updated dependencies denizk0461 2023-07-04 12:54:42 +02:00
  • 0d0bc1d1a2 Stud.IP events now get added to their proper timetable rather than being nuked on every refresh; users can now switch between timetables through the settings app denizk0461 2023-07-04 12:51:12 +02:00
  • 694d962896 Added Timetable.kt which was a PAIN because SQLite does not support ADD FOREIGN KEY on ALTER TABLE, and as such, the required workaround is to create a temporary table with the new constraint added, insert the values from the old table into the new table, drop the old table, and finally rename the new table to the name of the old table so that the app thinks that nothing ever happened... UGH denizk0461 2023-07-03 15:47:55 +02:00
  • 97b713a578 WeserPlaner 1.1.0: implemented canteen view in CompactOverviewFragment.kt denizk0461 2023-06-04 20:45:38 +02:00
  • 35283f3544 Compact layout: back stack now gets popped every time the user navigates back using the back button embedded in the fragment layout denizk0461 2023-06-04 17:51:40 +02:00
  • 8f612d3c31 Added back buttons on all user-facing fragments that show when compact layout is used denizk0461 2023-06-04 17:42:30 +02:00
  • 6d1ab773dc Added navigation graph and corresponding user preference for additional app layout option denizk0461 2023-06-04 16:59:04 +02:00
  • 26c89108bf Finished IntroductionActivity.kt; fixed a bug in StwParser.kt that would throw an error upon accessing the UI due to a missing withContext() call. This error seemed to (visibly?) happen on API level 24, but not on 30+ denizk0461 2023-06-04 15:34:32 +02:00
  • 01acb1c4b5 Moved first launch preference out of EventFragment.kt to be moved into the newly created tutorial/introductory screen IntroductionActivity.kt denizk0461 2023-06-04 12:39:54 +02:00
  • 36bede6201 Enabled Jetifier since third-party libraries may require it; in-development options for events are now hidden if the user has not explicitly enabled them denizk0461 2023-06-04 12:27:21 +02:00
  • 98a3a13623 Added TimetableOverviewActivity.kt and a means to launch via a button through EventFragment.kt; implementation unfinished denizk0461 2023-05-25 12:32:10 +02:00
  • e52a055cf1 Added FormattedDate.kt to produce formatted strings more easily; TaskOverviewAdapter.kt now produces expandable items denizk0461 2023-05-23 12:39:43 +02:00
  • ce0667300d Added ReminderStatus.kt to keep track of the status of a future notification implementation; moved enums and similar classes to values directory denizk0461 2023-05-23 08:35:34 +02:00
  • a1f18b3548 Task overview now has a RecyclerView adapter and displays dummy data in empty items; added database queries to retrieve tasks denizk0461 2023-05-22 15:32:19 +02:00
  • 61155eaec4 Added button to change order for tasks (functionality unimplemented); moved options menu for events to long press, single click is now functionless denizk0461 2023-05-22 14:16:56 +02:00
  • 75724ace18 Added an options menu for events; moved delete option to the new options menu denizk0461 2023-05-21 22:16:20 +02:00
  • e99a58de54 Added a floating action button to add tasks in TaskOverviewFragment.kt denizk0461 2023-05-21 19:59:38 +02:00
  • b21953c571 Added data type EventTask.kt for the task fragment; added timetableId to StudIPEvent.kt to assign events with a specific timetable, for a future implementation of being able to store multiple timetables simultaneously; database scheme will now be exported to allow for automatic migrations denizk0461 2023-05-21 15:29:34 +02:00
  • 2675e5b7f3 Added measures to make sure the user logs into their schedule before fetching can commence denizk0461 2023-05-21 09:16:27 +02:00
  • 059502242b Migrated build.gradle files to Kotlin DSL denizk0461 2023-05-20 23:49:06 +02:00
  • fb155550b3 New fragments can now be accessed via an experimental setting. They tell the user via snack message that their functionality is not yet implemented denizk0461 2023-05-20 23:01:53 +02:00
  • ff930b89c0 Added ExamOverviewFragment.kt and RoomFinderFragment.kt as well as respective layouts and view models to implement later; minor reformatting denizk0461 2023-05-20 22:03:51 +02:00
  • cbea5f124d Fixed colours for icons to tell the user that canteen offers are hidden or that they have no events; added tooltips to buttons in canteen fragment; edited README.md to use new iamge paths denizk0461 2023-05-20 19:12:03 +02:00
  • 1c31d422fa WeserPlaner 1.0.3: adjusted layout of AllergenSheet.kt to display allergens and additives separately; FetcherActivity.kt now features a button to go directly to the user's schedule, if logged in; replaced toast messages with snack bars; ScheduleUpdateSheet.kt now notifies the user about database transactions via snack bar; schedule view now tells the user if there are no events scheduled for a day denizk0461 2023-05-14 23:09:06 +02:00
  • 8f69b5f381 Adjusted layout of AllergenSheet.kt to display allergens and additives separately denizk0461 2023-05-14 21:44:05 +02:00
  • 559ec22734 Adjusted close buttons for sheets to be slightly highlighted denizk0461 2023-05-14 20:16:02 +02:00
  • 14e379eebf CanteenPageFragment.kt now displays the count of offers that have been hidden due to allergen and dietary preferences denizk0461 2023-05-14 19:49:09 +02:00
  • d4e64018d2 Refactored preference functions so that view models cannot access preferences directly, instead having to use get/set methods, which also solves a potential bug source of defining different default values for certain properties in different view models denizk0461 2023-05-14 13:10:47 +02:00
  • d9a4ead7ec Flattened structure of StwParser.kt somewhat; CanteenFragment.kt now shows an error snack if the user tries to switch canteens while another one is being fetched; made slight adjustments to the translations denizk0461 2023-05-14 09:00:08 +02:00
  • 2311cc46ad Adjusted UI elements in CanteenFragment.kt to clean up the UI denizk0461 2023-05-13 19:45:36 +02:00
  • 2798e0ecbb Moved development codes from DevCodeSheet.kt to a (by default) hidden section of SettingsFragment.kt; added further information about the build in that section denizk0461 2023-05-13 19:31:27 +02:00
  • 7ed230b4b9 Changed FABs into Extended FABs that collapse on scroll; updated FABs and scrolling behaviour of app bars; removed dimens.xml files for landscape and larger widths that had been generated by Android Studio denizk0461 2023-05-13 10:00:40 +02:00
  • 92f7361488 Create README.md Deniz 2023-05-12 22:43:37 +02:00
  • 1177b8b14e FABs in canteen fragment now dodge away from snack bars; snack bar now used to tell the user that no news are available for a canteen denizk0461 2023-05-12 18:51:36 +02:00
  • 6053e8a9c4 WeserPlaner 1.0.2: canteen news button is now highlighted if news are available, and the news sheet will now only be shown if there are any news available. Otherwise, a toast will tell the user that no news are available. denizk0461 2023-05-12 11:40:43 +02:00
  • 2d3dd390bf Fixed StwParser.kt not fetching all required data to show opening hours of the canteens; small further tweaks to the structure and KDoc of StwParser.kt denizk0461 2023-05-12 11:03:56 +02:00
  • b88c831530 Modified logic to more consistently show the fetch button if the schedule is empty, and hide it if there are schedule items denizk0461 2023-05-11 22:10:08 +02:00
  • 1e8cc694a3 Fixed some slight issues with the German translation: 2nd person singular "du" was only sometimes capitalised "Du", now it never is; one instance where "The" was used in place of "Die" denizk0461 2023-05-11 21:38:38 +02:00
  • a61f072055 Added a button to direct the user to download their schedule from Stud.IP if they have not done any modifications to their schedule; fixed a bug that would show opening hours of the currently selected canteen or crash the app whenever the info button in FetcherActivity.kt was clicked denizk0461 2023-05-11 21:31:41 +02:00
  • 91ffcf0637 CanteenFragment.kt now refreshes automatically on initial launch denizk0461 2023-05-11 15:13:43 +02:00
  • 6dccb287ab Adjusted text to show the user when they have changed their allergen preferences; changed licences text denizk0461 2023-05-11 14:56:33 +02:00
  • 81765db0db Quick fix before publishing: adjusted colours for new MaterialButtonGroup to fit in with the other elements denizk0461 2023-05-10 21:31:26 +02:00
  • e33414b7e9 WeserPlaner 1.0.1: pricing can now be adjusted - users can pick whether they want to see pricing for students or for employees; fragment launch settings has been changed to use a MaterialButtonGroup to support adding more options down the line denizk0461 2023-05-10 21:14:17 +02:00
  • 9ada2ca462 AllergenConfigSheet.kt now updates SettingsFragment.kt to display the count of allergens the user has set; made changes to several strings and minor UI tweaks denizk0461 2023-05-10 18:43:06 +02:00
  • 4bd2919510 Merge pull request #1 from denizk0461/temp Deniz 2023-05-09 14:35:16 +02:00
  • 218bc89873 Changed TextSheet to use a ViewModel for showing content that is fetched from the database. Uses TextSheetContentId to determine which LiveData to observe. denizk0461 2023-05-09 14:19:45 +02:00
  • 6cbfe71e62 Added functionality to view news for a canteen; fixed a bug that would prevent the offers from being fetched for canteens without news; BUG: news are still a bit buggy, check for crashes denizk0461 2023-05-09 12:22:40 +02:00
  • b42118ed94 shrinkResources now enabled; debugSymbolLevel set to SYMBOL_TABLE; StwParser.kt now fetches news from the top of the website, if any are available; fixed a bug that would cut off shadows from the largest FAB in CanteenFragment.kt denizk0461 2023-05-09 11:34:31 +02:00
  • 603955b53b WeserPlaner 1.0.0 v.3: now using R8 minifier. Added appropriate ProGuard rules denizk0461 2023-05-07 11:17:32 +02:00
  • 4ad952f1ae WeserPlaner 1.0.0: updated minor things and changed name from 'Stud.IP Timetable' to 'WeserPlaner' denizk0461 2023-05-06 22:56:37 +02:00
  • e1ea3ecc11 New icon; changed colour palette to reflect the university's colour design a little better denizk0461 2023-05-05 15:52:30 +02:00
  • 5d544625ad Reverted colours from green testing colours to red; palette changed slightly from the previous red palette denizk0461 2023-05-05 13:13:25 +02:00
  • a0fda22705 finally fixed that fucking pink fucking TimePickerDialog fucking button fuck fuck fuck denizk0461 2023-05-05 13:09:27 +02:00
  • 8a416b30fd Added small hints to FetcherActivity.kt to help out the user denizk0461 2023-05-05 11:53:44 +02:00
  • 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 denizk0461 2023-05-04 15:09:10 +02:00
  • 5ca5788899 Replaced custom TimePickerFragment.kt with standard MaterialTimePicker denizk0461 2023-05-04 13:29:34 +02:00
  • 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 denizk0461 2023-05-04 12:26:56 +02:00
  • 3d508dff6c (re-)added option to launch timetable on the current day; reinstated functionality to launch app on CanteenFragment.kt denizk0461 2023-05-04 08:32:12 +02:00
  • 9e5277a5f6 All sheets now have a button to dismiss the sheet denizk0461 2023-05-03 21:49:18 +02:00
  • df1d127a17 Implemented functionality for adding a new event manually; added floating action buttons for adding an event and refreshing the canteen offers denizk0461 2023-05-03 14:16:32 +02:00
  • ae8db7ce48 StudIPParser.kt now stops fetching items that don't provide full information, and tells the user how many items were skipped denizk0461 2023-05-03 11:10:34 +02:00
  • 7f0659d094 StudIPParser.kt now fetches days dynamically, allowing it to skip over days that are hidden from the timetable without crashing (hopefully) denizk0461 2023-05-03 09:58:21 +02:00
  • a5c66aaaff FetcherActivity.kt now has a bottom app bar with useful actions and extends FragmentActivity instead of AppCompatActivity to show a tutorial bottom sheet denizk0461 2023-05-02 22:35:19 +02:00
  • 36a7ae0035 Replaced fragment switching functionality in MainActivity.kt with Navigation component, simplifying logic significantly; upgraded to AGP 8.0.1 denizk0461 2023-05-02 20:52:56 +02:00
  • 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 denizk0461 2023-05-02 16:05:33 +02:00
  • 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 denizk0461 2023-05-02 15:02:47 +02:00
  • 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 denizk0461 2023-05-01 22:19:44 +02:00
  • b0631d323e User can now select allergens to exclude from the canteen offers denizk0461 2023-05-01 19:17:35 +02:00
  • 79f8e9cfca Activities are now kept on configuration change (e.g. rotation), which in turn keeps the fragments alive during rotation denizk0461 2023-05-01 09:51:06 +02:00
  • d4737d8e14 Implemented separate ColorStateLists for the individual chips in CanteenFragment.kt to show their distinct colours when clicked denizk0461 2023-05-01 09:35:01 +02:00
  • 079e66ad50 Added app language support (I think); fragments rely on Bundles instead of constructor parameters to get data, mitigating a source of crashes denizk0461 2023-04-30 22:47:59 +02:00
  • 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 denizk0461 2023-04-29 22:26:26 +02:00
  • 2bf340bdff TabLayoutMediator has been re-instantiated, hopefully in a form that is less crash-prone. Crashes will also be handled now in StwParser.kt denizk0461 2023-04-29 10:56:52 +02:00
  • 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 denizk0461 2023-04-28 22:44:23 +02:00
  • 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. denizk0461 2023-04-28 15:14:50 +02:00
  • 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. denizk0461 2023-04-28 11:18:05 +02:00
  • 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. denizk0461 2023-04-28 10:30:30 +02:00
  • 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 denizk0461 2023-04-27 21:58:10 +02:00
  • ccd77a5daf Made further documentation and safety changes. Scraper classes (StudIPParser.kt, StwParser.kt) still need to be checked for safety. denizk0461 2023-04-27 20:27:42 +02:00
  • 9d6489f83b Implemented ability to change the fragment opened on app start; made some optimisations to DietaryPreferences.kt. BUG: tab layout mediator is annoying af denizk0461 2023-04-27 15:15:29 +02:00
  • 1828a4b02e Button for switching an event's timestamps to show the academic quarter is now properly animated (I think) denizk0461 2023-04-27 12:47:50 +02:00
  • a6a1309bce Implemented button to change dates for an event to reflect the academic quarter denizk0461 2023-04-27 08:20:56 +02:00
  • 540a2a7b9a Canteen adapter now tells the user when no offers are available for a given day denizk0461 2023-04-26 20:17:35 +02:00
  • 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 denizk0461 2023-04-26 19:49:29 +02:00