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
298f3ce4db
Merge branch 'android:main' into main
1 year ago
Simon Marquis
c98e6236d5
Replace identical `InstantSerializer` with KotlinX datetime default serializer
1 year ago
Jose Alcérreca
5b79869324
Adds dark screenshot tests and fixes background colors in ForYou ( #918 )
...
* Adds dark screenshot tests and fixes background colors in ForYou
* 🤖 Updates screenshots
1 year ago
Roy Matero
4e6cda1965
Renamed toggle function signature with boolean parameters
...
Change-Id: I0d6c0ed4d4c0ee4bd387e5645fc558970f5f202b
1 year ago
Milosz Moczkowski
c57fb78fa7
Merge pull request #759 from SimonMarquis/lint/sarif
...
Android Lint improvements
1 year ago
Jose Alcérreca
886158d3cb
Adds Screenshot testing with Roborazzi ( #876 )
...
* Adds screenshot tests using Roborazzi (Robolectric Native Graphics)
- Adds Roborazzi to convention plugins
- Adds Screenshot helper in :core-testing
- Creates screenshot suites for :app and :feature-foryou
* CI and spotless
* Moves :app tests to testDemo and makes NiaAppScreenSizesScreenshotTests prettier
* CI: Moves local tests to their own step
* CI: Adds --rerun to screenshot task
* CI: Moves screenshots before local tests
* CI: Fixes wrong if statement in workflow
* CI WIP: trying to trigger the push step
* CI: Re-enables roborazzi verification
* Fixes flaky screenshot tests by setting LocalInspectionMode on
* CI: screenshot commits now use the original author intead of bot account
* CI: Disables globbing because file_pattern didn't work
* CI: Trying new file pattern for png files
* CI: Adds a check for forks
* 🤖 Updates screenshots
* Code review: toml cleanup, comments
* Use new github.event.pull_request.head.repo.fork
Co-authored-by: Simon Marquis <contact@simon-marquis.fr>
* Uses Robolectric qualifiers to set the dpi, adds section to README
* Spotless
* Delegates creation of repository to Hilt in test
* Revert "Use new github.event.pull_request.head.repo.fork"
* 🤖 Updates screenshots
* Empty commit to trigger GHA on main branch
* Makes time zones deterministic in screenshot tests
* Increases GMD timeout to 90m, but it has to be reduced
---------
Co-authored-by: Simon Marquis <contact@simon-marquis.fr>
1 year ago
lihenggui
fcc49d141d
Upgrade Gradle to v8.3
1 year ago
Milosz Moczkowski
928833fe5d
Merge pull request #889 from RivanParmar/main
...
Rename SearchResult.kt.kt to SearchResult.kt
1 year ago
Jose Alcérreca
6c0d6ad82e
Fixes icons size in onboarding and restores LocalInspection for images ( #909 )
...
* Fixes icons size in onboarding and restores LocalInspection for images
1 year ago
Simon Marquis
0ced769999
Widen `isNotEmpty` with `isNotBlank` to potentially catch blank values
1 year ago
Simon Marquis
4a5ec5bd82
Update `var` with fake default value to the more "correct" `lateinit var`
1 year ago
Simon Marquis
f1bc6f1226
Restore `Unknown` type as empty `String`
1 year ago
Simon Marquis
c831dc673c
Fix broken text
1 year ago
Simon Marquis
daa2228132
Restore original `type` labels
1 year ago
Simon Marquis
480d8e7d7c
Fix missing removal
1 year ago
Simon Marquis
553b01fcb6
spotlessApply
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
Adetunji Dahunsi
153b34fd50
Merge pull request #850 from qamarelsafadi/loading-progress-for-image
...
Fix #849 : Loading progress for image
1 year ago
RivanParmar
9e1d46e28c
Rename SearchResult.kt.kt to SearchResult.kt
1 year ago
Don Turner
492697ce6b
Merge pull request #873 from SimonMarquis/misc-warnings
...
Fix miscellaneous warnings
1 year ago
qamarelsafadi
308f51f87d
Merge remote-tracking branch 'origin/loading-progress-for-image' into loading-progress-for-image
1 year ago
Qamar A. Safadi
2db3e0c804
Merge branch 'android:main' into loading-progress-for-image
1 year ago
qamarelsafadi
5d7e33d905
fix formatting
1 year ago
Don Turner
8901e5932a
Merge pull request #872 from SimonMarquis/data-objects
...
Convert 'sealed' sub-object to 'data object'
1 year ago
Don Turner
0e13207a40
Merge pull request #874 from SimonMarquis/string-decoder
...
Replace StringDecoder injection with simpler API
1 year ago
qamarelsafadi
f203e9a218
feat: replacing SubcomposeAsyncImage as its not recommended to use with lazyLayout
1 year ago
Qamar A. Safadi
5abc69fb49
Merge branch 'android:main' into loading-progress-for-image
1 year ago
Don Turner
4d0efef3b4
Merge pull request #879 from tatsuyafujisaki/rename-constants
...
Rename constants
1 year ago
AlirezaJoon
a23ffab602
fix: add label to animations for fixing lint issue
1 year ago
Qamar A. Safadi
8aa0457ca9
Merge branch 'android:main' into loading-progress-for-image
1 year ago
Tatsuya Fujisaki
4eeb045287
Rename constants
1 year ago
Adetunji Dahunsi
ec53d03854
Merge pull request #722 from android/tj/scrollbars
...
Add scrollbars to app
1 year ago
Simon Marquis
e8449112b4
Replace StringDecoder injection with simpler API
...
The initial reason for this `StringDecoder` was to make sure the AndroidX navigation route would not use incompatible chars in the resulting String.
For that, `Uri.encode(String)` was used, but this is an Android API (`android.net.Uri`).
Unit tests would fail because Uri is not mocked (since we are not using Robolectric).
Therefore, a `StringDecoder` interface was introduced with 2 implementations: `UriDecoder` and `FakeStringDecoder`, Hilt modules were added, etc.
FWIW, the naming of the API was misleading: `StringDecoder.decodeString(encodedString: String)` does not inform how encoded the input is, so `UriDecoder` could "decode" something that was not necessarily uri "encoded".
The solution to this problem was to simply use regular Java APIs:
- `URLDecoder.decode(urlEncodedTopicId, "UTF-8")`
- `URLEncoder.encode(topicId, "UTF-8")`
1 year ago
Simon Marquis
4bdc9705af
Fix miscellaneous warnings
...
- Remove unused namespace declaration
- Collapse empty manifest tags
- Remove redundant qualifier name
- Remove redundant suppression
1 year ago
Simon Marquis
b7799f0475
Convert 'sealed' sub-object to 'data object'
1 year ago
qamarelsafadi
5bbcc904e9
feat: make painter in one line
1 year ago
qamarelsafadi
3595d8dcb5
feat: move the placeholder default value to the method
1 year ago
Qamar A. Safadi
9f3103c212
Merge branch 'android:main' into loading-progress-for-image
1 year ago
prosixe
c779b4e8ca
Typo fix for topics
...
tocpis -> topics
1 year ago
qamarelsafadi
e276212574
feat: remove check if placeholder null and put a default placeholder if its not passed.
1 year ago
qamarelsafadi
9c1ec17a39
fix: modifier to Modifier
1 year ago
qamarelsafadi
57025e7587
fix: review notes
1 year ago
qamarelsafadi
8a197800c5
feat: fix format issue
1 year ago
qamarelsafadi
f4859e0bcd
Merge remote-tracking branch 'origin/loading-progress-for-image' into loading-progress-for-image
1 year ago
Qamar A. Safadi
06e91fd623
Merge branch 'android:main' into loading-progress-for-image
1 year ago
qamarelsafadi
a294adb6b9
feat: fix format issue
1 year ago
Adetunji Dahunsi
48041fcaa4
Merge pull request #835 from blackbracken/avoid_retrieving_unnecessary_entity
...
Call getNewsResourceIds instead of getNewsResources
1 year ago
qamarelsafadi
7a05f7db96
feat: Show loading progress for Image Component as a solve for
...
//TODO b/228077205,
1 year ago
qamarelsafadi
3284eb68a3
feat: Show loading progress for Image Component as a solve for
...
//TODO b/228077205,
1 year ago
qamarelsafadi
42b16bf7be
Merge remote-tracking branch 'origin/main'
1 year ago
Qamar Safadi
ee8b70003d
feat: Show loading progress for Image Component as a solve for
...
//TODO b/228077205,
1 year ago
TJ Dahunsi
9babb50c58
Interact with scrollbar only if drag direction matches scrollbar orientation
...
Change-Id: I8fb5a64098ea83458d25fd2b7363a6b5dd3fef2f
1 year ago
TJ Dahunsi
e13e84c155
Replace usages of 'displacement' to 'moved' in parameter names
...
Change-Id: I5b3da60041b046454e848d187f6dd2bfadf22b9a
1 year ago
TJ Dahunsi
806726a7f0
PR feedback
...
Change-Id: I6e9f4a2ba53e81d32d07e229eb848541801eca18
1 year ago
TJ Dahunsi
eeb4973265
PR feedback
...
Change-Id: I48492e3c121ff8b2ee6bbbac08aa1829f6a6467f
1 year ago
TJ Dahunsi
2dba522663
Check if first item size == 0
...
Change-Id: I41acffad84d9db1cf407f77b04530643933f98bf
1 year ago
TJ Dahunsi
cb1d50e65e
Even better names
...
Change-Id: Ia699c3ce8fd1ce7a6e406b00c81dc196b487ed65
1 year ago
TJ Dahunsi
ce6eaa9d64
Fix spotless
1 year ago
TJ Dahunsi
4858167b24
Added clarifying comments to code and used better variable names
1 year ago
TJ Dahunsi
bda31e9d15
Default scrollbars to dormant
1 year ago
TJ Dahunsi
d6a265093d
Extract scrollbar values to constants
1 year ago
TJ Dahunsi
795c5e32a9
Add hoverable to scrollbar
1 year ago
TJ Dahunsi
31b4841cb2
Add scrollbars to app
1 year ago
Márton Braun
56389cb760
Merge pull request #752 from SimonMarquis/kotlin-1.9.0
...
Kotlin 1.9.0
1 year ago
Simon Marquis
f7ed38182d
Add protobuf generated sources to the sourceSets
...
And update to version 3.23.4.
1 year ago
blackbracken
b570be2abb
reformat by spotless
1 year ago
blackbracken
e9a16e437d
add kdoc for getNewsResourceIds
1 year ago
blackbracken
805914dade
Call getNewsResourceIds instead of getNewsResources
1 year ago
Milosz Moczkowski
7b6c3a16ca
Merge pull request #823 from ahmed-madhoun1/allow_localised_date_format
...
Allow localised date format
1 year ago
Don Turner
b2a74ba174
Merge pull request #812 from Askeri-Muhendis/main
...
Kotlin Coding conventions
1 year ago
TJ Dahunsi
c4686cfa54
Track when deep link notifications are opened
...
Change-Id: I223b1c8fbca36f9b7f2a35d9cb2fa901d6f5be91
1 year ago
ahmedmadhoun1
3114b2eeaa
Allow localised date format
1 year ago
Simon Marquis
d136965a0d
Merge branch 'main' into lint/sarif
1 year ago
İbrahim Ethem Şen
6271d1c4c0
Merge branch 'android:main' into main
1 year ago
İbrahim Ethem Şen
56f8a27132
Kotlin coding conventions places companion object at the bottom of the class
1 year ago
Tomáš Mlynarič
8e1e994bb1
Add named arguments
...
Change-Id: Ic91ae4fc04bf8eb92c3e5845c7e984475526ec91
1 year ago
Tomáš Mlynarič
4a8a43551a
Add contentType to news feed
...
Before
ScrollForYouFeedBenchmark_scrollFeedCompilationFull
frameDurationCpuMs P50 4.9, P90 6.9, P95 7.6, P99 9.5
frameOverrunMs P50 -10.3, P90 -6.8, P95 -2.8, P99 -2.1
Traces: Iteration 0 1 2 3 4 5 6 7 8 9
After
ScrollForYouFeedBenchmark_scrollFeedCompilationFull
frameDurationCpuMs P50 4.6, P90 6.3, P95 7.2, P99 9.2
frameOverrunMs P50 -10.6, P90 -8.7, P95 -7.8, P99 -4.7
Traces: Iteration 0 1 2 3 4 5 6 7 8 9
Change-Id: I5589776f9627c27154873529c9ca9dd055a8a8ef
1 year ago
Simon Marquis
8e708cca05
Merge branch 'main' into lint/sarif
1 year ago
James Rose
7826b4f5f2
Merge pull request #748 from SimonMarquis/fix/permissions
...
Grant `POST_NOTIFICATIONS` permission in more instrumented tests
1 year ago
Adetunji Dahunsi
890c0f5769
Merge pull request #776 from SimonMarquis/fix/714
...
Keep track of matching `Network`s inside `NetworkCallback`
2 years ago
Simon Marquis
27154ef38a
Apply changes from review comments
2 years ago
Miłosz Moczkowski
479a2f00b0
Refactor icons
2 years ago
Milosz Moczkowski
1345764649
Merge pull request #770 from android/refactor/remove_unused_statements
...
Remove unused statements
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
Miłosz Moczkowski
99094199bc
Remove redundant suppressions
...
Change-Id: Iae08b6f284cf7a387922fdec34c8a0aa0da809ef
2 years ago
Miłosz Moczkowski
5bf66739bd
Remove redundant statements
...
Change-Id: Iaa25b7ba033d5e9c85cc2dc433197ed7b8b6cb89
2 years ago
Simon Marquis
9aba5cc0fe
Cleanup unused string resources
2 years ago
Simon Marquis
8ea9a8fa51
Android Lint improvements
...
- Create `LintConventionPlugin` to configure Lint on all compatible modules: Android applications, Android libraries and JVM modules.
- Run `lintProdRelease` in CI instead of the default `lintDemoDebug` which is less important compared to production code.
- Rearrange CI steps to make it more clear that Lint should is an additional step after build (build -> test -> lint).
- Enable SARIF support and upload results to GitHub's CodeQL to get inline feedback on PRs.
If we really need better perfs, we could restore `lint.checkDependencies = true` on the `:app` module and only execute `:app:lintProdRelease`.
But in practice, this does not change the total build time on this project.
2 years ago
Adetunji Dahunsi
f914254414
Merge pull request #749 from android/tj/reactive-only-dao
...
Ensure DAO exposes only reactive types
2 years ago
Don Turner
d319264ef0
Provide Default dispatcher for instrumented tests
...
Change-Id: I488a9b9d9d3864ce9496614ab35332ec19d06bcc
2 years ago
Don Turner
b245334a18
Updating TestDataStoreModule to use ApplicationScope
2 years ago
TJ Dahunsi
dcc36b0228
Fix tests
...
Change-Id: Ie6b62071d2023e3a7ffe1553ab606e3f6b386a5e
2 years ago
Don Turner
4cdb5963a0
Add top level application scope, use IO dispatcher for DataStore
...
Change-Id: I1512b1665587c73abd5e8a78aa9abd3eed24ab79
2 years ago
TJ Dahunsi
cd6ad7d575
Ensure DAO exposes only reactive types
...
Change-Id: I8992ccf6525cd4c5ea9503d532b500e4d310b7fb
2 years ago
Simon Marquis
823c4db201
Grant `POST_NOTIFICATIONS` permission in more instrumented tests
...
Continues the work initiated in #738 .
Extract the SDK version check inside a `GrantPostNotificationPermissionRule` class that delegates to a regular `GrantPermissionRule`.
2 years ago
Don Turner
f87e769b7d
Merge pull request #681 from SimonMarquis/di/coroutine-scope
...
Add Application-wide `CoroutineScope` in the DI graph
2 years ago
Neelansh Sahai
bbdc62cbf4
Merge pull request #706 from gururani-abhishek/remove-onItemClick-parameter
...
fix #614 : removed unused onItemClick parameter from NewsResourceCardList.kt
2 years ago
Alex Vanyo
76b0b08121
Adjust JDK setup to remove toolchain
...
Change-Id: Ie0f43cb8f0fe504ed3e98ef35703949959688699
2 years ago
Milosz Moczkowski
e38e24eee9
Merge pull request #583 from SimonMarquis/jvmToolchain
...
Configure jvmToolchain for Android and Kotlin projects
2 years ago
Adetunji Dahunsi
ba1d9e14df
Merge pull request #716 from SimonMarquis/SimonMarquis-patch-3
...
Simplify handling of nullability in `ConnectivityManagerNetworkMonitor`
2 years ago
Don Turner
a4eab289df
Merge pull request #719 from android/add-search-analytics
...
Add analytics for search queries
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
Don Turner
0e40e26f22
Add analytics for search queries
...
Change-Id: If5290a903afb928fc1c3aaa66a52d2f182aba118
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
6e6abd0326
Fix build
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
TJ Dahunsi
8a3a16de21
Add pending intent for opening notification links
2 years ago
TJ Dahunsi
2499c0a0bd
Notify users when news are updated
2 years ago
Simon Marquis
ddabba8e4a
Merge branch 'main' into jvmToolchain
2 years ago
gururani-abhishek
f6bdba08d9
added comment to document what happens on tapping news resource card.
2 years ago
gururani-abhishek
bbc80bb0e2
added back launchCustomChromeTab()
2 years ago
gururani-abhishek
51379a249d
fix #614 : removed unused onItemClick parameter from NewsResourceCardList.kt
...
1. removed the unused onItemClick parameter
2. removed now redundant variables it used
3. removed its description from the comments.
2 years ago
Don Turner
2fd1b716f6
Merge pull request #667 from SimonMarquis/cleanup/warnings
...
Cleanup warnings and replace deprecated methods
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
Simon Marquis
1341f7c2c5
Replace unused variable with simpler method calls
2 years ago
Simon Marquis
459717f8ba
Remove `DSL_SCOPE_VIOLATION` suppression as it is now fixed in Gradle 8.1
2 years ago
Don Turner
e1ae12129a
Merge pull request #662 from android/av/agp-8.0
...
Update to AGP 8.0
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
Adetunji Dahunsi
73a38720d8
Merge pull request #649 from android/tj/backend-requested-sync
...
Wire up backend requested sync
2 years ago
Adetunji Dahunsi
6b834b6f4c
Applied code review suggestions
...
Change-Id: I12fab8e0d27a8a1805e0063054ec3382bebd78f1
2 years ago
Adetunji Dahunsi
b3f2502ec2
Update core/data/src/test/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt
...
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
2 years ago
Adetunji Dahunsi
f86d174c1b
Used more explicit variable names in tests
...
Change-Id: I2e0ebead70441eced05eb786aaa7683bfefa8976
2 years ago
Adetunji Dahunsi
337c940d66
Add comments explaining backend sync and made variable names easier to grok
...
Change-Id: I90cd7444de95efa20bf243a922a772f7849a23ec
2 years ago
Adetunji Dahunsi
022cd92f4c
Update core/data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepository.kt
...
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
2 years ago
Simon Marquis
5a43b4b74e
Run Spotless
2 years ago
Simon Marquis
aa701064a2
Add Application-wide `CoroutineScope` in the DI graph
...
Following the work of #607 .
2 years ago
Simon Marquis
9499e559e7
Delete no longer used `AUTHORS_ASSET` reference
2 years ago
Milosz Moczkowski
6bf37adde9
Merge pull request #671 from android/kotlin-version-updates
...
Update Kotlin, Compose compiler, serialization versions
2 years ago
Márton Braun
bea2eecd90
Update Kotlin, Compose compiler, serialization versions
...
Change-Id: I2aa0d07769e79e6f85824a391418566aef6b721e
2 years ago
Adetunji Dahunsi
05be2855d8
Wire up backend requested sync
...
Change-Id: I1d4485b589c7e94527a2a02f371cd3f030231622
2 years ago
James Rose
93953c2206
Add missing method doc
2 years ago
James Rose
050db2cb72
Merge branch 'main' into jr/track-viewed
2 years ago
James Rose
b49767a88c
Rename getUserNewsResources to observeAll
2 years ago
Alex Vanyo
086dc957c0
Update to AGP 8.0
...
Change-Id: I27eb106e484e2003d732782a39612dc72c845282
2 years ago
Milosz Moczkowski
feafb5fbed
Merge pull request #575 from takagimeow/fix/provide-true-to-local-inspection-mode
...
Provide true to LocalInspectionMode
2 years ago
Milosz Moczkowski
2b2f6d48ce
Merge pull request #600 from takagimeow/cleanup-unused-args
...
Remove newsResourceTitle from AnalyticsHelper.logNewsResourceOpened method
2 years ago
Milosz Moczkowski
0b0fdbfdbf
Merge branch 'main' into patch-2
2 years ago
Adetunji Dahunsi
08956492c8
Backend triggered sync
...
Change-Id: I53c43b136ebb755f6258b1e815301dddb3b536a3
2 years ago
Milosz Moczkowski
ba6a697844
Merge pull request #624 from SimonMarquis/gradle-sort
...
Sort and group Gradle dependencies
2 years ago
Chris Sinco
93c01ad184
Fix trailing commas based on spotless check
2 years ago
Chris Sinco
049750dd51
Merge branch 'main' into ui-polish
2 years ago
James Rose
57c13d84bd
Incorporate code review changes: Move UserNewsResourceRepository to data
...
module; move UserNewsResource to model module. Implement unread dot for
bookmarked articles. Keep the flows cold in UserNewsResourceRepository.
2 years ago