Browse Source
Also do some renaming since FullScreenIntentPermissionsPresenter interface can be removed.pull/3618/head
Benoit Marty
2 weeks ago
committed by
Benoit Marty
17 changed files with 66 additions and 106 deletions
@ -1,12 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2024 New Vector Ltd. |
|
||||||
* |
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only |
|
||||||
* Please see LICENSE in the repository root for full details. |
|
||||||
*/ |
|
||||||
|
|
||||||
package io.element.android.libraries.fullscreenintent.api |
|
||||||
|
|
||||||
import io.element.android.libraries.architecture.Presenter |
|
||||||
|
|
||||||
interface FullScreenIntentPermissionsPresenter : Presenter<FullScreenIntentPermissionsState> |
|
@ -0,0 +1,20 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.fullscreenintent.api |
||||||
|
|
||||||
|
fun aFullScreenIntentPermissionsState( |
||||||
|
permissionGranted: Boolean = true, |
||||||
|
shouldDisplay: Boolean = false, |
||||||
|
openFullScreenIntentSettings: () -> Unit = {}, |
||||||
|
dismissFullScreenIntentBanner: () -> Unit = {}, |
||||||
|
) = FullScreenIntentPermissionsState( |
||||||
|
permissionGranted = permissionGranted, |
||||||
|
shouldDisplayBanner = shouldDisplay, |
||||||
|
openFullScreenIntentSettings = openFullScreenIntentSettings, |
||||||
|
dismissFullScreenIntentBanner = dismissFullScreenIntentBanner, |
||||||
|
) |
@ -0,0 +1,23 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.fullscreenintent.impl.di |
||||||
|
|
||||||
|
import com.squareup.anvil.annotations.ContributesTo |
||||||
|
import dagger.Binds |
||||||
|
import dagger.Module |
||||||
|
import io.element.android.libraries.architecture.Presenter |
||||||
|
import io.element.android.libraries.di.AppScope |
||||||
|
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState |
||||||
|
import io.element.android.libraries.fullscreenintent.impl.FullScreenIntentPermissionsPresenter |
||||||
|
|
||||||
|
@ContributesTo(AppScope::class) |
||||||
|
@Module |
||||||
|
interface FullScreenIntentModule { |
||||||
|
@Binds |
||||||
|
fun bindFullScreenIntentPermissionsPresenter(presenter: FullScreenIntentPermissionsPresenter): Presenter<FullScreenIntentPermissionsState> |
||||||
|
} |
@ -1,19 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2024 New Vector Ltd. |
|
||||||
* |
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only |
|
||||||
* Please see LICENSE in the repository root for full details. |
|
||||||
*/ |
|
||||||
|
|
||||||
plugins { |
|
||||||
id("io.element.android-compose-library") |
|
||||||
} |
|
||||||
|
|
||||||
android { |
|
||||||
namespace = "io.element.android.libraries.fullscreenintent.test" |
|
||||||
} |
|
||||||
|
|
||||||
dependencies { |
|
||||||
api(projects.libraries.fullscreenintent.api) |
|
||||||
implementation(projects.libraries.architecture) |
|
||||||
} |
|
@ -1,25 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2024 New Vector Ltd. |
|
||||||
* |
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only |
|
||||||
* Please see LICENSE in the repository root for full details. |
|
||||||
*/ |
|
||||||
|
|
||||||
package io.element.android.libraries.fullscreenintent.test |
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable |
|
||||||
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter |
|
||||||
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState |
|
||||||
|
|
||||||
class FakeFullScreenIntentPermissionsPresenter : FullScreenIntentPermissionsPresenter { |
|
||||||
var state = FullScreenIntentPermissionsState( |
|
||||||
permissionGranted = true, |
|
||||||
shouldDisplayBanner = false, |
|
||||||
dismissFullScreenIntentBanner = {}, |
|
||||||
openFullScreenIntentSettings = {}, |
|
||||||
) |
|
||||||
@Composable |
|
||||||
override fun present(): FullScreenIntentPermissionsState { |
|
||||||
return state |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue