Skip to content

Commit 98f7a48

Browse files
committed
Updates to alpha12, re-enables tests
1 parent 6801729 commit 98f7a48

File tree

9 files changed

+52
-41
lines changed

9 files changed

+52
-41
lines changed

Jetchat/app/build.gradle

+4
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,8 @@ dependencies {
119119
androidTestImplementation Libs.AndroidX.Test.rules
120120
androidTestImplementation Libs.AndroidX.Test.Ext.junit
121121
androidTestImplementation Libs.AndroidX.Compose.uiTest
122+
123+
// FIXME: Temporary for alpha12
124+
androidTestImplementation Libs.AndroidX.Activity.activityCompose
125+
122126
}

Jetchat/app/src/androidTest/java/com/example/compose/jetchat/ConversationTest.kt

+25-19
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package com.example.compose.jetchat
1818

19+
import androidx.activity.ComponentActivity
20+
import androidx.compose.runtime.Providers
21+
import androidx.compose.runtime.collectAsState
1922
import androidx.compose.ui.geometry.Offset
2023
import androidx.compose.ui.test.assertIsDisplayed
2124
import androidx.compose.ui.test.center
@@ -26,22 +29,25 @@ import androidx.compose.ui.test.onNodeWithText
2629
import androidx.compose.ui.test.performClick
2730
import androidx.compose.ui.test.performGesture
2831
import androidx.compose.ui.test.swipe
32+
import com.example.compose.jetchat.conversation.ConversationContent
2933
import com.example.compose.jetchat.conversation.ConversationTestTag
34+
import com.example.compose.jetchat.conversation.LocalBackPressedDispatcher
35+
import com.example.compose.jetchat.data.exampleUiState
36+
import com.example.compose.jetchat.theme.JetchatTheme
37+
import dev.chrisbanes.accompanist.insets.LocalWindowInsets
3038
import dev.chrisbanes.accompanist.insets.WindowInsets
3139
import kotlinx.coroutines.flow.MutableStateFlow
3240
import org.junit.Before
33-
import org.junit.Ignore
3441
import org.junit.Rule
3542
import org.junit.Test
3643

