From 0aa6bf0ddf88193959d5081d5f8e6fa0e7d4475a Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Tue, 15 Nov 2022 19:45:10 +0800 Subject: Update Window Extensions library APIs Bug: 257937650 Bug: 259218261 fixes: 264025195 Test: manual - using sample app Test: manual - update prebuilt library and verify in Settings app Merged-In: Ife8dc02d6f62676c8f06558700afd8b2f75f01c6 Change-Id: Ife8dc02d6f62676c8f06558700afd8b2f75f01c6 --- libs/WindowManager/Jetpack/Android.bp | 11 +++++- .../extensions/embedding/SplitController.java | 32 +++++++++++---- .../extensions/embedding/SplitPresenter.java | 11 +++--- .../layout/WindowLayoutComponentImpl.java | 43 ++++++++++++++++++--- .../extensions/embedding/EmbeddingTestUtils.java | 28 +++++++++++++- .../extensions/embedding/SplitControllerTest.java | 17 ++++---- .../extensions/embedding/SplitPresenterTest.java | 5 ++- .../Jetpack/window-extensions-core-release.aar | Bin 0 -> 3714 bytes .../Jetpack/window-extensions-release.aar | Bin 32970 -> 34423 bytes 9 files changed, 117 insertions(+), 30 deletions(-) create mode 100644 libs/WindowManager/Jetpack/window-extensions-core-release.aar diff --git a/libs/WindowManager/Jetpack/Android.bp b/libs/WindowManager/Jetpack/Android.bp index dc4b5636a246..a5b192cd7ceb 100644 --- a/libs/WindowManager/Jetpack/Android.bp +++ b/libs/WindowManager/Jetpack/Android.bp @@ -63,6 +63,12 @@ android_library_import { sdk_version: "current", } +android_library_import { + name: "window-extensions-core", + aars: ["window-extensions-core-release.aar"], + sdk_version: "current", +} + java_library { name: "androidx.window.extensions", srcs: [ @@ -70,7 +76,10 @@ java_library { "src/androidx/window/util/**/*.java", "src/androidx/window/common/**/*.java", ], - static_libs: ["window-extensions"], + static_libs: [ + "window-extensions", + "window-extensions-core", + ], installable: true, sdk_version: "core_platform", system_ext_specific: true, diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java index 1cd3ea5592e3..5e771f938d73 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -77,6 +77,9 @@ import androidx.annotation.Nullable; import androidx.window.common.CommonFoldingFeature; import androidx.window.common.DeviceStateManagerFoldingFeatureProducer; import androidx.window.common.EmptyLifecycleCallbacksAdapter; +import androidx.window.extensions.WindowExtensionsImpl; +import androidx.window.extensions.core.util.function.Consumer; +import androidx.window.extensions.core.util.function.Function; import androidx.window.extensions.embedding.TransactionManager.TransactionRecord; import androidx.window.extensions.layout.WindowLayoutComponentImpl; @@ -87,7 +90,6 @@ import java.util.List; import java.util.Objects; import java.util.Set; import java.util.concurrent.Executor; -import java.util.function.Consumer; /** * Main controller class that manages split states and presentation. @@ -113,7 +115,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen /** * A developer-defined {@link SplitAttributes} calculator to compute the current * {@link SplitAttributes} with the current device and window states. - * It is registered via {@link #setSplitAttributesCalculator(SplitAttributesCalculator)} + * It is registered via {@link #setSplitAttributesCalculator(Function)} * and unregistered via {@link #clearSplitAttributesCalculator()}. * This is called when: *