Commit Graph
109 Commits
Author SHA1 Message Date
nacabaroandGitHub bc7a05ccd3 Merge pull request #21 from nacabaro/db/data_export
Forgot to include the settingsscreencontroller interface my bad
2025-01-18 16:02:29 +01:00
Nacho 660dbaca19 Forgot to include the settingsscreencontroller interface my bad 2025-01-18 16:01:42 +01:00
nacabaroandGitHub b89dfb0df3 Merge pull request #20 from nacabaro/db/data_export
Added data importing/exporting
2025-01-18 12:11:58 +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
nacabaroandGitHub 635be60cdb Merge pull request #19 from nacabaro/dex/functionality
Dex stuff
2025-01-17 21:21:35 +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
nacabaroandGitHub 586d6c01ef Merge pull request #18 from nacabaro/ui/home_screen
A lot more things
2025-01-16 01:05:29 +01:00
nacabaroandGitHub 5d996edc1e Merge branch 'main' into ui/home_screen 2025-01-16 01:05:21 +01:00
nacabaroandGitHub 074ced1082 Merge pull request #17 from cfogrady/ObscuredDex
Algorithm to obscure undiscovered digimon
2025-01-16 01:04:32 +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
nacabaroandGitHub 0bd745ac86 Merge pull request #16 from nacabaro/ui/home_screen
UI/home screen
2025-01-12 10:23:49 +01:00
nacabaroandGitHub 0d999925b5 Merge pull request #14 from cfogrady/home_screen
Fix arrays for NFCCharacter
2025-01-12 10:23:09 +01:00
nacabaroandGitHub dd893a08da Merge pull request #15 from nacabaro/ui/home_screen
A few things, again...
2025-01-12 10:22:57 +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
nacabaroandGitHub 7f22650601 Merge pull request #13 from cfogrady/TransparentBackground
Make background on characters and icons transparent.
2025-01-10 23:10:04 +01:00
Christopher O'Grady 1088e5259a Make background on characters and icons transparent. 2025-01-10 14:24:12 -05:00
nacabaroandGitHub eabf8770cc Merge pull request #12 from cfogrady/IntegrateSecretsWithApp
Integrate secrets with app
2025-01-10 19:38:26 +01:00
nacabaroandGitHub da5e6c6628 Merge pull request #11 from cfogrady/SecretsRepo
Add Secrets Repo Using a Proto DataStore
2025-01-10 19:38:13 +01:00
nacabaroandGitHub 4c0e2fafd0 Merge pull request #10 from cfogrady/APK_Import
APK Import
2025-01-10 19:38:01 +01: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
nacabaroandGitHub 5d6e3743f0 Merge pull request #9 from nacabaro/nfc/upload_mon_new_model
Removed unused imports that'd cause compile issues.
2025-01-08 02:37:01 +01:00
Nacho b91da136df Removed unused imports that'd cause compile issues. 2025-01-08 02:34:46 +01:00
nacabaroandGitHub e4366ce15c Merge pull request #8 from nacabaro/nfc/upload_mon_new_model
Nfc/upload mon new model
2025-01-08 02:33:22 +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
nacabaroandGitHub 5edd753da1 Merge pull request #7 from nacabaro/dim/read_cards
Read cards
2025-01-05 22:24:31 +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
nacabaroandGitHub 82292823d3 Merge pull request #6 from cfogrady/dim-reader-library
Import vb-dim-reader library
2025-01-05 10:50:04 +01:00
nacabaroandGitHub 01e82a6a44 Merge pull request #5 from cfogrady/nfc-reader-from-maven
Pull Nfc Reader Library from dependency repo instead of as second module.
2025-01-05 10:49:39 +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 d9e492eb0e Add readme describing how to setup
Fix readme
2025-01-04 23:07:07 -05:00
Christopher O'Grady 5bd5fc3f74 Use nfc library from maven local instead of copied module. 2025-01-04 23:03:01 -05:00
Christopher O'Grady 3019560a26 Ignore keys file for now. 2025-01-04 22:47:13 -05:00
Christopher O'Grady a01d0eba47 Ignore generated project files. 2025-01-04 22:45:35 -05:00
nacabaroandGitHub bc02689850 Merge pull request #4 from nacabaro/ui/get_character_details
Few things, again!
2025-01-05 02:12:44 +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
nacabaroandGitHub 4736202838 Merge pull request #2 from nacabaro/database/initialise
Database/initialise
2025-01-04 18:51:17 +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