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
@@ -35,7 +51,7 @@ import kotlinx.coroutines.launch
3551
3652class ActivityEmbeddingKotlinSnippets {
3753
38- class SplitAttributesCalculatorSnippetsActivity : AppCompatActivity () {
54+ class SplitAttributesCalculatorSnippetsActivity : AppCompatActivity () {
3955
4056 override fun onCreate (savedInstanceState : Bundle ? ) {
4157 super .onCreate(savedInstanceState)
@@ -85,7 +101,8 @@ class ActivityEmbeddingKotlinSnippets {
85101 SplitAttributes .LayoutDirection .BOTTOM_TO_TOP
86102 } else {
87103 SplitAttributes .LayoutDirection .LOCALE
88- })
104+ }
105+ )
89106 .build()
90107 } else if (parentConfiguration.screenWidthDp >= 840 ) {
91108 // Side-by-side dual-pane layout for wide displays.
@@ -101,15 +118,14 @@ class ActivityEmbeddingKotlinSnippets {
101118 }
102119 }
103120 // [END android_activity_embedding_split_attributes_calculator_tabletop_kotlin]
104-
105121 }
106122 }
107123
108- class SplitRuleSnippetsActivity : AppCompatActivity () {
124+ class SplitRuleSnippetsActivity : AppCompatActivity () {
109125
110126 private val context = this
111127
112- @RequiresApi(api= VERSION_CODES .N )
128+ @RequiresApi(api = VERSION_CODES .N )
113129 override fun onCreate (savedInstanceState : Bundle ? ) {
114130 super .onCreate(savedInstanceState)
115131
@@ -162,15 +178,15 @@ class ActivityEmbeddingKotlinSnippets {
162178
163179 // [START android_activity_embedding_splitPlaceholderRule_kotlin]
164180 val splitPlaceholderRule = SplitPlaceholderRule .Builder (
165- placeholderActivityFilterSet,
166- Intent (context, PlaceholderActivity ::class .java)
167- ).setDefaultSplitAttributes(splitAttributes)
168- .setMinWidthDp(840 )
169- .setMinSmallestWidthDp(600 )
170- .setMaxAspectRatioInPortrait(EmbeddingAspectRatio .ratio(1.5f ))
171- .setFinishPrimaryWithPlaceholder(SplitRule .FinishBehavior .ALWAYS )
172- .setSticky(false )
173- .build()
181+ placeholderActivityFilterSet,
182+ Intent (context, PlaceholderActivity ::class .java)
183+ ).setDefaultSplitAttributes(splitAttributes)
184+ .setMinWidthDp(840 )
185+ .setMinSmallestWidthDp(600 )
186+ .setMaxAspectRatioInPortrait(EmbeddingAspectRatio .ratio(1.5f ))
187+ .setFinishPrimaryWithPlaceholder(SplitRule .FinishBehavior .ALWAYS )
188+ .setSticky(false )
189+ .build()
174190 // [END android_activity_embedding_splitPlaceholderRule_kotlin]
175191
176192 // [START android_activity_embedding_addRuleSplitPlaceholderRule_kotlin]
@@ -197,18 +213,16 @@ class ActivityEmbeddingKotlinSnippets {
197213 // [START android_activity_embedding_addRuleActivityRule_kotlin]
198214 ruleController.addRule(activityRule)
199215 // [END android_activity_embedding_addRuleActivityRule_kotlin]
200-
201216 }
202217
203218 // [START android_activity_embedding_isActivityEmbedded_kotlin]
204219 fun isActivityEmbedded (activity : Activity ): Boolean {
205220 return ActivityEmbeddingController .getInstance(this ).isActivityEmbedded(activity)
206221 }
207222 // [END android_activity_embedding_isActivityEmbedded_kotlin]
208-
209223 }
210224
211- class SplitAttributesBuilderSnippetsActivity : AppCompatActivity () {
225+ class SplitAttributesBuilderSnippetsActivity : AppCompatActivity () {
212226
213227 @RequiresApi(VERSION_CODES .M )
214228 override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -221,29 +235,26 @@ class ActivityEmbeddingKotlinSnippets {
221235
222236 if (WindowSdkExtensions .getInstance().extensionVersion >= 6 ) {
223237 splitAttributesBuilder.setDividerAttributes(
224- DividerAttributes .DraggableDividerAttributes .Builder ()
225- .setColor(getColor(R .color.divider_color))
226- .setWidthDp(4 )
227- .setDragRange(DividerAttributes .DragRange .DRAG_RANGE_SYSTEM_DEFAULT )
228- .build()
238+ DividerAttributes .DraggableDividerAttributes .Builder ()
239+ .setColor(getColor(R .color.divider_color))
240+ .setWidthDp(4 )
241+ .setDragRange(DividerAttributes .DragRange .DRAG_RANGE_SYSTEM_DEFAULT )
242+ .build()
229243 )
230244 }
231245 val splitAttributes: SplitAttributes = splitAttributesBuilder.build()
232246 // [END android_activity_embedding_splitAttributesBuilder_kotlin]
233-
234247 }
235248 }
236249
237-
238250 // [START android_activity_embedding_DetailActivity_class_kotlin]
239- class DetailActivity : AppCompatActivity () {
251+ class DetailActivity : AppCompatActivity () {
240252 fun onOpenSubdetail () {
241253 startActivity(Intent (this , SubdetailActivity ::class .java))
242254 }
243255 }
244256 // [END android_activity_embedding_DetailActivity_class_kotlin]
245257
246-
247258 // [START android_activity_embedding_SplitInitializer_class_kotlin]
248259 class SplitInitializer : Initializer <RuleController > {
249260
@@ -259,31 +270,28 @@ class ActivityEmbeddingKotlinSnippets {
259270 }
260271 // [END android_activity_embedding_SplitInitializer_class_kotlin]
261272
262-
263273 /* *
264274 * Function used by snippet.
265275 */
266276 fun classForItem (item : Int ): Class <* > { return Class ::class .java }
267277
268278 // [START android_activity_embedding_MenuActivity_class_kotlin]
269- inner class MenuActivity : AppCompatActivity () {
279+ inner class MenuActivity : AppCompatActivity () {
270280 fun onMenuItemSelected (selectedMenuItem : Int ) {
271281 startActivity(Intent (this , classForItem(selectedMenuItem)))
272282 }
273283 }
274284 // [END android_activity_embedding_MenuActivity_class_kotlin]
275285
276-
277286 // [START android_activity_embedding_B_class_kotlin]
278- class B : AppCompatActivity () {
287+ class B : AppCompatActivity () {
279288 fun onOpenC () {
280289 startActivity(Intent (this , C ::class .java))
281290 }
282291 }
283292 // [END android_activity_embedding_B_class_kotlin]
284293
285-
286- class RuleControllerSnippetsActivity : Activity () {
294+ class RuleControllerSnippetsActivity : Activity () {
287295
288296 private val filterSet = HashSet <SplitPairFilter >()
289297
@@ -297,8 +305,7 @@ class ActivityEmbeddingKotlinSnippets {
297305 // [END android_activity_embedding_onCreate_RuleController_kotlin]
298306 }
299307
300-
301- class SplitDeviceActivity : AppCompatActivity () {
308+ class SplitDeviceActivity : AppCompatActivity () {
302309
303310 override fun onCreate (savedInstanceState : Bundle ? ) {
304311 super .onCreate(savedInstanceState)
@@ -319,8 +326,7 @@ class ActivityEmbeddingKotlinSnippets {
319326 }
320327 }
321328
322-
323- class ActivityPinningSnippetsActivity : AppCompatActivity () {
329+ class ActivityPinningSnippetsActivity : AppCompatActivity () {
324330 override fun onCreate (savedInstanceState : Bundle ? ) {
325331 super .onCreate(savedInstanceState)
326332 setContentView(R .layout.activity_main)
@@ -345,19 +351,18 @@ class ActivityEmbeddingKotlinSnippets {
345351
346352 // [START android_activity_embedding_getSplitSupportStatus_kotlin]
347353 if (SplitController .getInstance(this ).splitSupportStatus ==
348- SplitController .SplitSupportStatus .SPLIT_AVAILABLE ) {
349- // Device supports split activity features.
354+ SplitController .SplitSupportStatus .SPLIT_AVAILABLE
355+ ) {
356+ // Device supports split activity features.
350357 }
351358 // [END android_activity_embedding_getSplitSupportStatus_kotlin]
352359 }
353360 }
354361
355-
356362 // Classes used by snippets.
357- class ListActivity {}
358- class SubdetailActivity {}
359- class PlaceholderActivity {}
360- class ExpandedActivity {}
361- class C {}
362-
363+ class ListActivity
364+ class SubdetailActivity
365+ class PlaceholderActivity
366+ class ExpandedActivity
367+ class C
363368}
0 commit comments