Skip to content

Commit

Permalink
Replace deprecated MdcTheme with 'normal' theme matching XML theme (#…
Browse files Browse the repository at this point in the history
…4182)

- MdcTheme appears to have been deprecated in the latest release. Replace it with our own theme everywhere it is used. Thankfully, because the modifications for the HA (XML) theme are very minor compared to a default Material theme there's not a lot to define/duplicate.
  • Loading branch information
jpelgrom committed Feb 2, 2024
1 parent 09ca68e commit f95b482
Show file tree
Hide file tree
Showing 40 changed files with 123 additions and 75 deletions.
1 change: 0 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ dependencies {
implementation(libs.activity.compose)
implementation(libs.navigation.compose)
implementation(libs.accompanist.systemuicontroller)
implementation(libs.accompanist.themeadapter.material)

implementation(libs.iconics.core)
implementation(libs.iconics.compose)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.material.MdcTheme
import com.google.android.gms.home.matter.Matter
import com.google.android.gms.home.matter.commissioning.SharedDeviceData
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.common.data.servers.ServerManager
import io.homeassistant.companion.android.database.server.Server
import io.homeassistant.companion.android.matter.views.MatterCommissioningView
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.webview.WebViewActivity
import kotlinx.coroutines.launch
import javax.inject.Inject
Expand Down Expand Up @@ -47,7 +47,7 @@ class MatterCommissioningActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)

