94 Commits

Author SHA1 Message Date
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
nacabaro
5d996edc1e
Merge branch 'main' into ui/home_screen 2025-01-16 01:05:21 +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
Christopher O'Grady
98bd74c544 Algorithm to obscure undiscovered digimon
Logic still needs to be implemented to distinguish discovered from undiscovered.
2025-01-12 21:36:02 -05: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
Christopher O'Grady
c5e8236e19 Fix arrays for NFCCharacter 2025-01-11 22:57:07 -05: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
Christopher O'Grady
1088e5259a Make background on characters and icons transparent. 2025-01-10 14:24:12 -05:00
Christopher O'Grady
4529925906 Integrate SecretsRepository and ApkImporter with app
Refactor methods out of MainActivity into Controllers for ScanScreen and SettingsScreen
2025-01-10 13:21:53 -05:00
Christopher O'Grady
c456d455ef Implement Secrets Repository
Add proto plugin and dependencies
Create Secrets Proto
Create Secrets Proto DataStore
Replace old secrets with proto secrets
Fix importers and tests to use new proto secrets.
2025-01-09 15:24:10 -05:00
Christopher O'Grady
9871f0420f Verify Secret correctness as part of loading.
Improve tests
2025-01-08 22:12:03 -05:00
Christopher O'Grady
f4974c8705 Import APK in tests 2025-01-08 21:01:37 -05: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
Christopher O'Grady
1e73f52da5 Add dim-reader library
Update readme to reflect
Add commented out sample code.
2025-01-04 23:46:13 -05:00
Christopher O'Grady
5bd5fc3f74 Use nfc library from maven local instead of copied module. 2025-01-04 23:03:01 -05: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