Skip to content

Commit 8b51107

Browse files
committed
Merge branch 'main' of github.com:takagimeow/nowinandroid into fix/provide-true-to-local-inspection-mode
� Conflicts: � core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt
2 parents 9091abf + 803e64b commit 8b51107

File tree

45 files changed

+271
-495
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+271
-495
lines changed

.github/workflows/AndroidCIWithGmd.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ jobs:
1010

1111
android-ci:
1212
runs-on: macos-12
13+
strategy:
14+
matrix:
15+
device-config: [ "pixel4api30aospatd", "pixelcapi30aospatd" ]
1316

1417
steps:
1518
- uses: actions/setup-java@v3
@@ -23,7 +26,7 @@ jobs:
2326

2427
- name: Run instrumented tests with GMD
2528
run: ./gradlew cleanManagedDevices --unused-only &&
26-
./gradlew pixel4api30DemoDebugAndroidTest -Dorg.gradle.workers.max=1
29+
./gradlew ${{ matrix.device-config }}DemoDebugAndroidTest -Dorg.gradle.workers.max=1
2730
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true --info
2831

2932
- name: Upload test reports

.run/Generate Demo Baseline Profile.run.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
</option>
3535
<option name="taskNames">
3636
<list>
37-
<option value=":benchmark:pixel6Api31DemoBenchmarkAndroidTest" />
37+
<option value=":benchmark:pixel6Api31atdDemoBenchmarkAndroidTest" />
3838
<option value="--rerun" />
3939
<option value="--enable-display" />
4040
</list>

