Simon Marquis
b043d8db86
Replace workaround on SettingsViewModel now that a fix has been deployed
...
The issue has been addressed in `androidx.compose.ui:ui:1.5.0`.
1 year ago
Don Turner
89d39a7242
Merge pull request #767 from SimonMarquis/resource-prefix
...
Enforce `resourcePrefix` on Android library modules
1 year ago
Simon Marquis
cd62fd5e01
Update feature/search/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/search/navigation/SearchNavigation.kt
1 year ago
Simon Marquis
b7a628ece5
Update feature/interests/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt
1 year ago
Simon Marquis
6cd5958665
Update feature/bookmarks/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt
1 year ago
Simon Marquis
65f0d5b2d9
Update feature/foryou/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/navigation/ForYouNavigation.kt
1 year ago
Don Turner
9d41ffa318
Merge branch 'main' into kotlinify
1 year ago
Simon Marquis
b6d82e24df
Merge branch 'main' into kotlinify
1 year ago
lihenggui
2a2d8ed88d
Change the name of FOR_YOU_NAVIGATION_ROUTE to FOR_YOU_ROUTE
1 year ago
lihenggui
32e1ec0447
Remove violations: property-naming
1 year ago
lihenggui
f8f932705a
Remove violations: discouraged-comment-location
1 year ago
lihenggui
fb5bd225be
Spotless
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
Simon Marquis
988002e692
Update Robolectric 4.11.1
...
- https://github.com/robolectric/robolectric/releases/tag/robolectric-4.11
- https://github.com/robolectric/robolectric/releases/tag/robolectric-4.11.1
> Robolectric 4.11 adds support for Android SDK 34 (U). It also contains many bug fixes, performance improvements, and Shadow API enhancements. Robolectric 4.11 removes support for Android SDKs 18 and below.
Removing explicit API 33 Robolectric configuration.
1 year ago
Miłosz Moczkowski
9c89e98e5b
Revert "Merge pull request #942 from android/feature/navigation-suite-scaffold"
...
This reverts commit 335a7ec68c
, reversing
changes made to aa8ce0e1f6
.
1 year ago
Miłosz Moczkowski
816a7b60c1
Replace manual navigation component switching with new NavigationSuiteScaffold
...
Change-Id: I54b402e28b6e1bd400c9f44644bd4dd35c98e723
1 year ago
kimdowoo
129099e219
refactor/Convert object to data object in sealed interface
1 year ago
Adetunji Dahunsi
0287af8d9a
Merge pull request #947 from android/tj/staggered-grid-feed
...
Use lazy vertical staggered grid in feed to maximize space utilization
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
tunjid
b2498c763f
🤖 Updates screenshots
1 year ago
dahunsi
03d2455f41
Use lazy vertical staggered grid in feed to maximize space utilization
...
Change-Id: I66fff57bd0f11f5f73e7e5c9b5c51b0fa6a76926
1 year ago
Simon Marquis
b2cd980170
Merge remote-tracking branch 'origin/main' into resource-prefix
1 year ago
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
2 years 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`
2 years ago
TJ Dahunsi
4af86580eb
Move analytics tracking of news deep link to an extension method
...
Change-Id: Id3d1a30d86634b9176067696db5ecfd4d02854a5
2 years ago
Milosz Moczkowski
7203460051
Merge branch 'main' into compose-bom-2023-06-00
2 years ago
TJ Dahunsi
c4686cfa54
Track when deep link notifications are opened
...
Change-Id: I223b1c8fbca36f9b7f2a35d9cb2fa901d6f5be91
2 years ago
Don Turner
21777aba65
Merge pull request #799 from android/tm/feed-content-type
...
Add contentType to news feed
2 years 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.
```
2 years ago
Alex Vanyo
9cd390c56a
Merge pull request #684 from MaximillianLeonov/feature-settings
...
Replace `if` condition with AnimatedVisibility component
2 years ago
Tomáš Mlynarič
19ffb53150
Don't use lambda contentType for a single item
...
Change-Id: I0588c031428d523707463c5f0f0b6c586ea5e2c3
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
cb84082ae7
Merge branch 'main' into patch/proguard
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
Amaury Medeiros
512930c239
Fix inline comment as suggested in PR
2 years ago
Amaury Medeiros
87c27f6b82
Apply suggested changes to inline comment
2 years 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.
2 years 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