Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kotlin rewrite #488

Merged
merged 282 commits into from
Dec 25, 2024
Merged
Changes from 1 commit
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
7fe1710
Add code for state change callbacks
codeguru42 Aug 9, 2024
efd0f15
Finish implementing dropdown boxes
codeguru42 Aug 9, 2024
28b26eb
Do nothing on text change in dropdown
codeguru42 Aug 9, 2024
3b3f1af
Theme generated from Material Theme Builder
codeguru42 Aug 10, 2024
a838bf0
Organize files into packages
codeguru42 Aug 10, 2024
b10dd37
No longer support Lite and Premium as separate apps
codeguru42 Aug 10, 2024
3461925
Formatting
codeguru42 Aug 10, 2024
68e495b
Lift NavHost outside of Scaffold
codeguru42 Aug 10, 2024
3c398c4
SaveCardButton
codeguru42 Aug 10, 2024
bac2f1d
Add crashlytics
codeguru42 Aug 10, 2024
1fc618b
BaseballCardFilterScreen
codeguru42 Aug 10, 2024
8df1360
Remove unnecessary Rows
codeguru42 Aug 10, 2024
5334fee
Simplify string resources for field labels
codeguru42 Aug 10, 2024
8327e8d
BaseballCardFilterScreen implementation
codeguru42 Aug 10, 2024
cda9b7a
Navigate to details screen after clicking on an item
codeguru42 Aug 10, 2024
576596d
Add Jetpack Room dependency
codeguru42 Aug 10, 2024
13bf08c
Copy over Java implementation from original project
codeguru42 Aug 10, 2024
381df5a
Rename .java to .kt
codeguru42 Aug 11, 2024
878fd36
Translate files to Kotlin
codeguru42 Aug 11, 2024
0bef43c
Update BaseballCard for use as an Entity with Room
codeguru42 Aug 11, 2024
1a91b08
Formatting
codeguru42 Aug 11, 2024
7a1b967
Don't allow nulls
codeguru42 Aug 11, 2024
ce12e74
Rename .java to .kt
codeguru42 Aug 11, 2024
2224a19
Translate BaseballCardContract to Kotlin
codeguru42 Aug 11, 2024
ce8f222
Rename parameter to match name of overridden method
codeguru42 Aug 11, 2024
2aba090
Formatting
codeguru42 Aug 11, 2024
863c251
Fix InsertCardTask
codeguru42 Aug 11, 2024
15e30c5
Mark deprecated methods
codeguru42 Aug 11, 2024
8d33e96
Another parameter rename
codeguru42 Aug 11, 2024
fbb59ac
Use version catalogs for dependencies
codeguru42 Aug 11, 2024
dca54e6
Add compose compiler gradle plugin and upgrade to Kotlin 2.0.10
codeguru42 Aug 11, 2024
5e3ed83
Add KSP
codeguru42 Aug 11, 2024
ffb8a53
Create database instance
codeguru42 Aug 11, 2024
bba75c7
Pass database to screens
codeguru42 Aug 11, 2024
4a57efd
Insert card to database
codeguru42 Aug 11, 2024
e62a6a8
Nullable id to allow SQLite to assign values
codeguru42 Aug 11, 2024
25967f3
Add testing dependencies
codeguru42 Aug 11, 2024
27d4325
First test
codeguru42 Aug 11, 2024
8b51793
Cache db instances by dbName
codeguru42 Aug 11, 2024
b5f3cb0
Add imePadding() and verticalScroll() to allow scrolling of form fields
codeguru42 Aug 12, 2024
7882d9e
Test for BaseballCardDetailsScreen
codeguru42 Aug 13, 2024
c42da3e
Changes to BaseballCardDao.getBaseballCards()
codeguru42 Aug 13, 2024
44865b7
Coroutine dependency
codeguru42 Aug 16, 2024
942076f
Use coroutine instead of AsyncTask
codeguru42 Aug 16, 2024
1bf8741
Room KTX dependency
codeguru42 Aug 16, 2024
87f4045
Use Flow instead of LiveData for read operations
codeguru42 Aug 16, 2024
1e4d224
Don't allow null return value
codeguru42 Aug 16, 2024
f87ce60
Use in-memory database for tests
codeguru42 Aug 17, 2024
c3d4262
Hoist state to BaseballCardListScreen
codeguru42 Aug 18, 2024
d485c05
Formatting
codeguru42 Aug 18, 2024
52b2933
Change return value of `getBaseballCards()`
codeguru42 Aug 18, 2024
5fb238b
Try to render cards from db
codeguru42 Aug 18, 2024
fb59b95
Use BaseballCardDao.baseballCards
codeguru42 Aug 18, 2024
4b45ef4
Use same query for filtering as in Java version
codeguru42 Aug 19, 2024
6fb959f
Clear fields after save
codeguru42 Aug 19, 2024
7114d15
Test for BaseballCardList
codeguru42 Aug 19, 2024
378fb5f
Refactor data to file
codeguru42 Aug 19, 2024
c5483ad
Test for BaseballCardFilterScreen
codeguru42 Aug 19, 2024
6331877
Add checkbox to each row in the list
codeguru42 Aug 20, 2024
a97ba05
Back button in TopAppBar
codeguru42 Aug 20, 2024
db8c31a
Refactor TopBar
codeguru42 Aug 20, 2024
0359e33
Only render main menu on BaseballCardListScreen
codeguru42 Aug 20, 2024
15f35de
First draft for AboutScreen
codeguru42 Aug 20, 2024
eb4e04d
Overflow menu
codeguru42 Aug 20, 2024
0747430
Move AboutScreen.kt to correct folder
codeguru42 Aug 20, 2024
5d7cbe3
onClick handler for About menu
codeguru42 Aug 20, 2024
c52e11c
Overflow menu on every screen
codeguru42 Aug 20, 2024
81a7205
Remove duplicate text on AboutScreen
codeguru42 Aug 20, 2024
3dddcf8
Launcher icon
codeguru42 Aug 20, 2024
c199c6b
Cleanup AndroidManifest.xml
codeguru42 Aug 21, 2024
41392e6
Selecting cards in list
codeguru42 Aug 21, 2024
cfa485e
Hoist selected state
codeguru42 Aug 21, 2024
9d9d99c
Change menu when cards are selected
codeguru42 Aug 21, 2024
e410e56
Delete cards
codeguru42 Aug 21, 2024
d521987
Fix test
codeguru42 Aug 21, 2024
ab92f77
Verify that card was saved
codeguru42 Aug 21, 2024
0e29f33
- adding buildconfig functionality
Aug 21, 2024
7abf1eb
Disable crashlytics in debug build
codeguru42 Aug 21, 2024
68c9309
Refactor
codeguru42 Aug 21, 2024
14e0210
Trailing commas
codeguru42 Aug 21, 2024
fc9559d
Formatting
codeguru42 Aug 21, 2024
87b88f4
Use variable for scroll state
codeguru42 Aug 21, 2024
8519168
Fix copyright date
codeguru42 Aug 21, 2024
28e566a
Fix app version
codeguru42 Aug 21, 2024
3ed3ac5
Use library syntax
codeguru42 Aug 21, 2024
c38154b
Fix checkbox alignment
codeguru42 Aug 21, 2024
e8dda89
Numeric keyboard for value, year, and quantity
codeguru42 Aug 21, 2024
72b80e5
Rename count to quantity
codeguru42 Aug 21, 2024
69c84aa
AboutScreen layout
codeguru42 Aug 21, 2024
31709ef
Padding
codeguru42 Aug 21, 2024
6a0dc1c
Details layout
codeguru42 Aug 21, 2024
c10cafa
Refactor duplicate code
codeguru42 Aug 21, 2024
da6ff40
Move to next text field
codeguru42 Aug 21, 2024
9190203
Formatting
codeguru42 Aug 22, 2024
c3d3c77
Remove comment
codeguru42 Aug 22, 2024
e13c7d2
Select all
codeguru42 Aug 22, 2024
9f8eb8c
Fix test
codeguru42 Aug 22, 2024
2278648
Clean up generated test
codeguru42 Aug 22, 2024
cdb754c
Rename BaseballCardDetails* to BaseballCardCreate*
codeguru42 Aug 22, 2024
489f757
Clean up Destinations.kt
codeguru42 Aug 22, 2024
e852e1a
Rename SaveCardButton() to CreateCardButton()
codeguru42 Aug 22, 2024
47ae1c3
Edit card
codeguru42 Aug 22, 2024
4cf2fb2
Go back to list after saving existing card
codeguru42 Aug 22, 2024
3ae3279
Update versionCode and versionName to match build on Google Play...fo…
codeguru42 Aug 22, 2024
b796c0b
Need card's id to update
codeguru42 Aug 22, 2024
2ba2755
Move imePadding() to Scaffold
codeguru42 Aug 22, 2024
19b4ad4
Refactor setup
codeguru42 Aug 22, 2024
790bd0c
Rename test
codeguru42 Aug 22, 2024
4a37091
Refactor cardListState as field
codeguru42 Aug 22, 2024
ab8822f
Test selecting card
codeguru42 Aug 23, 2024
c57fa84
Refactor
codeguru42 Aug 23, 2024
fa4fa7a
Refactor TestBase
codeguru42 Aug 24, 2024
dba4460
Fix enterData()
codeguru42 Aug 25, 2024
ca4d8db
Google Truth
codeguru42 Aug 25, 2024
caea687
Use Truth assertion
codeguru42 Aug 25, 2024
396b771
Formatting
codeguru42 Aug 28, 2024
57edcaf
Test editing a card
codeguru42 Aug 28, 2024
c775bf0
Debug logging
codeguru42 Aug 28, 2024
f29f597
Cleanup redundant return type
codeguru42 Aug 28, 2024
414bb1d
Revert "Debug logging"
codeguru42 Aug 28, 2024
e1db67a
Edit with a card that has a different position than the original
codeguru42 Aug 28, 2024
108100a
Refactor BaseballCardFilterScreenTest
codeguru42 Aug 28, 2024
47380fa
Formatting
codeguru42 Aug 28, 2024
ac46511
Implement entering text in filter form
codeguru42 Aug 28, 2024
16fb53e
Keyboard options for text fields on filter screen
codeguru42 Aug 29, 2024
2666b11
Layout for BaseballCardFilterScreen
codeguru42 Aug 29, 2024
275a7ef
Titles
codeguru42 Aug 30, 2024
546217d
IME padding for filter screen
codeguru42 Aug 30, 2024
ad96a82
Formatting
codeguru42 Aug 30, 2024
816971e
ViewModel dependency
codeguru42 Aug 30, 2024
c98cdac
Fix type for helper properties
codeguru42 Aug 31, 2024
6f96f2f
AutoComplete composable
codeguru42 Sep 1, 2024
9986335
Use AutoComplete for Brand field
codeguru42 Sep 1, 2024
5e11fbb
Refactor reusable components to separate files
codeguru42 Sep 2, 2024
701addb
Fix title for edit card screen
codeguru42 Sep 2, 2024
c72e45e
label parameter instead of labelText
codeguru42 Sep 7, 2024
ac08540
Allow typing in AutoComplete
codeguru42 Sep 7, 2024
bd0408a
Apply modifier to TextField in AutoComplete
codeguru42 Sep 7, 2024
7125e04
Pass keyboardOptions to TextField in AutoComplete
codeguru42 Sep 7, 2024
8cfa86c
Move navController.popBackStack() out of updateCard()
codeguru42 Sep 8, 2024
fd39bc2
Refactor reusable component to separate file
codeguru42 Sep 2, 2024
e027a98
Fix title for edit card screen
codeguru42 Sep 2, 2024
b668041
Move navController.popBackStack() out of updateCard()
codeguru42 Sep 8, 2024
cae0ca6
ViewModel for BaseballCardDetails
codeguru42 Sep 20, 2024
4d21317
ViewModel for BaseballCardList
codeguru42 Sep 20, 2024
2a0aca4
viewModel should be a local variable, not a parameter
codeguru42 Sep 20, 2024
d4a72a6
Form validation logic
codeguru42 Sep 20, 2024
5c690fa
Apply form validation to details screen
codeguru42 Sep 21, 2024
3f4e89c
Error handling for Select
codeguru42 Sep 21, 2024
eb0f06d
label instead of labelText
codeguru42 Sep 21, 2024
c91b2bb
Merge branch 'refs/heads/kotlin' into kotlin-autocomplete
codeguru42 Sep 21, 2024
1b990ce
Pass `isError` to child TextField
codeguru42 Sep 21, 2024
3d1f4c0
Formatting
codeguru42 Sep 21, 2024
29c0698
Default value for `isError`
codeguru42 Sep 21, 2024
6f3ebb7
Formatting
codeguru42 Sep 21, 2024
c535059
"number" doesn't have to be numeric
codeguru42 Sep 21, 2024
ace2e39
Separate error message for numeric inputs
codeguru42 Sep 21, 2024
00defe3
Remove unused parameter
codeguru42 Sep 22, 2024
4237fa7
Remove padding
codeguru42 Sep 22, 2024
7b9f6f5
Remove unused variable
codeguru42 Sep 22, 2024
d508690
Refactor
codeguru42 Sep 22, 2024
9833e28
Fix value validation
codeguru42 Sep 22, 2024
80f0d08
Fix saving new card
codeguru42 Sep 22, 2024
0bd074a
Refactor edit card
codeguru42 Sep 22, 2024
2c5451c
BaseballCardListViewModelFactory
codeguru42 Sep 23, 2024
695d2d7
BaseballCardFilterViewModel
codeguru42 Sep 23, 2024
53aa310
Packages for screens
codeguru42 Sep 23, 2024
50b39d6
Implement suggestions from https://stackoverflow.com/a/79016933/14405…
codeguru42 Sep 26, 2024
8f4e7eb
Upgrade dependency versions
codeguru42 Nov 24, 2024
0c4397e
Upgrade AGP
codeguru42 Nov 24, 2024
3f78d6d
Upgrade to SDK 35
codeguru42 Nov 24, 2024
a13d708
Merge branch 'kotlin' into kotlin-autocomplete
codeguru42 Nov 24, 2024
ba5292d
Clean up imports
codeguru42 Nov 24, 2024
b9c8309
Revert "Implement suggestions from https://stackoverflow.com/a/790169…
codeguru42 Nov 24, 2024
608a976
Go back to a version of AutoComplete that uses ExposedDropdownMenu
codeguru42 Nov 24, 2024
d2c8693
Use AutoComplete for player names and teams
codeguru42 Nov 24, 2024
b8d63fe
Rename extension method
codeguru42 Nov 24, 2024
040efcb
Kotlin serialization dependency
codeguru42 Nov 25, 2024
e5f7fba
Safeargs dependency
codeguru42 Nov 25, 2024
8a2542e
Implement safeargs for navigation routes
codeguru42 Nov 25, 2024
29d2b27
Fix serialization
codeguru42 Nov 25, 2024
a7bb030
Clean up dependency syntax
codeguru42 Nov 25, 2024
b22e598
BaseballCardListViewModel.getBaseballCards()
codeguru42 Nov 25, 2024
a311d65
Pass in event handlers for menu items instead of the navController
codeguru42 Nov 27, 2024
f537521
Do filter screen as a bottom sheet
codeguru42 Nov 27, 2024
20dbf3b
Store filter year as an int
codeguru42 Nov 25, 2024
1e6f32a
Fix how year works in the filter UI
codeguru42 Nov 27, 2024
728e4bc
Fix formatting
codeguru42 Nov 27, 2024
ee39051
Move BaseballCardFilterState to its own file
codeguru42 Nov 25, 2024
a189a09
Fix `BaseballCardListViewModel.getBaseballCards()`
codeguru42 Nov 28, 2024
85c642a
Translate BaseballCardCsvFileReader from Java to Kotlin
codeguru42 Nov 29, 2024
58a9978
CSV files with test data
codeguru42 Nov 29, 2024
3f0b776
Fix test so it compiles
codeguru42 Nov 29, 2024
0ed2b0f
LoadDataTest
codeguru42 Nov 29, 2024
c4b7ca5
Add Cards menu for manual testing and debugging
codeguru42 Nov 29, 2024
07bae95
Remove unused variable
codeguru42 Nov 29, 2024
e113690
Rename test file
codeguru42 Nov 29, 2024
4799565
CardListTestRule
codeguru42 Nov 30, 2024
ba5ef2a
Use CardListTestRule
codeguru42 Nov 30, 2024
8b84886
CardDatabaseTestRule
codeguru42 Nov 30, 2024
67d8177
Test filtering cards
codeguru42 Nov 30, 2024
1ab8bd7
Implement filtering
codeguru42 Dec 12, 2024
e04e8f7
Fix closing filter bottom sheet with X button
codeguru42 Dec 16, 2024
0cc77c8
Clear filter menu
codeguru42 Dec 16, 2024
8ea089e
Crossfade label
codeguru42 Dec 16, 2024
3883557
Refactor BaseballCardState to its own file
codeguru42 Dec 12, 2024
8ba1458
Trailing commas
codeguru42 Dec 16, 2024
c00a198
Fix "clear filter" menu by using state
codeguru42 Dec 16, 2024
3b7a921
Refactor menu buttons
codeguru42 Dec 16, 2024
6bf79c8
Set windowInsets of TopBar when used in BaseballCardFilterScreen
codeguru42 Dec 17, 2024
28eb6d5
Use BaseballCardFilterState directly for editing, not the one in Base…
codeguru42 Dec 17, 2024
ae03ffc
Remove checkboxes from filter screen
codeguru42 Dec 17, 2024
0393793
Move Apply Filter button to TopBar of FilterScreen
codeguru42 Dec 17, 2024
752afc1
Remove unused parameter
codeguru42 Dec 17, 2024
5f41548
Remove unused dependency
codeguru42 Dec 18, 2024
6a3f34c
Lite and Premium product flavors
codeguru42 Dec 17, 2024
dfdde01
Ad banner
codeguru42 Dec 18, 2024
8d7be88
Use my actual Ad Unit
codeguru42 Dec 20, 2024
51ee72c
Wrap everything in a Column
codeguru42 Dec 20, 2024
43bbeae
Internet permissions
codeguru42 Dec 20, 2024
2a80c14
Refactor AdBanner composable
codeguru42 Dec 20, 2024
b0f3ce2
Back to test Ad Unit
codeguru42 Dec 22, 2024
2741b2e
AdListener logging
codeguru42 Dec 22, 2024
04ffefd
Fix layout for ListScreen
codeguru42 Dec 23, 2024
614f8a7
Suppress warning here
codeguru42 Dec 23, 2024
4868972
Revert "Back to test Ad Unit"
codeguru42 Dec 23, 2024
d3e21f8
Revert "AdListener logging"
codeguru42 Dec 23, 2024
09878d4
Fix test compiler error
codeguru42 Dec 23, 2024
448258a
Delete original Java implementation
codeguru42 Dec 23, 2024
2cc83e6
Update versionCode and versionName
codeguru42 Dec 23, 2024
b982dfd
Update dependencies
codeguru42 Dec 23, 2024
9fd9074
Success and failure snackbars
codeguru42 Dec 23, 2024
f5b7d4c
Simplify code in ViewModel
codeguru42 Dec 23, 2024
f2d9c7d
Room Gradle Plugin
codeguru42 Dec 23, 2024
8185841
Use runTest
codeguru42 Dec 24, 2024
bafa53f
Upgrade kotlin version
codeguru42 Dec 24, 2024
c08f6d6
Preserve nullability in BaseballCard model to match Java implementation
codeguru42 Dec 24, 2024
e03c8c6
Copy generated schemas from Java implementation
codeguru42 Dec 24, 2024
c93a335
Revert "Preserve nullability in BaseballCard model to match Java impl…
codeguru42 Dec 24, 2024
8995d93
Migrate to NOT NULL constraints
codeguru42 Dec 24, 2024
cf7dd96
Delete BaseballCardSQLHelper.java, just declare schema names as consts
codeguru42 Dec 24, 2024
1ce34a6
Simplify names
codeguru42 Dec 24, 2024
61a0ac7
Rename tests
codeguru42 Dec 24, 2024
ca7ec2b
Fix compiler error in test
codeguru42 Dec 24, 2024
c4d1d9e
Fix refresh bug
codeguru42 Dec 24, 2024
90005af
Fix filter bug...and maintain refresh list
codeguru42 Dec 25, 2024
cd809d6
Fix flow inefficiencies
codeguru42 Dec 25, 2024
97699a2
Merge remote-tracking branch 'origin/main' into kotlin
codeguru42 Dec 25, 2024
46a8698
Update copyright years
codeguru42 Dec 25, 2024
3556814
Fix build pipeline
codeguru42 Dec 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Formatting
codeguru42 committed Aug 11, 2024
commit 1a91b084aa6ad7d593d7450a238522aeb48b215b
10 changes: 5 additions & 5 deletions app/src/main/java/bbct/android/data/BaseballCardDao.kt
Original file line number Diff line number Diff line change
@@ -23,11 +23,11 @@ interface BaseballCardDao {

@Query(
"SELECT * FROM baseball_cards " +
"WHERE brand LIKE :brand " +
" AND (year = :year OR -1 = :year) " +
" AND number LIKE :number " +
" AND player_name LIKE :playerName " +
" AND team LIKE :team"
"WHERE brand LIKE :brand " +
" AND (year = :year OR -1 = :year) " +
" AND number LIKE :number " +
" AND player_name LIKE :playerName " +
" AND team LIKE :team"
)
fun getBaseballCards(
brand: String?, year: Int, number: String?, playerName: String?, team: String?