app-nia-catalog/src/main/java/com/google/samples/apps/niacatalog/ui/Catalog.kt

Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import androidx.compose.ui.res.painterResource
3838
import androidx.compose.ui.unit.dp
3939
import com.google.accompanist.flowlayout.FlowRow
4040
import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaButton
41-
import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaDropdownMenuButton
4241
import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaFilterChip
4342
import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaIconToggleButton
4443
import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaNavigationBar
@@ -167,23 +166,6 @@ fun NiaCatalog() {
167166
}
168167
}
169168
item { Text("Dropdown menus", Modifier.padding(top = 16.dp)) }
170-
item {
171-
FlowRow(mainAxisSpacing = 16.dp) {
172-
NiaDropdownMenuButton(
173-
text = { Text("Enabled") },
174-
items = listOf("Item 1", "Item 2", "Item 3"),
175-
onItemClick = {},
176-
itemText = { item -> Text(item) },
177-
)
178-
NiaDropdownMenuButton(
179-
text = { Text("Disabled") },
180-
items = listOf("Item 1", "Item 2", "Item 3"),
181-
onItemClick = {},
182-
itemText = { item -> Text(item) },
183-
enabled = false,
184-
)
185-
}
186-
}
187169
item { Text("Chips", Modifier.padding(top = 16.dp)) }
188170
item {
189171
FlowRow(mainAxisSpacing = 16.dp) {
@@ -315,45 +297,19 @@ fun NiaCatalog() {
315297
item { Text("Tags", Modifier.padding(top = 16.dp)) }
316298
item {
317299
FlowRow(mainAxisSpacing = 16.dp) {
318-
var expandedTopicId by remember { mutableStateOf<String?>(null) }
319-
320-
var firstFollowed by remember { mutableStateOf(false) }
321300
NiaTopicTag(
322-
expanded = expandedTopicId == "Topic 1",
323-
followed = firstFollowed,
324-
onDropdownMenuToggle = { show ->
325-
expandedTopicId = if (show) "Topic 1" else null
326-
},
327-
onFollowClick = { firstFollowed = true },
328-
onUnfollowClick = { firstFollowed = false },
329-
onBrowseClick = {},
301+
followed = true,
302+
onClick = {},
330303
text = { Text(text = "Topic 1".uppercase()) },
331-
followText = { Text(text = "Follow") },
332-
unFollowText = { Text(text = "Unfollow") },
333-
browseText = { Text(text = "Browse topic") },
334304
)
335-
var secondFollowed by remember { mutableStateOf(true) }
336305
NiaTopicTag(
337-
expanded = expandedTopicId == "Topic 2",
338-
followed = secondFollowed,
339-
onDropdownMenuToggle = { show ->
340-
expandedTopicId = if (show) "Topic 2" else null
341-
},
342-
onFollowClick = { secondFollowed = true },
343-
onUnfollowClick = { secondFollowed = false },
344-
onBrowseClick = {},
306+
followed = false,
307+
onClick = {},
345308
text = { Text(text = "Topic 2".uppercase()) },
346-
followText = { Text(text = "Follow") },
347-
unFollowText = { Text(text = "Unfollow") },
348-
browseText = { Text(text = "Browse topic") },
349309
)
350310
NiaTopicTag(
351-
expanded = false,
352311
followed = false,
353-
onDropdownMenuToggle = {},
354-
onFollowClick = {},
355-
onUnfollowClick = {},
356-
onBrowseClick = {},
312+
onClick = {},
357313
text = { Text(text = "Disabled".uppercase()) },
358314
enabled = false,
359315
)

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ plugins {
2828
android {
2929
defaultConfig {
3030
applicationId = "com.google.samples.apps.nowinandroid"
31-
versionCode = 3
32-
versionName = "0.0.3" // X.Y.Z; X = Major, Y = minor, Z = Patch level
31+
versionCode = 4
32+
versionName = "0.0.4" // X.Y.Z; X = Major, Y = minor, Z = Patch level
3333

3434
// Custom test runner to set up Hilt dependency graph
3535
testInstrumentationRunner = "com.google.samples.apps.nowinandroid.core.testing.NiaTestRunner"

app/src/main/java/com/google/samples/apps/nowinandroid/navigation/NiaNavHost.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import com.google.samples.apps.nowinandroid.feature.topic.navigation.topicScreen
3737
@Composable
3838
fun NiaNavHost(
3939
navController: NavHostController,
40-
onBackClick: () -> Unit,
4140
modifier: Modifier = Modifier,
4241
startDestination: String = forYouNavigationRoute,
4342
) {
@@ -46,14 +45,18 @@ fun NiaNavHost(
4645
startDestination = startDestination,
4746
modifier = modifier,
4847
) {
49-
forYouScreen()
50-
bookmarksScreen()
48+
// TODO: handle topic clicks from each top level destination
49+
forYouScreen(onTopicClick = {})
50+
bookmarksScreen(onTopicClick = {})
5151
interestsGraph(
52-
navigateToTopic = { topicId ->
52+
onTopicClick = { topicId ->
5353
navController.navigateToTopic(topicId)
5454
},
5555
nestedGraphs = {
56-
topicScreen(onBackClick)
56+
topicScreen(
57+
onBackClick = navController::popBackStack,
58+
onTopicClick = {},
59+
)
5760
},
5861
)
5962
}

app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,7 @@ fun NiaApp(
178178
)
179179
}
180180

181-
NiaNavHost(
182-
navController = appState.navController,
183-
onBackClick = appState::onBackClick,
184-
)
181+
NiaNavHost(appState.navController)
185182
}
186183

187184
// TODO: We may want to add padding or spacer when the snackbar is shown so that

app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaAppState.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,6 @@ class NiaAppState(
136136
}
137137
}
138138

139-
fun onBackClick() {
140-
navController.popBackStack()
141-
}
142-
143139
fun setShowSettingsDialog(shouldShow: Boolean) {
144140
shouldShowSettingsDialog = shouldShow
145141
}

benchmarks/build.gradle.kts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,6 @@ android {
6565

6666
targetProjectPath = ":app"
6767
experimentalProperties["android.experimental.self-instrumenting"] = true
68-
69-
testOptions {
70-
// TODO: Convert it as a convention plugin once Flamingo goes out (https://github.com/android/nowinandroid/issues/523)
71-
managedDevices {
72-
devices {
73-
create<ManagedVirtualDevice>("pixel6Api31") {
74-
device = "Pixel 6"
75-
apiLevel = 31
76-
systemImageSource = "aosp"
77-
}
78-
}
79-
}
80-
}
8168
}
8269

8370
dependencies {

build-logic/convention/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ java {
2828
dependencies {
2929
compileOnly(libs.android.gradlePlugin)
3030
compileOnly(libs.kotlin.gradlePlugin)
31+
compileOnly(libs.ksp.gradlePlugin)
3132
}
3233

3334
gradlePlugin {
@@ -68,6 +69,10 @@ gradlePlugin {
6869
id = "nowinandroid.android.hilt"
6970
implementationClass = "AndroidHiltConventionPlugin"
7071
}
72+
register("androidRoom") {
73+
id = "nowinandroid.android.room"
74+
implementationClass = "AndroidRoomConventionPlugin"
75+
}
7176
register("firebase-perf") {
7277
id = "nowinandroid.firebase-perf"
7378
implementationClass = "FirebasePerfConventionPlugin"

build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
1818
import com.android.build.api.dsl.ApplicationExtension
1919
import com.google.samples.apps.nowinandroid.configureFlavors
20+
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
2021
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
2122
import com.google.samples.apps.nowinandroid.configurePrintApksTask
2223
import org.gradle.api.Plugin
@@ -35,6 +36,7 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
3536
configureKotlinAndroid(this)
3637
defaultConfig.targetSdk = 33
3738
configureFlavors(this)
39+
configureGradleManagedDevices(this)
3840
}
3941
extensions.configure<ApplicationAndroidComponentsExtension> {
4042
configurePrintApksTask(this)

0 commit comments

Comments
 (0)