setContent {
MdcTheme {
HomeAssistantAppTheme {
MatterCommissioningView(
step = viewModel.step,
deviceName = deviceName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.material.MdcTheme
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.database.server.Server
import io.homeassistant.companion.android.database.server.ServerConnectionInfo
import io.homeassistant.companion.android.database.server.ServerSessionInfo
import io.homeassistant.companion.android.database.server.ServerUserInfo
import io.homeassistant.companion.android.matter.MatterCommissioningViewModel.CommissioningFlowStep
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import kotlin.math.min
import io.homeassistant.companion.android.common.R as commonR

Expand Down Expand Up @@ -217,7 +217,7 @@ fun MatterCommissioningViewHeader() {
fun PreviewMatterCommissioningView(
@PreviewParameter(MatterCommissioningViewPreviewStates::class) step: CommissioningFlowStep
) {
MdcTheme {
HomeAssistantAppTheme {
MatterCommissioningView(
step = step,
deviceName = "Manufacturer Matter Light",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.google.accompanist.themeadapter.material.MdcTheme
import com.mikepenz.iconics.compose.Image
import com.mikepenz.iconics.typeface.library.community.material.CommunityMaterial
import io.homeassistant.companion.android.settings.wear.SettingsWearViewModel
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.common.R as commonR

const val WEAR_DOCS_LINK = "https://companion.home-assistant.io/docs/wear-os/"
Expand All @@ -31,7 +31,7 @@ fun LoadSettingsHomeView(
loginWearOs: () -> Unit,
onStartBackClicked: () -> Unit
) {
MdcTheme {
HomeAssistantAppTheme {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = SettingsWearMainView.LANDING) {
composable(SettingsWearMainView.FAVORITES) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.core.view.WindowCompat
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.BaseActivity
import io.homeassistant.companion.android.assist.ui.AssistSheetView
import io.homeassistant.companion.android.common.assist.AssistViewModelBase
import io.homeassistant.companion.android.common.data.servers.ServerManager
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.webview.WebViewActivity

@AndroidEntryPoint
Expand Down Expand Up @@ -97,7 +97,7 @@ class AssistActivity : BaseActivity() {

WindowCompat.setDecorFitsSystemWindows(window, false)
setContent {
MdcTheme {
HomeAssistantAppTheme {
val systemUiController = rememberSystemUiController()
val useDarkIcons = MaterialTheme.colors.isLight
SideEffect {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.core.content.getSystemService
import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.common.data.prefs.PrefsRepository
import io.homeassistant.companion.android.common.data.servers.ServerManager
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.webview.WebViewActivity
import kotlinx.coroutines.launch
import javax.inject.Inject
Expand Down Expand Up @@ -90,7 +90,7 @@ class HaControlsPanelActivity : AppCompatActivity() {

@Composable
fun LockedPanelView() {
MdcTheme {
HomeAssistantAppTheme {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.CircularProgressIndicator
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.BuildConfig
import io.homeassistant.companion.android.common.data.integration.DeviceRegistration
Expand All @@ -31,6 +30,7 @@ import io.homeassistant.companion.android.sensors.LocationSensorManager
import io.homeassistant.companion.android.settings.SettingViewModel
import io.homeassistant.companion.android.settings.server.ServerChooserFragment
import io.homeassistant.companion.android.util.UrlUtil
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.webview.WebViewActivity
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
Expand Down Expand Up @@ -71,7 +71,7 @@ class LaunchActivity : AppCompatActivity(), LaunchView {
super.onCreate(savedInstanceState)
setContent {
Box(modifier = Modifier.fillMaxSize()) {
MdcTheme {
HomeAssistantAppTheme {
CircularProgressIndicator(
modifier = Modifier.align(Alignment.Center)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import android.widget.Toast
import androidx.activity.compose.setContent
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.BaseActivity
import io.homeassistant.companion.android.nfc.views.LoadNfcView
import io.homeassistant.companion.android.util.UrlUtil
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import kotlinx.coroutines.launch
import io.homeassistant.companion.android.common.R as commonR

Expand Down Expand Up @@ -62,7 +62,7 @@ class NfcSetupActivity : BaseActivity() {
}

setContent {
MdcTheme {
HomeAssistantAppTheme {
LoadNfcView(
viewModel = viewModel,
startDestination = if (simpleWrite) NAV_WRITE else NAV_WELCOME,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import android.util.Log
import android.widget.Toast
import androidx.activity.compose.setContent
import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.BaseActivity
import io.homeassistant.companion.android.common.data.servers.ServerManager
import io.homeassistant.companion.android.nfc.views.TagReaderView
import io.homeassistant.companion.android.util.UrlUtil
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.launch
Expand All @@ -34,7 +34,7 @@ class TagReaderActivity : BaseActivity() {
super.onCreate(savedInstanceState)

setContent {
MdcTheme {
HomeAssistantAppTheme {
TagReaderView()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.viewinterop.AndroidView
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.common.data.HomeAssistantApis
Expand All @@ -32,6 +31,7 @@ import io.homeassistant.companion.android.onboarding.OnboardingViewModel
import io.homeassistant.companion.android.onboarding.integration.MobileAppIntegrationFragment
import io.homeassistant.companion.android.themes.ThemesManager
import io.homeassistant.companion.android.util.TLSWebViewClient
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.util.isStarted
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrl
Expand Down Expand Up @@ -66,7 +66,7 @@ class AuthenticationFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
AndroidView({
WebView(requireContext()).apply {
themesManager.setThemeForWebView(requireContext(), settings)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import androidx.fragment.app.activityViewModels
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.onboarding.OnboardingViewModel
import io.homeassistant.companion.android.onboarding.authentication.AuthenticationFragment
import io.homeassistant.companion.android.onboarding.manual.ManualSetupFragment
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import kotlinx.coroutines.launch
import javax.inject.Inject

Expand All @@ -42,7 +42,7 @@ class DiscoveryFragment @Inject constructor() : Fragment() {

return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
DiscoveryView(
onboardingViewModel = viewModel,
manualSetupClicked = { navigateToManualSetup() },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ import androidx.core.content.getSystemService
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.common.util.DisabledLocationHandler
import io.homeassistant.companion.android.onboarding.OnboardingViewModel
import io.homeassistant.companion.android.onboarding.notifications.NotificationPermissionFragment
import io.homeassistant.companion.android.sensors.LocationSensorManager
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import kotlinx.coroutines.launch
import java.io.IOException
import java.security.KeyStore
Expand All @@ -52,7 +52,7 @@ class MobileAppIntegrationFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
MobileAppIntegrationView(
onboardingViewModel = viewModel,
openPrivacyPolicy = this@MobileAppIntegrationFragment::openPrivacyPolicy,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.onboarding.OnboardingViewModel
import io.homeassistant.companion.android.onboarding.authentication.AuthenticationFragment
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme

@AndroidEntryPoint
class ManualSetupFragment : Fragment() {
Expand All @@ -25,7 +25,7 @@ class ManualSetupFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
ManualSetupView(
onboardingViewModel = viewModel,
connectedClicked = { connectClicked() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import androidx.compose.ui.platform.ComposeView
import androidx.core.app.NotificationManagerCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.google.accompanist.themeadapter.material.MdcTheme
import io.homeassistant.companion.android.onboarding.OnboardingViewModel
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.common.R as commonR

class NotificationPermissionFragment : Fragment() {
Expand Down Expand Up @@ -44,7 +44,7 @@ class NotificationPermissionFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
NotificationPermissionView(
onSetNotificationsEnabled = ::setNotifications
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.material.MdcTheme
import com.mikepenz.iconics.compose.Image
import com.mikepenz.iconics.typeface.IIcon
import com.mikepenz.iconics.typeface.library.community.material.CommunityMaterial
import io.homeassistant.companion.android.onboarding.OnboardingHeaderView
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.common.R as commonR

@Composable
Expand Down Expand Up @@ -102,7 +102,7 @@ fun NotificationPermissionBullet(
@Preview(showSystemUi = true)
@Composable
fun NotificationPermissionViewPreview() {
MdcTheme {
HomeAssistantAppTheme {
NotificationPermissionView(
onSetNotificationsEnabled = {}
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import android.view.View
import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import com.google.accompanist.themeadapter.material.MdcTheme
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.onboarding.discovery.DiscoveryFragment
import io.homeassistant.companion.android.onboarding.manual.ManualSetupFragment
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme

class WelcomeFragment : Fragment() {

Expand All @@ -21,7 +21,7 @@ class WelcomeFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
WelcomeView(
onContinue = { welcomeNavigation() }
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ import androidx.compose.ui.text.withStyle
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.google.accompanist.themeadapter.material.MdcTheme
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import io.homeassistant.companion.android.common.R as commonR

@Composable
Expand Down Expand Up @@ -103,7 +103,7 @@ fun WelcomeView(
@Preview(showSystemUi = true)
@Preview(showSystemUi = true, uiMode = UI_MODE_NIGHT_YES)
private fun PreviewWelcome() {
MdcTheme {
HomeAssistantAppTheme {
WelcomeView(onContinue = {})
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ import androidx.annotation.RequiresApi
import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.google.accompanist.themeadapter.material.MdcTheme
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.common.data.integration.ControlsAuthRequiredSetting
import io.homeassistant.companion.android.common.data.servers.ServerManager
import io.homeassistant.companion.android.settings.addHelpMenuProvider
import io.homeassistant.companion.android.settings.controls.views.ManageControlsView
import io.homeassistant.companion.android.util.compose.HomeAssistantAppTheme
import javax.inject.Inject
import io.homeassistant.companion.android.common.R as commonR

Expand All @@ -34,7 +34,7 @@ class ManageControlsSettingsFragment : Fragment() {
): View {
return ComposeView(requireContext()).apply {
setContent {
MdcTheme {
HomeAssistantAppTheme {
ManageControlsView(
panelEnabled = viewModel.panelEnabled,
authSetting = viewModel.authRequired,
Expand Down

0 comments on commit f95b482

Please sign in to comment.