Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -204,23 +204,6 @@ else if (parentConfiguration.screenWidthDp >= 840) {
ruleController.addRule(activityRule);
// [END android_activity_embedding_addRuleActivityRule_java]

// [START android_activity_embedding_splitAttributesBuilder_java]
SplitAttributes.Builder _splitAttributesBuilder = new SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT);

if (WindowSdkExtensions.getInstance().getExtensionVersion() >= 6) {
_splitAttributesBuilder.setDividerAttributes(
new DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(ContextCompat.getColor(this, R.color.divider_color))
.setWidthDp(4)
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
);
}
SplitAttributes _splitAttributes = _splitAttributesBuilder.build();
// [END android_activity_embedding_splitAttributesBuilder_java]

}


Expand Down Expand Up @@ -336,6 +319,23 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// [START android_activity_embedding_splitAttributesBuilder_java]
SplitAttributes.Builder splitAttributesBuilder = new SplitAttributes.Builder()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to note, we generally create functions that separate out each snippet logically, otherwise reading the file in its entirety is a bit difficult if they are all in the same function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reorganized the files to group related snippets.

.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT);

if (WindowSdkExtensions.getInstance().getExtensionVersion() >= 6) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whats the version number mean here? You might want to include a constant that describes this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version number indicates the required build version. I took this snippet from a codelab. I can't find any docs that explain how the version numbers map to build versions. The closest I've come is https://developer.android.com/guide/sdk-extensions#extension-names. I filed b/406244784 to hopefully get this documented.

splitAttributesBuilder.setDividerAttributes(
new DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(ContextCompat.getColor(this, R.color.divider_color))
.setWidthDp(4)
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
);
}
SplitAttributes _splitAttributes = splitAttributesBuilder.build();
// [END android_activity_embedding_splitAttributesBuilder_java]

// [START android_activity_embedding_pinButton_java]
Button pinButton = findViewById(R.id.pinButton);
pinButton.setOnClickListener( (view) -> {
Expand All @@ -349,16 +349,15 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
.setDefaultSplitAttributes(splitAttributes)
.build();

SplitController.getInstance(
getApplicationContext()).pinTopActivityStack(getTaskId(),
pinSplitRule);
SplitController.getInstance(getApplicationContext())
.pinTopActivityStack(getTaskId(), pinSplitRule);
});
// [END android_activity_embedding_pinButton_java]

// [START android_activity_embedding_getSplitSupportStatus_java]
if (SplitController.getInstance(this).getSplitSupportStatus() ==
SplitController.SplitSupportStatus.SPLIT_AVAILABLE) {
// Device supports split activity features.
SplitController.SplitSupportStatus.SPLIT_AVAILABLE) {
// Device supports split activity features.
}
// [END android_activity_embedding_getSplitSupportStatus_java]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,30 +207,13 @@ class ActivityEmbeddingKotlinSnippets {
// [START android_activity_embedding_addRuleActivityRule_kotlin]
ruleController.addRule(activityRule)
// [END android_activity_embedding_addRuleActivityRule_kotlin]
}

// [START android_activity_embedding_splitAttributesBuilder_kotlin]
val _splitAttributesBuilder: SplitAttributes.Builder = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)

if (WindowSdkExtensions.getInstance().extensionVersion >= 6) {
_splitAttributesBuilder.setDividerAttributes(
DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(getColor(R.color.divider_color))
.setWidthDp(4)
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
)
}
val _splitAttributes: SplitAttributes = _splitAttributesBuilder.build()
// [END android_activity_embedding_splitAttributesBuilder_kotlin]

// [START android_activity_embedding_isActivityEmbedded_kotlin]
fun isActivityEmbedded(activity: Activity): Boolean {
return ActivityEmbeddingController.getInstance(this).isActivityEmbedded(activity)
}
// [END android_activity_embedding_isActivityEmbedded_kotlin]
// [START android_activity_embedding_isActivityEmbedded_kotlin]
fun isActivityEmbedded(activity: Activity): Boolean {
return ActivityEmbeddingController.getInstance(this).isActivityEmbedded(activity)
}
// [END android_activity_embedding_isActivityEmbedded_kotlin]
}

// [START android_activity_embedding_DetailActivity_class_kotlin]
Expand Down Expand Up @@ -293,9 +276,28 @@ class ActivityEmbeddingKotlinSnippets {

class SplitDeviceActivity : AppCompatActivity() {

@RequiresApi(VERSION_CODES.N)
@OptIn(ExperimentalWindowApi::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// [START android_activity_embedding_splitAttributesBuilder_kotlin]
val splitAttributesBuilder: SplitAttributes.Builder = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)

if (WindowSdkExtensions.getInstance().extensionVersion >= 6) {
splitAttributesBuilder.setDividerAttributes(
DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(getColor(R.color.divider_color))
.setWidthDp(4)
.setDragRange(DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
)
}
val splitAttributes: SplitAttributes = splitAttributesBuilder.build()
// [END android_activity_embedding_splitAttributesBuilder_kotlin]

val splitController = SplitController.getInstance(this)
// [START android_activity_embedding_onCreate_SplitControllerCallbackAdapter_kotlin]
val layout = layoutInflater.inflate(R.layout.activity_main, null)
Expand Down Expand Up @@ -329,7 +331,8 @@ class ActivityEmbeddingKotlinSnippets {
.setDefaultSplitAttributes(splitAttributes)
.build()

SplitController.getInstance(applicationContext).pinTopActivityStack(taskId, pinSplitRule)
SplitController.getInstance(applicationContext)
.pinTopActivityStack(taskId, pinSplitRule)
}
// [END android_activity_embedding_pinButton_kotlin]

Expand Down