From 52b0095a9de9c508cd122d756812b703baae5941 Mon Sep 17 00:00:00 2001 From: Ale Nijamkin <nijamkin@google.com> Date: Fri, 29 Sep 2023 22:57:32 +0000 Subject: [PATCH] Revert "[flexiglass] Adds WindowSizeClass composition local." Revert submission 24868825-window-size-class Reason for revert: b/302600438 Reverted changes: /q/submissionid:24868825-window-size-class Change-Id: I504ab89715e8e23628900664f75da803afcc25b3 --- packages/SystemUI/compose/core/Android.bp | 2 - .../android/compose/theme/PlatformTheme.kt | 4 -- .../windowsizeclass/WindowSizeClass.kt | 47 ------------------- 3 files changed, 53 deletions(-) delete mode 100644 packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt diff --git a/packages/SystemUI/compose/core/Android.bp b/packages/SystemUI/compose/core/Android.bp index 42d088f218a1..510fa1e1fa80 100644 --- a/packages/SystemUI/compose/core/Android.bp +++ b/packages/SystemUI/compose/core/Android.bp @@ -34,9 +34,7 @@ android_library { "androidx.compose.runtime_runtime", "androidx.compose.material3_material3", - "androidx.compose.material3_material3-window-size-class", "androidx.savedstate_savedstate", - "androidx.window_window", ], kotlincflags: ["-Xjvm-default=all"], diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt index 06618704e085..b4e90d63c6b8 100644 --- a/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt @@ -29,8 +29,6 @@ import com.android.compose.theme.typography.TypefaceNames import com.android.compose.theme.typography.TypefaceTokens import com.android.compose.theme.typography.TypographyTokens import com.android.compose.theme.typography.platformTypography -import com.android.compose.windowsizeclass.LocalWindowSizeClass -import com.android.compose.windowsizeclass.calculateWindowSizeClass /** The Material 3 theme that should wrap all Platform Composables. */ @Composable @@ -53,12 +51,10 @@ fun PlatformTheme( remember(typefaceNames) { platformTypography(TypographyTokens(TypeScaleTokens(TypefaceTokens(typefaceNames)))) } - val windowSizeClass = calculateWindowSizeClass() MaterialTheme(colorScheme, typography = typography) { CompositionLocalProvider( LocalAndroidColorScheme provides androidColorScheme, - LocalWindowSizeClass provides windowSizeClass, ) { content() } diff --git a/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt b/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt deleted file mode 100644 index 4674d6e5f25a..000000000000 --- a/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.compose.windowsizeclass - -import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi -import androidx.compose.material3.windowsizeclass.WindowSizeClass -import androidx.compose.runtime.Composable -import androidx.compose.runtime.staticCompositionLocalOf -import androidx.compose.ui.graphics.toComposeRect -import androidx.compose.ui.platform.LocalConfiguration -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalDensity -import androidx.window.layout.WindowMetricsCalculator - -val LocalWindowSizeClass = - staticCompositionLocalOf<WindowSizeClass> { - throw IllegalStateException( - "No WindowSizeClass configured. Make sure to use LocalWindowSizeClass in a Composable" + - " surrounded by a PlatformTheme {}." - ) - } - -@OptIn(ExperimentalMaterial3WindowSizeClassApi::class) -@Composable -fun calculateWindowSizeClass(): WindowSizeClass { - // Observe view configuration changes and recalculate the size class on each change. - LocalConfiguration.current - val density = LocalDensity.current - val context = LocalContext.current - val metrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(context) - val size = with(density) { metrics.bounds.toComposeRect().size.toDpSize() } - return WindowSizeClass.calculateFromSize(size) -} -- GitLab