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
2 years ago
TJ Dahunsi
c4686cfa54
Track when deep link notifications are opened
...
Change-Id: I223b1c8fbca36f9b7f2a35d9cb2fa901d6f5be91
2 years ago
ahmedmadhoun1
3114b2eeaa
Allow localised date format
2 years ago
Simon Marquis
d136965a0d
Merge branch 'main' into lint/sarif
2 years ago
İbrahim Ethem Şen
6271d1c4c0
Merge branch 'android:main' into main
2 years ago
İbrahim Ethem Şen
56f8a27132
Kotlin coding conventions places companion object at the bottom of the class
2 years ago
Tomáš Mlynarič
8e1e994bb1
Add named arguments
...
Change-Id: Ic91ae4fc04bf8eb92c3e5845c7e984475526ec91
2 years 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
2 years ago
Simon Marquis
8e708cca05
Merge branch 'main' into lint/sarif
2 years ago
James Rose
7826b4f5f2
Merge pull request #748 from SimonMarquis/fix/permissions
...
Grant `POST_NOTIFICATIONS` permission in more instrumented tests
2 years 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