Skip to content

Commit 15f9135

Browse files
authored
Add files via upload
1 parent 80d6013 commit 15f9135

File tree

2 files changed

+73
-80
lines changed

2 files changed

+73
-80
lines changed

misc/src/main/java/com/example/snippets/ActivityEmbeddingJavaSnippets.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
349349
.setDefaultSplitAttributes(splitAttributes)
350350
.build();
351351

352-
SplitController.getInstance(
353-
getApplicationContext()).pinTopActivityStack(getTaskId(),
354-
pinSplitRule);
352+
SplitController.getInstance(getApplicationContext())
353+
.pinTopActivityStack(getTaskId(), pinSplitRule);
355354
});
356355
// [END android_activity_embedding_pinButton_java]
357356

misc/src/main/java/com/example/snippets/ActivityEmbeddingKotlinSnippets.kt

Lines changed: 71 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
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-
171
package com.example.snippets
182

193
import android.app.Activity
@@ -52,11 +36,11 @@ import kotlinx.coroutines.launch
5236

5337
class ActivityEmbeddingKotlinSnippets {
5438

55-
class SnippetActivity : Activity() {
39+
class SnippetActivity: Activity() {
5640

5741
private val context = this
5842

59-
@RequiresApi(api = VERSION_CODES.N)
43+
@RequiresApi(api=VERSION_CODES.N)
6044
override fun onCreate(savedInstanceState: Bundle?) {
6145
super.onCreate(savedInstanceState)
6246

@@ -97,22 +81,22 @@ class ActivityEmbeddingKotlinSnippets {
9781
val builder = SplitAttributes.Builder()
9882
builder.setSplitType(SPLIT_TYPE_HINGE)
9983
return@setSplitAttributesCalculator if (feature?.isSeparating == true) {
100-
// Horizontal split for tabletop posture.
101-
builder
102-
.setSplitType(SPLIT_TYPE_HINGE)
103-
.setLayoutDirection(
104-
if (feature.orientation == FoldingFeature.Orientation.HORIZONTAL) {
105-
SplitAttributes.LayoutDirection.BOTTOM_TO_TOP
106-
} else {
107-
SplitAttributes.LayoutDirection.LOCALE
108-
}
109-
)
110-
.build()
111-
} else if (parentConfiguration.screenWidthDp >= 840) {
112-
// Side-by-side dual-pane layout for wide displays.
113-
builder
114-
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
115-
.build()
84+
// Horizontal split for tabletop posture.
85+
builder
86+
.setSplitType(SPLIT_TYPE_HINGE)
87+
.setLayoutDirection(
88+
if (feature.orientation == FoldingFeature.Orientation.HORIZONTAL) {
89+
SplitAttributes.LayoutDirection.BOTTOM_TO_TOP
90+
} else {
91+
SplitAttributes.LayoutDirection.LOCALE
92+
})
93+
.build()
94+
}
95+
else if (parentConfiguration.screenWidthDp >= 840) {
96+
// Side-by-side dual-pane layout for wide displays.
97+
builder
98+
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
99+
.build()
116100
} else {
117101
// No split for tall displays.
118102
builder
@@ -125,9 +109,9 @@ class ActivityEmbeddingKotlinSnippets {
125109

126110
// [START android_activity_embedding_splitPairFilter_kotlin]
127111
val splitPairFilter = SplitPairFilter(
128-
ComponentName(this, ListActivity::class.java),
129-
ComponentName(this, DetailActivity::class.java),
130-
null
112+
ComponentName(this, ListActivity::class.java),
113+
ComponentName(this, DetailActivity::class.java),
114+
null
131115
)
132116
// [END android_activity_embedding_splitPairFilter_kotlin]
133117

@@ -155,8 +139,8 @@ class ActivityEmbeddingKotlinSnippets {
155139
// [END android_activity_embedding_splitPairRule_kotlin]
156140

157141
// [START android_activity_embedding_ruleController_kotlin]
158-
val ruleController = RuleController.getInstance(this)
159-
ruleController.addRule(splitPairRule)
142+
val ruleController = RuleController.getInstance(this)
143+
ruleController.addRule(splitPairRule)
160144
// [END android_activity_embedding_ruleController_kotlin]
161145

162146
// [START android_activity_embedding_placeholderActivityFilter_kotlin]
@@ -172,15 +156,15 @@ class ActivityEmbeddingKotlinSnippets {
172156

173157
// [START android_activity_embedding_splitPlaceholderRule_kotlin]
174158
val splitPlaceholderRule = SplitPlaceholderRule.Builder(
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()
159+
placeholderActivityFilterSet,
160+
Intent(context, PlaceholderActivity::class.java)
161+
).setDefaultSplitAttributes(splitAttributes)
162+
.setMinWidthDp(840)
163+
.setMinSmallestWidthDp(600)
164+
.setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ratio(1.5f))
165+
.setFinishPrimaryWithPlaceholder(SplitRule.FinishBehavior.ALWAYS)
166+
.setSticky(false)
167+
.build()
184168
// [END android_activity_embedding_splitPlaceholderRule_kotlin]
185169

186170
// [START android_activity_embedding_addRuleSplitPlaceholderRule_kotlin]
@@ -189,8 +173,8 @@ class ActivityEmbeddingKotlinSnippets {
189173

190174
// [START android_activity_embedding_expandedActivityFilter_kotlin]
191175
val expandedActivityFilter = ActivityFilter(
192-
ComponentName(this, ExpandedActivity::class.java),
193-
null
176+
ComponentName(this, ExpandedActivity::class.java),
177+
null
194178
)
195179
// [END android_activity_embedding_expandedActivityFilter_kotlin]
196180

@@ -215,32 +199,35 @@ class ActivityEmbeddingKotlinSnippets {
215199

216200
if (WindowSdkExtensions.getInstance().extensionVersion >= 6) {
217201
_splitAttributesBuilder.setDividerAttributes(
218-
DividerAttributes.DraggableDividerAttributes.Builder()
219-
.setColor(getColor(R.color.divider_color))
220-
.setWidthDp(4)
221-
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
222-
.build()
202+
DividerAttributes.DraggableDividerAttributes.Builder()
203+
.setColor(getColor(R.color.divider_color))
204+
.setWidthDp(4)
205+
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
206+
.build()
223207
)
224208
}
225209
val _splitAttributes: SplitAttributes = _splitAttributesBuilder.build()
226210
// [END android_activity_embedding_splitAttributesBuilder_kotlin]
227211

228-
// [START android_activity_embedding_isActivityEmbedded_kotlin]
229-
fun isActivityEmbedded(activity: Activity): Boolean {
230-
return ActivityEmbeddingController.getInstance(this).isActivityEmbedded(activity)
231-
}
232-
// [END android_activity_embedding_isActivityEmbedded_kotlin]
212+
// [START android_activity_embedding_isActivityEmbedded_kotlin]
213+
fun isActivityEmbedded(activity: Activity): Boolean {
214+
return ActivityEmbeddingController.getInstance(this).isActivityEmbedded(activity)
215+
}
216+
// [END android_activity_embedding_isActivityEmbedded_kotlin]
217+
233218
}
234219
}
235220

221+
236222
// [START android_activity_embedding_DetailActivity_class_kotlin]
237-
class DetailActivity : AppCompatActivity() {
223+
class DetailActivity: AppCompatActivity() {
238224
fun onOpenSubdetail() {
239-
startActivity(Intent(this, SubdetailActivity::class.java))
225+
startActivity(Intent(this, SubdetailActivity::class.java))
240226
}
241227
}
242228
// [END android_activity_embedding_DetailActivity_class_kotlin]
243229

230+
244231
// [START android_activity_embedding_SplitInitializer_class_kotlin]
245232
class SplitInitializer : Initializer<RuleController> {
246233

@@ -256,28 +243,31 @@ class ActivityEmbeddingKotlinSnippets {
256243
}
257244
// [END android_activity_embedding_SplitInitializer_class_kotlin]
258245

246+
259247
/**
260248
* Function used by snippet.
261249
*/
262250
fun classForItem(item: Int): Class<*> { return Class::class.java }
263251

264252
// [START android_activity_embedding_MenuActivity_class_kotlin]
265-
inner class MenuActivity : AppCompatActivity() {
253+
inner class MenuActivity: AppCompatActivity() {
266254
fun onMenuItemSelected(selectedMenuItem: Int) {
267255
startActivity(Intent(this, classForItem(selectedMenuItem)))
268256
}
269257
}
270258
// [END android_activity_embedding_MenuActivity_class_kotlin]
271259

260+
272261
// [START android_activity_embedding_B_class_kotlin]
273-
class B : AppCompatActivity() {
262+
class B: AppCompatActivity() {
274263
fun onOpenC() {
275264
startActivity(Intent(this, C::class.java))
276265
}
277266
}
278267
// [END android_activity_embedding_B_class_kotlin]
279268

280-
class SnippetActivity2 : Activity() {
269+
270+
class SnippetActivity2: Activity() {
281271

282272
private val filterSet = HashSet<SplitPairFilter>()
283273

@@ -291,7 +281,8 @@ class ActivityEmbeddingKotlinSnippets {
291281
// [END android_activity_embedding_onCreate_RuleController_kotlin]
292282
}
293283

294-
class SplitDeviceActivity : AppCompatActivity() {
284+
285+
class SplitDeviceActivity: AppCompatActivity() {
295286

296287
@OptIn(ExperimentalWindowApi::class)
297288
override fun onCreate(savedInstanceState: Bundle?) {
@@ -312,8 +303,9 @@ class ActivityEmbeddingKotlinSnippets {
312303
}
313304
}
314305

315-
class SnippetActivity3 : AppCompatActivity() {
316-
override fun onCreate(savedInstanceState: Bundle?) {
306+
307+
class SnippetActivity3: AppCompatActivity() {
308+
override fun onCreate(savedInstanceState: Bundle?){
317309
super.onCreate(savedInstanceState)
318310
setContentView(R.layout.activity_main)
319311
// [START android_activity_embedding_pinButton_kotlin]
@@ -329,24 +321,26 @@ class ActivityEmbeddingKotlinSnippets {
329321
.setDefaultSplitAttributes(splitAttributes)
330322
.build()
331323

332-
SplitController.getInstance(applicationContext).pinTopActivityStack(taskId, pinSplitRule)
324+
SplitController.getInstance(applicationContext)
325+
.pinTopActivityStack(taskId, pinSplitRule)
333326
}
334327
// [END android_activity_embedding_pinButton_kotlin]
335328

336329
// [START android_activity_embedding_getSplitSupportStatus_kotlin]
337330
if (SplitController.getInstance(this).splitSupportStatus ==
338-
SplitController.SplitSupportStatus.SPLIT_AVAILABLE
339-
) {
340-
// Device supports split activity features.
331+
SplitController.SplitSupportStatus.SPLIT_AVAILABLE) {
332+
// Device supports split activity features.
341333
}
342334
// [END android_activity_embedding_getSplitSupportStatus_kotlin]
343335
}
344336
}
345337

338+
346339
// Classes used by snippets.
347-
class ListActivity
348-
class SubdetailActivity
349-
class PlaceholderActivity
350-
class ExpandedActivity
351-
class C
340+
class ListActivity {}
341+
class SubdetailActivity {}
342+
class PlaceholderActivity {}
343+
class ExpandedActivity {}
344+
class C {}
345+
352346
}

0 commit comments

Comments
 (0)