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