Simon Marquis
d56e06e676
Merge Android & JVM plugins into a single `HiltConventionPlugin`
6 months ago
Tomáš Mlynarič
c396352d83
Remove forgotten Trace.endSection()
...
Change-Id: Ib6f7678f5f1c4b0f93f1736b6453c649d6f7dc97
8 months ago
Tomáš Mlynarič
6b35cbb328
Offload connectivity monitor to a background thread
...
Change-Id: I9a2ef7766ae6abc6d8a7c86a4b49ef3c795e446c
8 months ago
Don Turner
ecdfdef4e4
Merge pull request #1291 from Jaehwa-Noh/rename
...
Rename Fake to Demo
9 months ago
Simon Marquis
ee8797f940
Delete unused `combine` extension in `SyncUtilities.kt`
9 months ago
Jaehwa Noh
27ca860745
Rename fake to demo.
...
Change-Id: I5b1d7963e623832a766900aa74ef1085aac0cacc
9 months ago
Alex Vanyo
78c77737c0
Merge pull request #1275 from Jaehwa-Noh/rename-function
...
Rename function to setNewsResourceBookmarked
9 months ago
Don Turner
a5025390af
Add title to READMEs to describe the dependency graph
...
Change-Id: Ifb4b44e67df53ddd8ed048122c6c12a904e61528
9 months ago
Jaehwa Noh
ee4320723f
Fix typo.
...
Change-Id: Id3aed2e3c54660fbbb42bc0c08dea68de0d5230f
9 months ago
Jaehwa Noh
ed91723e2f
Fix #1270
...
Change-Id: Id9774ad300b04c17cb1d7668c1ab1bac014bf70c
9 months ago
Don Turner
80a82de945
Update module dependency graphs and add script to create them
...
Change-Id: I7b2ae264ec84491c847a44869934e2f238564c31
10 months ago
Don Turner
350e7b1bba
Merge pull request #1144 from SimonMarquis/move-fakes-to-data-test-module
...
Move `:core:data` fake repositories to `:core:data-test`
10 months ago
Jaehwa Noh
52c0d7ae0a
Remove Insert function
...
- Insert is only used in test.
- Upsert do same thing as Insert.
Change-Id: Ib5f8e693e71c895b83e43f6b51cebdc698bf744b
10 months ago
Tomáš Mlynarič
9daedc9690
Improve converting to kotlin timezone
...
Change-Id: I2af929c341cb274ae6b93bb8dffe696de6ed1c63
11 months ago
Tomáš Mlynarič
12a3a6edde
Use trySend multiple times
...
Change-Id: Ie00c4180d07fc4bb9d457647f3b7ddadd5a3c032
11 months ago
Simon Marquis
3d339e1658
Move `:core:data` fake repositories to `:core:data-test`
...
Now that these fake implementations are no longer used in the production source code (only in tests), we can safely extract them out of this module.
Hopefully, we'll later be able to use Kotlin testFixtures for that.
References:
- #709
- #875
11 months ago
Tomáš Mlynarič
6ec3b3c7a2
Use androidx.tracing everywhere
...
Change-Id: I9a77c4434d271e2e23700823f9f513aa61d177f8
11 months ago
Tomáš Mlynarič
ea1573fcc1
Use kotlinx.datetime.Timezone instead of java ZoneId
...
Change-Id: I62c4d044b319a9b59e06bb42fd12971d992e8628
11 months ago
Tomáš Mlynarič
a16d5f726c
More readable zoneId creation
...
Change-Id: I912dc021554e4886a5d09e63799aa5c81e8fd16a
11 months ago
Tomáš Mlynarič
1e925ed99f
Conflate TimeZoneMonitor emissions
...
Co-authored-by: Alex Vanyo <vanyo@google.com>
11 months ago
Tomáš Mlynarič
cb00d2c8cb
Add TimeZoneMonitor to prevent multiple TimeZoneBroadcastReceivers
...
This way, we can save ~1ms per composed item on screen.
Change-Id: Ib9ada3cea53304fca4fb2b36c48c175845bc683d
11 months ago
Don Turner
707117a4f2
Merge branch 'main' into kotlinify
1 year ago
Simon Marquis
f27a2e176e
Reduce overall build complexity
...
- Reduce the visibility of multiple Hilt `Module`s and implementations of public interfaces
- Correctly configure the visibility of dependencies:
- `api` when it's part of it's public `api`
- `implementation` when it's part of it's internal `implementation`
- Remove unnecessary dependencies in build.gradle.kts files
- Remove unnecessary dependencies provided by plugins
- Remove unnecessary applied plugins (i.e. roborazzi)
- Sort dependencies in `build.gradle.kts`
- Delete unused entries in `libs.versions.toml`
1 year ago
Simon Marquis
caa482bc71
Kotlinify codebase
...
- Remove unnecessary nullable types
- Replace no-op method bodies with Unit
- Convert to expression body
- Replace if with when
- Remove braces from 'when' entries
- Remove braces from if statement
- Convert to single line lambda
- oneline if/returns
- Replace 'contains' call with 'in' operator
Following this refactor, it could be great to envision a more "strict" code formatter like ktlint 1.0 (we are currently stuck at 0.48.1)
1 year ago
Don Turner
a381d13199
Merge pull request #958 from McGalanes/main
...
Use typesafe project accessors
1 year ago
Melwin Magalhaes
6247712064
Add convention plugins to version catalogs
1 year ago
Melwin Magalhaes
b1266dc05a
Use typesafe project accessors for project modules
1 year ago
Simon Marquis
a33dafccad
Migrate from `java` to `kotlin` sourceSet directory
1 year ago
Don Turner
d0909a9c8f
Merge pull request #925 from SimonMarquis/remove-dispatcher
...
Remove unnecessary dispatcher switch in `DefaultRecentSearchRepository`
1 year ago
Simon Marquis
0ddcf0b4ab
Remove unnecessary dispatcher switch in `DefaultRecentSearchRepository`
...
As mentioned in the following discussion: https://github.com/android/nowinandroid/discussions/818
Room already takes care of switching dispatchers if the DAO method is correctly annotated with the `suspend` modifier.
1 year ago
Roy Matero
4e6cda1965
Renamed toggle function signature with boolean parameters
...
Change-Id: I0d6c0ed4d4c0ee4bd387e5645fc558970f5f202b
1 year ago
Simon Marquis
daa2228132
Restore original `type` labels
1 year ago
Simon Marquis
0377fd8712
Replace `NewsResourceType` enum with simpler String type
...
See this discussion for rationale: https://github.com/android/nowinandroid/discussions/901
1 year ago
blackbracken
805914dade
Call getNewsResourceIds instead of getNewsResources
1 year ago
Simon Marquis
27154ef38a
Apply changes from review comments
2 years ago
Simon Marquis
fecab96e4c
Keep track of matching `Network`s inside `NetworkCallback`
...
This will ensure the connectivity state remains synchronized with the `ConnectivityManager`.
Fixes #714
2 years ago
TJ Dahunsi
dcc36b0228
Fix tests
...
Change-Id: Ie6b62071d2023e3a7ffe1553ab606e3f6b386a5e
2 years ago
TJ Dahunsi
cd6ad7d575
Ensure DAO exposes only reactive types
...
Change-Id: I8992ccf6525cd4c5ea9503d532b500e4d310b7fb
2 years ago
Adetunji Dahunsi
ba1d9e14df
Merge pull request #716 from SimonMarquis/SimonMarquis-patch-3
...
Simplify handling of nullability in `ConnectivityManagerNetworkMonitor`
2 years ago
James Rose
2f2dfb00a4
Mark all news resources read on first sync
...
Otherwise, there will be unread articles until the user clicks through
every article that has ever been published.
2 years ago
Simon Marquis
ec9155fef9
Update ConnectivityManagerNetworkMonitor.kt
2 years ago
Simon Marquis
7819a0c6bc
Extract common code to update the Flow value
2 years ago
Simon Marquis
def5c4e881
Update ConnectivityManagerNetworkMonitor.kt
2 years ago
Simon Marquis
76c249a651
Update ConnectivityManagerNetworkMonitor.kt
2 years ago
Simon Marquis
f34ee1c01b
Update ConnectivityManagerNetworkMonitor.kt
2 years ago
Simon Marquis
de6545f5d7
Simplify handling of nullability in `ConnectivityManagerNetworkMonitor`
2 years ago
TJ Dahunsi
9562f7707d
Route notification deep link through for you screen, with spotless fixes
2 years ago
TJ Dahunsi
ef97cb941c
Route notification deep link through for you screen
2 years ago
Milosz Moczkowski
c746b6afcd
Merge pull request #598 from takagimeow/fix/clean-up-unused-update-topics
...
Clean up unused updateTopics and updateNewsResources methods
2 years ago
Takeshi Hagikura
b3cdc172cd
Implement search feature ( #685 )
...
Implement search feature
- Add a feature module named "search"
- Add a SearchScreen that is navigated by tapping the search icon at the top left corner
- Add a data layer that takes care of populating the *Fts tables and querying them by a search query
- Add a SearchViewModel that wires up the data layer of the Fts tables with the SearchScreen
The SearchScreen has following features:
- The user is able to type the search query in the TextField
- The search result is displayed as the user types
- When the search result is clicked, it navigates to:
- The InterestsScreen when a topic is clicked
- Chrome custom tab with the URL of the clicked news resource
- When the search result is clicked or the IME is explicitly closed by the user, the current search query in the TextField is saved as recent searches
- Latest recent searches are displayed in the SearchScreen
2 years ago