{"id":348959,"date":"2025-10-10T17:17:16","date_gmt":"2025-10-10T22:17:16","guid":{"rendered":"https:\/\/michigandigitalnews.com\/index.php\/2025\/10\/10\/jetpack-windowmanager-1-5-is-stable\/"},"modified":"2025-10-10T17:17:16","modified_gmt":"2025-10-10T22:17:16","slug":"jetpack-windowmanager-1-5-is-stable","status":"publish","type":"post","link":"https:\/\/michigandigitalnews.com\/index.php\/2025\/10\/10\/jetpack-windowmanager-1-5-is-stable\/","title":{"rendered":"Jetpack WindowManager 1.5 is stable"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"docs-internal-guid-2d4523d6-7fff-d76a-cea6-c46da80130dc\">\n<p><image><\/p>\n<div style=\"text-align: center;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><img decoding=\"async\" alt=\"Jetpack WindowManager 1.5 is stable\" border=\"0\" data-original-height=\"720\" data-original-width=\"1080\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhZrgnBG0KV2teWChunR5YAzgY5a_Y6WYhOl200Dg08TwENxTCgbLevmyYxAm_MPtSRa_7h-eTGMTvrFkhaGrfVEoqydfjRszJzdZtsuPvpc0siYJm6o6VEJOsNLCfN688S1ScJKrw3gSDZsMKdBIBVVPLmWp79HhlZKU6WkQ4UGZKqVbgZ-lIuB0vQbQ8\/s1600\/Jetpack%20Adaptive%20Compose%20%281%29.png\" style=\"margin: auto; display: block;\"\/><\/div>\n<\/div>\n<p><\/image><\/p>\n<p><span>We&#8217;re excited to announce that<\/span><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/window#version_15_2\"><span> Jetpack WindowManager 1.5.0<\/span><\/a><span> is now stable!<\/span><\/p>\n<p><span>This release builds on the strong foundation of adaptability in WindowManager, making it even easier to create polished, adaptive UIs that look great on <\/span><span>all<\/span><span> screen sizes. As the Android ecosystem continues to grow, users are engaging with apps on a wider variety of devices than ever before: from phones and foldables to tablets, connected displays, Chromebooks, and even car displays in parked mode.<\/span><\/p>\n<p><span>WindowManager 1.5 focuses on providing better tools for this diverse device environment.<\/span><\/p>\n<p><span>This stable release introduces new breakpoints for very large screens, enhances the activity embedding API, and provides more flexibility for calculating window metrics.<\/span><\/p>\n<h2 style=\"margin-block: 0; line-height: 1em !important;\"><span face=\"Arial, sans-serif\" style=\"font-size: 24px; color: #434343; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;\">New window size classes: Large and Extra-large<\/span><\/h2>\n<p><span>The biggest update in 1.5 is the addition of two new width window size classes: Large and Extra-large.<\/span><\/p>\n<p><span>Window size classes are our official, opinionated set of viewport breakpoints that help you design and develop adaptive layouts.<\/span><span><span style=\"vertical-align: super;\"> <\/span><\/span><span>With 1.5, we&#8217;re extending this guidance for screens that go beyond typical tablets.<\/span><\/p>\n<p dir=\"ltr\" style=\"margin-bottom: 6pt; margin-top: 0pt;\"><span>Here are the new width breakpoints:<\/span><\/p>\n<p><image><\/p>\n<div style=\"text-align: center;\">\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><img decoding=\"async\" alt=\"Jetpack WindowManager 1.5 is stable\" border=\"0\" data-original-height=\"720\" data-original-width=\"1080\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjEu8s198DPEkWwZZJKwdd7Cvum7DqDfBjEnXKY85974qafEb89quT0mbGx69s19PxINja03TmGZ1E5oQI54yORxpjhHsdiYfJmQ8UnTQEiHlvP7gP-tWzhL5aQUcV77WW7a11GKjlFJb_VBneZkvQ0tc-36O6uGGJshqhe_024p3kr0OC6hch_BoX0DNI\/s1600\/window_size_classes_width.png\" style=\"margin: auto; display: block;\"\/><\/div>\n<\/div>\n<p><\/image>  <\/p>\n<p><center><span face=\"Arial, sans-serif\"><em>The different window size classes based on display width.\u00a0<\/em><\/span><\/center><\/p>\n<h3 style=\"margin-block: 0; line-height: 1em !important;\"><span face=\"Arial, sans-serif\" style=\"font-size: 22px; color: #434343; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;\">Why are these important?<\/span><\/h3>\n<p><span>Starting with Android 16 QPR1 Beta 2, Android supports <\/span><a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/layouts\/adaptive\/support-connected-displays\" style=\"text-decoration-line: none;\"><span face=\"Arial, sans-serif\" style=\"color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;\">connected displays<\/span><\/a><span>, enabling users to attach an external display to their device and transform it into a desktop-like tool with a large screen.<\/span><\/p>\n<p><iframe allowfullscreen=\"allowfullscreen\" class=\"b-hbp-video b-uploaded\" frameborder=\"0\" height=\"405\" id=\"BLOGGER-video-cdf3916a4d84a763-7575\" mozallowfullscreen=\"mozallowfullscreen\" src=\"https:\/\/www.blogger.com\/video.g?token=AD6v5dy9WlwUzA0JyyRpg31Ga324rTlw2BydNIG1hA1GqFv5XJI89ECJqSxVHlKujsJ3mT7qzyE4HUAS3goFENLyCFJ9COxsmU7QrtkSKTt4Q_i2t6SQxHqENRsogxpVd2oD3faeEVo\" webkitallowfullscreen=\"webkitallowfullscreen\" width=\"100%\"><\/iframe><\/p>\n<p><center><span face=\"Arial, sans-serif\"><em>Phone connected to an external display, with a desktop session on the external display.\u00a0<\/em><\/span><\/center><\/p>\n<p><span>With this new feature available, opinionated guidance to include bigger displays is crucial.\u00a0<\/span><\/p>\n<p><span>On these very large surfaces, simply scaling up a tablet&#8217;s <\/span><span face=\"Arial, sans-serif\">Expanded<\/span><span><br \/>\nlayout isn&#8217;t always the best user experience. An email client, for example, might comfortably show two panes (a mailbox and a message) in the Expanded window size class. But on an <\/span><span face=\"Arial, sans-serif\">Extra-large<\/span><span> desktop monitor, the email client could elegantly display <\/span><span face=\"Arial, sans-serif\" style=\"color: #1b1c1d; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;\">three or even four panes<\/span><span>\u2014perhaps a mailbox, a message list, the full message content, and a calendar\/tasks panel, all at once.<\/span><\/p>\n<p><span>By providing official breakpoints for very large display sizes, WindowManager 1.5 gives you a clear signal to<br \/>\nintroduce layouts specifically designed for a productive, information-dense desktop experience.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38; margin-bottom: 12pt; margin-top: 0pt;\"><span>The window size classes can be calculated using <\/span><a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/window\/core\/layout\/package-summary#(kotlin.collections.Set).computeWindowSizeClass(kotlin.Float,kotlin.Float)\" style=\"text-decoration: none;\"><span style=\"-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: 'Courier New',monospace; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;\">computeWindowSizeClass()<\/span><\/a><span face=\"Arial,sans-serif\" style=\"background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">, which is an <\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: transparent; color: black; font-family: 'Courier New',monospace; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">androidx.window.core.layout<\/span><span face=\"Arial,sans-serif\" style=\"background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap !important;\"> library extension function that extends the <\/span><span style=\"background-color: transparent; color: black; font-family: 'Courier New',monospace; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">Set<windowsizeclass\/><\/span><span face=\"Arial,sans-serif\" style=\"background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"> type.<\/span><span face=\"Arial,sans-serif\" style=\"background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0<\/span><\/p>\n<p dir=\"ltr\" style=\"margin-bottom: 12pt; margin-top: 0pt;\"><span>To include the new window size classes in your project, simply call the function from the <\/span><a href=\"https:\/\/developer.android.com\/reference\/androidx\/window\/core\/layout\/WindowSizeClass#BREAKPOINTS_V2()\" style=\"text-decoration: none;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; -webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: 'Roboto Mono',monospace; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;\">WindowSizeClass.BREAKPOINTS_V2<\/span><\/a><span face=\"Arial,sans-serif\" style=\"white-space: pre-wrap !important; word-break: break-all; background-color: transparent; color: #1b1c1d; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"> set instead of <\/span><a href=\"https:\/\/developer.android.com\/reference\/androidx\/window\/core\/layout\/WindowSizeClass#BREAKPOINTS_V1()\" style=\"text-decoration: none;\"><span style=\"-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: 'Roboto Mono',monospace; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap !important; word-break: break-all;\">WindowSizeClass.BREAKPOINTS_V1<\/span><\/a><span face=\"Arial,sans-serif\" style=\"background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">:<\/span><\/p>\n<div style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; padding: 4px; border-radius: 4px;\">\n<p dir=\"ltr\" style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; margin-bottom: 0pt; margin-top: 0pt; height: 100%;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1967d2; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">val<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #eceff1; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"> <\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">currentWindowMetrics<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #eceff1; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"> <\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">=<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #eceff1; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">WindowMetricsCalculator.getOrCreate()<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #eceff1; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">.computeCurrentWindowMetrics(LocalContext.current)<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">val sizeClass = WindowSizeClass.BREAKPOINTS_V2<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #eceff1; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">.computeWindowSizeClass(currentWindowMetrics)<\/span><\/p>\n<\/div>\n<p dir=\"ltr\" style=\"line-height: 1.38; margin-bottom: 12pt; margin-top: 0pt;\"><span face=\"Arial,sans-serif\" style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1b1c1d; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"><br \/><\/span><span>Then apply the correct layout when you\u2019re sure your app has at least that much space:<\/span><\/p>\n<div style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; padding: 4px; border-radius: 4px;\">\n<p dir=\"ltr\" style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1967d2; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">if<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">(sizeClass.isWidthAtLeastBreakpoint(<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1967d2; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1967d2; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">&#8230;<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #1967d2; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\"><span class=\"Apple-tab-span\" style=\"white-space: pre;\">\t<\/span><\/span><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #b80672; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">\/\/ window is at least 1200 dp wide<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">}<\/span><\/p>\n<\/div>\n<p><span>The <\/span><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-material3-adaptive\" style=\"text-decoration-line: none;\"><span face=\"Arial, sans-serif\" style=\"color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;\">Compose Material 3 Adaptive library<\/span><\/a><span> helps you create adaptive UIs that adapt themselves automatically according to the current window configurations like window size classes or device postures.\u00a0<\/span><\/p>\n<p><span>The good news is that the library is already up to date with the new breakpoints! Starting from <\/span><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-material3-adaptive#compose_material3_adaptive_version_12_2\" style=\"text-decoration-line: none;\"><span face=\"Arial, sans-serif\" style=\"color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;\">version<br \/>\n1.2<\/span><\/a><span> (now in Release Candidate stage), the default pane scaffold directive functions support Large and Extra-large window width size classes.<\/span><\/p>\n<p><span>You only need to opt-in by declaring in your Gradle build file that you want to use the new breakpoints:<br \/><\/span><\/p>\n<div style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; padding: 4px; border-radius: 4px;\">\n<p dir=\"ltr\" style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; margin-bottom: 0pt; margin-top: 0pt;\"><span style=\"white-space: pre-wrap !important; word-break: break-all; background-color: #f1f5f9; color: #37474f; font-family: 'Roboto Mono',monospace; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;\">currentWindowAdaptiveInfo(<\/span><\/p>\n<p><span><span id=\"docs-internal-guid-06e26cbe-7fff-586a-6e2c-5012b859df53\"><span style=\"color: #1967d2; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #37474f; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">supportLargeAndXLargeWidth<\/span><span style=\"color: #1967d2; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\"> <\/span><span style=\"color: #37474f; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">=<\/span><span style=\"color: #1967d2; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\"> <\/span><span style=\"color: #37474f; font-family: &quot;Roboto Mono&quot;, monospace; font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">true)<\/span><\/span><\/span><\/p>\n<\/div>\n<ul style=\"margin-bottom: 0px; margin-top: 0px;\">\n<li aria-level=\"1\" dir=\"ltr\">\n<p><span><b>Activity embedding \u2014 auto-save and restore<\/b>:<\/span><span> WindowManager can now automatically save and restore the state of your <\/span><span>activity embedding<\/span><span> splits. This helps preserve the user&#8217;s layout across process recreation, leading to a more stable and consistent experience. Developers don\u2019t have to save and restore the state manually anymore, but they can simply opt-in auto by setting the <\/span><a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/window\/embedding\/EmbeddingConfiguration?hl=en#isAutoSaveEmbeddingState()\" style=\"text-decoration-line: none;\"><span style=\"color: #1155cc; font-family: &quot;Courier New&quot;, monospace; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap-mode: wrap; vertical-align: baseline;\">EmbeddingConfiguration#isAutoSaveEmbeddingState<\/span><\/a><span> property.<\/span><span style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap-mode: wrap; vertical-align: baseline;\"\/><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p><span face=\"Arial, sans-serif\" style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">To start using the new Large and Extra-large size classes and other 1.5 features in your Android projects, update your app dependencies in <\/span><span face=\"Arial, sans-serif\" style=\"font-style: italic; font-variant-alternates: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; t-east-asian: normal; vertical-align: baseline; white-space-collapse: preserve;\">build.gradle.kts<\/span><span face=\"Arial, sans-serif\" style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\"> to the latest stable version:<\/span><\/p>\n<p><span face=\"Arial, sans-serif\" style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\">WindowManager 1.5 is another step forward for creating <\/span><a href=\"https:\/\/developer.android.com\/adaptive-apps\" style=\"text-decoration-line: none;\"><span face=\"Arial, sans-serif\" style=\"color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;\">fully adaptive apps<\/span><\/a><span face=\"Arial, sans-serif\" style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\"> that run across Android form factors. Check out the <\/span><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/window#version_15_2\" style=\"text-decoration-line: none;\"><span face=\"Arial, sans-serif\" style=\"color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;\">official release notes<\/span><\/a><span face=\"Arial, sans-serif\" style=\"font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;\"> for a complete list of changes and bug fixes.<\/span><\/p>\n<p>[ad_2]<br \/>\n<br \/><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/jetpack-windowmanager-15-is-stable.html\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] We&#8217;re excited to announce that Jetpack WindowManager 1.5.0 is now stable! This release builds on the strong foundation of adaptability in WindowManager, making it<\/p>\n","protected":false},"author":1,"featured_media":348960,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[146],"tags":[],"_links":{"self":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/348959"}],"collection":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/comments?post=348959"}],"version-history":[{"count":0,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/348959\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media\/348960"}],"wp:attachment":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media?parent=348959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/categories?post=348959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/tags?post=348959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}