Added interupt to accessibility interactor
Test: Verified manually Bug: 366219635 Flag: EXEMPT bugfix Change-Id: If1dea7b3efd23e40c6c2668867b175ba84f11550
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.biometrics.fingerprint2.domain.interactor
|
package com.android.settings.biometrics.fingerprint2.domain.interactor
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import android.view.accessibility.AccessibilityEvent
|
import android.view.accessibility.AccessibilityEvent
|
||||||
import android.view.accessibility.AccessibilityEvent.TYPE_ANNOUNCEMENT
|
import android.view.accessibility.AccessibilityEvent.TYPE_ANNOUNCEMENT
|
||||||
import android.view.accessibility.AccessibilityManager
|
import android.view.accessibility.AccessibilityManager
|
||||||
@@ -30,13 +31,16 @@ import kotlinx.coroutines.flow.stateIn
|
|||||||
interface AccessibilityInteractor {
|
interface AccessibilityInteractor {
|
||||||
/** A flow that contains whether or not accessibility is enabled */
|
/** A flow that contains whether or not accessibility is enabled */
|
||||||
fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean>
|
fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean>
|
||||||
|
|
||||||
val isEnabled: Boolean
|
val isEnabled: Boolean
|
||||||
|
|
||||||
fun announce(clazz: Class<*>, announcement: CharSequence?)
|
fun announce(clazz: Class<*>, announcement: CharSequence?)
|
||||||
|
|
||||||
|
fun interrupt()
|
||||||
}
|
}
|
||||||
|
|
||||||
class AccessibilityInteractorImpl(
|
class AccessibilityInteractorImpl(private val accessibilityManager: AccessibilityManager) :
|
||||||
private val accessibilityManager: AccessibilityManager,
|
AccessibilityInteractor {
|
||||||
) : AccessibilityInteractor {
|
|
||||||
/** A flow that contains whether or not accessibility is enabled */
|
/** A flow that contains whether or not accessibility is enabled */
|
||||||
override fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean> =
|
override fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean> =
|
||||||
callbackFlow {
|
callbackFlow {
|
||||||
@@ -63,4 +67,17 @@ class AccessibilityInteractorImpl(
|
|||||||
event.text.add(announcement)
|
event.text.add(announcement)
|
||||||
accessibilityManager.sendAccessibilityEvent(event)
|
accessibilityManager.sendAccessibilityEvent(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Interrupts the current accessibility manager from announcing a phrase. */
|
||||||
|
override fun interrupt() {
|
||||||
|
try {
|
||||||
|
accessibilityManager.interrupt()
|
||||||
|
} catch (e: IllegalStateException) {
|
||||||
|
Log.e(TAG, "Error trying to interrupt when accessibility isn't enabled $e")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TAG = "AccessibilityInteractor"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ class Injector(step: FingerprintNavigationStep.UiStep) {
|
|||||||
override val isEnabled: Boolean
|
override val isEnabled: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
|
override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
|
||||||
|
override fun interrupt() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
var foldStateInteractor =
|
var foldStateInteractor =
|
||||||
|
|||||||
@@ -111,6 +111,8 @@ class FingerprintEnrollFindSensorViewModelV2Test {
|
|||||||
override val isEnabled: Boolean
|
override val isEnabled: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
|
override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
|
||||||
|
override fun interrupt() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
foldStateInteractor =
|
foldStateInteractor =
|
||||||
object : FoldStateInteractor {
|
object : FoldStateInteractor {
|
||||||
|
|||||||
Reference in New Issue
Block a user