Skip to content

Commit de008c6

Browse files
committed
fix tests
1 parent cc48707 commit de008c6

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

base/src/main/java/io/github/sds100/keymapper/base/constraints/ConstraintSnapshot.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import io.github.sds100.keymapper.system.devices.DevicesAdapter
1111
import io.github.sds100.keymapper.system.display.DisplayAdapter
1212
import io.github.sds100.keymapper.system.foldable.FoldableAdapter
1313
import io.github.sds100.keymapper.system.foldable.HingeState
14+
import io.github.sds100.keymapper.system.foldable.isClosed
15+
import io.github.sds100.keymapper.system.foldable.isOpen
1416
import io.github.sds100.keymapper.system.inputmethod.InputMethodAdapter
1517
import io.github.sds100.keymapper.system.lock.LockScreenAdapter
1618
import io.github.sds100.keymapper.system.media.MediaAdapter
@@ -157,7 +159,7 @@ class LazyConstraintSnapshot(
157159
is ConstraintData.HingeClosed -> {
158160
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
159161
when (val state = foldableAdapter.hingeState.value) {
160-
is HingeState.Available -> state.angle < 30f
162+
is HingeState.Available -> state.isClosed()
161163
is HingeState.Unavailable -> false
162164
}
163165
} else {
@@ -168,7 +170,7 @@ class LazyConstraintSnapshot(
168170
is ConstraintData.HingeOpen -> {
169171
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
170172
when (val state = foldableAdapter.hingeState.value) {
171-
is HingeState.Available -> state.angle >= 150f
173+
is HingeState.Available -> state.isOpen()
172174
is HingeState.Unavailable -> false
173175
}
174176
} else {

base/src/test/java/io/github/sds100/keymapper/base/utils/TestConstraintSnapshot.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import io.github.sds100.keymapper.base.constraints.ConstraintSnapshot
66
import io.github.sds100.keymapper.common.utils.Orientation
77
import io.github.sds100.keymapper.system.bluetooth.BluetoothDeviceInfo
88
import io.github.sds100.keymapper.system.camera.CameraLens
9+
import io.github.sds100.keymapper.system.foldable.HingeState
10+
import io.github.sds100.keymapper.system.foldable.isClosed
11+
import io.github.sds100.keymapper.system.foldable.isOpen
912
import io.github.sds100.keymapper.system.phone.CallState
1013
import java.time.LocalTime
1114
import timber.log.Timber
@@ -26,6 +29,7 @@ class TestConstraintSnapshot(
2629
val isFrontFlashlightOn: Boolean = false,
2730
val isLockscreenShowing: Boolean = false,
2831
val localTime: LocalTime = LocalTime.now(),
32+
val hingeState: HingeState = HingeState.Unavailable,
2933
) : ConstraintSnapshot {
3034

3135
override fun isSatisfied(constraint: Constraint): Boolean {
@@ -109,6 +113,11 @@ class TestConstraintSnapshot(
109113
localTime.isAfter(startTime) && localTime.isBefore(endTime)
110114
}
111115
}
116+
117+
ConstraintData.HingeClosed ->
118+
hingeState is HingeState.Available && hingeState.isClosed()
119+
ConstraintData.HingeOpen ->
120+
hingeState is HingeState.Available && hingeState.isOpen()
112121
}
113122

114123
if (isSatisfied) {

system/src/main/java/io/github/sds100/keymapper/system/foldable/FoldableAdapter.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ sealed class HingeState {
2222
data class Available(val angle: Float) : HingeState()
2323
}
2424

25+
fun HingeState.Available.isOpen(): Boolean = angle >= 150
26+
fun HingeState.Available.isClosed(): Boolean = angle < 30
27+
2528
@RequiresApi(Build.VERSION_CODES.R)
2629
interface FoldableAdapter {
2730
/**

0 commit comments

Comments
 (0)