1+ /*
2+ * Copyright 2025 The Android Open Source Project
3+ *
4+ * Licensed under the Apache License, Version 2.0 (the "License");
5+ * you may not use this file except in compliance with the License.
6+ * You may obtain a copy of the License at
7+ *
8+ * https://www.apache.org/licenses/LICENSE-2.0
9+ *
10+ * Unless required by applicable law or agreed to in writing, software
11+ * distributed under the License is distributed on an "AS IS" BASIS,
12+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ * See the License for the specific language governing permissions and
14+ * limitations under the License.
15+ */
16+
117package com.example.snippets
218
319import android.app.Activity
@@ -36,11 +52,11 @@ import kotlinx.coroutines.launch
3652
3753class ActivityEmbeddingKotlinSnippets {
3854
39- class SnippetActivity : Activity () {
55+ class SnippetActivity : Activity () {
4056
4157 private val context = this
4258
43- @RequiresApi(api= VERSION_CODES .N )
59+ @RequiresApi(api = VERSION_CODES .N )
4460 override fun onCreate (savedInstanceState : Bundle ? ) {
4561 super .onCreate(savedInstanceState)
4662
@@ -89,7 +105,8 @@ class ActivityEmbeddingKotlinSnippets {
89105 SplitAttributes .LayoutDirection .BOTTOM_TO_TOP
90106 } else {
91107 SplitAttributes .LayoutDirection .LOCALE
92- })
108+ }
109+ )
93110 .build()
94111 } else if (parentConfiguration.screenWidthDp >= 840 ) {
95112 // Side-by-side dual-pane layout for wide displays.
@@ -155,15 +172,15 @@ class ActivityEmbeddingKotlinSnippets {
155172
156173 // [START android_activity_embedding_splitPlaceholderRule_kotlin]
157174 val splitPlaceholderRule = SplitPlaceholderRule .Builder (
158- placeholderActivityFilterSet,
159- Intent (context, PlaceholderActivity ::class .java)
160- ).setDefaultSplitAttributes(splitAttributes)
161- .setMinWidthDp(840 )
162- .setMinSmallestWidthDp(600 )
163- .setMaxAspectRatioInPortrait(EmbeddingAspectRatio .ratio(1.5f ))
164- .setFinishPrimaryWithPlaceholder(SplitRule .FinishBehavior .ALWAYS )
165- .setSticky(false )
166- .build()
175+ placeholderActivityFilterSet,
176+ Intent (context, PlaceholderActivity ::class .java)
177+ ).setDefaultSplitAttributes(splitAttributes)
178+ .setMinWidthDp(840 )
179+ .setMinSmallestWidthDp(600 )
180+ .setMaxAspectRatioInPortrait(EmbeddingAspectRatio .ratio(1.5f ))
181+ .setFinishPrimaryWithPlaceholder(SplitRule .FinishBehavior .ALWAYS )
182+ .setSticky(false )
183+ .build()
167184 // [END android_activity_embedding_splitPlaceholderRule_kotlin]
168185
169186 // [START android_activity_embedding_addRuleSplitPlaceholderRule_kotlin]
@@ -190,27 +207,23 @@ class ActivityEmbeddingKotlinSnippets {
190207 // [START android_activity_embedding_addRuleActivityRule_kotlin]
191208 ruleController.addRule(activityRule)
192209 // [END android_activity_embedding_addRuleActivityRule_kotlin]
193-
194210 }
195211
196212 // [START android_activity_embedding_isActivityEmbedded_kotlin]
197213 fun isActivityEmbedded (activity : Activity ): Boolean {
198214 return ActivityEmbeddingController .getInstance(this ).isActivityEmbedded(activity)
199215 }
200216 // [END android_activity_embedding_isActivityEmbedded_kotlin]
201-
202217 }
203218
204-
205219 // [START android_activity_embedding_DetailActivity_class_kotlin]
206- class DetailActivity : AppCompatActivity () {
220+ class DetailActivity : AppCompatActivity () {
207221 fun onOpenSubdetail () {
208222 startActivity(Intent (this , SubdetailActivity ::class .java))
209223 }
210224 }
211225 // [END android_activity_embedding_DetailActivity_class_kotlin]
212226
213-
214227 // [START android_activity_embedding_SplitInitializer_class_kotlin]
215228 class SplitInitializer : Initializer <RuleController > {
216229
@@ -226,31 +239,28 @@ class ActivityEmbeddingKotlinSnippets {
226239 }
227240 // [END android_activity_embedding_SplitInitializer_class_kotlin]
228241
229-
230242 /* *
231243 * Function used by snippet.
232244 */
233245 fun classForItem (item : Int ): Class <* > { return Class ::class .java }
234246
235247 // [START android_activity_embedding_MenuActivity_class_kotlin]
236- inner class MenuActivity : AppCompatActivity () {
248+ inner class MenuActivity : AppCompatActivity () {
237249 fun onMenuItemSelected (selectedMenuItem : Int ) {
238250 startActivity(Intent (this , classForItem(selectedMenuItem)))
239251 }
240252 }
241253 // [END android_activity_embedding_MenuActivity_class_kotlin]
242254
243-
244255 // [START android_activity_embedding_B_class_kotlin]
245- class B : AppCompatActivity () {
256+ class B : AppCompatActivity () {
246257 fun onOpenC () {
247258 startActivity(Intent (this , C ::class .java))
248259 }
249260 }
250261 // [END android_activity_embedding_B_class_kotlin]
251262
252-
253- class SnippetActivity2 : Activity () {
263+ class SnippetActivity2 : Activity () {
254264
255265 private val filterSet = HashSet <SplitPairFilter >()
256266
@@ -264,8 +274,7 @@ class ActivityEmbeddingKotlinSnippets {
264274 // [END android_activity_embedding_onCreate_RuleController_kotlin]
265275 }
266276
267-
268- class SplitDeviceActivity : AppCompatActivity () {
277+ class SplitDeviceActivity : AppCompatActivity () {
269278
270279 @RequiresApi(VERSION_CODES .N )
271280 @OptIn(ExperimentalWindowApi ::class )
@@ -279,11 +288,11 @@ class ActivityEmbeddingKotlinSnippets {
279288
280289 if (WindowSdkExtensions .getInstance().extensionVersion >= 6 ) {
281290 splitAttributesBuilder.setDividerAttributes(
282- DividerAttributes .DraggableDividerAttributes .Builder ()
283- .setColor(getColor(R .color.divider_color))
284- .setWidthDp(4 )
285- .setDragRange(DividerAttributes .DragRange .DRAG_RANGE_SYSTEM_DEFAULT )
286- .build()
291+ DividerAttributes .DraggableDividerAttributes .Builder ()
292+ .setColor(getColor(R .color.divider_color))
293+ .setWidthDp(4 )
294+ .setDragRange(DividerAttributes .DragRange .DRAG_RANGE_SYSTEM_DEFAULT )
295+ .build()
287296 )
288297 }
289298 val splitAttributes: SplitAttributes = splitAttributesBuilder.build()
@@ -305,8 +314,7 @@ class ActivityEmbeddingKotlinSnippets {
305314 }
306315 }
307316
308-
309- class SnippetActivity3 : AppCompatActivity () {
317+ class SnippetActivity3 : AppCompatActivity () {
310318 override fun onCreate (savedInstanceState : Bundle ? ) {
311319 super .onCreate(savedInstanceState)
312320 setContentView(R .layout.activity_main)
@@ -330,19 +338,18 @@ class ActivityEmbeddingKotlinSnippets {
330338
331339 // [START android_activity_embedding_getSplitSupportStatus_kotlin]
332340 if (SplitController .getInstance(this ).splitSupportStatus ==
333- SplitController .SplitSupportStatus .SPLIT_AVAILABLE ) {
334- // Device supports split activity features.
341+ SplitController .SplitSupportStatus .SPLIT_AVAILABLE
342+ ) {
343+ // Device supports split activity features.
335344 }
336345 // [END android_activity_embedding_getSplitSupportStatus_kotlin]
337346 }
338347 }
339348
340-
341349 // Classes used by snippets.
342- class ListActivity {}
343- class SubdetailActivity {}
344- class PlaceholderActivity {}
345- class ExpandedActivity {}
346- class C {}
347-
350+ class ListActivity
351+ class SubdetailActivity
352+ class PlaceholderActivity
353+ class ExpandedActivity
354+ class C
348355}
0 commit comments