Benoit Marty
1 year ago
committed by
GitHub
31 changed files with 502 additions and 49 deletions
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
[Create and join rooms] Show or create direct message room |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
/* |
||||
* Copyright (c) 2023 New Vector Ltd |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0 |
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package io.element.android.features.userlist.test |
||||
|
||||
import androidx.compose.runtime.Composable |
||||
import io.element.android.features.userlist.api.UserListPresenter |
||||
import io.element.android.features.userlist.api.UserListState |
||||
import io.element.android.features.userlist.api.aUserListState |
||||
|
||||
class FakeUserListPresenter : UserListPresenter { |
||||
|
||||
private var state = aUserListState() |
||||
|
||||
fun givenState(state: UserListState) { |
||||
this.state = state |
||||
} |
||||
|
||||
@Composable |
||||
override fun present(): UserListState { |
||||
return state |
||||
} |
||||
} |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
/* |
||||
* Copyright (c) 2023 New Vector Ltd |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0 |
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package io.element.android.features.userlist.test |
||||
|
||||
import io.element.android.features.userlist.api.MatrixUserDataSource |
||||
import io.element.android.features.userlist.api.UserListPresenter |
||||
import io.element.android.features.userlist.api.UserListPresenterArgs |
||||
|
||||
class FakeUserListPresenterFactory( |
||||
private val fakeUserListPresenter: FakeUserListPresenter = FakeUserListPresenter() |
||||
) : UserListPresenter.Factory { |
||||
|
||||
override fun create(args: UserListPresenterArgs, matrixUserDataSource: MatrixUserDataSource): UserListPresenter = fakeUserListPresenter |
||||
} |
@ -0,0 +1,97 @@
@@ -0,0 +1,97 @@
|
||||
/* |
||||
* Copyright (c) 2023 New Vector Ltd |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0 |
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package io.element.android.libraries.designsystem.components.dialogs |
||||
|
||||
import androidx.compose.material3.AlertDialog |
||||
import androidx.compose.material3.AlertDialogDefaults |
||||
import androidx.compose.material3.TextButton |
||||
import androidx.compose.runtime.Composable |
||||
import androidx.compose.ui.Modifier |
||||
import androidx.compose.ui.graphics.Color |
||||
import androidx.compose.ui.graphics.Shape |
||||
import androidx.compose.ui.res.stringResource |
||||
import androidx.compose.ui.tooling.preview.Preview |
||||
import androidx.compose.ui.unit.Dp |
||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark |
||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight |
||||
import io.element.android.libraries.designsystem.theme.components.Text |
||||
import io.element.android.libraries.ui.strings.R as StringR |
||||
|
||||
@Composable |
||||
fun RetryDialog( |
||||
content: String, |
||||
modifier: Modifier = Modifier, |
||||
title: String = RetryDialogDefaults.title, |
||||
retryText: String = RetryDialogDefaults.retryText, |
||||
dismissText: String = RetryDialogDefaults.dismissText, |
||||
onRetry: () -> Unit = {}, |
||||
onDismiss: () -> Unit = {}, |
||||
shape: Shape = AlertDialogDefaults.shape, |
||||
containerColor: Color = AlertDialogDefaults.containerColor, |
||||
iconContentColor: Color = AlertDialogDefaults.iconContentColor, |
||||
titleContentColor: Color = AlertDialogDefaults.titleContentColor, |
||||
textContentColor: Color = AlertDialogDefaults.textContentColor, |
||||
tonalElevation: Dp = AlertDialogDefaults.TonalElevation, |
||||
) { |
||||
AlertDialog( |
||||
modifier = modifier, |
||||
onDismissRequest = onDismiss, |
||||
title = { |
||||
Text(title) |
||||
}, |
||||
text = { |
||||
Text(content) |
||||
}, |
||||
confirmButton = { |
||||
TextButton(onClick = onRetry) { |
||||
Text(retryText) |
||||
} |
||||
}, |
||||
dismissButton = { |
||||
TextButton(onClick = onDismiss) { |
||||
Text(dismissText) |
||||
} |
||||
}, |
||||
shape = shape, |
||||
containerColor = containerColor, |
||||
iconContentColor = iconContentColor, |
||||
titleContentColor = titleContentColor, |
||||
textContentColor = textContentColor, |
||||
tonalElevation = tonalElevation, |
||||
) |
||||
} |
||||
|
||||
object RetryDialogDefaults { |
||||
val title: String @Composable get() = stringResource(id = StringR.string.dialog_title_error) |
||||
val retryText: String @Composable get() = stringResource(id = StringR.string.action_retry) |
||||
val dismissText: String @Composable get() = stringResource(id = StringR.string.action_cancel) |
||||
} |
||||
|
||||
@Preview |
||||
@Composable |
||||
internal fun RetryDialogLightPreview() = ElementPreviewLight { ContentToPreview() } |
||||
|
||||
@Preview |
||||
@Composable |
||||
internal fun RetryDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } |
||||
|
||||
@Composable |
||||
private fun ContentToPreview() { |
||||
RetryDialog( |
||||
content = "Content", |
||||
) |
||||
} |
@ -1,2 +0,0 @@
@@ -1,2 +0,0 @@
|
||||
configurations.maybeCreate("default") |
||||
artifacts.add("default", file('matrix-rust-sdk.aar')) |
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
configurations.maybeCreate("default") |
||||
artifacts.add("default", file("matrix-rust-sdk.aar")) |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue