Browse Source

Merge branch 'develop' into julioromano/sqldelight2

pull/1569/head
Benoit Marty 11 months ago committed by GitHub
parent
commit
827d990608
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      appnav/src/main/kotlin/io/element/android/appnav/BackstackExt.kt
  2. 39
      appnav/src/main/kotlin/io/element/android/appnav/MoveActivityToBackgroundBackHandler.kt
  3. 4
      build.gradle.kts
  4. 2
      features/pin/impl/src/main/kotlin/io/element/android/features/pin/impl/create/CreatePinView.kt
  5. 0
      tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinView-D-1_1_null_0,NEXUS_5,1.0,en].png
  6. 0
      tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinView-N-1_2_null_0,NEXUS_5,1.0,en].png

21
appnav/src/main/kotlin/io/element/android/appnav/BackstackExt.kt

@ -16,12 +16,6 @@ @@ -16,12 +16,6 @@
package io.element.android.appnav
import android.content.Context
import android.content.ContextWrapper
import androidx.activity.ComponentActivity
import androidx.activity.compose.BackHandler
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import com.bumble.appyx.navmodel.backstack.BackStack
import com.bumble.appyx.navmodel.backstack.operation.NewRoot
import com.bumble.appyx.navmodel.backstack.operation.Remove
@ -47,18 +41,3 @@ fun <T : Any> BackStack<T>.removeLast(element: T) { @@ -47,18 +41,3 @@ fun <T : Any> BackStack<T>.removeLast(element: T) {
accept(Remove(lastExpectedNavElement.key))
}
@Composable
fun MoveActivityToBackgroundBackHandler(enabled: Boolean = true) {
fun Context.findActivity(): ComponentActivity? = when (this) {
is ComponentActivity -> this
is ContextWrapper -> baseContext.findActivity()
else -> null
}
val context = LocalContext.current
BackHandler(enabled = enabled) {
context.findActivity()?.moveTaskToBack(false)
}
}

39
appnav/src/main/kotlin/io/element/android/appnav/MoveActivityToBackgroundBackHandler.kt

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
/*
* 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.appnav
import android.content.Context
import android.content.ContextWrapper
import androidx.activity.ComponentActivity
import androidx.activity.compose.BackHandler
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
@Composable
fun MoveActivityToBackgroundBackHandler(enabled: Boolean = true) {
fun Context.findActivity(): ComponentActivity? = when (this) {
is ComponentActivity -> this
is ContextWrapper -> baseContext.findActivity()
else -> null
}
val context = LocalContext.current
BackHandler(enabled = enabled) {
context.findActivity()?.moveTaskToBack(false)
}
}

4
build.gradle.kts

@ -251,7 +251,9 @@ koverMerged { @@ -251,7 +251,9 @@ koverMerged {
// Some options can't be tested at the moment
excludes += "io.element.android.features.preferences.impl.developer.DeveloperSettingsPresenter$*"
// Temporary until we have actually something to test.
excludes += "io.element.android.features.pin.impl.*Presenter"
excludes += "io.element.android.features.pin.impl.auth.PinAuthenticationPresenter"
excludes += "io.element.android.features.pin.impl.auth.PinAuthenticationPresenter$*"
excludes += "io.element.android.features.pin.impl.create.CreatePinPresenter"
}
bound {
minValue = 85

2
features/pin/impl/src/main/kotlin/io/element/android/features/pin/impl/create/CreatePinView.kt

@ -43,7 +43,7 @@ fun CreatePinView( @@ -43,7 +43,7 @@ fun CreatePinView(
@Composable
@PreviewsDayNight
internal fun CreatePinViewLightPreview(@PreviewParameter(CreatePinStateProvider::class) state: CreatePinState) {
internal fun CreatePinViewPreview(@PreviewParameter(CreatePinStateProvider::class) state: CreatePinState) {
ElementPreview {
CreatePinView(
state = state,

0
tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinViewLight-D-1_1_null_0,NEXUS_5,1.0,en].png → tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinView-D-1_1_null_0,NEXUS_5,1.0,en].png

0
tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinViewLight-N-1_2_null_0,NEXUS_5,1.0,en].png → tests/uitests/src/test/snapshots/images/ui_S_t[f.pin.impl.create_null_CreatePinView-N-1_2_null_0,NEXUS_5,1.0,en].png

Loading…
Cancel
Save