Commit Graph
77 Commits
Author SHA1 Message Date
Nacho fd76c46f39 Not much
- Imported card backgrounds (not necessary but future proofing just in case)
- Readded the sprite viewer just to verify everything is working as intended, will probably get rid of it again? or maybe I should keep it since it holds a copy of all the sprites in the card...
- TODO: Remove old unused tables
2025-09-14 02:39:52 +02:00
Nacho e85e1f45bf More name changes 2025-09-14 01:09:33 +02:00
Nacho 630cccefe4 Increased AGP version and changed some terminology 2025-09-14 00:49:17 +02:00
Nacho 7160eb792a Adventure Missions progress
- Viewing the adventure missions completed in a card is now possible.
2025-09-10 02:09:15 +02:00
Nacho cb9fe8e716 Merge remote-tracking branch 'origin/main' 2025-09-05 02:22:09 +02:00
Nacho 540766eefb VERSION UP 2025-09-05 02:21:47 +02:00
nacabaroandGitHub af2c852bac Merge pull request #38 from nacabaro/vb/special_missions
Small fix related to special missions
2025-09-05 02:19:36 +02:00
Nacho 8dc5bbbdde Small fix related to special missions
- Now you can clear failed special missions. When a special mission fails, you will not get an item after clearing it.

- Huge note: I have not tested this fix, but it should work... At least that's what my intuition is telling me!

Jokes aside, this should work, but the home screen will not update. I should update this to make use of StateFlows and Flows to keep the home screen updated at all times.
2025-09-05 02:19:09 +02:00
nacabaroandGitHub aac05a3b1c Merge pull request #37 from nacabaro/card/import_more
Agarrate, que vienen curvas
2025-09-05 02:10:05 +02:00
Nacho b827fdccbe Agarrate, que vienen curvas
- Importing more data from the card, this time it's to enhance the functionality of the dex. Things that I'm importing:
  - Tropies
  - Vitals
  - WinRate
  - Battles needed
  - Adventure level cleared
- This commit also includes displaying the data, modifying the relational model and modifying the underlying import functions.

- I've also changed the name from Character to CharacterData, since there is another class that is also called Character. I wanted to move it into the card package, since it's more related to Cards, while character is more designed for user raised characters.

- Another small addition was the ability to construct ImageBitmaps from the BitmapData.kt class. reduces code and makes it more simple, will refactor the old code to use this later on.

- Things I might do
  - Move out of the SettingsScreenControllerImpl.kt file all the card import stuff, since it's slowly growing a lot, and it could benefit from some independence
2025-09-05 02:08:44 +02:00
Nacho 2586190e5c Update libraries 2025-09-02 18:01:11 +02:00
Nacho 1a6753d2aa Fixed date issues with TransformationHistory 2025-09-02 04:54:08 +02:00
Nacho f8ec899335 Version up and credits 2025-08-09 12:59:01 +02:00
Nacho b95edfa2a1 New icon 2025-08-09 12:55:38 +02:00
Nacho 1a570170ca Merge remote-tracking branch 'origin/main' 2025-08-06 20:18:43 +02:00
Nacho 1566876106 Version up 2025-08-06 20:18:32 +02:00
nacabaroandGitHub 019f07d827 Merge pull request #36 from nacabaro/card/card_management
Few things here and there
2025-08-06 20:13:09 +02:00
Nacho 4474e6689d Few things here and there
- Card management, you can now modify the name of the cards and remove cards too.
- Also, support for multiple cards with the same ID works too. When scanning for the first time, if a repeat card exists, the user will be asked to choose which card the character comes from. Future scans will not ask since it is stored in the watch app reserved area.
2025-08-06 20:10:21 +02:00
Nacho fb09004d13 Version up, again 2025-08-06 01:32:10 +02:00
Nacho dd1a62d184 Made a mistake
Accidentally locked BE watch items to only BEm characters. I have modified it to also include DiM characters in the BE.
2025-08-06 01:31:18 +02:00
Nacho f96f00e05a Version up
And change the original pop up to mention this works with VB, my bad
2025-08-06 01:22:43 +02:00
Nacho f8ce81e932 Special missions
- Basic implementation is complete
- Added 8 different special missions, 4 are easy and more expensive, and 4 are cheaper and more difficult
- Added 9 missions of each so people can test themselves
- Also added checks to disallow BE digimon to have special missions
- UI elements to display the status of the missions
- Finishing a mission awards a random price (TODO: Make the price be based on the mission difficulty)
2025-08-06 01:19:19 +02:00
Nacho 7bb7693876 Version Up 2025-08-04 19:57:39 +02:00
Nacho 4d8dcde26e Forgot to add all the UI methods to preview VB characters 2025-08-04 13:15:07 +02:00
Nacho 0b1eed7da9 Increase version 2025-07-29 23:08:45 +02:00
Nacho 36c3e25fd3 Last minute bug related to sending the active character from the main screen. 2025-07-29 19:22:23 +02:00
Nacho 220a61a553 Bug fixes
- Fixed an issue with the calendar, now I store the date as year/month/day in the database directly.
- VB expects to have a year between 2021 and 2032, for some reason it gives me back a 2000 year when reading an empty history. I just patched it in the application to return as year 0 in those cases.
- VitalsHistory works as intended now. Also verified functionality of the new classes.
- Moved a few SQL queries too, since they didn't belong where they were.

Also added a small feature, now the application knows if you entered the scan screen through a character in the storage, or the home screen. If there is an active character and you opened the home screen, the application will let you send the active character, while if it was opened through the storage screen, the application will send the character from the storage screen.

What's now missing is to create a VBSCanScreen, and depending on which device we are using, make use of one screen or the other.
2025-07-29 10:36:07 +02:00
Nacho d847f600f1 Quite a few things
- Renamed a few objects to avoid legality issues
- Added a few accompanying tables to support the VB/VH
  - While we speak about tables, added an auxiliary table to track card adventure progress
- Extracted NFC character generation and extraction to different classes, should result in a cleaner ScanScreenController
2025-07-29 02:50:15 +02:00
Nacho f7a4039d66 Merge branch 'main' into vb/nfc_compat
# Conflicts:
#	app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreenControllerImpl.kt
2025-07-29 01:35:21 +02:00
Nacho 13051145b7 Few things:
- Speed up the fade animation a tad bit
- Added a back arrow in the scan screen
- Improved a bit the placeholder of the battles screen, since it'd throw out the transition animation.
2025-07-29 00:01:02 +02:00
Nacho 1a150ce7ce Few things:
- Speed up the fade animation a tad bit
- Added a back arrow in the scan screen
- Improved a bit the placeholder of the battles screen, since it'd throw out the transition animation.
2025-07-28 23:58:41 +02:00
Nacho 39ba48d867 Forgot to remove the dependency to SpriteRepo 2025-07-27 19:46:07 +02:00
Nacho 3f324ca141 SpriteRepo is not needed anymore 2025-07-27 19:44:12 +02:00
Nacho 1e28a8c249 Application now imports all the sprites related to the character into the internal database. 2025-07-27 19:42:25 +02:00
Nacho d46769b0cb Added credits for the app in preparation for version 0.1 2025-07-26 22:26:41 +02:00
Nacho fce05870c5 This should allow the app to build, otherwise it won't or it will crash 2025-07-26 14:23:53 +02:00
Nacho 9f5f806786 Added basic stuff for compatibility with VB 2025-06-01 18:51:30 +02:00
Nacho f7b3b7256a VB NFC compatibility
- Refactored some names (not really relevant)
- Added the ability to store special missions inside the application's database
- Refactored the conversion code into two classes inside the scan screen package
- Added the missing tables to store the necessary vb data

Also not relevant to this update
- Updated adventure progress app wide, so that instead of it being stored in a character basis, it is shared across all characters in the same dim
2025-02-10 17:44:13 +01:00
Nacho fb6b6d2825 While I'm at it...
- Resized some buttons in the dialogs
- Added a dismiss button in get item dialog after adventure and in the send on adventure choose time dialogs
- Moved the export/import data lower in the settings screen
2025-01-26 01:59:43 +01:00
Nacho e17f6c23e4 Renaming terms and other bits and bobs
- Changed adventure database so that the original intended time is also stored with the final time. This will come useful once the algorithm for determining which object to give is made.
2025-01-26 01:40:32 +01:00
Nacho 409474b5d1 Phew
- Added adventure screen, dialogs, components and controllers needed to rock.
- Modified DTOs so that it is possible to tell if a character is in adventure or not
- Updated layout of items database
- Fixed an issue with importing bems where the character name would be read incorrectly
- Also added a ton of checks
2025-01-26 01:25:25 +01:00
Nacho 5e92895656 Made item icons a bit smaller in order to be similarly sized to character icons 2025-01-21 13:34:49 +01:00
Nacho 25500e9cb4 Made character icons bigger and also made the obscured characters follow material guidelines, as being pure black can be difficult to see in dark theme 2025-01-21 13:28:13 +01:00
Nacho a974bd366e Moved read character from watch to its corresponding controller 2025-01-21 13:02:45 +01:00
Nacho bb5f66d167 Moved import card logic outside of the MainActivity 2025-01-21 12:42:52 +01:00
Nacho 972a640394 Added missing icons, ready to merge! 2025-01-20 15:46:53 +01:00
Nacho 35a7c9d959 Slowdowns and UI
- Current item can be seen from a character when clicked on it, you can also see how much time left does that item have on that character.
- Fixed slowdown issue in the items screen. Also fixed this issue in the storage screen as it'd also affect it if there are a lot of characters in the storage.
2025-01-20 15:23:40 +01:00
Nacho b4a73031e7 Working items
- Click on use item > then choose the mon you want to apply the item to
2025-01-20 14:45:28 +01:00
Nacho 3e41f82273 Forgot to push the updated db 2025-01-20 00:29:07 +01:00
Nacho f3740d4816 Here comes the train (with more things)
- Updated available items
- Created ItemsScreenController
- Moved the ItemsScreen to keep code organized
2025-01-20 00:06:42 +01:00
Nacho 305b776b52 Things
- Added items store and a way to switch between the store and your items
- Added an items dialog, click on it to see details of the item (description, amount) and use it
- Added items store, it lists all the items available
2025-01-19 13:41:50 +01:00
Nacho c0a67e382b Things items related
- Added a MyItems screen
- Added an ItemElement placeholder
- Included database with all the items in the app (not final)
- Also included some demo items

As of now items don't do anything, i'm still making the UI
2025-01-18 23:44:38 +01:00
Nacho 660dbaca19 Forgot to include the settingsscreencontroller interface my bad 2025-01-18 16:01:42 +01:00
Nacho 23e233227a Finished refactoring the old SettingsScreenController.kt 2025-01-18 12:05:10 +01:00
Nacho 542072c238 Forgot to close DB before importing process
This will clear the database lock file before closing the application, ensuring that during the second startup the application does not see anything weird with the data. Not closing the database before import can lead to weird behavior.
2025-01-18 01:05:45 +01:00
Nacho 42dd87f0c4 Data export working
During export the database will be closed, otherwise the WAL will ruin the export. data will be saved as a .vbhelper file, then the app will be closed to avoid making any changes to the DB
For import, we check if the extension is .vbhelper, otherwise we can corrupt the database, IMPORTANT. Next we delete everything related to RoomDB and we swap it with the new files. Finally the app will be closed to ensure RoomDB is running on the new DB.

