Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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 @@ -42,9 +42,7 @@

public class ActivityEmbeddingJavaSnippets {

static class SnippetsActivity extends Activity {

private Context context;
static class SplitAttributesCalculatorSnippetsActivity extends AppCompatActivity {

@RequiresApi(api=VERSION_CODES.N)
@Override
Expand Down Expand Up @@ -115,6 +113,17 @@ else if (parentConfiguration.screenWidthDp >= 840) {
}
// [END android_activity_embedding_split_attributes_calculator_tabletop_java]

}
}

static class SplitRuleSnippetsActivity extends AppCompatActivity {

private Context context;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// [START android_activity_embedding_splitPairFilter_java]
SplitPairFilter splitPairFilter = new SplitPairFilter(
new ComponentName(this, ListActivity.class),
Expand Down Expand Up @@ -204,35 +213,43 @@ else if (parentConfiguration.screenWidthDp >= 840) {
ruleController.addRule(activityRule);
// [END android_activity_embedding_addRuleActivityRule_java]

}


// [START android_activity_embedding_isActivityEmbedded_java]
boolean isActivityEmbedded(Activity activity) {
return ActivityEmbeddingController.getInstance(context).isActivityEmbedded(activity);
}
// [END android_activity_embedding_isActivityEmbedded_java]

}

static class SplitAttributesBuilderSnippetsActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// [START android_activity_embedding_splitAttributesBuilder_java]
SplitAttributes.Builder _splitAttributesBuilder = new SplitAttributes.Builder()
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(
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();
SplitAttributes _splitAttributes = splitAttributesBuilder.build();
// [END android_activity_embedding_splitAttributesBuilder_java]

}


// [START android_activity_embedding_isActivityEmbedded_java]
boolean isActivityEmbedded(Activity activity) {
return ActivityEmbeddingController.getInstance(context).isActivityEmbedded(activity);
}
// [END android_activity_embedding_isActivityEmbedded_java]

}


/** @noinspection InnerClassMayBeStatic */
// [START android_activity_embedding_DetailActivity_class_java]
public class DetailActivity extends AppCompatActivity {
Expand Down Expand Up @@ -291,7 +308,7 @@ void onOpenC() {
// [END android_activity_embedding_B_class_java]


static class SnippetActivity2 extends Activity {
static class RuleControllerSnippetsActivity extends Activity {

private Set<SplitPairFilter> filterSet = new HashSet<>();

Expand All @@ -308,7 +325,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
}


static class SnippetActivity3 extends AppCompatActivity {
static class SplitDeviceActivity extends AppCompatActivity {

@OptIn(markerClass = ExperimentalWindowApi.class)
// [START android_activity_embedding_onCreate_SplitControllerCallbackAdapter_java]
Expand All @@ -329,7 +346,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {

}

static class SnippetActivity4 extends Activity {
static class ActivityPinningSnippetsActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
Expand All @@ -349,16 +366,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 @@ -31,7 +31,6 @@ import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.startup.Initializer
import androidx.window.WindowSdkExtensions
import androidx.window.core.ExperimentalWindowApi
import androidx.window.embedding.ActivityEmbeddingController
import androidx.window.embedding.ActivityFilter
import androidx.window.embedding.ActivityRule
Expand All @@ -52,11 +51,8 @@ import kotlinx.coroutines.launch

class ActivityEmbeddingKotlinSnippets {

class SnippetActivity : Activity() {
class SplitAttributesCalculatorSnippetsActivity : AppCompatActivity() {

private val context = this

@RequiresApi(api = VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

Expand Down Expand Up @@ -122,6 +118,16 @@ class ActivityEmbeddingKotlinSnippets {
}
}
// [END android_activity_embedding_split_attributes_calculator_tabletop_kotlin]
}
}

class SplitRuleSnippetsActivity : AppCompatActivity() {

private val context = this

@RequiresApi(api = VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// [START android_activity_embedding_splitPairFilter_kotlin]
val splitPairFilter = SplitPairFilter(
Expand Down Expand Up @@ -207,29 +213,37 @@ class ActivityEmbeddingKotlinSnippets {
// [START android_activity_embedding_addRuleActivityRule_kotlin]
ruleController.addRule(activityRule)
// [END android_activity_embedding_addRuleActivityRule_kotlin]
}

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

class SplitAttributesBuilderSnippetsActivity : AppCompatActivity() {

@RequiresApi(VERSION_CODES.M)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// [START android_activity_embedding_splitAttributesBuilder_kotlin]
val _splitAttributesBuilder: SplitAttributes.Builder = SplitAttributes.Builder()
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(
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()
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]
}
}

Expand Down Expand Up @@ -277,7 +291,7 @@ class ActivityEmbeddingKotlinSnippets {
}
// [END android_activity_embedding_B_class_kotlin]

class SnippetActivity2 : Activity() {
class RuleControllerSnippetsActivity : Activity() {

private val filterSet = HashSet<SplitPairFilter>()

Expand All @@ -293,9 +307,9 @@ class ActivityEmbeddingKotlinSnippets {

class SplitDeviceActivity : AppCompatActivity() {

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

val splitController = SplitController.getInstance(this)
// [START android_activity_embedding_onCreate_SplitControllerCallbackAdapter_kotlin]
val layout = layoutInflater.inflate(R.layout.activity_main, null)
Expand All @@ -312,10 +326,11 @@ class ActivityEmbeddingKotlinSnippets {
}
}

class SnippetActivity3 : AppCompatActivity() {
class ActivityPinningSnippetsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// [START android_activity_embedding_pinButton_kotlin]
val pinButton: Button = findViewById(R.id.pinButton)
pinButton.setOnClickListener {
Expand All @@ -329,7 +344,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