mirror of
https://github.com/home-assistant/android
synced 2024-10-02 22:34:46 +00:00
Bump app dependencies and fix wear rotary input (#2184)
* Bump app dependencies * Rotary input fixes and improvement
This commit is contained in:
parent
6bc0512064
commit
b7f6a7322c
|
@ -154,14 +154,14 @@ dependencies {
|
|||
implementation("com.google.dagger:hilt-android:2.40.5")
|
||||
kapt("com.google.dagger:hilt-android-compiler:2.40.5")
|
||||
|
||||
implementation("androidx.appcompat:appcompat:1.4.0")
|
||||
implementation("androidx.appcompat:appcompat:1.4.1")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.2")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.3")
|
||||
implementation("androidx.recyclerview:recyclerview:1.2.1")
|
||||
implementation("androidx.preference:preference-ktx:1.1.1")
|
||||
implementation("androidx.navigation:navigation-fragment-ktx:2.3.5")
|
||||
implementation("androidx.navigation:navigation-ui-ktx:2.3.5")
|
||||
implementation("com.google.android.material:material:1.4.0")
|
||||
implementation("com.google.android.material:material:1.5.0")
|
||||
|
||||
implementation("com.squareup.retrofit2:retrofit:2.9.0")
|
||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1")
|
||||
|
@ -204,7 +204,7 @@ dependencies {
|
|||
implementation("androidx.compose.ui:ui-tooling:1.0.5")
|
||||
implementation("androidx.activity:activity-compose:1.4.0")
|
||||
implementation("androidx.navigation:navigation-compose:2.4.0-rc01")
|
||||
implementation("com.google.android.material:compose-theme-adapter:1.1.1")
|
||||
implementation("com.google.android.material:compose-theme-adapter:1.1.3")
|
||||
implementation("com.google.accompanist:accompanist-appcompat-theme:0.20.3")
|
||||
|
||||
implementation("com.mikepenz:iconics-core:5.3.3")
|
||||
|
|
|
@ -55,9 +55,9 @@ dependencies {
|
|||
implementation("com.google.dagger:hilt-android:2.40.5")
|
||||
kapt("com.google.dagger:hilt-android-compiler:2.40.5")
|
||||
|
||||
api("androidx.room:room-runtime:2.4.0")
|
||||
api("androidx.room:room-ktx:2.4.0")
|
||||
kapt("androidx.room:room-compiler:2.4.0")
|
||||
api("androidx.room:room-runtime:2.4.1")
|
||||
api("androidx.room:room-ktx:2.4.1")
|
||||
kapt("androidx.room:room-compiler:2.4.1")
|
||||
|
||||
api("androidx.work:work-runtime-ktx:2.7.1")
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ dependencies {
|
|||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.6.0")
|
||||
|
||||
implementation("com.google.android.material:material:1.4.0")
|
||||
implementation("com.google.android.material:material:1.5.0")
|
||||
|
||||
implementation("androidx.wear:wear:1.2.0")
|
||||
implementation("com.google.android.support:wearable:2.8.1")
|
||||
|
@ -105,7 +105,7 @@ dependencies {
|
|||
implementation("com.squareup.okhttp3:okhttp:4.9.3")
|
||||
|
||||
implementation("com.mikepenz:iconics-core:5.3.3")
|
||||
implementation("androidx.appcompat:appcompat:1.4.0")
|
||||
implementation("androidx.appcompat:appcompat:1.4.1")
|
||||
implementation("com.mikepenz:community-material-typeface:6.4.95.0-kotlin@aar")
|
||||
implementation("com.mikepenz:iconics-compose:5.3.3")
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
@ -34,8 +33,6 @@ fun ChooseEntityView(
|
|||
// Remember expanded state of each header
|
||||
val expandedStates = rememberExpandedStates(mainViewModel.supportedDomains())
|
||||
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
ThemeLazyColumn {
|
||||
item {
|
||||
|
|
|
@ -3,7 +3,6 @@ package io.homeassistant.companion.android.home.views
|
|||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
|
@ -30,8 +29,6 @@ fun EntityViewList(
|
|||
// Remember expanded state of each header
|
||||
val expandedStates = rememberExpandedStates(entityLists.keys.map { it.hashCode() })
|
||||
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
ThemeLazyColumn {
|
||||
for (header in entityListsOrder) {
|
||||
|
|
|
@ -11,7 +11,6 @@ import androidx.compose.runtime.setValue
|
|||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
@ -48,7 +47,6 @@ fun LoadHomePage(
|
|||
) {
|
||||
var shortcutEntitySelectionIndex: Int by remember { mutableStateOf(0) }
|
||||
val context = LocalContext.current
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
if (mainViewModel.entities.isNullOrEmpty() && mainViewModel.favoriteEntityIds.isNullOrEmpty()) {
|
||||
|
|
|
@ -16,7 +16,6 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
|
@ -59,7 +58,6 @@ fun MainView(
|
|||
|
||||
val haptic = LocalHapticFeedback.current
|
||||
val context = LocalContext.current
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
Scaffold(
|
||||
|
|
|
@ -7,7 +7,6 @@ import androidx.compose.ui.ExperimentalComposeUiApi
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.wear.compose.material.ExperimentalWearMaterialApi
|
||||
import androidx.wear.compose.material.PositionIndicator
|
||||
|
@ -39,7 +38,6 @@ fun SetFavoritesView(
|
|||
val expandedStates = rememberExpandedStates(mainViewModel.supportedDomains())
|
||||
|
||||
val scalingLazyListState: ScalingLazyListState = rememberScalingLazyListState()
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
Scaffold(
|
||||
|
|
|
@ -8,7 +8,6 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
|
@ -37,8 +36,6 @@ fun SetTileShortcutsView(
|
|||
onShowShortcutTextEnabled: (Boolean) -> Unit
|
||||
) {
|
||||
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
ThemeLazyColumn {
|
||||
item {
|
||||
|
|
|
@ -9,7 +9,6 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.wear.compose.material.Chip
|
||||
|
@ -72,7 +71,6 @@ fun SettingsView(
|
|||
onClickTemplateTile: () -> Unit
|
||||
) {
|
||||
val scalingLazyListState: ScalingLazyListState = rememberScalingLazyListState()
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
WearAppTheme {
|
||||
Scaffold(
|
||||
|
|
|
@ -7,7 +7,6 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.wear.compose.material.Chip
|
||||
import androidx.wear.compose.material.ChipDefaults
|
||||
|
@ -25,7 +24,6 @@ fun TemplateTileSettingsView(
|
|||
refreshInterval: Int,
|
||||
onClickRefreshInterval: () -> Unit
|
||||
) {
|
||||
LocalView.current.requestFocus()
|
||||
|
||||
ThemeLazyColumn {
|
||||
item {
|
||||
|
|
|
@ -12,7 +12,7 @@ import androidx.wear.compose.material.ScalingLazyColumn
|
|||
import androidx.wear.compose.material.ScalingLazyListScope
|
||||
import androidx.wear.compose.material.ScalingLazyListState
|
||||
import androidx.wear.compose.material.rememberScalingLazyListState
|
||||
import io.homeassistant.companion.android.util.scrollHandler
|
||||
import io.homeassistant.companion.android.util.rotaryEventHandler
|
||||
|
||||
@ExperimentalComposeUiApi
|
||||
@Composable
|
||||
|
@ -23,7 +23,7 @@ fun ThemeLazyColumn(
|
|||
ScalingLazyColumn(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.scrollHandler(state),
|
||||
.rotaryEventHandler(state),
|
||||
contentPadding = PaddingValues(
|
||||
top = 24.dp,
|
||||
start = 8.dp,
|
||||
|
@ -32,6 +32,7 @@ fun ThemeLazyColumn(
|
|||
),
|
||||
verticalArrangement = Arrangement.spacedBy(4.dp),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
state = state,
|
||||
content = content
|
||||
)
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.view.MotionEvent
|
|||
import android.view.ViewConfiguration
|
||||
import androidx.compose.foundation.gestures.ScrollableState
|
||||
import androidx.compose.foundation.gestures.scrollBy
|
||||
import androidx.compose.runtime.SideEffect
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
|
@ -14,6 +15,7 @@ import androidx.compose.ui.composed
|
|||
import androidx.compose.ui.input.pointer.RequestDisallowInterceptTouchEvent
|
||||
import androidx.compose.ui.input.pointer.pointerInteropFilter
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.core.view.InputDeviceCompat
|
||||
import androidx.core.view.MotionEventCompat
|
||||
import kotlinx.coroutines.launch
|
||||
|
@ -21,7 +23,7 @@ import kotlinx.coroutines.launch
|
|||
private const val TAG = "RotaryEvent"
|
||||
|
||||
@ExperimentalComposeUiApi
|
||||
fun Modifier.scrollHandler(scrollState: ScrollableState): Modifier = composed {
|
||||
fun Modifier.rotaryEventHandler(scrollState: ScrollableState): Modifier = composed {
|
||||
val context = LocalContext.current
|
||||
val scope = rememberCoroutineScope()
|
||||
val scaledVerticalScrollFactor =
|
||||
|
@ -38,8 +40,12 @@ fun Modifier.scrollHandler(scrollState: ScrollableState): Modifier = composed {
|
|||
}
|
||||
}
|
||||
}
|
||||
val view = LocalView.current
|
||||
SideEffect {
|
||||
view.requestFocus()
|
||||
}
|
||||
|
||||
this.pointerInteropFilter(RequestDisallowInterceptTouchEvent()) { event ->
|
||||
pointerInteropFilter(RequestDisallowInterceptTouchEvent()) { event ->
|
||||
if (event.action != MotionEvent.ACTION_SCROLL ||
|
||||
!event.isFromSource(InputDeviceCompat.SOURCE_ROTARY_ENCODER)
|
||||
) {
|
||||
|
|
Loading…
Reference in a new issue