Simon Marquis
ebfe01affd
Enforce `resourcePrefix` on Android library modules
...
```
:ui-test-hilt-manifest -> ui_test_hilt_manifest_
:core:analytics -> core_analytics_
:core:common -> core_common_
:core:data -> core_data_
:core:data-test -> core_data_test_
:core:database -> core_database_
:core:datastore -> core_datastore_
:core:datastore-test -> core_datastore_test_
:core:designsystem -> core_designsystem_
:core:domain -> core_domain_
:core:network -> core_network_
:core:notifications -> core_notifications_
:core:testing -> core_testing_
:core:ui -> core_ui_
:feature:bookmarks -> feature_bookmarks_
:feature:foryou -> feature_foryou_
:feature:interests -> feature_interests_
:feature:search -> feature_search_
:feature:settings -> feature_settings_
:feature:topic -> feature_topic_
:sync:sync-test -> sync_test_
:sync:work -> sync_work_
```
1 year ago
Simon Marquis
a33dafccad
Migrate from `java` to `kotlin` sourceSet directory
1 year ago
Roy Matero
298f3ce4db
Merge branch 'android:main' into main
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
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
Adetunji Dahunsi
4716c7f841
Merge pull request #913 from hoangchungk53qx1/main
...
Refactor Search Feature
1 year ago
hoangchungk53qx1
66eafdc38b
format modification for screen search
1 year ago
Milosz Moczkowski
b6459d41ee
Merge pull request #834 from takahirom/takahirom/rename-topicBody/2023-07-13
...
Rename LazyListScope.TopicBody LazyListScope.topicBody
1 year ago
Milosz Moczkowski
374808c284
Merge pull request #847 from SilviaGarciaBouza/wrong_color_in_dark_mode
...
Added TextStyle color for ClickableText
1 year ago
hoangchungk53qx1
70498dd6e3
separate function logEvent for search triggered
1 year ago
hoangchungk53qx1
9cb20db93a
separate function logEvent for search triggered
1 year ago
hoangchungk53qx1
c52c4b88cd
replace object with data object in search feature, simple format code for the reader
1 year ago
hoangchungk53qx1
cd30ecf359
replace object with data object in search feature, simple format code for the reader
1 year ago
Milosz Moczkowski
89a1294c63
Merge branch 'main' into takahirom/rename-topicBody/2023-07-13
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
Adetunji Dahunsi
153b34fd50
Merge pull request #850 from qamarelsafadi/loading-progress-for-image
...
Fix #849 : Loading progress for image
1 year ago
Don Turner
492697ce6b
Merge pull request #873 from SimonMarquis/misc-warnings
...
Fix miscellaneous warnings
1 year ago
Qamar A. Safadi
2db3e0c804
Merge branch 'android:main' into loading-progress-for-image
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
Qamar A. Safadi
5abc69fb49
Merge branch 'android:main' into loading-progress-for-image
1 year ago
Simon Marquis
0418997f5a
Extract `UTF-8` character encoding
1 year ago
Don Turner
4d0efef3b4
Merge pull request #879 from tatsuyafujisaki/rename-constants
...
Rename constants
1 year ago
Qamar A. Safadi
8aa0457ca9
Merge branch 'android:main' into loading-progress-for-image
1 year ago
Adetunji Dahunsi
0a20cb729b
Merge pull request #877 from android/tj/scrollbars
...
Update feedItemsSize calculation
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
dahunsi
03610d229a
Update feedItemsSize calculation
...
Change-Id: I2bf6a2fa0e210cef1318707d948a49d2ef010452
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
Qamar A. Safadi
9f3103c212
Merge branch 'android:main' into loading-progress-for-image
1 year ago
Simon Marquis
995d7b643f
Add missing full stop in `search_not_ready` string
1 year ago
qamarelsafadi
f1a2993adc
feat: remove add placeholder todo
1 year ago
TJ Dahunsi
e13e84c155
Replace usages of 'displacement' to 'moved' in parameter names
...
Change-Id: I5b3da60041b046454e848d187f6dd2bfadf22b9a
1 year ago
TJ Dahunsi
eeb4973265
PR feedback
...
Change-Id: I48492e3c121ff8b2ee6bbbac08aa1829f6a6467f
1 year ago
TJ Dahunsi
bdf3ee3cb0
PR feedback
...
Change-Id: Ie22aa3c7fdf4c8ca8d8118837cfd279de8c6d80b
1 year ago
TJ Dahunsi
cb1d50e65e
Even better names
...
Change-Id: Ia699c3ce8fd1ce7a6e406b00c81dc196b487ed65
1 year ago
TJ Dahunsi
3aec705048
Add padding to scrollbars
1 year ago
TJ Dahunsi
31b4841cb2
Add scrollbars to app
1 year ago
Silvia García Bouza
0016b10037
Added TextStyle color for ClickableText
1 year ago
Milosz Moczkowski
9197b332c4
Merge pull request #825 from android/refactor/interest_item
...
Refactor InterestsItem to a Material3 ListItem
1 year ago
takahirom
ed90a382aa
Rename LazyListScope.TopicBody LazyListScope.topicBody
1 year ago
Miłosz Moczkowski
445c18a803
Refactor InterestsItem to Material3 ListItem
...
Change-Id: I12adc8820964aecd97ea0b4e22ae13e95e1428ab
1 year ago
Alex Vanyo
4d65946f95
Merge pull request #808 from SimonMarquis/compose-bom-2023-06-00
...
Upgrade Compose BoM `2023.06.00` and Compose compiler `1.4.7`
1 year ago
TJ Dahunsi
4af86580eb
Move analytics tracking of news deep link to an extension method
...
Change-Id: Id3d1a30d86634b9176067696db5ecfd4d02854a5
1 year ago
Milosz Moczkowski
7203460051
Merge branch 'main' into compose-bom-2023-06-00
1 year ago
TJ Dahunsi
c4686cfa54
Track when deep link notifications are opened
...
Change-Id: I223b1c8fbca36f9b7f2a35d9cb2fa901d6f5be91
1 year ago
Don Turner
21777aba65
Merge pull request #799 from android/tm/feed-content-type
...
Add contentType to news feed
1 year ago
Simon Marquis
40b5248302
Replace deprecated method `TextFieldDefaults.textFieldColors`
...
```
TextFieldColors' is deprecated. Renamed to `TextFieldDefaults.colors` with additional parameters to controlcontainer color based on state.
```
1 year ago
Alex Vanyo
9cd390c56a
Merge pull request #684 from MaximillianLeonov/feature-settings
...
Replace `if` condition with AnimatedVisibility component
1 year ago
Tomáš Mlynarič
19ffb53150
Don't use lambda contentType for a single item
...
Change-Id: I0588c031428d523707463c5f0f0b6c586ea5e2c3
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
cb84082ae7
Merge branch 'main' into patch/proguard
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
Amaury Medeiros
512930c239
Fix inline comment as suggested in PR
1 year ago
Amaury Medeiros
87c27f6b82
Apply suggested changes to inline comment
1 year ago
Amaury Medeiros
dd70bbd589
Fix ForYouScreen Compose Previews
...
Permissions should only be called in an Activity context, which is a layoutlib limitation. We need to avoid launching the permission request when in LocalInspectionMode, otherwise we'll have render errors on the ForYouScreen previews.
1 year ago
Maximillian Leonov
bea3661f81
Merge branch 'main' into feature-settings
...
# Conflicts:
# feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt
2 years ago
Maximillian Leonov
7dadf033c1
Add comment for ColumnScope usage
2 years ago
Miłosz Moczkowski
7b30720b25
Remove nested scaffold from the bookmarks screen
...
Change-Id: Ie8b6f160d341156a6f9c02c0ca7f530095fb2950
2 years ago
Milosz Moczkowski
1345764649
Merge pull request #770 from android/refactor/remove_unused_statements
...
Remove unused statements
2 years ago
Miłosz Moczkowski
83fa8c887f
Spotless apply
...
Change-Id: I80457acc6a49fe9755240a3d52ff96a8fdfd6b92
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
Milosz Moczkowski
2bf3018898
Merge pull request #763 from SimonMarquis/cleanup/unused-resources
...
Cleanup unused string resources
2 years ago
Simon Marquis
9aba5cc0fe
Cleanup unused string resources
2 years ago
Simon Marquis
b453386327
Ellipsis string can be replaced with ellipsis character
...
Lint: Replace `...` with ellipsis character `…`
2 years ago
Simon Marquis
8f41a6b3ab
Cleanup proguard configuration
...
- Remove custom KotlinX Serialization config as it's already provided, see https://github.com/Kotlin/kotlinx.serialization#android .
- Delete empty config files.
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
a03307e14d
Merge pull request #738 from SimonMarquis/patch-5
...
Grant `POST_NOTIFICATIONS` permission in instrumented tests
2 years ago
Simon Marquis
a93cce92f7
Update ForYouScreenTest.kt
2 years ago
Simon Marquis
69879ff874
Grant permission only if TIRAMISU or above
2 years ago
Simon Marquis
331e8cffac
Grant `POST_NOTIFICATIONS` permission in instrumented tests
2 years ago
Simon Marquis
d6ba65c77f
Update `BookmarksGrid` horizontal spacing to fix #732
2 years ago
Miłosz Moczkowski
f809142cb2
Add missing appcompat dependency
...
Change-Id: I6192623d21986962c17204720fa1a1778b773b56
2 years ago
Miłosz Moczkowski
13f1f8d096
Exclude transient appcompat dependency
...
Change-Id: Ifdd7e34192c5db8598c42f67088ac292b38ee3e2
2 years ago
Miłosz Moczkowski
c7c2bb04aa
Spotless apply
...
Change-Id: I773059a755bebf99af30a71fd44aa12e58f46b23
2 years ago
Miłosz Moczkowski
fc3d0ced20
Replace hardcoded license file with OSS licenses plugin
...
Change-Id: I4427fd5d7b7abd8a2912a41f61ffedfac4af9d6a
2 years ago
Milosz Moczkowski
5f49c6ae25
Merge pull request #568 from vishesh211/vishesh211/bug-534-interests-multiple-click
...
Interests multiple click
2 years ago
Don Turner
aae307ee08
Fix spotless
...
Change-Id: I84da36ba957cb74f9fb4479e81d714c2d8928a01
2 years ago
Don Turner
6343b831b9
Use NoOpAnalyticsHelper for tests
...
Change-Id: I44657037f8f7ec6e38bcc3901e235ceab8c71237
2 years ago
Don Turner
0e40e26f22
Add analytics for search queries
...
Change-Id: If5290a903afb928fc1c3aaa66a52d2f182aba118
2 years ago
Takeshi Hagikura
6a8736d4d0
Improvement in the Search screen ( #717 )
...
Combine the search result of topics and news resources in one
LazyVerticalGrid so that topics don't get in the way.
Before this change, the result of topics created a LazyColumn and
the result of news resources created the LazyVerticalGrid separately
that made the situation where there were two separete vertical scrolling
lists.
2 years ago
Adetunji Dahunsi
3b1b1ea4c1
Merge pull request #712 from android/tj/news-notifications
...
Notify users when news are updated
2 years ago
Simon Marquis
0ebd0ab660
Remove unused import
2 years ago
Simon Marquis
2291eb0fe2
Remove unused imports
2 years ago
Simon Marquis
634e7f0289
Remove `toUri()`
2 years ago
Simon Marquis
3b11156af5
Replace manual URI handling with Compose's `LocalUriHandler`
2 years ago
TJ Dahunsi
5d51cdcd28
Fix navigation tests
2 years ago
TJ Dahunsi
ef97cb941c
Route notification deep link through for you screen
2 years ago
TJ Dahunsi
2499c0a0bd
Notify users when news are updated
2 years ago
vishesh211
794d84cf67
done required cleanup
2 years ago
vishesh211
079f92ea32
feat: added launchSingleTop in navigate
2 years ago
vishesh211
487a288191
fix: removed disableSplitMotionEvents
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
Maximillian Leonov
6c18b25d5d
Replace `if` condition with AnimatedVisibility component
2 years ago
Neelansh Sahai
bf747434cd
Add Undo snackbar on Bookmark removal
...
Change-Id: I1fefd6e72378e26ae35b66e032529a116cff9a79
2 years ago