@@ -24,6 +24,7 @@ import android.view.MenuItem
24
24
import android.view.View
25
25
import android.webkit.WebView
26
26
import androidx.appcompat.widget.Toolbar
27
+ import androidx.coordinatorlayout.widget.CoordinatorLayout
27
28
import androidx.core.os.BundleCompat
28
29
import androidx.core.os.bundleOf
29
30
import androidx.core.view.isVisible
@@ -45,6 +46,7 @@ import com.ichi2.anki.reviewer.BindingProcessor
45
46
import com.ichi2.anki.reviewer.MappableBinding
46
47
import com.ichi2.anki.snackbar.BaseSnackbarBuilderProvider
47
48
import com.ichi2.anki.snackbar.SnackbarBuilder
49
+ import com.ichi2.anki.utils.ext.collectIn
48
50
import com.ichi2.anki.utils.ext.sharedPrefs
49
51
import com.ichi2.annotations.NeedsTest
50
52
import com.ichi2.utils.performClickIfEnabled
@@ -178,6 +180,16 @@ class PreviewerFragment :
178
180
viewModel.onPreviousButtonClick()
179
181
}
180
182
183
+ view.setOnGenericMotionListener { _, event ->
184
+ bindingMap.onGenericMotionEvent(event)
185
+ }
186
+
187
+ viewModel.showingAnswer.collectIn(lifecycleScope) {
188
+ // focus on the whole layout so motion controllers can be captured
189
+ // without navigating the other View elements
190
+ view.findViewById<CoordinatorLayout >(R .id.root_layout).requestFocus()
191
+ }
192
+
181
193
view.findViewById<MaterialToolbar >(R .id.toolbar).apply {
182
194
setOnMenuItemClickListener(this @PreviewerFragment)
183
195
setNavigationOnClickListener { requireActivity().onBackPressedDispatcher.onBackPressed() }
0 commit comments