3744
/**
3845
* Checks that the features in the Conversation screen work as expected.
3946
*/
40-
@Ignore("b/nnnnnnn Sync problems related to AndroidView, app never idle")
4147
class ConversationTest {
4248

4349
@get:Rule
44-
val composeTestRule = createAndroidComposeRule<NavActivity>()
50+
val composeTestRule = createAndroidComposeRule<ComponentActivity>()
4551

4652
private val themeIsDark = MutableStateFlow(false)
4753

@@ -50,22 +56,22 @@ class ConversationTest {
5056
// Provide empty insets. We can modify this value as necessary
5157
val windowInsets = WindowInsets()
5258

53-
// // Launch the conversation screen
54-
// composeTestRule.setContent {
55-
// val onBackPressedDispatcher = composeTestRule.activity.onBackPressedDispatcher
56-
// Providers(
57-
// AmbientBackPressedDispatcher provides onBackPressedDispatcher,
58-
// LocalWindowInsets provides windowInsets
59-
// ) {
60-
// JetchatTheme(isDarkTheme = themeIsDark.collectAsState(false).value) {
61-
// ConversationContent(
62-
// uiState = exampleUiState,
63-
// navigateToProfile = { },
64-
// onNavIconPressed = { }
65-
// )
66-
// }
67-
// }
68-
// }
59+
// Launch the conversation screen
60+
composeTestRule.setContent {
61+
val onBackPressedDispatcher = composeTestRule.activity.onBackPressedDispatcher
62+
Providers(
63+
LocalBackPressedDispatcher provides onBackPressedDispatcher,
64+
LocalWindowInsets provides windowInsets
65+
) {
66+
JetchatTheme(isDarkTheme = themeIsDark.collectAsState(false).value) {
67+
ConversationContent(
68+
uiState = exampleUiState,
69+
navigateToProfile = { },
70+
onNavIconPressed = { }
71+
)
72+
}
73+
}
74+
}
6975
}
7076

7177
@Test

Jetchat/app/src/androidTest/java/com/example/compose/jetchat/UserInputTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ import androidx.compose.ui.test.onNodeWithText
3333
import androidx.compose.ui.test.performClick
3434
import androidx.compose.ui.test.performTextInput
3535
import androidx.test.espresso.Espresso
36-
import com.example.compose.jetchat.conversation.AmbientBackPressedDispatcher
3736
import com.example.compose.jetchat.conversation.ConversationContent
3837
import com.example.compose.jetchat.conversation.KeyboardShownKey
38+
import com.example.compose.jetchat.conversation.LocalBackPressedDispatcher
3939
import com.example.compose.jetchat.data.exampleUiState
4040
import com.example.compose.jetchat.theme.JetchatTheme
4141
import dev.chrisbanes.accompanist.insets.LocalWindowInsets
@@ -65,7 +65,7 @@ class UserInputTest {
6565
val onBackPressedDispatcher = composeTestRule.activity.onBackPressedDispatcher
6666
composeTestRule.setContent {
6767
Providers(
68-
AmbientBackPressedDispatcher provides onBackPressedDispatcher,
68+
LocalBackPressedDispatcher provides onBackPressedDispatcher,
6969
LocalWindowInsets provides windowInsets,
7070
) {
7171
JetchatTheme {

Jetchat/app/src/main/java/com/example/compose/jetchat/NavActivity.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import androidx.core.view.WindowCompat
3434
import androidx.navigation.findNavController
3535
import androidx.viewbinding.ViewBinding
3636
import com.example.compose.jetchat.components.JetchatScaffold
37-
import com.example.compose.jetchat.conversation.AmbientBackPressedDispatcher
3837
import com.example.compose.jetchat.conversation.BackPressHandler
38+
import com.example.compose.jetchat.conversation.LocalBackPressedDispatcher
3939
import com.example.compose.jetchat.databinding.ContentMainBinding
4040
import dev.chrisbanes.accompanist.insets.ProvideWindowInsets
4141

@@ -56,7 +56,7 @@ class NavActivity : AppCompatActivity() {
5656
// Provide WindowInsets to our content. We don't want to consume them, so that
5757
// they keep being pass down the view hierarchy (since we're using fragments).
5858
ProvideWindowInsets(consumeWindowInsets = false) {
59-
Providers(AmbientBackPressedDispatcher provides this.onBackPressedDispatcher) {
59+
Providers(LocalBackPressedDispatcher provides this.onBackPressedDispatcher) {
6060
val scaffoldState = rememberScaffoldState()
6161

6262
val openDrawerEvent = viewModel.drawerShouldBeOpened.observeAsState()

Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/BackHandler.kt

+6-5
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ package com.example.compose.jetchat.conversation
1919
import androidx.activity.OnBackPressedCallback
2020
import androidx.activity.OnBackPressedDispatcher
2121
import androidx.compose.runtime.Composable
22+
import androidx.compose.runtime.CompositionLocal
2223
import androidx.compose.runtime.DisposableEffect
2324
import androidx.compose.runtime.getValue
2425
import androidx.compose.runtime.remember
2526
import androidx.compose.runtime.rememberUpdatedState
2627
import androidx.compose.runtime.staticCompositionLocalOf
2728

2829
/**
29-
* This [Composable] can be used with a [AmbientBackPressedDispatcher] to intercept a back press.
30+
* This [Composable] can be used with a [LocalBackPressedDispatcher] to intercept a back press.
3031
*
3132
* @param onBackPressed (Event) What to do when back is intercepted
3233
*
@@ -45,7 +46,7 @@ fun BackPressHandler(onBackPressed: () -> Unit) {
4546
}
4647
}
4748

48-
val backDispatcher = AmbientBackPressedDispatcher.current
49+
val backDispatcher = LocalBackPressedDispatcher.current
4950

5051
// Whenever there's a new dispatcher set up the callback
5152
DisposableEffect(backDispatcher) {
@@ -58,13 +59,13 @@ fun BackPressHandler(onBackPressed: () -> Unit) {
5859
}
5960

6061
/**
61-
* This [Ambient] is used to provide an [OnBackPressedDispatcher]:
62+
* This [CompositionLocal] is used to provide an [OnBackPressedDispatcher]:
6263
*
6364
* ```
64-
* Providers(AmbientBackPressedDispatcher provides requireActivity().onBackPressedDispatcher) { }
65+
* Providers(LocalBackPressedDispatcher provides requireActivity().onBackPressedDispatcher) { }
6566
* ```
6667
*
6768
* and setting up the callbacks with [BackPressHandler].
6869
*/
69-
val AmbientBackPressedDispatcher =
70+
val LocalBackPressedDispatcher =
7071
staticCompositionLocalOf<OnBackPressedDispatcher> { error("No Back Dispatcher provided") }

Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/ConversationFragment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class ConversationFragment : Fragment() {
5959

6060
setContent {
6161
Providers(
62-
AmbientBackPressedDispatcher provides requireActivity().onBackPressedDispatcher,
62+
LocalBackPressedDispatcher provides requireActivity().onBackPressedDispatcher,
6363
LocalWindowInsets provides windowInsets,
6464
) {
6565
JetchatTheme {

Jetchat/buildSrc/src/main/java/com/example/compose/jetchat/buildsrc/dependencies.kt

+11-10
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package com.example.compose.jetchat.buildsrc
1818

1919
object Versions {
20-
const val ktlint = "0.39.0"
20+
const val ktlint = "0.40.0"
2121
}
2222

2323
object Libs {
@@ -43,7 +43,7 @@ object Libs {
4343
}
4444

4545
object Accompanist {
46-
private const val version = "0.5.1.compose-7123292-SNAPSHOT"
46+
private const val version = "0.5.1"
4747
const val insets = "dev.chrisbanes.accompanist:accompanist-insets:$version"
4848
}
4949

@@ -52,12 +52,12 @@ object Libs {
5252
const val coreKtx = "androidx.core:core-ktx:1.5.0-beta01"
5353

5454
object Activity {
55-
const val activityCompose = "androidx.activity:activity-compose:1.3.0-SNAPSHOT"
55+
const val activityCompose = "androidx.activity:activity-compose:1.3.0-alpha02"
5656
}
5757

5858
object Compose {
59-
const val snapshot = "7123292"
60-
const val version = "1.0.0-SNAPSHOT"
59+
const val snapshot = ""
60+
const val version = "1.0.0-alpha12"
6161

6262
const val foundation = "androidx.compose.foundation:foundation:$version"
6363
const val layout = "androidx.compose.foundation:foundation-layout:$version"
@@ -79,29 +79,30 @@ object Libs {
7979
}
8080

8181
object Test {
82-
private const val version = "1.2.0"
82+
private const val version = "1.3.0"
8383
const val core = "androidx.test:core:$version"
8484
const val rules = "androidx.test:rules:$version"
8585

8686
object Ext {
87-
private const val version = "1.1.2-rc01"
87+
private const val version = "1.1.2"
8888
const val junit = "androidx.test.ext:junit-ktx:$version"
8989
}
9090

91-
const val espressoCore = "androidx.test.espresso:espresso-core:3.2.0"
91+
const val espressoCore = "androidx.test.espresso:espresso-core:3.3.0"
9292
}
9393

9494
object Lifecycle {
9595
private const val version = "2.3.0-beta01"
9696
const val extensions = "androidx.lifecycle:lifecycle-extensions:$version"
9797
const val livedata = "androidx.lifecycle:lifecycle-livedata-ktx:$version"
9898
const val viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:$version"
99-
const val viewModelCompose = "androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-SNAPSHOT"
99+
const val viewModelCompose = "androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01"
100100
}
101101
}
102102
}
103103

104104
object Urls {
105-
const val composeSnapshotRepo = "https://storage.googleapis.com/temp-androidx-snapshot.appspot.com/7123292/"
105+
const val composeSnapshotRepo = "https://androidx.dev/snapshots/builds/" +
106+
"${Libs.AndroidX.Compose.snapshot}/artifacts/repository/"
106107
const val accompanistSnapshotRepo = "https://oss.sonatype.org/content/repositories/snapshots"
107108
}

Jetchat/gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ distributionBase=GRADLE_USER_HOME
1919
distributionPath=wrapper/dists
2020
zipStoreBase=GRADLE_USER_HOME
2121
zipStorePath=wrapper/dists
22-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip
22+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip

Owl/app/build.gradle

-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ dependencies {
9696
implementation Libs.AndroidX.Compose.animation
9797
implementation Libs.AndroidX.Compose.iconsExtended
9898
implementation Libs.AndroidX.Compose.tooling
99-
implementation "org.jetbrains.kotlin:kotlin-reflect:1.4.30"
10099

101100
implementation Libs.Accompanist.coil
102101
implementation Libs.Accompanist.insets

0 commit comments

Comments
 (0)