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`
1 year ago
Simon Marquis
27154ef38a
Apply changes from review comments
1 year 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
Simon Marquis
8ec54d19d8
Sort and group Gradle dependencies thanks to square/gradle-dependencies-sorter
2 years ago
James Rose
ebfbb5bafd
Display unread state on the news feed and bottom nav bar
...
When a news resource is unread, display a dot on its card in the news
feed. When the For You section has unread resources, display a dot on
its icon in the navigation bar.
Update the read status when a resource is opened.
2 years ago
James Rose
bd450099fb
Replace GetUserNewsResourcesUseCase with UserNewsResourceRepository
...
This moves the responsibility for joining the UserData and the
NewsResources to UserNewsResourceRepository. This way, the work can be
done once and shared with all consumers in a SharedFlow, rather than
having each consumer perform the join itself by invoking the UseCase.
2 years ago
James Rose
9ee2acf327
Add viewed status for news resources to data layer
2 years ago
Adetunji Dahunsi
ebdb8589a6
Merge pull request #608 from android/tunjid-batch-sync
...
Batch sync news resources from remote
2 years ago
Keisuke Takagi
d56d8e1380
Merge branch 'main' of https://github.com/takagimeow/nowinandroid into fix/clean-up-unused-update-topics
2 years ago
Don Turner
6d1f85b8ce
Merge pull request #607 from android/mv/tests
...
Provide a CoroutineScope to fake DataStores
2 years ago
Adetunji Dahunsi
8765d3ac57
Fix tests for batched news resource sync
...
Change-Id: I37545eba8618edc936eb12fa38628d98f85f52ed
2 years ago
Adetunji Dahunsi
1e8d1d9810
Spotless fix
...
Thought I was cool enough to edit code in the browser. Spotless said no.
2 years ago
Adetunji Dahunsi
267adfd27f
Batch sync news resources from remote
...
Batch sync news resources from remote to reduce json payload size.
2 years ago
Alex Vanyo
0844d021b9
Merge pull request #603 from amalhanaja/redundant-managed-device
...
Remove redundant code block for managed virtual device creation
2 years ago
Manuel Vivo
755413bfc5
Fix spotless
2 years ago
Manuel Vivo
91633af376
Provide a CoroutineScope to fake DataStores
2 years ago