Remove Background color API.
Remove Color API for beta release while we handle feedback.
The beta has not actually gone out. API changes have been approved by
API council.
Relnote: Remove background color API for stable.
Bug: 267637107
Test: n/a
Merged-In: I34c3ecf8bbb63a0229633268c58a67da9dc51642
Change-Id: I34c3ecf8bbb63a0229633268c58a67da9dc51642
diff --git a/window/extensions/extensions/api/1.1.0-beta01.txt b/window/extensions/extensions/api/1.1.0-beta01.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/1.1.0-beta01.txt
+++ b/window/extensions/extensions/api/1.1.0-beta01.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/api/current.txt b/window/extensions/extensions/api/current.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/current.txt
+++ b/window/extensions/extensions/api/current.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/api/public_plus_experimental_1.1.0-beta01.txt b/window/extensions/extensions/api/public_plus_experimental_1.1.0-beta01.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/public_plus_experimental_1.1.0-beta01.txt
+++ b/window/extensions/extensions/api/public_plus_experimental_1.1.0-beta01.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/api/public_plus_experimental_current.txt b/window/extensions/extensions/api/public_plus_experimental_current.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/public_plus_experimental_current.txt
+++ b/window/extensions/extensions/api/public_plus_experimental_current.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/api/restricted_1.1.0-beta01.txt b/window/extensions/extensions/api/restricted_1.1.0-beta01.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/restricted_1.1.0-beta01.txt
+++ b/window/extensions/extensions/api/restricted_1.1.0-beta01.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/api/restricted_current.txt b/window/extensions/extensions/api/restricted_current.txt
index 6988f4b..6e04de6 100644
--- a/window/extensions/extensions/api/restricted_current.txt
+++ b/window/extensions/extensions/api/restricted_current.txt
@@ -66,16 +66,13 @@
}
public class SplitAttributes {
- method @ColorInt public int getAnimationBackgroundColor();
method public int getLayoutDirection();
method public androidx.window.extensions.embedding.SplitAttributes.SplitType getSplitType();
- field @ColorInt public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0; // 0x0
}
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.extensions.embedding.SplitAttributes build();
- method public androidx.window.extensions.embedding.SplitAttributes.Builder setAnimationBackgroundColor(@ColorInt int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setLayoutDirection(int);
method public androidx.window.extensions.embedding.SplitAttributes.Builder setSplitType(androidx.window.extensions.embedding.SplitAttributes.SplitType);
}
diff --git a/window/extensions/extensions/src/main/java/androidx/window/extensions/embedding/SplitAttributes.java b/window/extensions/extensions/src/main/java/androidx/window/extensions/embedding/SplitAttributes.java
index e4f1e81..e00e910 100644
--- a/window/extensions/extensions/src/main/java/androidx/window/extensions/embedding/SplitAttributes.java
+++ b/window/extensions/extensions/src/main/java/androidx/window/extensions/embedding/SplitAttributes.java
@@ -16,6 +16,7 @@
package androidx.window.extensions.embedding;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
import static androidx.window.extensions.embedding.SplitAttributes.LayoutDirection.BOTTOM_TO_TOP;
import static androidx.window.extensions.embedding.SplitAttributes.LayoutDirection.LEFT_TO_RIGHT;
import static androidx.window.extensions.embedding.SplitAttributes.LayoutDirection.LOCALE;
@@ -30,6 +31,7 @@
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.RestrictTo;
import androidx.window.extensions.core.util.function.Function;
import java.lang.annotation.Retention;
@@ -78,6 +80,7 @@
* @see Builder#setAnimationBackgroundColor(int)
*/
@ColorInt
+ @RestrictTo(LIBRARY)
public static final int DEFAULT_ANIMATION_BACKGROUND_COLOR = 0;
/**
@@ -433,6 +436,7 @@
* @return The animation background {@code ColorInt}.
*/
@ColorInt
+ @RestrictTo(LIBRARY)
public int getAnimationBackgroundColor() {
return mAnimationBackgroundColor;
}
@@ -509,6 +513,7 @@
* @return This {@code Builder}.
*/
@NonNull
+ @RestrictTo(LIBRARY)
public Builder setAnimationBackgroundColor(@ColorInt int color) {
// Any non-opaque color will be treated as the default.
mAnimationBackgroundColor = Color.alpha(color) != 255
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt
deleted file mode 100644
index 69542ac..0000000
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.window.demo.embedding
-
-import androidx.annotation.GuardedBy
-import androidx.window.embedding.SplitAttributes
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
-
-/** A singleton controller to manage the global config. */
-class DemoActivityEmbeddingController private constructor() {
-
- private val lock = Object()
-
- @GuardedBy("lock")
- private var _animationBackgroundColor = SplitAttributes.BackgroundColor.DEFAULT
-
- /** Animation background color to use when the animation requires a background. */
- var animationBackgroundColor: SplitAttributes.BackgroundColor
- get() = synchronized(lock) {
- _animationBackgroundColor
- }
- set(value) = synchronized(lock) {
- _animationBackgroundColor = value
- }
-
- companion object {
- @Volatile
- private var globalInstance: DemoActivityEmbeddingController? = null
- private val globalLock = ReentrantLock()
-
- /**
- * Obtains the singleton instance of [DemoActivityEmbeddingController].
- */
- @JvmStatic
- fun getInstance(): DemoActivityEmbeddingController {
- if (globalInstance == null) {
- globalLock.withLock {
- if (globalInstance == null) {
- globalInstance = DemoActivityEmbeddingController()
- }
- }
- }
- return globalInstance!!
- }
- }
-}
\ No newline at end of file
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
index 95a6ea2..ca1dd94 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
@@ -48,7 +48,6 @@
*/
@OptIn(ExperimentalWindowApi::class)
class ExampleWindowInitializer : Initializer<RuleController> {
- private val mDemoActivityEmbeddingController = DemoActivityEmbeddingController.getInstance()
override fun create(context: Context): RuleController {
SplitController.getInstance(context).apply {
@@ -84,11 +83,9 @@
val shouldReversed = tag?.contains(SUFFIX_REVERSED) ?: false
// Make a copy of the default splitAttributes, but replace the animation background
// color to what is configured in the Demo app.
- val backgroundColor = mDemoActivityEmbeddingController.animationBackgroundColor
val defaultSplitAttributes = SplitAttributes.Builder()
.setLayoutDirection(params.defaultSplitAttributes.layoutDirection)
.setSplitType(params.defaultSplitAttributes.splitType)
- .setAnimationBackgroundColor(backgroundColor)
.build()
when (tag?.substringBefore(SUFFIX_REVERSED)) {
TAG_USE_DEFAULT_SPLIT_ATTRIBUTES, null -> {
@@ -114,7 +111,6 @@
TOP_TO_BOTTOM
}
)
- .setAnimationBackgroundColor(backgroundColor)
.build()
} else if (isPortrait) {
return expandContainersAttrs
@@ -131,7 +127,6 @@
TOP_TO_BOTTOM
}
)
- .setAnimationBackgroundColor(backgroundColor)
.build()
}
}
@@ -159,7 +154,6 @@
TOP_TO_BOTTOM
}
)
- .setAnimationBackgroundColor(backgroundColor)
.build()
} else {
SplitAttributes.Builder()
@@ -171,7 +165,6 @@
LEFT_TO_RIGHT
}
)
- .setAnimationBackgroundColor(backgroundColor)
.build()
}
}
@@ -195,7 +188,6 @@
if (shouldReversed) RIGHT_TO_LEFT else LEFT_TO_RIGHT
}
)
- .setAnimationBackgroundColor(backgroundColor)
.build()
}
}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
index 680d8d2..726726f 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
@@ -18,11 +18,9 @@
import android.content.ComponentName
import android.content.Intent
-import android.graphics.Color
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
-import android.widget.ArrayAdapter
import android.widget.CompoundButton
import android.widget.RadioGroup
import android.widget.Toast
@@ -36,8 +34,8 @@
import androidx.window.embedding.EmbeddingRule
import androidx.window.embedding.RuleController
import androidx.window.embedding.SplitAttributes
-import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EXPAND
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
+import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EXPAND
import androidx.window.embedding.SplitController
import androidx.window.embedding.SplitController.SplitSupportStatus.Companion.SPLIT_AVAILABLE
import androidx.window.embedding.SplitInfo
@@ -64,9 +62,6 @@
private lateinit var activityA: ComponentName
private lateinit var activityB: ComponentName
- /** Controller to manage the global configuration. */
- private val demoActivityEmbeddingController = DemoActivityEmbeddingController.getInstance()
-
/** The last selected split rule id. */
private var lastCheckedRuleId = 0
@@ -89,31 +84,6 @@
activityA = ComponentName(this, SplitDeviceStateActivityA::class.java.name)
activityB = ComponentName(this, SplitDeviceStateActivityB::class.java.name)
- val radioGroup = viewBinding.splitAttributesOptionsRadioGroup
- val animationBgColorDropdown = viewBinding.animationBackgroundColorDropdown
- if (componentName == activityA) {
- // Set to the first option
- demoActivityEmbeddingController.animationBackgroundColor =
- ANIMATION_BACKGROUND_COLORS_VALUE[0]
- radioGroup.check(R.id.use_default_split_attributes)
- onCheckedChanged(radioGroup, radioGroup.checkedRadioButtonId)
- radioGroup.setOnCheckedChangeListener(this)
- animationBgColorDropdown.adapter = ArrayAdapter(
- this,
- android.R.layout.simple_spinner_dropdown_item,
- ANIMATION_BACKGROUND_COLORS_TEXT
- )
- animationBgColorDropdown.onItemSelectedListener = this
- } else {
- // Only update split pair rule on the primary Activity. The secondary Activity can only
- // finish itself to prevent confusing users. We only apply the rule when the Activity is
- // launched from the primary.
- viewBinding.chooseLayoutTextView.visibility = View.GONE
- radioGroup.visibility = View.GONE
- animationBgColorDropdown.visibility = View.GONE
- viewBinding.launchActivityToSide.text = "Finish this Activity"
- }
-
viewBinding.showHorizontalLayoutInTabletopCheckBox.setOnCheckedChangeListener(this)
viewBinding.showFullscreenInBookModeCheckBox.setOnCheckedChangeListener(this)
viewBinding.swapPrimarySecondaryPositionCheckBox.setOnCheckedChangeListener(this)
@@ -129,7 +99,6 @@
hideAllSubCheckBoxes()
// Add the error message to notify the SplitAttributesCalculator is not available.
viewBinding.errorMessageTextView.text = "SplitAttributesCalculator is not supported!"
- animationBgColorDropdown.isEnabled = false
}
lifecycleScope.launch {
@@ -187,8 +156,6 @@
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
- demoActivityEmbeddingController.animationBackgroundColor =
- ANIMATION_BACKGROUND_COLORS_VALUE[position]
updateSplitPairRuleWithRadioButtonId(lastCheckedRuleId)
}
@@ -266,7 +233,6 @@
val defaultSplitAttributes = SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_EQUAL)
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
- .setAnimationBackgroundColor(demoActivityEmbeddingController.animationBackgroundColor)
.build()
// Use the tag to control the rule how to change split attributes with the current state
var tag = when (id) {
@@ -404,13 +370,6 @@
const val SUFFIX_REVERSED = "_reversed"
const val SUFFIX_AND_HORIZONTAL_LAYOUT_IN_TABLETOP = "_and_horizontal_layout_in_tabletop"
const val SUFFIX_AND_FULLSCREEN_IN_BOOK_MODE = "_and_fullscreen_in_book_mode"
- val ANIMATION_BACKGROUND_COLORS_TEXT = arrayOf("DEFAULT", "BLUE", "GREEN", "YELLOW")
- val ANIMATION_BACKGROUND_COLORS_VALUE = arrayOf(
- SplitAttributes.BackgroundColor.DEFAULT,
- SplitAttributes.BackgroundColor.color(Color.BLUE),
- SplitAttributes.BackgroundColor.color(Color.GREEN),
- SplitAttributes.BackgroundColor.color(Color.YELLOW)
- )
/**
* The default minimum dimension for large screen devices.
diff --git a/window/window-demos/demo/src/main/res/layout/activity_split_device_state_layout.xml b/window/window-demos/demo/src/main/res/layout/activity_split_device_state_layout.xml
index eb67379..b996f71 100644
--- a/window/window-demos/demo/src/main/res/layout/activity_split_device_state_layout.xml
+++ b/window/window-demos/demo/src/main/res/layout/activity_split_device_state_layout.xml
@@ -151,19 +151,6 @@
android:background="#AAAAAA" />
<!-- Dropdown for animation background color -->
-
- <TextView
- android:id="@+id/animation_background_color_text_view"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/current_animation_background_color"/>
-
- <Spinner
- android:id="@+id/animation_background_color_dropdown"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:spinnerMode="dropdown" />
-
<View
android:layout_width="match_parent"
android:layout_height="1dp"
diff --git a/window/window/api/1.1.0-beta01.txt b/window/window/api/1.1.0-beta01.txt
index 61229e4..5617dbb 100644
--- a/window/window/api/1.1.0-beta01.txt
+++ b/window/window/api/1.1.0-beta01.txt
@@ -84,29 +84,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/api/current.txt b/window/window/api/current.txt
index 61229e4..5617dbb 100644
--- a/window/window/api/current.txt
+++ b/window/window/api/current.txt
@@ -84,29 +84,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/api/public_plus_experimental_1.1.0-beta01.txt b/window/window/api/public_plus_experimental_1.1.0-beta01.txt
index 650afbe..0ac0175 100644
--- a/window/window/api/public_plus_experimental_1.1.0-beta01.txt
+++ b/window/window/api/public_plus_experimental_1.1.0-beta01.txt
@@ -91,29 +91,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/api/public_plus_experimental_current.txt b/window/window/api/public_plus_experimental_current.txt
index 650afbe..0ac0175 100644
--- a/window/window/api/public_plus_experimental_current.txt
+++ b/window/window/api/public_plus_experimental_current.txt
@@ -91,29 +91,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/api/restricted_1.1.0-beta01.txt b/window/window/api/restricted_1.1.0-beta01.txt
index 61229e4..5617dbb 100644
--- a/window/window/api/restricted_1.1.0-beta01.txt
+++ b/window/window/api/restricted_1.1.0-beta01.txt
@@ -84,29 +84,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/api/restricted_current.txt b/window/window/api/restricted_current.txt
index 61229e4..5617dbb 100644
--- a/window/window/api/restricted_current.txt
+++ b/window/window/api/restricted_current.txt
@@ -84,29 +84,16 @@
}
public final class SplitAttributes {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor getAnimationBackgroundColor();
method public androidx.window.embedding.SplitAttributes.LayoutDirection getLayoutDirection();
method public androidx.window.embedding.SplitAttributes.SplitType getSplitType();
- property public final androidx.window.embedding.SplitAttributes.BackgroundColor animationBackgroundColor;
property public final androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection;
property public final androidx.window.embedding.SplitAttributes.SplitType splitType;
field public static final androidx.window.embedding.SplitAttributes.Companion Companion;
}
- public static final class SplitAttributes.BackgroundColor {
- method public static androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor.Companion Companion;
- field public static final androidx.window.embedding.SplitAttributes.BackgroundColor DEFAULT;
- }
-
- public static final class SplitAttributes.BackgroundColor.Companion {
- method public androidx.window.embedding.SplitAttributes.BackgroundColor color(@ColorInt @IntRange(from=android.graphics.Color.BLACK.toLong(), to=android.graphics.Color.WHITE.toLong()) int color);
- }
-
public static final class SplitAttributes.Builder {
ctor public SplitAttributes.Builder();
method public androidx.window.embedding.SplitAttributes build();
- method public androidx.window.embedding.SplitAttributes.Builder setAnimationBackgroundColor(androidx.window.embedding.SplitAttributes.BackgroundColor color);
method public androidx.window.embedding.SplitAttributes.Builder setLayoutDirection(androidx.window.embedding.SplitAttributes.LayoutDirection layoutDirection);
method public androidx.window.embedding.SplitAttributes.Builder setSplitType(androidx.window.embedding.SplitAttributes.SplitType type);
}
diff --git a/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt b/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
index 9e69205..c6a3607 100644
--- a/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
+++ b/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
@@ -17,13 +17,12 @@
package androidx.window.samples.embedding
import android.app.Application
-import android.graphics.Color
import androidx.annotation.Sampled
import androidx.window.core.ExperimentalWindowApi
import androidx.window.embedding.SplitAttributes
+import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EXPAND
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
-import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
import androidx.window.embedding.SplitController
import androidx.window.layout.FoldingFeature
@@ -61,8 +60,6 @@
SplitAttributes.LayoutDirection.LOCALE
}
)
- // Set the color to use when switching between vertical and horizontal
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GRAY))
.build()
}
return@setSplitAttributesCalculator if (
@@ -72,7 +69,6 @@
SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_EQUAL)
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GRAY))
.build()
} else {
// Expand containers if the device is in portrait or the width is less than 600 dp.
@@ -96,13 +92,11 @@
builder
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
// Set the color to use when switching between vertical and horizontal
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GRAY))
.build()
} else if (parentConfiguration.screenHeightDp >= 600) {
builder
.setLayoutDirection(SplitAttributes.LayoutDirection.TOP_TO_BOTTOM)
// Set the color to use when switching between vertical and horizontal
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GRAY))
.build()
} else {
// Fallback to expand the secondary container
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
index 631dfc3..c3afe8f 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
@@ -20,7 +20,6 @@
import androidx.window.extensions.embedding.SplitAttributes as OEMSplitAttributes
import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import android.app.Activity
-import android.graphics.Color
import androidx.window.WindowTestUtils
import androidx.window.core.ExtensionsUtil
import androidx.window.core.PredicateAdapter
@@ -61,7 +60,6 @@
SplitAttributes.Builder()
.setSplitType(SplitType.SPLIT_TYPE_EQUAL)
.setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
)
assertEquals(listOf(expectedSplitInfo), adapter.translate(listOf(oemSplitInfo)))
@@ -124,7 +122,6 @@
OEMSplitAttributes.Builder()
.setSplitType(OEMSplitAttributes.SplitType.HingeSplitType(RatioSplitType(0.5f)))
.setLayoutDirection(TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(Color.YELLOW)
.build(),
)
val expectedSplitInfo = SplitInfo(
@@ -133,7 +130,6 @@
SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_HINGE)
.setLayoutDirection(SplitAttributes.LayoutDirection.TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.YELLOW))
.build()
)
assertEquals(listOf(expectedSplitInfo), adapter.translate(listOf(oemSplitInfo)))
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingRuleConstructionTests.kt b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingRuleConstructionTests.kt
index 582d047..e8fc72a 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingRuleConstructionTests.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingRuleConstructionTests.kt
@@ -19,7 +19,6 @@
import android.content.ComponentName
import android.content.Context
import android.content.Intent
-import android.graphics.Color
import android.graphics.Rect
import android.os.Build
import androidx.annotation.RequiresApi
@@ -81,7 +80,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.5f))
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
assertNull(rule.tag)
assertEquals(SPLIT_MIN_DIMENSION_DP_DEFAULT, rule.minWidthDp)
@@ -133,7 +131,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.3f))
.setLayoutDirection(TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.BLUE))
.build()
assertEquals(TEST_TAG, rule.tag)
assertEquals(NEVER, rule.finishPrimaryWithSecondary)
@@ -154,7 +151,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.5f))
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
assertNull(rule.tag)
assertEquals(SPLIT_MIN_DIMENSION_DP_DEFAULT, rule.minWidthDp)
@@ -180,7 +176,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.3f))
.setLayoutDirection(LEFT_TO_RIGHT)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GREEN))
.build()
filters.add(
SplitPairFilter(
@@ -382,7 +377,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.5f))
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
assertNull(rule.tag)
assertEquals(SPLIT_MIN_DIMENSION_DP_DEFAULT, rule.minWidthDp)
@@ -437,8 +431,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.3f))
.setLayoutDirection(BOTTOM_TO_TOP)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(
- application.resources.getColor(R.color.testColor, null)))
.build()
assertEquals(TEST_TAG, rule.tag)
assertEquals(ALWAYS, rule.finishPrimaryWithPlaceholder)
@@ -466,7 +458,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.5f))
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
assertEquals(expectedSplitLayout, rule.defaultSplitAttributes)
assertTrue(rule.checkParentBounds(density, minValidWindowBounds()))
@@ -490,7 +481,6 @@
val expectedSplitLayout = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.3f))
.setLayoutDirection(LEFT_TO_RIGHT)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GREEN))
.build()
val rule = SplitPlaceholderRule.Builder(filters, intent)
.setMinWidthDp(123)
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
index 111a858..6dd98b7 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
@@ -100,7 +100,7 @@
when (val splitType = splitAttributes.splitType) {
is OEMSplitType.HingeSplitType -> SPLIT_TYPE_HINGE
is OEMSplitType.ExpandContainersSplitType -> SPLIT_TYPE_EXPAND
- is OEMSplitType.RatioSplitType -> ratio(splitType.ratio)
+ is RatioSplitType -> ratio(splitType.ratio)
else -> throw IllegalArgumentException("Unknown split type: $splitType")
}
).setLayoutDirection(
@@ -115,9 +115,6 @@
)
}
)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.buildFromValue(
- splitAttributes.animationBackgroundColor)
- )
.build()
@OptIn(ExperimentalWindowApi::class)
@@ -214,7 +211,6 @@
)
}
)
- .setAnimationBackgroundColor(splitAttributes.animationBackgroundColor.value)
.build()
}
diff --git a/window/window/src/main/java/androidx/window/embedding/RuleParser.kt b/window/window/src/main/java/androidx/window/embedding/RuleParser.kt
index add2f25..e2cb653 100644
--- a/window/window/src/main/java/androidx/window/embedding/RuleParser.kt
+++ b/window/window/src/main/java/androidx/window/embedding/RuleParser.kt
@@ -174,20 +174,12 @@
ALWAYS.value
)
val clearTop = typedArray.getBoolean(R.styleable.SplitPairRule_clearTop, false)
- val animationBackgroundColor = typedArray.getColor(
- R.styleable.SplitPairRule_animationBackgroundColor,
- SplitAttributes.BackgroundColor.DEFAULT.value
- )
- typedArray.recycle()
val defaultAttrs = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.buildSplitTypeFromValue(ratio))
.setLayoutDirection(
SplitAttributes.LayoutDirection.getLayoutDirectionFromValue(layoutDir)
)
- .setAnimationBackgroundColor(
- SplitAttributes.BackgroundColor.buildFromValue(animationBackgroundColor)
- )
.build()
SplitPairRule.Builder(emptySet())
@@ -259,20 +251,12 @@
R.styleable.SplitPlaceholderRule_splitLayoutDirection,
LOCALE.value
)
- val animationBackgroundColor = typedArray.getColor(
- R.styleable.SplitPlaceholderRule_animationBackgroundColor,
- SplitAttributes.BackgroundColor.DEFAULT.value
- )
- typedArray.recycle()
val defaultAttrs = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.buildSplitTypeFromValue(ratio))
.setLayoutDirection(
SplitAttributes.LayoutDirection.getLayoutDirectionFromValue(layoutDir)
)
- .setAnimationBackgroundColor(
- SplitAttributes.BackgroundColor.buildFromValue(animationBackgroundColor)
- )
.build()
val packageName = context.applicationContext.packageName
val placeholderActivityClassName = buildClassName(
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt b/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
index df42279..4991be0 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
@@ -17,15 +17,12 @@
package androidx.window.embedding
import android.annotation.SuppressLint
-import android.graphics.Color
-import androidx.annotation.ColorInt
import androidx.annotation.FloatRange
import androidx.annotation.IntRange
import androidx.annotation.RestrictTo
import androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP
import androidx.window.core.SpecificationComputer.Companion.startSpecification
import androidx.window.core.VerificationMode
-import androidx.window.embedding.SplitAttributes.BackgroundColor
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.LOCALE
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
@@ -59,7 +56,6 @@
*
* @see SplitAttributes.SplitType
* @see SplitAttributes.LayoutDirection
- * @see SplitAttributes.BackgroundColor
*/
class SplitAttributes @RestrictTo(LIBRARY_GROUP) constructor(
@@ -74,18 +70,6 @@
* is based on locale.
*/
val layoutDirection: LayoutDirection = LOCALE,
-
- /**
- * The color to use for the background color during the animation of
- * the split involving this `SplitAttributes` object if the animation
- * requires a background.
- *
- * The default is to use the current theme window background color.
- *
- * @see BackgroundColor.color
- * @see BackgroundColor.DEFAULT
- */
- val animationBackgroundColor: BackgroundColor = BackgroundColor.DEFAULT
) {
/**
@@ -364,85 +348,6 @@
}
/**
- * Background color to be used for window transition animations in a split if the animation
- * requires a background.
- *
- * @see SplitAttributes.animationBackgroundColor
- */
- class BackgroundColor private constructor(
-
- /**
- * The description of this `BackgroundColor`.
- */
- private val description: String,
-
- /**
- * [ColorInt] to represent the color to use as the background color.
- */
- @ColorInt
- internal val value: Int,
- ) {
- override fun toString() = "BackgroundColor($description)"
-
- override fun equals(other: Any?): Boolean {
- if (other === this) return true
- if (other !is BackgroundColor) return false
- return value == other.value && description == other.description
- }
-
- override fun hashCode() = description.hashCode() + 31 * value.hashCode()
-
- /**
- * Methods that create various [BackgroundColor].
- */
- companion object {
-
- /**
- * Creates a [BackgroundColor] to represent the given [color].
- *
- * Only opaque color is supported.
- *
- * @param color [ColorInt] of an opaque color.
- * @return the [BackgroundColor] representing the [color].
- *
- * @see [DEFAULT] for the default value, which means to use the
- * current theme window background color.
- */
- @JvmStatic
- fun color(
- @IntRange(from = Color.BLACK.toLong(), to = Color.WHITE.toLong())
- @ColorInt
- color: Int
- ):
- BackgroundColor {
- require(Color.BLACK <= color && color <= Color.WHITE) {
- "Background color must be opaque"
- }
- return BackgroundColor("color:${Integer.toHexString(color)}", color)
- }
-
- /**
- * The special [BackgroundColor] to represent the default value,
- * which means to use the current theme window background color.
- */
- @JvmField
- val DEFAULT = BackgroundColor("DEFAULT", 0)
-
- /**
- * Returns a [BackgroundColor] with the given [value]
- */
- internal fun buildFromValue(@ColorInt value: Int): BackgroundColor {
- return if (Color.alpha(value) != 255) {
- // Treat any non-opaque color as the default.
- DEFAULT
- } else {
- color(value)
- }
- }
- }
- }
-
- /**
* Non-public properties and methods.
*/
companion object {
@@ -457,7 +362,6 @@
override fun hashCode(): Int {
var result = splitType.hashCode()
result = result * 31 + layoutDirection.hashCode()
- result = result * 31 + animationBackgroundColor.hashCode()
return result
}
@@ -473,8 +377,7 @@
if (this === other) return true
if (other !is SplitAttributes) return false
return splitType == other.splitType &&
- layoutDirection == other.layoutDirection &&
- animationBackgroundColor == other.animationBackgroundColor
+ layoutDirection == other.layoutDirection
}
/**
@@ -484,8 +387,7 @@
*/
override fun toString(): String =
"${SplitAttributes::class.java.simpleName}:" +
- "{splitType=$splitType, layoutDir=$layoutDirection," +
- " animationBackgroundColor=$animationBackgroundColor"
+ "{splitType=$splitType, layoutDir=$layoutDirection }"
/**
* Builder for creating an instance of [SplitAttributes].
@@ -499,7 +401,6 @@
class Builder {
private var splitType = SPLIT_TYPE_EQUAL
private var layoutDirection = LOCALE
- private var animationBackgroundColor = BackgroundColor.DEFAULT
/**
* Sets the split type attribute.
@@ -528,32 +429,11 @@
apply { this.layoutDirection = layoutDirection }
/**
- * Sets the color to use for the background color during animation
- * of the split involving this `SplitAttributes` object if the animation
- * requires a background. Only opaque color is supported.
- *
- * The default is [BackgroundColor.DEFAULT], which means to use the
- * current theme window background color.
- *
- * @param color The animation background color.
- * @return This `Builder`.
- *
- * @see BackgroundColor.color
- * @see BackgroundColor.DEFAULT
- */
- fun setAnimationBackgroundColor(color: BackgroundColor): Builder =
- apply {
- animationBackgroundColor = color
- }
-
- /**
* Builds a `SplitAttributes` instance with the attributes specified by
- * [setSplitType], [setLayoutDirection], and
- * [setAnimationBackgroundColor].
+ * [setSplitType] and [setLayoutDirection].
*
* @return The new `SplitAttributes` instance.
*/
- fun build(): SplitAttributes = SplitAttributes(splitType, layoutDirection,
- animationBackgroundColor)
+ fun build(): SplitAttributes = SplitAttributes(splitType, layoutDirection)
}
}
\ No newline at end of file
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
index a0ff9a73..7acee3d 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
@@ -16,7 +16,6 @@
package androidx.window.embedding
-import android.graphics.Color
import androidx.window.core.WindowStrictModeException
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.BOTTOM_TO_TOP
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.LEFT_TO_RIGHT
@@ -24,9 +23,9 @@
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.RIGHT_TO_LEFT
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.TOP_TO_BOTTOM
import androidx.window.embedding.SplitAttributes.SplitType
+import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EXPAND
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
-import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Assert.assertThrows
@@ -42,27 +41,14 @@
val attrs1 = SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_EQUAL)
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
val attrs2 = SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_HINGE)
.setLayoutDirection(LOCALE)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
.build()
val attrs3 = SplitAttributes.Builder()
.setSplitType(SPLIT_TYPE_HINGE)
.setLayoutDirection(TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.DEFAULT)
- .build()
- val attrs4 = SplitAttributes.Builder()
- .setSplitType(SPLIT_TYPE_HINGE)
- .setLayoutDirection(TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GREEN))
- .build()
- val attrs5 = SplitAttributes.Builder()
- .setSplitType(SPLIT_TYPE_HINGE)
- .setLayoutDirection(TOP_TO_BOTTOM)
- .setAnimationBackgroundColor(SplitAttributes.BackgroundColor.color(Color.GREEN))
.build()
assertNotEquals(attrs1, attrs2)
@@ -73,12 +59,6 @@
assertNotEquals(attrs3, attrs1)
assertNotEquals(attrs3.hashCode(), attrs1.hashCode())
-
- assertNotEquals(attrs3, attrs4)
- assertNotEquals(attrs3.hashCode(), attrs4.hashCode())
-
- assertEquals(attrs4, attrs5)
- assertEquals(attrs4.hashCode(), attrs5.hashCode())
}
@Test