Finally, I still have to reintegrate the importApk functionality with the NewSettingsScreenController and get rid of the old one.
2025-01-18 00:45:16 +01:00
Nacho 88163684ca Dex stuff
- Added dex domain model, and rearranged class
- Added dex functionality to the dex screen, and updated the corresponding controller
2025-01-17 21:12:41 +01:00
Nacho 5a1d52aa1d A lot more things
- Moved scan button to inside the home screen
- Added items screen
- Scanning functionality updated to work with BEms
- Different home screen layouts depending on the configuration (BE with BEm, BE with DIm, since they don't have the same data, looking at you, special training)
- It is now possible to import BEms
- Character size is now more accurate, (no more big babies)
- Once sent to the watch, characters are deleted from the app, and it shouldn't fail
- Updated domain model to support evolution history.

TODO:
- Reorganize some of the code, mostly SQL queries and reorganize the scan screen functionality
- Create home layout for the VB watch
- Start figuring out reading data from the VB
    - Also create VB data domain model
    - Also start figuring out writing to the VB (it's 3 steps)
- Block off scan button until secrets are imported
- Start working with the dex
    - Update domain model
    - Use cfogrady's blank character when not seen
- Cancel character upload in case the app database does not contain the card for it (otherwise, the watch will delete the character)
- Export character data (in case of any app issues or changing phones)

(Also added some more icons)

Woo
2025-01-16 01:03:57 +01:00
Nacho ce1cf3eddb Quicm fix, DisposableEffect isn't reloading when isDoneSendCard is true
TODO: add more disposableeffects
2025-01-12 13:50:41 +01:00
Nacho cac5198488 A few things, again...
- Added ability to write character (incomplete)
- Renamed BottomNavItem.kt to NavigationItems.kt, as it covers the entire application navigation, not just the bottom navigation bar
- Modified the ScanScreenController and the Impl to accomodate writing characters on the BE (need to do the VB later on)
- Modified repositories to fetch data from the database and additional information needed to convert back to NfcCharacter
- Function to convert to NfcCharacter

Originally this was also going to cover the home screen, since my idea was to have marked as active (the one shown in the home screen) be the one sent to the watch, but for testing I have added a "send to bracelet" button on the pop-up on the storage screen.
2025-01-12 00:57:34 +01:00
Nacho b91da136df Removed unused imports that'd cause compile issues. 2025-01-08 02:34:46 +01:00
Nacho 7582f944b5 Forgot to actually remove the files, my bad 2025-01-08 02:32:13 +01:00
Nacho a028611d8a More things:
- Improved upload function to support VB (still to do to add VB)
- Adapted to the latest version of the vb-nfc-reader library
- Added foreign keys with uploaded characters and existing dim database
- Removed the tempoorary objects
- Handled errors uploading (dim not existing for now and VB not supported yet)
- Improved bitmap conversion by moving it to it's own composable
  - Also added object to move bitmap data around
- Added DTO to read sprite data and character data simultaneously

Good night!
2025-01-08 02:31:36 +01:00
Nacho 5691f998f2 Cleaned settings screen 2025-01-05 22:18:39 +01:00
Nacho 4e2b9eb541 Fixed flickering and banner overlapping 2025-01-05 18:13:41 +01:00
Nacho 19fbed0ef2 More things!
- Started slowly implementing the original model.
- Names are bitmaps, so we use that.
- Sprites are stored in RoomDB as bitmap.
- Can now import DiMs, need to implement BEms.
- Can also view all the sprites for all the DiMs and now you can view DiMs individually (these two are temporary).

Things to do next
- Use the new model when uploading characters from the watch.
- Figure out why my implementation of ABGR to BGRA isn't working (or something like that)
- Improve data retrieval from the database, maybe using flows and properly implemented view models. As of now the interface is quite flickery.
- Improve code that handles DiMs and BEms.

As for bugs
- Interface sometimes likes flickering a lot, need to figure out why
- I cannot for the life of me create transparent bitmaps... help!
- Something else I might be forgetting...

Going to continue working in this branch.
2025-01-05 17:38:12 +01:00
Nacho e8f441ba2b Few things, again!
- From "Battles" to "Battle"
- Added a settings screen, to import keys and cards
- Added a way to access the settings from home
- Get character details
2025-01-05 01:58:08 +01:00
Nacho 59033e6459 Forgot to update some foreign key references... sorry! 2025-01-04 19:02:13 +01:00
Nacho 08e3b844a4 A few things here
- Adding new mons is working
- database is also working (añlthough we are using a temporary domain model)
- Insertion should be working too
- I used an appcontainer for the dependency injection, maybe this is not the best approach, but I don't really know any other approaches

Known bug:
- When inserting a new mon, you need to reload the app in order for the storage view to refresh correctly, I don't know what happens and why, probably because I did not create a proper ViewModel to accompany the storage part... currently this is very barebones, but it works!
2025-01-04 18:49:16 +01:00
Nacho fbbb8f6ad1 Merge branch 'refs/heads/nfc/reading_character' into database/initialise 2025-01-04 17:35:50 +01:00
Nacho 859786c7f3 Updating database with temporary daos in order to have an MVP
Will be changing this to the pre-established model once I sort out DiM/BEM import
2025-01-04 16:51:11 +01:00
Nacho 2f0555484e Forgot to reset the state of the scan...
Thus making scan innaccessible
2025-01-04 16:47:25 +01:00
Nacho 2f4bc9dba6 Added temporary domain objects 2025-01-04 16:42:50 +01:00
Nacho e9eedb7429 Started working in database initialization NOT WORKING YET 2025-01-04 16:10:23 +01:00
Nacho d40758dc02 Added ability to scan mons 2025-01-04 16:09:27 +01:00
Nacho 187ac970de Added dummy screens plus icons 2025-01-04 01:20:03 +01:00
Nacho 84a1c1af72 Initial commit 2025-01-04 01:12:57 +01:00